# Return available appointment slots for a given service and address. This endpoint is called to find what appointments a supplier has available to install service(s) at a given address. An address query parameter will be supplied specifying address ID and type along with the required serviceSpecification(s) as returned by the /service-availability endpoint. All parameters are mandatory and will always be supplied by the Fibre Cafe. Endpoint: GET /available-appointments Version: 1.15 Security: oauth2 ## Header parameters: - `X-Request-ID` (string, required) Unique identifier to identify request and response events across the Fibre Cafe gateway - `X-Conversation-ID` (string, required) Identifier to track message journey across the Fibre Cafe gateway - `Tenant` (string, required) The tenant that has placed the request on the Fibre Cafe Example: "TENANT1" ## Query parameters: - `address` (object, required) Address identifier of provided type e.g. UPRN to check for appointment availability Example: {"id":"200004033694","type":"UPRN"} - `serviceSpecification` (object, required) The service to be installed during this appointment Example: {"id":"ftthl2r"} - `appointmentFromDate` (string) Find appointment slots from this date Example: "2022-01-05" - `classifications` (array) Find appointment slots only of these classification types (comma delimited list) Enum: "WEEKDAY", "WEEKDAY_AM", "WEEKDAY_PM", "WEEKDAY_EARLY", "WEEKDAY_EVENING", "SATURDAY", "SATURDAY_AM", "SATURDAY_PM", "SATURDAY_EARLY", "SATURDAY_EVENING", "SUNDAY", "SUNDAY_AM", "SUNDAY_PM", "SUNDAY_EARLY", "SUNDAY_EVENING" - `appointmentPurpose` (string, required) Purpose of the appointment : PROVIDE, REPAIR, MODIFY Example: "PROVIDE" ## Response 200 fields (application/json): - `address` (object) Address identifier for location including type of identifier. - `address.id` (string, required) Address identifier of provided type e.g. UPRN Example: "200004033694" - `address.type` (string, required) Type of addressId provided e.g. UPRN Example: "UPRN" - `serviceSpecification` (object) Details of a service the supplier provides at the selected address. - `serviceSpecification.id` (string, required) Unique identifier for this service specification (if available) Example: "ftthl2r" - `serviceSpecification.name` (string) Name of the service Example: "FTTH" - `availableTimeslots` (array, required) List of available appointment timeslots - `availableTimeslots.timeslotStartDateTime` (string, required) Start date/time for this timeslot Example: "2022-01-10T09:00:00.000Z" - `availableTimeslots.timeslotEndDateTime` (string, required) End date/time for this timeslot Example: "2022-01-10T13:00:00.000Z" - `availableTimeslots.classification` (string) Timeslot classification Enum: "WEEKDAY", "WEEKDAY_AM", "WEEKDAY_PM", "WEEKDAY_EARLY", "WEEKDAY_EVENING", "SATURDAY", "SATURDAY_AM", "SATURDAY_PM", "SATURDAY_EARLY", "SATURDAY_EVENING", "SUNDAY", "SUNDAY_AM", "SUNDAY_PM", "SUNDAY_EARLY", "SUNDAY_EVENING" - `availableTimeslots.standard` (boolean) Timeslot is classified as standard (non-premium) ## Response 400 fields (application/json): - `uuid` (string, required) Unique identifier of this error - for tracing purposes Example: "87432dfb-2e47-4532-a1b7-4b113d48867d" - `code` (string, required) Fibre Cafe error codes Enum: "INVALID_REQUEST", "MALFORMED_REQUEST", "NOT_AUTHORISED", "NOT_FOUND", "NOT_IMPLEMENTED", "SUPPLIER_FAULT" - `messages` (array, required) Message describing the error Example: ["e.g. Invalid value for field x - accepted values are y"] ## Response 401 fields (application/json): - `uuid` (string, required) Unique identifier of this error - for tracing purposes Example: "87432dfb-2e47-4532-a1b7-4b113d48867d" - `code` (string, required) Fibre Cafe error codes Enum: "INVALID_REQUEST", "MALFORMED_REQUEST", "NOT_AUTHORISED", "NOT_FOUND", "NOT_IMPLEMENTED", "SUPPLIER_FAULT" - `messages` (array, required) Message describing the error Example: ["e.g. Invalid value for field x - accepted values are y"] ## Response 422 fields (application/json): - `uuid` (string, required) Unique identifier of this error - for tracing purposes Example: "87432dfb-2e47-4532-a1b7-4b113d48867d" - `code` (string, required) Fibre Cafe error codes Enum: "INVALID_REQUEST", "MALFORMED_REQUEST", "NOT_AUTHORISED", "NOT_FOUND", "NOT_IMPLEMENTED", "SUPPLIER_FAULT" - `messages` (array, required) Message describing the error Example: ["e.g. Invalid value for field x - accepted values are y"] ## Response 500 fields (application/json): - `uuid` (string, required) Unique identifier of this error - for tracing purposes Example: "87432dfb-2e47-4532-a1b7-4b113d48867d" - `code` (string, required) Fibre Cafe error codes Enum: "INVALID_REQUEST", "MALFORMED_REQUEST", "NOT_AUTHORISED", "NOT_FOUND", "NOT_IMPLEMENTED", "SUPPLIER_FAULT" - `messages` (array, required) Message describing the error Example: ["e.g. Invalid value for field x - accepted values are y"] ## Response 403 fields ## Response 503 fields