Introduction

When you do a service qualification it may contain NBN in use infrastructure(s). An NBN in use infrastructure refers to the following:
1. Ntd where the port status is "Used"
2. Ncd (Copper Pair) where service status (serviceStatus) is "Line In Use"
For NBN in use infrastructure one of the fees returned by the service qualification and associated to each of the NBN in use infrastructure will be the service transfer fee. If you place an order for one of the NBN in use infrastructure you will be charged the service transfer fee. When placing an order for an NBN in use infrastructure the order will have an associated order type of transfer.

A transfer order can be an intra Service Transfer between two wholesale companies.
Refer to the Intra-wholesale Service Transfer documentation for more information
1. Intra-wholesale Service Transfer

POTS

POTS (a company other than NBN have the line) can also cause an order to have an order type (orderType) of transfer and thus will incur the service transfer fee. This will occur when POTS applies to the copper pair and

  1. the FNN is not provided or does not match or

  2. is ULL and the customer is not the owner of the current service.

If POTS applies the copper pair status (copperPairStatus) will be Active.
Refer to the POTS documentation for more information.

Avc Id and Transfer Type Required

Service Status vs Copper Pair Status

For a Copper Pair, service status (serviceStatus) will be set when NBN have the line. It can have a value of "Line In Use" or "Line Not In Use". For a Copper Pair, the copper pair status (copperPairStatus) will be set when a company other than NBN have the line. It can have a value of "Active" or "Inactive". Depending on what one has a value the other one will be null.

NBN In Use infrastructure

For an NBN in use infrastructure, i.e. the infrastructure is an Ntd and the port status is "Used" or the infrastructure is an Ncd (Copper Pair) and the service status (serviceStatus) is "Line In Use" an avc Id (avcIdForTransfer) and a Transfer Type (transferType [SERVICE_TRANSFER | CONNECT_OUTSTANDING]) must be provided.

NBN uses this avc id to verify if the transfer is allowed. Only provide the avc id (avcIdForTransfer) and the Transfer Type (transferType) if either of those conditions is met. An error will be returned if you provide an avc id (avcIdForTransfer) and a Transfer Type (transferType), when they are not required.

When you’re providing an avc Id (avcIdForTransfer), the Transfer Type(transferType) should be 'SERVICE_TRANSFER.' It is recommended the avc id (avcIdForTransfer) be verified before sending. This can be done by doing an AVC SQ. If you don’t verify the avc id (avcIdForTransfer), and it turns out to be incorrect the order will be rejected upon submitting to the NBN and an OrderRejected notification will be sent.

If you don’t have the valid avc Id (avcIdForTransfer), you can use theTransfer Type(transferType) as 'CONNECT_OUTSTANDING' without providing an AVC ID.

Examples

Transfer NTD Port

Step 1 Perform a Qualification

GET Response Qualification containing in use NTDs
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 7570

