{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Vodafone EDGE","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"vodafone-edge","__idx":0},"children":["Vodafone EDGE"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Vodafone Wholesale provide a fibre and copper based managed service via their Wholesale Access Platform (also known as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["EDGE"]}," / ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["WAP"]},") that offers access to FTTP, SOGEA and SOADSL. Access to the Vodafone service is via a SOAP API suite based on the Vodafone Edge Service Model (ESM)."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Fibre Cafe has a connector to integrate with this API. As with all connectors, tenants interact with it through the standard Fibre Cafe ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Tenant API"]}," (REST/JSON) — the connector handles translation to and from Vodafone's SOAP interface, so the examples below are all standard Tenant API requests."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supplier"]}," system code for this connector is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VODAFONE"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"authentication--setup","__idx":1},"children":["Authentication & Setup"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Authentication with the Vodafone EDGE platform is certificate based - mutual TLS (HTTPS) is used along with a Vodafone-provisioned username supplied in each request. To enable us to set up the connector, the following information is required:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Vodafone-provisioned ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UserName"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Client certificate and private key for mutual TLS"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"address-search","__idx":2},"children":["Address Search"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Address search is supported by the connector. It uses Vodafone's address management service to return the Vodafone ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Address reference"]}," (a Gold address key, e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["A00000000000"]},") and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["District code"]}," (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["XX"]},"), which together form the standard address identifier pair used for FTTP. It supports searching by UPRN and by postcode/partial address (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AB1 2CD"]},")."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The identifiers are encapsulated in the standard ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AddressIdentifier"]}," object, so a single request can carry all identifiers required by different suppliers:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"identifier\": {\n    \"id\": \"900000000000\",\n    \"type\": \"UPRN\",\n    \"additionalIdentifiers\": [\n      {\n        \"id\": \"A00000000000\",\n        \"type\": \"NAD\"\n      },\n      {\n        \"id\": \"XX\",\n        \"type\": \"DistrictCode\"\n      }\n    ]\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Vodafone identifier types map onto the Tenant API as follows:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Tenant API type"},"children":["Tenant API ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Vodafone identifier"},"children":["Vodafone identifier"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NAD"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Address reference"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Gold address key; paired with DistrictCode"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DistrictCode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["District code"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Paired with NAD"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UPRN"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["UPRN"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Standalone alternative to the NAD pair"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If a NAD key and District Code (or UPRN) are already known, these can be provided directly to the other APIs without performing an address lookup first. The order of identifiers in the object is not important."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A lookup returns an array of matching premises. Alongside the identifiers, each entry includes the full address detail (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["streetNumber"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["streetName"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["city"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["postcode"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["country"]}," and any ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["subAddress"]}," unit number), the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["qualifier"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Gold"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Silver"]},") and a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["source"]}," of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VODAFONE"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Vodafone distinguishes ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Gold"]}," addresses (full match with Address reference + District code) from ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Silver"]}," addresses (postcode-level partial match). FTTP orders require a Gold address; UPRN may be used as an alternative."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"service-availability","__idx":3},"children":["Service Availability"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The connector returns service availability for an address including the available service specifications (product family/access technology), available line profiles, and line characteristics such as speeds."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Only ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["FTTP"]}," (Single Play FTTP, product code ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PC00042"]},") is supported for availability in the initial release."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"service-specifications","__idx":4},"children":["Service Specifications"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When returning service specifications for an address, the available line profiles are returned in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceCharacteristics"]}," field. For Vodafone the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LINE_PROFILE"]}," values are downstream/upstream speed pairs (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["40M/10M"]},"):"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"serviceSpecifications\": [\n    {\n      \"id\": \"FTTP\",\n      \"name\": \"Single Play FTTP\",\n      \"serviceCharacteristics\": [\n        {\n          \"name\": \"LINE_PROFILE\",\n          \"values\": [\n            \"40M/10M\",\n            \"80M/20M\",\n            \"115M/20M\",\n            \"220M/30M\",\n            \"550M/75M\",\n            \"1000M/115M\"\n          ]\n        }\n      ]\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#line-profiles"},"children":["Line Profiles"]}," below for the full set of values."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"line-characteristics","__idx":5},"children":["Line Characteristics"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Line information is returned under ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["siteInformation.line"]},", including the installation type, line type and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lineCharacteristics"]}," defined on the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.thefibrecafe.net/pages/linecharacteristics"},"children":["line characteristics"]}," page:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"siteInformation\": {\n    \"line\": {\n      \"installationType\": \"STANDARD\",\n      \"type\": \"NEW\",\n      \"lineType\": \"FIBRE\",\n      \"lineCharacteristics\": [\n        { \"name\": \"AVAILABILITY_FLAG\", \"value\": \"Y\" },\n        { \"name\": \"MINIMUM_LEAD_TIME\", \"value\": \"3\" },\n        { \"name\": \"MIN_DOWNSTREAM_MBPS\", \"value\": \"40\" },\n        { \"name\": \"MAX_DOWNSTREAM_MBPS\", \"value\": \"1000\" },\n        { \"name\": \"MIN_UPSTREAM_MBPS\", \"value\": \"10\" },\n        { \"name\": \"MAX_UPSTREAM_MBPS\", \"value\": \"115\" },\n        { \"name\": \"MINIMUM_SITE_VISIT_REASON\", \"value\": \"Premium\" }\n      ]\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This includes the minimum and maximum downstream/upstream speeds (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MIN|MAX_DOWNSTREAM_MBPS"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MIN|MAX_UPSTREAM_MBPS"]},") and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MINIMUM_LEAD_TIME"]}," in days. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AVAILABILITY_FLAG"]}," carries the FTTP ONT availability status returned by Vodafone: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Y"]}," (available now - the order is accepted and progressed), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["P"]}," (planned - available from a future date; the order is held until the Ready for Service date), or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["W"]}," (waiting - capacity is being built; the order may be auto-cancelled after 90 working days if it remains unavailable). ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NEW"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lineType"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FIBRE"]}," where a new fibre line can be installed. A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MINIMUM_SITE_VISIT_REASON"]}," may also be returned, indicating the minimum Site Visit Reason recommended when ordering at this address (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Premium"]},"); this can differ by order type. An ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["INSTALL_NOTES"]}," characteristic is returned alongside an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EXTENDED_STANDARD"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["installationType"]},", carrying the detail of the two-stage install (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["KCI2 Assure"]},") — see Installation Types."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Where lines are already present at the premises, an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["existingLines"]}," array is also returned under ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["siteInformation"]},". For a premises with an ONT installed, each entry describes the line and its ONT:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"siteInformation\": {\n    \"existingLines\": [\n      {\n        \"lineCharacteristics\": [\n          { \"name\": \"MAX_DOWNSTREAM_MBPS\", \"value\": \"1000\" },\n          { \"name\": \"MIN_DOWNSTREAM_MBPS\", \"value\": \"40\" },\n          { \"name\": \"MAX_UPSTREAM_MBPS\", \"value\": \"115\" },\n          { \"name\": \"MIN_UPSTREAM_MBPS\", \"value\": \"10\" }\n        ],\n        \"lineType\": \"FIBRE\",\n        \"ontReference\": \"ONT0000000000\",\n        \"ontSerialNumber\": \"ALCL00000000\",\n        \"ontFloor\": \"G\",\n        \"ontRoom\": \"Reception Room 2\",\n        \"ontPosition\": \"Shelf\",\n        \"ports\": [\n          { \"portNumber\": 1, \"description\": \"Data\", \"status\": \"ACTIVE\" }\n        ]\n      }\n    ]\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each entry gives the line's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lineCharacteristics"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lineType"]},", the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ontReference"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ontSerialNumber"]},", the ONT location (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ontFloor"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ontRoom"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ontPosition"]},"), and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ports"]}," on the ONT — each with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["portNumber"]},", a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]}," (port type, e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Data"]},") and a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACTIVE"]}," or stopped). An ONT with a spare port can be reused via an Existing ONT order, supplying its ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ontReference"]}," as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ONT_REFERENCE"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Copper and other non-ONT lines are returned in the same array in a leaner form, without ONT or port detail:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"siteInformation\": {\n    \"existingLines\": [\n      {\n        \"lineType\": \"COPPER\",\n        \"lineId\": \"PPR0000000P0\",\n        \"status\": \"STOPPED\",\n        \"productType\": \"MPF\"\n      }\n    ]\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["These entries give the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lineType"]}," (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["COPPER"]},"), the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lineId"]},", the line ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACTIVE"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["STOPPED"]},") and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["productType"]}," (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPF"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["WLR"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SOGEA"]},"). The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lineId"]}," is the value supplied as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LINE_ID"]}," when migrating or taking over the existing service — see Order Types."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"constraints","__idx":6},"children":["Constraints"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The line may also carry a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["constraints"]}," array describing conditions that affect the install. Each entry has a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["code"]}," and a free-text ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["text"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"siteInformation\": {\n    \"line\": {\n      \"constraints\": [\n        { \"code\": \"OTHER\", \"text\": \"TMA notice required\" }\n      ]\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Constraints are informational and do not prevent an order being placed, but they can affect lead time — a Traffic Management Act (TMA) notice, for example, must be served before street works can begin. Where the constraint is not mapped to a specific code, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OTHER"]}," is returned and the detail is in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["text"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"installation-types","__idx":7},"children":["Installation Types"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["installationType"]}," field within ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["siteInformation.line"]}," indicates the install requirement. This connector returns the following values:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"installationType"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["installationType"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["STANDARD"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A standard appointment is required"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EXTENDED_STANDARD"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Two-stage installation; see ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["INSTALL_NOTES"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This connector supports 1 or 2 stage installations, the latter also known as 'KCI2 Assure'. Where ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["installationType"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EXTENDED_STANDARD"]},", refer to the corresponding ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["INSTALL_NOTES"]}," line characteristic for details:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"siteInformation\": {\n    \"line\": {\n      \"installationType\": \"EXTENDED_STANDARD\",\n      \"lineCharacteristics\": [\n        { \"name\": \"INSTALL_NOTES\", \"value\": \"KCI2 Assure\" }\n      ]\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Where ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["installationType"]}," is not returned, an appointment is not required in the order. Note that this may change as the order progresses and an appointment may be required later — this is notified as a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["REAPPOINT"]}," update and is resolved by reserving an appointment and amending the order (see Order Updates)."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Where a managed install is required, an appointment must be reserved first (see Appointing)."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"appointing","__idx":8},"children":["Appointing"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When a managed install is required, appointment timeslots can be listed and reserved using the standard appointing endpoints."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Timeslots are classified as weekday, saturday, sunday and AM/PM"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The default ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SITE_VISIT_REASON"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Standard"]}," is used where not provided as a service characteristic"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Premium"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Advanced"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SITE_VISIT_REASON"]}," can be requested instead — this must be provided consistently during appointment availability and reservation"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example showing an appointment reservation with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Premium"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SITE_VISIT_REASON"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"supplier\": \"VODAFONE\",\n  \"address\": {\n    \"id\": \"A00000000000\",\n    \"type\": \"NAD\",\n    \"additionalIdentifiers\": [\n      { \"id\": \"XX\", \"type\": \"DistrictCode\" }\n    ]\n  },\n  \"serviceSpecification\": { \"id\": \"FTTP\" },\n  \"serviceCharacteristics\": [\n    { \"name\": \"SITE_VISIT_REASON\", \"value\": \"Premium\" }\n  ],\n  \"purpose\": \"PROVIDE\",\n  \"timeslot\": {\n    \"timeslotStartDateTime\": \"2026-02-02T08:00:00Z\",\n    \"timeslotEndDateTime\": \"2026-02-02T13:00:00Z\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response echoes the request and returns the matching slots in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["availableTimeslots"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"supplier\": \"VODAFONE\",\n  \"address\": {\n    \"id\": \"900000000000\",\n    \"type\": \"UPRN\",\n    \"additionalIdentifiers\": [\n      { \"id\": \"A00000000000\", \"type\": \"NAD\" },\n      { \"id\": \"XX\", \"type\": \"DistrictCode\" }\n    ]\n  },\n  \"serviceSpecification\": { \"id\": \"FTTP\" },\n  \"availableTimeslots\": [\n    {\n      \"timeslotStartDateTime\": \"2026-02-02T08:00:00.000Z\",\n      \"timeslotEndDateTime\": \"2026-02-02T13:00:00.000Z\",\n      \"classification\": \"WEEKDAY_AM\",\n      \"standard\": true\n    },\n    {\n      \"timeslotStartDateTime\": \"2026-02-02T13:00:00.000Z\",\n      \"timeslotEndDateTime\": \"2026-02-02T18:00:00.000Z\",\n      \"classification\": \"WEEKDAY_PM\",\n      \"standard\": true\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each slot carries a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["classification"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["WEEKDAY_AM"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["WEEKDAY_PM"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SATURDAY_AM"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SATURDAY_PM"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SUNDAY_AM"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SUNDAY_PM"]},") and a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["standard"]}," flag indicating whether it is a standard appointment slot. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["timeslotStartDateTime"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["timeslotEndDateTime"]}," of the chosen slot are supplied when reserving."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"orders","__idx":9},"children":["Orders"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Orders are placed with the create order request. New provides are FTTP only; supplying a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LINE_ID"]}," (the existing working line) switches an existing SOGEA, SOADSL, FTTC or FTTH service to FTTP."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"service-characteristics","__idx":10},"children":["Service Characteristics"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following service characteristics are required when placing orders:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LINE_PROFILE"]},": the bandwidth product as a downstream/upstream speed pair (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["40M/10M"]},") - values are returned in service availability"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RETAILER_ID"]},": unique identifier for the retailer provided by OFCOM"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following are required when migrating or taking over an existing service:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LINE_ID"]},": the existing working line being migrated or taken over"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ONT_REFERENCE"]},": the existing ONT (Existing ONT and Transfer journeys)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["These characteristics are optional depending on the order:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MINIMUM_SPEED"]},": requested guaranteed minimum speed (realtime) - default is 0"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CARE_LEVEL"]},": ongoing care level - see care levels table below"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ECC_CHARGEBAND"]},": excess construction charges (FTTP)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SITE_VISIT_REASON"]},": Standard, Premium, Advanced or No site visit - must match the reserved appointment (where one is booked)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["STATIC_IP_REQUESTED"]},": number of static IP addresses required"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PROJECT_REFERENCE"]},": applicable with an Advanced ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SITE_VISIT_REASON"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NAMED_ENGINEER"]},": request a named engineer (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Y"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["N"]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NAMED_ENGINEER_NOTES"]},": free-text note accompanying a named-engineer request"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ONT_FLOOR"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ONT_ROOM"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ONT_POSITION"]},": ONT install location"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The request may also include ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ORDER_TYPE"]}," as a service characteristic, mirroring the top-level ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["orderType"]}," (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NEW"]},")."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"order-types","__idx":11},"children":["Order Types"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The FTTP journey is determined by the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["orderType"]}," together with whether a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LINE_ID"]}," is supplied:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"orderType"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["orderType"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"FTTP journey"},"children":["FTTP journey"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NEW"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["New ONT"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["New ONT requested"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NEW"]}," + ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LINE_ID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Migration New ONT"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Migrate to FTTP, new ONT"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["START"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Existing ONT"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Reuse a spare port on an existing ONT"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["START"]}," + ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LINE_ID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Migration Existing ONT"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Migrate to FTTP, existing ONT"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TAKEOVER"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["WLTO"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Working Line Take Over"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TRANSFER"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Transfer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Move an ONT service to Vodafone"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SWAP"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["New ONT"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Swap the ONT on the service"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CEASE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cease"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cease a live FTTP service"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MODIFY"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Modify"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Modify a live FTTP service"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMEND"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Amend"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Amend an in-flight order"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CANCELLATIONS"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cancel"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cancel an in-flight order"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Further detail on the individual journeys:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New ONT"]}," — used when no ONT is installed at the premises, the existing ONT has no spare data ports, or a new ONT is wanted regardless of any existing one."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Migration journeys"]}," — used to move an existing SOGEA, SOADSL, FTTC or FTTH service to FTTP. Managed-cease KCIs are sent for the working WLR/MPF/SOGEA service, which is ceased on the order completion date."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["WLTO"]}," — lets an incoming occupant proactively take over a service the outgoing occupier has not requested to cease."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Modify"]}," — see Modify and Cease Orders below for the characteristics that can be changed."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Amend"]}," — e.g. changes the requested completion date and/or appointment."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"line-profiles","__idx":12},"children":["Line Profiles"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LINE_PROFILE"]}," characteristic is required for Vodafone orders. Line profiles are the bandwidth product expressed as a downstream/upstream speed pair — the value is passed straight through to the Vodafone EDGE API and is not mapped by the Fibre Cafe."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"LINE_PROFILE"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LINE_PROFILE"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Downstream"},"children":["Downstream"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Upstream"},"children":["Upstream"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["40M/10M"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["40Mbit/s"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["10Mbit/s"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["80M/20M"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["80Mbit/s"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["20Mbit/s"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["115M/20M"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["115Mbit/s"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["20Mbit/s"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["220M/30M"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["220Mbit/s"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["30Mbit/s"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["550M/75M"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["550Mbit/s"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["75Mbit/s"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1000M/115M"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1000Mbit/s"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["115Mbit/s"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The available values are returned during service availability and may vary depending on the commercial arrangement with Vodafone and by address/service type. Always use the values returned in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceCharacteristics"]}," for the address rather than assuming the full set is orderable; they are not returned in a guaranteed order."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"care-levels","__idx":13},"children":["Care Levels"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CARE_LEVEL"]}," sets the ongoing care (repair) level for the service. The default care level where not provided is Standard."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"CARE_LEVEL"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CARE_LEVEL"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Standard"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["[Default]"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enhanced"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Prompt"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Not all care levels apply to all products — confirm availability with Vodafone for the service being ordered."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create-order","__idx":14},"children":["Create Order"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A New ONT provide (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["orderType: NEW"]},") carries the full set of characteristics. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["address"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LINE_PROFILE"]}," are taken from the preceding service availability step, and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["appointmentReservationId"]}," is the reservation returned when the appointment was reserved."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"orderType\": \"NEW\",\n  \"supplier\": \"VODAFONE\",\n  \"address\": {\n    \"id\": \"900000000000\",\n    \"type\": \"UPRN\",\n    \"additionalIdentifiers\": [\n      { \"id\": \"XX\", \"type\": \"DistrictCode\" },\n      { \"id\": \"A00000000000\", \"type\": \"NAD\" }\n    ]\n  },\n  \"serviceOrderItem\": {\n    \"serviceSpecification\": { \"id\": \"FTTP\" },\n    \"serviceCharacteristics\": [\n      { \"name\": \"LINE_PROFILE\", \"value\": \"115M/20M\" },\n      { \"name\": \"ORDER_TYPE\", \"value\": \"NEW\" },\n      { \"name\": \"SITE_VISIT_REASON\", \"value\": \"Standard\" },\n      { \"name\": \"CARE_LEVEL\", \"value\": \"Enhanced\" },\n      { \"name\": \"STATIC_IP_REQUESTED\", \"value\": \"4\" },\n      { \"name\": \"ECC_CHARGEBAND\", \"value\": \"0\" },\n      { \"name\": \"NAMED_ENGINEER\", \"value\": \"Y\" },\n      { \"name\": \"NAMED_ENGINEER_NOTES\", \"value\": \"Fred Smith\" },\n      { \"name\": \"ONT_FLOOR\", \"value\": \"G\" },\n      { \"name\": \"ONT_ROOM\", \"value\": \"Reception Room 2\" },\n      { \"name\": \"ONT_POSITION\", \"value\": \"Shelf\" },\n      { \"name\": \"RETAILER_ID\", \"value\": \"XXX\" }\n    ]\n  },\n  \"primaryContact\": {\n    \"name\": \"John Smith\",\n    \"email\": \"john@smith.com\",\n    \"phoneNumber\": \"01234567890\"\n  },\n  \"appointmentReservationId\": 1000001,\n  \"hazards\": \"Hazardous materials stored on site\",\n  \"onSiteRestrictions\": \"Restricted access\",\n  \"notes\": \"Free-text notes for the engineer\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The request fields are:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["orderType"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The order journey — see Order Types above"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supplier"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Connector system code (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VODAFONE"]},")"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["address"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AddressIdentifier"]}," object for the premises"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceOrderItem.serviceSpecification.id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The product being ordered (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FTTP"]},")"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceOrderItem.serviceCharacteristics"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The ordered service characteristics"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["primaryContact"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["End-user contact details"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["appointmentReservationId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The appointment reservation reference"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hazards"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional free-text site hazards"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onSiteRestrictions"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional free-text access restrictions"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["notes"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional free-text notes"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Existing ONT"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["orderType: START"]},") reuses an ONT already installed at the premises, identified by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ONT_REFERENCE"]}," (from the availability ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["existingLines"]},"). Because no ONT installation visit is required, it supplies a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requestedCompletionDate"]}," directly instead of an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["appointmentReservationId"]},", and the named-engineer fields and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SITE_VISIT_REASON"]}," are not required/supported:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"orderType\": \"START\",\n  \"supplier\": \"VODAFONE\",\n  \"address\": {\n    \"id\": \"900000000000\",\n    \"type\": \"UPRN\",\n    \"additionalIdentifiers\": [\n      { \"id\": \"XX\", \"type\": \"DistrictCode\" },\n      { \"id\": \"A00000000000\", \"type\": \"NAD\" }\n    ]\n  },\n  \"serviceOrderItem\": {\n    \"serviceSpecification\": { \"id\": \"FTTP\" },\n    \"serviceCharacteristics\": [\n      { \"name\": \"ONT_REFERENCE\", \"value\": \"ONT0000000000\" },\n      { \"name\": \"LINE_PROFILE\", \"value\": \"115M/20M\" },\n      { \"name\": \"ORDER_TYPE\", \"value\": \"START\" },\n      { \"name\": \"CARE_LEVEL\", \"value\": \"Enhanced\" },\n      { \"name\": \"STATIC_IP_REQUESTED\", \"value\": \"4\" },\n      { \"name\": \"ECC_CHARGEBAND\", \"value\": \"0\" },\n      { \"name\": \"RETAILER_ID\", \"value\": \"XXX\" }\n    ]\n  },\n  \"primaryContact\": {\n    \"name\": \"John Smith\",\n    \"email\": \"john@smith.com\",\n    \"phoneNumber\": \"01234567890\"\n  },\n  \"requestedCompletionDate\": \"2026-08-19\",\n  \"hazards\": \"Hazardous materials stored on site\",\n  \"onSiteRestrictions\": \"Restricted access\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"modify-and-cease-orders","__idx":15},"children":["Modify and Cease Orders"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MODIFY"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CEASE"]}," orders act on an existing live service rather than a premises, and use a leaner request shape: there is no ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["address"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceOrderItem"]}," wrapper, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["primaryContact"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["appointmentReservationId"]}," — instead the order carries a top-level ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceId"]}," identifying the live service, and a flat ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceCharacteristics"]}," array."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A cease order:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"orderType\": \"CEASE\",\n  \"supplier\": \"VODAFONE\",\n  \"serviceId\": \"VFP0000000\",\n  \"requestedCompletionDate\": \"2026-08-13T09:00:00Z\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A modify order is incremental rather than a full resend. Only the characteristics being changed need to be supplied, and each carries an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["action"]}," describing the change:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"action"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["action"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ADD"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Add a characteristic not currently on the service"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UPDATE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Change the value of an existing characteristic"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["REMOVE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Remove a characteristic from the service"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The connector emits a separate add, update and remove block to Vodafone accordingly. Characteristics omitted from the request are left untouched on the service."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following characteristics can be modified:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LINE_PROFILE"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CARE_LEVEL"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["STATIC_IP_REQUESTED"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MINIMUM_SPEED"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Changing the bandwidth on a live service:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"orderType\": \"MODIFY\",\n  \"supplier\": \"VODAFONE\",\n  \"serviceId\": \"VFP0000000\",\n  \"serviceCharacteristics\": [\n    { \"name\": \"LINE_PROFILE\", \"value\": \"220M/30M\", \"action\": \"UPDATE\" }\n  ],\n  \"requestedCompletionDate\": \"2026-07-28T00:00:00.000Z\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response and subsequent order updates (KCIs) follow the same pattern as provide orders — see Order Response below and Order Updates."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"order-response","__idx":16},"children":["Order Response"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response echoes the request and adds the gateway order reference, status and timestamps:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"orderType\": \"NEW\",\n  \"supplier\": \"VODAFONE\",\n  \"address\": {\n    \"id\": \"900000000000\",\n    \"type\": \"UPRN\",\n    \"additionalIdentifiers\": [\n      { \"id\": \"XX\", \"type\": \"DistrictCode\" },\n      { \"id\": \"A00000000000\", \"type\": \"NAD\" }\n    ]\n  },\n  \"serviceOrderItem\": {\n    \"serviceSpecification\": { \"id\": \"FTTP\" },\n    \"serviceCharacteristics\": [\n      { \"name\": \"LINE_PROFILE\", \"value\": \"115M/20M\" },\n      { \"name\": \"ORDER_TYPE\", \"value\": \"NEW\" },\n      { \"name\": \"SITE_VISIT_REASON\", \"value\": \"Standard\" },\n      { \"name\": \"CARE_LEVEL\", \"value\": \"Enhanced\" },\n      { \"name\": \"STATIC_IP_REQUESTED\", \"value\": \"4\" },\n      { \"name\": \"ECC_CHARGEBAND\", \"value\": \"0\" },\n      { \"name\": \"NAMED_ENGINEER\", \"value\": \"Y\" },\n      { \"name\": \"NAMED_ENGINEER_NOTES\", \"value\": \"Fred Smith\" },\n      { \"name\": \"ONT_FLOOR\", \"value\": \"G\" },\n      { \"name\": \"ONT_ROOM\", \"value\": \"Reception Room 2\" },\n      { \"name\": \"ONT_POSITION\", \"value\": \"Shelf\" },\n      { \"name\": \"RETAILER_ID\", \"value\": \"XXX\" }\n    ]\n  },\n  \"primaryContact\": {\n    \"name\": \"John Smith\",\n    \"email\": \"john@smith.com\",\n    \"phoneNumber\": \"01234567890\"\n  },\n  \"appointmentReservationId\": 1000001,\n  \"requestedCompletionDate\": \"2026-07-01\",\n  \"hazards\": \"Hazardous materials stored on site\",\n  \"onSiteRestrictions\": \"Restricted access\",\n  \"id\": 1000002,\n  \"status\": \"RECEIVED_BY_GATEWAY\",\n  \"created\": \"2026-06-24T10:30:41.682Z\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The additional response fields are:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The gateway order identifier"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The order status"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requestedCompletionDate"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The requested completion date"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["created"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["When the gateway received the order"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["As the order progresses, further fields are set on it:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["updated"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["When the order was last changed"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supplierOrderNumber"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Vodafone EDGE order reference"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["appointmentTimeslot"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The confirmed appointment window"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["committedDate"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The date committed by the supplier"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["targetDate"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The current target completion date"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["updates"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The KCIs received against the order"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["appointmentTimeslot"]}," carries the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["timeslotStartDateTime"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["timeslotEndDateTime"]}," of the reserved slot, and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supplierOrderNumber"]}," takes the form ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ALF-YYMMDD-Wnnnnnnn"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"order-amendments","__idx":17},"children":["Order Amendments"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Amendment and cancellation requests can be made for inflight orders. The following amendments are permitted:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Change appointment (date/time)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Update contact details"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Amendments are placed against the order and confirmed asynchronously — a general ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UPDATE"]}," KCI is emitted while the amendment is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PENDING"]},", followed by an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMENDED"]}," update once applied. See Order Updates below."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"order-updates","__idx":18},"children":["Order Updates"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["As the order progresses, the Fibre Cafe sends asynchronous updates (KCIs) to the tenant via the Tenant Updates API; each update is also retained on the order in an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["updates"]}," array. Most Vodafone updates are ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["INFORMATIONAL"]},", with the Vodafone EDGE status code carried in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["information.supplierCode"]}," (and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supplierCodes"]},") and a free-text ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supplierNotes"]}," entry. Where the supplier needs action from the tenant the update carries an action reason instead — see the mapping below. Once acknowledged, the order also carries a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supplierOrderNumber"]}," (the Vodafone EDGE order reference, e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ALF-YYMMDD-Wnnnnnnn"]},")."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The EDGE status codes map to the KCI reason as follows:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"EDGE code"},"children":["EDGE code"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Reason"},"children":["Reason"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UPDATE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Initial update on gateway acceptance"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2001"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACKNOWLEDGED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Order accepted by the supplier (KCI1)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3001"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["COMMITTED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Order committed by the supplier (KCI2)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["8001"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ADDITIONAL"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Named-engineer details supplied"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["9099"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELAY"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Order delayed by the supplier"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["9029"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELAY"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Supplier missed the appointment"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["9009"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["REAPPOINT"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Order must be reappointed"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3004"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UPDATE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Downstream supplier work complete; awaiting Vodafone completion"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["502"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UPDATE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cancellation raised with the supplier"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["540"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMENDED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Amendment accepted and applied"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["4001"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["COMPLETED"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CANCELLED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Order completed (KCI3), or cancellation completed"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Additional behaviour attached to these codes:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UPDATE"]}," is also emitted while an amendment or cancellation is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PENDING"]},", and carries the pending ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceOrderAmendment"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceOrderCancellation"]},". These gateway-raised updates have no ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supplierCode"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3001"]}," sets the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["committedDate"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["targetDate"]}," on the order."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["9099"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["9029"]}," move the order to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HELD"]}," and carry the delay detail, and any supplier review date, in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supplierNotes"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["9009"]}," moves the order to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PENDING"]},"; the order must be reappointed within 15 calendar days to avoid cancellation."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["540"]}," carries a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceOrderAmendment"]}," object."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["4001"]}," covers both completion and cancellation. The connector resolves which from the Fibre Cafe order state, so read the resulting order ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["COMPLETED"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CANCELLED"]},") rather than interpreting the code."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An order receives two completion-related updates. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3004"]}," reports that Vodafone's own downstream supplier has finished their work on the order; Vodafone then complete the order themselves and send ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["4001"]}," later. Only ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["4001"]}," moves the order to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["COMPLETED"]}," — despite the wording of the accompanying ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supplierNotes"]},", an order is not complete on ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3004"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Not every code appears on every order — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["8001"]}," (named-engineer details) is only sent where the order has an appointment, so an Existing ONT order runs ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UPDATE"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACKNOWLEDGED"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2001"]},") → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["COMMITTED"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3001"]},") → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UPDATE"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3004"]},") → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["COMPLETED"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["4001"]},") without it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An individual update (the completion KCI):"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"00000000-0000-0000-0000-000000000006\",\n  \"supplier\": \"VODAFONE\",\n  \"sequenceNumber\": 6,\n  \"issuedOn\": \"2026-07-08T06:54:14.000Z\",\n  \"receivedOn\": \"2026-07-08T06:57:22.999Z\",\n  \"deliveryStatus\": \"PENDING\",\n  \"updateType\": \"INFORMATIONAL\",\n  \"supplierNotes\": [\n    { \"note\": \"Order Completed\", \"created\": \"2026-07-08T06:54:14.000Z\" }\n  ],\n  \"information\": {\n    \"type\": \"COMPLETED\",\n    \"supplierCode\": \"4001\",\n    \"supplierCodes\": [ \"4001\" ]\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The order's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceCharacteristics"]}," are updated as network-assigned values become known. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SERVICE_ID"]}," is populated once the supplier has accepted the order; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ONT_REFERENCE"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ONT_PORT"]}," are added on completion:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"serviceCharacteristics\": [\n    { \"name\": \"SERVICE_ID\", \"value\": \"VFP0000000\" },\n    { \"name\": \"ONT_REFERENCE\", \"value\": \"ONT0000000000\" },\n    { \"name\": \"ONT_PORT\", \"value\": \"1\" }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Persist the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SERVICE_ID"]}," — it identifies the live service and is supplied as the top-level ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceId"]}," on future modify and cease orders. It is not sent as a service characteristic."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"missed-appointments-and-delays","__idx":19},"children":["Missed Appointments and Delays"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A missed appointment is reported as a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELAY"]}," (code ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["9029"]},"), followed by a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["REAPPOINT"]}," (code ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["9009"]},") where a new appointment is needed — the order must be reappointed within 15 calendar days to avoid cancellation. It is resolved by reserving a new appointment and amending the order (confirmed via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMENDED"]},", below)."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A delay is reported with code ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["9099"]},". The reason and any review date given by Vodafone's own suppliers are carried in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supplierNotes"]}," — for a two-stage (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EXTENDED_STANDARD"]},") install this is where Step-1 work is reported:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"sequenceNumber\": 3,\n  \"updateType\": \"INFORMATIONAL\",\n  \"supplierNotes\": [\n    {\n      \"note\": \"Your order has been delayed. Step-1 work required. Our Suppliers have given us a review date of 14/08/2026.\",\n      \"created\": \"2026-08-06T09:55:24.000Z\"\n    }\n  ],\n  \"information\": {\n    \"type\": \"DELAY\",\n    \"supplierCode\": \"9099\",\n    \"supplierCodes\": [ \"9099\" ]\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A delay moves the order to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HELD"]}," and does not change the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["targetDate"]},". No tenant action is required unless a subsequent ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["REAPPOINT"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["INFORMATION_REQUIRED"]}," KCI asks for it."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"amendments","__idx":20},"children":["Amendments"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When an amendment is placed against an order, the amend-related KCIs carry a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceOrderAmendment"]}," object identifying the amendment (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},"), the affected ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["orderId"]},", the new ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["appointmentReservationId"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requestedCompletionDate"]},", and its ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PENDING"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["COMPLETED"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["REJECTED"]},"). A general ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UPDATE"]}," is emitted while the amendment is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PENDING"]},", and an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMENDED"]}," update (code ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["540"]},") once it is applied:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"00000000-0000-0000-0000-000000000009\",\n  \"supplier\": \"VODAFONE\",\n  \"sequenceNumber\": 9,\n  \"issuedOn\": \"2026-07-10T13:25:47.000Z\",\n  \"receivedOn\": \"2026-07-10T15:04:48.980Z\",\n  \"deliveryStatus\": \"DELIVERED\",\n  \"updateType\": \"INFORMATIONAL\",\n  \"supplierNotes\": [\n    { \"note\": \"Update: Order Amended\", \"created\": \"2026-07-10T13:25:47.000Z\" }\n  ],\n  \"information\": {\n    \"type\": \"AMENDED\",\n    \"supplierCode\": \"540\",\n    \"supplierCodes\": [ \"540\" ]\n  },\n  \"serviceOrderAmendment\": {\n    \"orderId\": 1000002,\n    \"supplier\": \"VODAFONE\",\n    \"appointmentReservationId\": 1000001,\n    \"id\": 10001,\n    \"status\": \"COMPLETED\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"cancellations","__idx":21},"children":["Cancellations"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A cancellation is confirmed over three updates. A gateway ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UPDATE"]}," is emitted while the request is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PENDING"]},", carrying the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceOrderCancellation"]}," but no ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supplierCode"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"00000000-0000-0000-0000-000000000004\",\n  \"supplier\": \"VODAFONE\",\n  \"sequenceNumber\": 4,\n  \"deliveredOn\": \"2026-08-06T13:54:34.978Z\",\n  \"deliveryStatus\": \"DELIVERED\",\n  \"updateType\": \"INFORMATIONAL\",\n  \"information\": { \"type\": \"UPDATE\" },\n  \"serviceOrderCancellation\": {\n    \"supplier\": \"VODAFONE\",\n    \"orderId\": 1000002,\n    \"reasonCode\": \"CUSTOMER_CHANGED_MIND\",\n    \"text\": \"Delivery too long\",\n    \"id\": 10001,\n    \"status\": \"PENDING\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Vodafone then sends code ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["502"]}," confirming the cancellation has been raised with them, with the reason in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supplierNotes"]}," and no ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceOrderCancellation"]}," attached:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"00000000-0000-0000-0000-000000000005\",\n  \"supplier\": \"VODAFONE\",\n  \"sequenceNumber\": 5,\n  \"issuedOn\": \"2026-08-06T13:56:23.000Z\",\n  \"receivedOn\": \"2026-08-06T13:58:50.939Z\",\n  \"deliveryStatus\": \"DELIVERED\",\n  \"updateType\": \"INFORMATIONAL\",\n  \"supplierNotes\": [\n    { \"note\": \"Cancelled by End User\", \"created\": \"2026-08-06T13:56:23.000Z\" }\n  ],\n  \"information\": {\n    \"type\": \"UPDATE\",\n    \"supplierCode\": \"502\",\n    \"supplierCodes\": [ \"502\" ]\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Code ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["4001"]}," then carries the final ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CANCELLED"]}," state with the completed ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceOrderCancellation"]},", and the order ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," becomes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CANCELLED"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"00000000-0000-0000-0000-000000000006\",\n  \"supplier\": \"VODAFONE\",\n  \"sequenceNumber\": 6,\n  \"issuedOn\": \"2026-08-06T13:55:45.000Z\",\n  \"receivedOn\": \"2026-08-06T14:00:29.373Z\",\n  \"deliveryStatus\": \"DELIVERED\",\n  \"updateType\": \"INFORMATIONAL\",\n  \"supplierNotes\": [\n    { \"note\": \"Order Cancel Completed.\", \"created\": \"2026-08-06T13:55:45.000Z\" }\n  ],\n  \"information\": {\n    \"type\": \"CANCELLED\",\n    \"supplierCode\": \"4001\",\n    \"supplierCodes\": [ \"4001\" ]\n  },\n  \"serviceOrderCancellation\": {\n    \"supplier\": \"VODAFONE\",\n    \"orderId\": 1000002,\n    \"reasonCode\": \"CUSTOMER_CHANGED_MIND\",\n    \"text\": \"Delivery too long\",\n    \"id\": 10001,\n    \"status\": \"COMPLETED\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serviceOrderCancellation"]}," object carries:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The cancellation identifier"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["orderId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The order being cancelled"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["reasonCode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The cancellation reason, e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CUSTOMER_CHANGED_MIND"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["text"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Free-text detail accompanying the reason"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PENDING"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["COMPLETED"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["REJECTED"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The same pattern applies whether the order being cancelled is a provide or a cease order."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"notes","__idx":22},"children":["Notes"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Order placement, the order types and the provide order-update (KCI) lifecycle are documented, along with the delay, amendment and cancellation updates. The detailed request/response bodies for the non-provide journeys (migration, transfer, takeover, swap and amend) and the remaining KCI reasons (e.g. unsolicited cease) are not yet documented for this connector."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Only FTTP is supported for new orders. An existing SOGEA, SOADSL, FTTC or FTTH service can be switched (migrated) to FTTP."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"version-history","__idx":23},"children":["Version History"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Version"},"children":["Version"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Change"},"children":["Change"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Initial release of the Vodafone EDGE connector"]}]}]}]}]}]},"headings":[{"value":"Vodafone EDGE","id":"vodafone-edge","depth":1},{"value":"Authentication & Setup","id":"authentication--setup","depth":2},{"value":"Address Search","id":"address-search","depth":2},{"value":"Service Availability","id":"service-availability","depth":2},{"value":"Service Specifications","id":"service-specifications","depth":3},{"value":"Line Characteristics","id":"line-characteristics","depth":3},{"value":"Constraints","id":"constraints","depth":3},{"value":"Installation Types","id":"installation-types","depth":3},{"value":"Appointing","id":"appointing","depth":2},{"value":"Orders","id":"orders","depth":2},{"value":"Service Characteristics","id":"service-characteristics","depth":3},{"value":"Order Types","id":"order-types","depth":3},{"value":"Line Profiles","id":"line-profiles","depth":3},{"value":"Care Levels","id":"care-levels","depth":3},{"value":"Create Order","id":"create-order","depth":3},{"value":"Modify and Cease Orders","id":"modify-and-cease-orders","depth":3},{"value":"Order Response","id":"order-response","depth":3},{"value":"Order Amendments","id":"order-amendments","depth":3},{"value":"Order Updates","id":"order-updates","depth":2},{"value":"Missed Appointments and Delays","id":"missed-appointments-and-delays","depth":3},{"value":"Amendments","id":"amendments","depth":3},{"value":"Cancellations","id":"cancellations","depth":3},{"value":"Notes","id":"notes","depth":2},{"value":"Version History","id":"version-history","depth":2}],"frontmatter":{"title":"VodafoneEDGE","seo":{"title":"Vodafone EDGE"}},"lastModified":"2026-09-02T08:36:56.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/pages/connectors/vodafone","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}