{
  "locationId" : "LOC151638001451",
  "sourceType" : "nbn",
  "address" : "1451 GARLAND Drive, BALWYN EAST, Victoria, 3103",
  "addressDetails" : {
    "buildingName" : null,
    "buildingLevel" : null,
    "unitNumber" : null,
    "streetNumber" : "1451",
    "street" : "GARLAND Drive",
    "suburb" : "BALWYN EAST",
    "state" : "Victoria",
    "postcode" : "3103"
  },
  "technologyType" : "TC4",
  "qualificationSearchId" : "c18eda52-db36-47f0-bd12-7535beb6db7e",
  "remoteQualificationSearchId" : "1eb7bea4-250e-6d90-b95e-7e380507f753",
  "status" : "Serviceable",
  "region" : "Urban",
  "accessTechnology" : "FTTP",
  "accessTechnologyDescription" : "Fibre",
  "availableProducts" : {
    "id" : 2,
    "name" : "tc4",
    "description" : "TC4",
    "options" : [ "Home Fast 25/5", "Home Fast 25/10", "Home Fast 50/20", "Home Fast 100/40", "Home Superfast 250/100", "Home Superfast 500/200", "Home Ultrafast 1000/400", "Home Fast 12/1" ]
  },
  "latitude" : "-33.40001451",
  "longitude" : "151.400001451",
  "avcId" : null,
  "orderId" : "1eb7bc5c-637a-6920-8262-7e380507f753",
  "alternativeAccessTechnology" : null,
  "poiId" : "3CBN",
  "poiName" : "Cranbourne",
  "sqType" : "STANDARD",
  "serviceClass" : "3",
  "serviceClassDescription" : "Location serviced by FTTP and has infrastructure in place",
  "orderSlas" : [ "Standard", "Accelerated" ],
  "newDevelopmentsCharge" : {
    "applies" : false,
    "fees" : [ ]
  },
  "infrastructureInstallationOptions" : [ {
    "option" : "nbn-tech",
    "recommended" : true,
    "fees" : [ {
      "name" : "SUBSEQUENT_INSTALLATION_CHARGE",
      "oneTimeCharge" : {
        "amount" : "180.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ],
    "hardwareShortfall" : null
  } ],
  "infrastructures" : [ {
    "infrastructureId" : "NTD151638001451",
    "installationOptions" : [ {
      "option" : "nbn-no-action",
      "recommended" : true,
      "fees" : [ ],
      "hardwareShortfall" : null
    } ],
    "ntdType" : "Internal",
    "ntdPowerType" : "AC",
    "batteryPowerUnit" : "No",
    "ntdLocation" : "Indoor",
    "ntdPorts" : [ {
      "portId" : "1",
      "portName" : "1-UNI-D1",
      "uniType" : "UNI-D",
      "status" : "Used",
      "referencedData" : {
        "productInstanceId" : "PRI151638001451",
        "serviceProviderId" : "0615",
        "serviceProviderName" : null,
        "owner" : false
      },
      "fees" : [ {
        "name" : "SERVICE_TRANSFER_FEE",
        "oneTimeCharge" : {
          "amount" : "10.00",
          "currency" : "AUD",
          "symbol" : "$"
        },
        "monthlyRecurringCharge" : {
          "amount" : "0.00",
          "currency" : "AUD",
          "symbol" : "$"
        }
      } ],
      "avcIdMatch" : null
    }, {
      "portId" : "2",
      "portName" : "1-UNI-D2",
      "uniType" : "UNI-D",
      "status" : "Used",
      "referencedData" : {
        "productInstanceId" : "PRI100000019555",
        "serviceProviderId" : "0427",
        "serviceProviderName" : null,
        "owner" : false
      },
      "fees" : [ {
        "name" : "SERVICE_TRANSFER_FEE",
        "oneTimeCharge" : {
          "amount" : "10.00",
          "currency" : "AUD",
          "symbol" : "$"
        },
        "monthlyRecurringCharge" : {
          "amount" : "0.00",
          "currency" : "AUD",
          "symbol" : "$"
        }
      } ],
      "avcIdMatch" : null
    }, {
      "portId" : "3",
      "portName" : "1-UNI-D3",
      "uniType" : "UNI-D",
      "status" : "Used",
      "referencedData" : {
        "productInstanceId" : "PRI100000020378",
        "serviceProviderId" : "0427",
        "serviceProviderName" : null,
        "owner" : false
      },
      "fees" : [ {
        "name" : "SERVICE_TRANSFER_FEE",
        "oneTimeCharge" : {
          "amount" : "10.00",
          "currency" : "AUD",
          "symbol" : "$"
        },
        "monthlyRecurringCharge" : {
          "amount" : "0.00",
          "currency" : "AUD",
          "symbol" : "$"
        }
      } ],
      "avcIdMatch" : null
    }, {
      "portId" : "4",
      "portName" : "1-UNI-D4",
      "uniType" : "UNI-D",
      "status" : "Free",
      "referencedData" : null,
      "fees" : [ ],
      "avcIdMatch" : null
    } ],
    "subsequentInstallationCharge" : null
  } ],
  "potsInterconnect" : null,
  "ntdSelfInstallEligible" : null,
  "restorationSlas" : [ {
    "sla" : "Standard",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 12",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "17.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 12 (24/7)",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "45.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 8",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "28.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 8 (24/7)",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "62.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 6",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "37.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 6 (24/7)",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "73.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 4",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "45.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 4 (24/7)",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "84.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  } ],
  "allowedAggregationMethods" : [ "ETHERNET", "L2TP" ]
}

In the above example one NTD is returned with an infrastructure id (infrastructureId) of NTD151638001451. This NTD has four ports. Of these four ports, three are in use. The in use ports are ports 1, 2 and 3 as they all have "status" : "Used" and an associated product instance id (referencedData.productInstanceId). Port 4 is not in use as it has "status" : "Free" and there is no product instance id (referenceData is null). The fees for each of the in use ports specifies the service transfer fee (fees.tc4.name == 'SERVICE_TRANSFER_FEE'). In the above example the service transfer fee is the same for all in use ports and consists of a one time charge of AUD $10.00.

If an order is placed for a service on port 1, 2 or 3 as the port is "Used" you must pass in the avc id (avcIdForTransfer).
The order type (orderType) will be transfer, and you will incur the service transfer fee.

Step 2 Place the Order for NTD NTD151638001451, port 1 - Used

POST Request Place Order
POST /api/connect/orders/create HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 7
Content-Length: 795
Host: 360-api.superloop.com

{
  "sourceType" : "nbn",
  "planName" : "Home Fast 100/20",
  "term" : 1,
  "trafficClass" : "tc4",
  "remoteQualificationSearchId" : "1eb878c4-d5e1-63cc-8780-7e380507f753",
  "qualificationSearchId" : "d8a71e0b-4da6-44b4-a28e-b6d3ff5abb5c",
  "locationId" : "LOC151638001251",
  "remoteOrderId" : "1eb878c4-d4b9-6e0e-9f99-7e380507f753",
  "productType" : "Access Only",
  "restorationSla" : "Standard",
  "contactName" : "Bruce Wayne",
  "contactPhone" : "4000000000",
  "contactEmail" : "bruce@wayne.com",
  "infrastructureId" : "NTD151638001451",
  "portId" : 1,
  "requireVLAN" : true,
  "vlanId" : 100,
  "ntdInstallation" : "nbn-no-action",
  "customerReference" : "ABC123",
  "aggregationMethod" : "L2TP",
  "avcIdForTransfer" : "AVC123456789012",
  "transferType" : "SERVICE_TRANSFER"
}
POST Response Place Order
HTTP/1.1 201 Created
Location: /api/connect/orders/1
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 2260

{
  "id" : 1,
  "orderType" : "transfer",
  "status" : "OPEN",
  "serviceClass" : "3",
  "technologyType" : "FTTP",
  "trafficClass" : "TC4",
  "installationType" : "nbn-no-action",
  "customerRef" : "ABC123",
  "locId" : "LOC151638001251",
  "avcId" : null,
  "avcIdForTransfer" : "AVC123456789012",
  "vlanId" : 100,
  "poi" : "3CBN",
  "poiName" : "Cranbourne",
  "region" : "Urban",
  "eSla" : "Standard",
  "bandwidthProfile" : {
    "speedDown" : 100,
    "speedUp" : 20,
    "planName" : "Home Fast 100/20",
    "cvcInclusion" : null
  },
  "infrastructure" : {
    "id" : "NTD151638001451",
    "portId" : "1",
    "productId" : "PRI151638001451"
  },
  "address" : {
    "buildingLevel" : null,
    "unitNumber" : null,
    "buildingName" : null,
    "streetNumber" : "1451",
    "street" : "GARLAND DR",
    "suburb" : "BALWYN EAST",
    "state" : "VIC",
    "postcode" : "3103",
    "formattedAddress" : "1451 GARLAND Drive, BALWYN EAST, Victoria, 3103"
  },
  "fee" : {
    "attributes" : {
      "plan" : "Home Fast 100/20",
      "term" : "1"
    },
    "oneTimeCharge" : {
      "amount" : "0.00",
      "currency" : "AUD",
      "symbol" : "$"
    },
    "monthlyRecurringCharge" : {
      "amount" : "65.00",
      "currency" : "AUD",
      "symbol" : "$"
    }
  },
  "additionalFees" : [ {
    "addOnTypeName" : "SLA",
    "fee" : {
      "attributes" : {
        "sla" : "Standard"
      },
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    }
  }, {
    "addOnTypeName" : "SERVICE_TRANSFER_FEE",
    "fee" : {
      "attributes" : {
        "service_transfer_fee" : true
      },
      "oneTimeCharge" : {
        "amount" : "10.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    }
  } ],
  "appointments" : [ ],
  "aggregationMethod" : "L2TP",
  "legacyTechnologyType" : null,
  "transferType" : "SERVICE_TRANSFER",
  "360ServiceId" : null,
  "isNfas" : false,
  "isCancellable" : false
}

In the above example an order was placed for NTD NTD151638001451, port 1. The creation was successful and the Order resource returned. The order type is transfer (orderType = 'transfer') and additional fees (additionalFees) contains the service transfer fee as one of the fees charged (additionalFees.addOnTypeName = 'SERVICE_TRANSFER_FEE').

Transfer Copper Pair

Step 1 Perform a Qualification

GET Response Qualification containing in use Copper Pair
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 6552

{
  "locationId" : "LOC151638004861",
  "sourceType" : "nbn",
  "address" : "4861 ROCKWELL Avenue, KEILOR EAST, Victoria, 3033",
  "addressDetails" : {
    "buildingName" : null,
    "buildingLevel" : null,
    "unitNumber" : null,
    "streetNumber" : "4861",
    "street" : "ROCKWELL Avenue",
    "suburb" : "KEILOR EAST",
    "state" : "Victoria",
    "postcode" : "3033"
  },
  "technologyType" : "TC4",
  "qualificationSearchId" : "c18eda52-db36-47f0-bd12-7535beb6db7e",
  "remoteQualificationSearchId" : "1ebafd65-dc07-6af8-a83a-7e380507f753",
  "status" : "Serviceable",
  "region" : "Urban",
  "accessTechnology" : "FTTC",
  "accessTechnologyDescription" : "Fibre To The Curb",
  "availableProducts" : {
    "id" : 2,
    "name" : "tc4",
    "description" : "TC4",
    "options" : [ "Home Fast 25/5", "Home Fast 100/20", "Home Fast 12/1", "Home Fast 25/10", "Home Fast 50/20", "Home Fast 100/40" ]
  },
  "latitude" : "-33.40004861",
  "longitude" : "151.400004861",
  "avcId" : null,
  "orderId" : "1ebafd65-daaa-6750-ab5e-7e380507f753",
  "alternativeAccessTechnology" : null,
  "poiId" : "9zrvcxfsn",
  "poiName" : "East Antonette",
  "sqType" : "STANDARD",
  "serviceClass" : "34",
  "serviceClassDescription" : "Location serviced by FTTC and has infrastructure in place",
  "orderSlas" : [ "Standard", "Accelerated" ],
  "newDevelopmentsCharge" : {
    "applies" : true,
    "fees" : [ {
      "name" : "NDF",
      "oneTimeCharge" : {
        "amount" : "300.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  },
  "infrastructureInstallationOptions" : [ {
    "option" : "nbn-tech",
    "recommended" : true,
    "fees" : [ {
      "name" : "SUBSEQUENT_INSTALLATION_CHARGE",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ],
    "hardwareShortfall" : null
  } ],
  "infrastructures" : [ {
    "infrastructureId" : "CPI151638004861",
    "installationOptions" : [ {
      "option" : "nbn-no-action",
      "recommended" : true,
      "fees" : [ ],
      "hardwareShortfall" : false
    } ],
    "serviceabilityClass" : "34",
    "serviceStatus" : "Line In Use",
    "serviceType" : null,
    "recommended" : true,
    "upstream" : {
      "lowerRate" : "20Mbps",
      "upperRate" : "40Mbps"
    },
    "downstream" : {
      "lowerRate" : "70Mbps",
      "upperRate" : "100Mbps"
    },
    "referencedData" : {
      "productInstanceId" : "PRI100000017775",
      "serviceProviderId" : "0427",
      "serviceProviderName" : null,
      "owner" : false
    },
    "copperPairStatus" : null,
    "hasActivePOTS" : false,
    "potsInterconnectMatch" : false,
    "potsInterconnect" : null,
    "ntdSelfInstallEligible" : true,
    "fees" : [ {
      "name" : "SERVICE_TRANSFER_FEE",
      "oneTimeCharge" : {
        "amount" : "10.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ],
    "subsequentInstallationCharge" : {
      "applies" : false,
      "fees" : [ ]
    },
    "networkCoexistence" : "Yes",
    "avcIdMatch" : null
  } ],
  "potsInterconnect" : null,
  "ntdSelfInstallEligible" : null,
  "restorationSlas" : [ {
    "sla" : "Standard",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 12",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "17.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 12 (24/7)",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "45.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 8",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "28.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 8 (24/7)",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "62.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 6",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "37.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 6 (24/7)",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "73.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 4",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "45.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  }, {
    "sla" : "Enhanced - 4 (24/7)",
    "fees" : [ {
      "name" : "SLA",
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "84.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    } ]
  } ],
  "allowedAggregationMethods" : [ "ETHERNET", "L2TP" ]
}

In the above example one copper pair is returned with an infrastructure id (infrastructureId) of CPI151638004861. This copper pair is in use as it has "serviceStatus" : "Line In Use" and an associated product instance id (referencedData.productInstanceId). As the copper pair is in use you must pass in the avc id (avcIdForTransfer).

The fees for the copper pair specifies the service transfer fee (fees.tc4.name == 'SERVICE_TRANSFER_FEE'). In the above example the service transfer fee consists of a one time charge of AUD $10.00.

If an order is placed for the copper pair the order type (orderType) will be transfer and you will incur the service transfer fee.

Step 2 Place the Order for Copper Pair CPI151638004861

POST Request Place Order

POST /api/connect/orders/create HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer **token**
X-API-VERSION: 7
Content-Length: 785
Host: 360-api.superloop.com

{
  "sourceType" : "nbn",
  "planName" : "Home Fast 100/20",
  "term" : 1,
  "trafficClass" : "tc4",
  "remoteQualificationSearchId" : "1eb878c4-d5e1-63cc-8780-7e380507f753",
  "qualificationSearchId" : "d8a71e0b-4da6-44b4-a28e-b6d3ff5abb5c",
  "locationId" : "LOC151638004861",
  "remoteOrderId" : "1eb878c4-d4b9-6e0e-9f99-7e380507f753",
  "productType" : "Access Only",
  "restorationSla" : "Standard",
  "contactName" : "Bruce Wayne",
  "contactPhone" : "4000000000",
  "contactEmail" : "bruce@wayne.com",
  "infrastructureId" : "CPI151638004861",
  "requireVLAN" : false,
  "ntdInstallation" : "nbn-no-action",
  "customerReference" : "ABC123",
  "potsWaiver" : true,
  "aggregationMethod" : "L2TP",
  "avcIdForTransfer" : "AVC123456789012",
  "transferType" : "SERVICE_TRANSFER"
}
POST Response Place Order
HTTP/1.1 201 Created
Location: /api/connect/orders/1
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 2624

{
  "id" : 1,
  "orderType" : "transfer",
  "status" : "OPEN",
  "serviceClass" : "34",
  "technologyType" : "FTTC",
  "trafficClass" : "TC4",
  "installationType" : "nbn-no-action",
  "customerRef" : "ABC123",
  "locId" : "LOC151638004861",
  "avcId" : null,
  "avcIdForTransfer" : "AVC123456789012",
  "vlanId" : null,
  "poi" : "9zrvcxfsn",
  "poiName" : "East Antonette",
  "region" : "Urban",
  "eSla" : "Standard",
  "bandwidthProfile" : {
    "speedDown" : 100,
    "speedUp" : 20,
    "planName" : "Home Fast 100/20",
    "cvcInclusion" : null
  },
  "infrastructure" : {
    "id" : "CPI151638004861",
    "productId" : "PRI100000017775"
  },
  "address" : {
    "buildingLevel" : null,
    "unitNumber" : null,
    "buildingName" : null,
    "streetNumber" : "4861",
    "street" : "ROCKWELL AV",
    "suburb" : "KEILOR EAST",
    "state" : "VIC",
    "postcode" : "3033",
    "formattedAddress" : "4861 ROCKWELL Avenue, KEILOR EAST, Victoria, 3033"
  },
  "fee" : {
    "attributes" : {
      "plan" : "Home Fast 100/20",
      "term" : "1"
    },
    "oneTimeCharge" : {
      "amount" : "0.00",
      "currency" : "AUD",
      "symbol" : "$"
    },
    "monthlyRecurringCharge" : {
      "amount" : "65.00",
      "currency" : "AUD",
      "symbol" : "$"
    }
  },
  "additionalFees" : [ {
    "addOnTypeName" : "SLA",
    "fee" : {
      "attributes" : {
        "sla" : "Standard"
      },
      "oneTimeCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    }
  }, {
    "addOnTypeName" : "NDF",
    "fee" : {
      "attributes" : {
        "ndf" : "New Development Fee"
      },
      "oneTimeCharge" : {
        "amount" : "300.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    }
  }, {
    "addOnTypeName" : "SERVICE_TRANSFER_FEE",
    "fee" : {
      "attributes" : {
        "service_transfer_fee" : true
      },
      "oneTimeCharge" : {
        "amount" : "10.00",
        "currency" : "AUD",
        "symbol" : "$"
      },
      "monthlyRecurringCharge" : {
        "amount" : "0.00",
        "currency" : "AUD",
        "symbol" : "$"
      }
    }
  } ],
  "appointments" : [ ],
  "aggregationMethod" : "L2TP",
  "legacyTechnologyType" : null,
  "transferType" : "SERVICE_TRANSFER",
  "360ServiceId" : null,
  "isNfas" : false,
  "isCancellable" : false
}

In the above example an order was placed for copper pair CPI151638004861. The creation was successful and the Order resource returned. The order type is transfer (orderType = 'transfer') and additional fees (additionalFees) contains the service transfer fee as one of the fees charged (additionalFees.addOnTypeName = 'SERVICE_TRANSFER_FEE').

Transfer NTD Port - Port Used, Avc Id NOT provided

Port 1 is Used, so an avc id (avcIdForTransfer) is required but not provided. A 422 is returned.

POST Response Place Order Without Avc Id When Required
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 460

{
  "httpStatusCode" : 422,
  "type" : "client.validation",
  "code" : "validation",
  "message" : "Validation error",
  "apiSubErrors" : [ {
    "code" : "constraints.avc.id.required.for.transfer",
    "message" : "avcId must be provided if port is Used and transfer type is SERVICE_TRANSFER",
    "object" : "CreateServiceQuoteNbnCommand",
    "field" : "avcIdForTransfer",
    "rejectedValue" : null
  } ],
  "timestamp" : "2025-05-26T05:49:04.710482947Z"
}

Transfer Copper Pair - Line In Use, Avc Id NOT provided

Copper Pair’s Line In Use, so avc id (avcIdForTransfer) is required but not provided. A 422 is returned.

POST Response Place Order Without Avc Id When Required
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 459

{
  "httpStatusCode" : 422,
  "type" : "client.validation",
  "code" : "validation",
  "message" : "Validation error",
  "apiSubErrors" : [ {
    "code" : "constraints.avc.id.required.for.transfer",
    "message" : "avcId must be provided if Line In Use and transfer type is SERVICE_TRANSFER",
    "object" : "CreateServiceQuoteNbnCommand",
    "field" : "avcIdForTransfer",
    "rejectedValue" : null
  } ],
  "timestamp" : "2025-05-26T05:49:01.123318965Z"
}

Transfer NTD Port - Port Free, Avc Id provided

Port 4 is Free, so an avc id (avcIdForTransfer) is NOT required but provided. A 422 is returned.

POST Response Place Order With Avc Id When Not Required
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 432

{
  "httpStatusCode" : 422,
  "type" : "client.validation",
  "code" : "validation",
  "message" : "Validation error",
  "apiSubErrors" : [ {
    "code" : "constraints.avc.id.not.required",
    "message" : "avcId should not be provided if port is Free",
    "object" : "CreateServiceQuoteNbnCommand",
    "field" : "avcIdForTransfer",
    "rejectedValue" : "AVC123456789012"
  } ],
  "timestamp" : "2025-05-26T05:48:58.716666891Z"
}

Transfer Copper Pair - Line Not In Use, Avc Id provided

Copper Pair’s Line Not In Use, so avc id (avcIdForTransfer) is NOT required but provided. A 422 is returned.

POST Response Place Order With Avc Id When Not Required
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 435

{
  "httpStatusCode" : 422,
  "type" : "client.validation",
  "code" : "validation",
  "message" : "Validation error",
  "apiSubErrors" : [ {
    "code" : "constraints.avc.id.not.required",
    "message" : "avcId should not be provided if Line Not In Use",
    "object" : "CreateServiceQuoteNbnCommand",
    "field" : "avcIdForTransfer",
    "rejectedValue" : "AVC123456789012"
  } ],
  "timestamp" : "2025-05-26T05:48:57.546728764Z"
}

Transfer NTD Port - Port Used, Transfer Type NOT provided

Port 1 is Used, so a Transfer Type (transferType) is required but not provided. A 422 is returned.

POST Response Place Order Without Transfer Type When Required
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 419

{
  "httpStatusCode" : 422,
  "type" : "client.validation",
  "code" : "validation",
  "message" : "Validation error",
  "apiSubErrors" : [ {
    "code" : "constraints.transfer.type.required",
    "message" : "transferType must be provided if port is Used",
    "object" : "CreateServiceQuoteNbnCommand",
    "field" : "transferType",
    "rejectedValue" : null
  } ],
  "timestamp" : "2025-05-26T05:49:07.458507136Z"
}

Transfer Copper Pair - Line In Use, Transfer Type NOT provided

Copper Pair’s Line In Use, so Transfer Type (transferType) is required but not provided. A 422 is returned.

POST Response Place Order Without Transfer Type When Required
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 418

{
  "httpStatusCode" : 422,
  "type" : "client.validation",
  "code" : "validation",
  "message" : "Validation error",
  "apiSubErrors" : [ {
    "code" : "constraints.transfer.type.required",
    "message" : "transferType must be provided if Line In Use",
    "object" : "CreateServiceQuoteNbnCommand",
    "field" : "transferType",
    "rejectedValue" : null
  } ],
  "timestamp" : "2025-05-26T05:48:53.538708743Z"
}

Transfer NTD Port - Port Used, Transfer Type [SERVICE_TRANSFER] provided and Avc Id NOT provided

Copper Pair’s Line In Use, so avc id (avcIdForTransfer) is required but not provided and transfer is SERVICE_TRANSFER. A 422 is returned.

POST Response Place Order With Transfer Type And Without AvcId When Required
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 460

{
  "httpStatusCode" : 422,
  "type" : "client.validation",
  "code" : "validation",
  "message" : "Validation error",
  "apiSubErrors" : [ {
    "code" : "constraints.avc.id.required.for.transfer",
    "message" : "avcId must be provided if port is Used and transfer type is SERVICE_TRANSFER",
    "object" : "CreateServiceQuoteNbnCommand",
    "field" : "avcIdForTransfer",
    "rejectedValue" : null
  } ],
  "timestamp" : "2025-05-26T05:48:59.935522977Z"
}

Transfer Copper Pair - Line In Use, Transfer Type [CONNECT_OUTSTANDING] and Avc Id provided

Copper Pair’s Line In Use, transfer is CONNECT_OUTSTANDING so avc id (avcIdForTransfer) is not required but provided . A 422 is returned.

POST Response Place Order With AvcId When Not Required
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 472

{
  "httpStatusCode" : 422,
  "type" : "client.validation",
  "code" : "validation",
  "message" : "Validation error",
  "apiSubErrors" : [ {
    "code" : "constraints.avc.id.not.required",
    "message" : "avcId should not be provided if Line In Use and transfer type is CONNECT_OUTSTANDING",
    "object" : "CreateServiceQuoteNbnCommand",
    "field" : "avcIdForTransfer",
    "rejectedValue" : "AVC123456789012"
  } ],
  "timestamp" : "2025-05-26T05:49:03.493204737Z"
}