swagger: '2.0' info: description: To retrieve and schedule delivery information for MTN Customers version: "v1.0" title: Customer Delivery Booking API schemes: - https host: "api.mtn.com" basePath: "/v1" consumes: - "application/json" produces: - "application/json" securityDefinitions: ApiKeyAuth: type: "apiKey" name: "X-API-Key" in: "header" OAuth2: type: oauth2 flow: application tokenUrl: https://api.mtn.com/v1/oauth/access_token security: - ApiKeyAuth: [] - OAuth2: [] paths: /booking/province: get: tags: - Reference Data Operations summary: To retrieve the list of provinces available in the system description: Province list retrieval operationId: Province parameters: - name: "targetSystem" in: header required: false type: string enum: - DSV responses: '200': description: 'Success' schema: $ref: "#/definitions/provinceResponse" '400': description: "Bad Request" schema: $ref: "#/definitions/Error" '401': description: "Unauthorized" schema: $ref: "#/definitions/Error" '403': description: "Forbidden" schema: $ref: "#/definitions/Error" '404': description: "Customer not found" schema: $ref: "#/definitions/Error" '405': description: "Method Not allowed" schema: $ref: "#/definitions/Error" '500': description: "Internal Server Error" schema: $ref: "#/definitions/Error" /booking/town: get: tags: - Reference Data Operations summary: To retrieve the list of towns available in the system description: Town list retrieval operationId: Town parameters: - name: "targetSystem" in: header required: false type: string enum: - DSV responses: '200': description: 'Success' schema: $ref: "#/definitions/townResponse" '400': description: "Bad Request" schema: $ref: "#/definitions/Error" '401': description: "Unauthorized" schema: $ref: "#/definitions/Error" '403': description: "Forbidden" schema: $ref: "#/definitions/Error" '404': description: "Customer not found" schema: $ref: "#/definitions/Error" '405': description: "Method Not allowed" schema: $ref: "#/definitions/Error" '500': description: "Internal Server Error" schema: $ref: "#/definitions/Error" /booking/suburb: get: tags: - Reference Data Operations summary: To retrieve the list of suburb available in the system description: Suburb list retrieval operationId: Suburb parameters: - name: "targetSystem" in: header required: false type: string enum: - DSV - name: "divisionCode" in: query required: true type: string description: Division Code - name: "suburbSearchValue" in: query required: true description: Suburb Search Value Provided (Minimum 3 Characters) type: string responses: '200': description: 'Success' schema: $ref: "#/definitions/suburbResponse" '400': description: "Bad Request" schema: $ref: "#/definitions/Error" '401': description: "Unauthorized" schema: $ref: "#/definitions/Error" '403': description: "Forbidden" schema: $ref: "#/definitions/Error" '404': description: "Customer not found" schema: $ref: "#/definitions/Error" '405': description: "Method Not allowed" schema: $ref: "#/definitions/Error" '500': description: "Internal Server Error" schema: $ref: "#/definitions/Error" /booking/bookingAvailability: get: tags: - Process Operations summary: To retrieve the booking availability description: Booking availability retrieval operationId: Booking Availability parameters: - name: "targetSystem" in: header required: false type: string enum: - DSV - name: "customerGroupCode" in: query required: true description: Customer Group Code type: string maxLength: 10 - name: "divisionCode" in: query required: true type: string description: Division Code maxLength: 5 - name: "townCode" in: query required: true type: string description: Town Code maxLength: 5 - name: "suburbName" in: query required: true type: string description: Suburb Name maxLength: 40 - name: "clientName" in: query required: true type: string description: Client/Card holder Name maxLength: 50 - name: "clientIdPassport" in: query required: true type: string description: Client SA ID or Passport Number maxLength: 20 - name: "productCode" in: query required: false type: string description: Product type code to be delivered maxLength: 6 - name: "searchRefType" in: query required: false type: integer description: Reference type indicator 1 = Unique or 2 = Mounties Ref, 3 = Order Number - name: "searchRefValue" in: query required: false type: string description: Reference Value to search by for received items maxLength: 50 responses: '200': description: 'Success' schema: $ref: "#/definitions/bookingAvailabilityResponse" '400': description: "Bad Request" schema: $ref: "#/definitions/Error" '401': description: "Unauthorized" schema: $ref: "#/definitions/Error" '403': description: "Forbidden" schema: $ref: "#/definitions/Error" '404': description: "Customer not found" schema: $ref: "#/definitions/Error" '405': description: "Method Not allowed" schema: $ref: "#/definitions/Error" '500': description: "Internal Server Error" schema: $ref: "#/definitions/Error" /booking/externalBooking: post: tags: - Process Operations summary: To validate the booking description: External booking validation operationId: External Booking parameters: - name: "targetSystem" in: header required: false type: string enum: - DSV - name: "externalBooking" in: body required: true schema: $ref: "#/definitions/externalBookingRequest" responses: '200': description: 'Success' schema: $ref: "#/definitions/externalBookingResponse" '400': description: "Bad Request" schema: $ref: "#/definitions/Error" '401': description: "Unauthorized" schema: $ref: "#/definitions/Error" '403': description: "Forbidden" schema: $ref: "#/definitions/Error" '404': description: "Customer not found" schema: $ref: "#/definitions/Error" '405': description: "Method Not allowed" schema: $ref: "#/definitions/Error" '500': description: "Internal Server Error" schema: $ref: "#/definitions/Error" /booking/getBooking: get: tags: - Process Operations summary: To update or cancel a booking description: To view a booking operationId: Booking update parameters: - name: "targetSystem" in: header required: false type: string enum: - DSV - name: "divisionCode " in: query required: true description: Division Code for the Customers client type: string maxLength: 6 - name: "customerGroupCode " in: query required: true type: string description: Customer Group Code maxLength: 10 - name: "clientIDPassport" in: query required: true type: string description: ID or Passport number of the client/cardholder maxLength: 30 - name: "createdDate " in: query required: true type: string format: date - time description: Booking Created Date e.g. 20171204 - 15:45 - name: "referenceNo" in: query required: false type: string description: DX301117_425 maxLength: 20 responses: '200': description: 'Success' schema: $ref: "#/definitions/getBookingResponse" '400': description: "Bad Request" schema: $ref: "#/definitions/Error" '401': description: "Unauthorized" schema: $ref: "#/definitions/Error" '403': description: "Forbidden" schema: $ref: "#/definitions/Error" '404': description: "Customer not found" schema: $ref: "#/definitions/Error" '405': description: "Method Not allowed" schema: $ref: "#/definitions/Error" '500': description: "Internal Server Error" schema: $ref: "#/definitions/Error" /booking/cancelBooking: post: tags: - Process Operations summary: To cancel a booking request description: Booking Request cancellation operationId: Cancel Booking parameters: - name: "targetSystem" in: header required: false type: string enum: - DSV - name: "cancelBooking" in: body required: true schema: $ref: "#/definitions/cancelBookingRequest" responses: '200': description: 'Success' schema: $ref: "#/definitions/cancelBookingResponse" '400': description: "Bad Request" schema: $ref: "#/definitions/Error" '401': description: "Unauthorized" schema: $ref: "#/definitions/Error" '403': description: "Forbidden" schema: $ref: "#/definitions/Error" '404': description: "Customer not found" schema: $ref: "#/definitions/Error" '405': description: "Method Not allowed" schema: $ref: "#/definitions/Error" '500': description: "Internal Server Error" schema: $ref: "#/definitions/Error" /booking/findBooking: get: tags: - Process Operations summary: To track a booking description: To know the current state of a booking operationId: Track Booking parameters: - name: "targetSystem" in: header required: false type: string enum: - DSV - name: "customerGroupCode" in: query required: true description: Customer Group Code type: string maxLength: 10 - name: "searchBy" in: query required: true type: string description: Table column to search on (See FieldName in Booking Search Value Options table) maxLength: 20 - name: "searchValue " in: query required: true type: string description: Value to search for in table column i.e. 1 = Requested maxLength: 30 - name: "searchDate " in: query required: true type: string format: date description: CreatedDate filter to search from e.g. 20171204 - name: "searchRange " in: query required: true type: string maxLength: 20 description: Date Range to search By (Day, Week, Month) responses: '200': description: 'Success' schema: $ref: "#/definitions/findBookingResponse" '400': description: "Bad Request" schema: $ref: "#/definitions/Error" '401': description: "Unauthorized" schema: $ref: "#/definitions/Error" '403': description: "Forbidden" schema: $ref: "#/definitions/Error" '404': description: "Customer not found" schema: $ref: "#/definitions/Error" '405': description: "Method Not allowed" schema: $ref: "#/definitions/Error" '500': description: "Internal Server Error" schema: $ref: "#/definitions/Error" /booking/updateBooking: post: tags: - Process Operations summary: To validate booking by Administrator description: Booking validation by Administrator operationId: Update Booking parameters: - name: "targetSystem" in: header required: false type: string enum: - DSV - name: "updateBooking" in: body required: true schema: $ref: "#/definitions/updateBookingRequest" responses: '200': description: 'Success' schema: $ref: "#/definitions/updateBookingResponse" '400': description: "Bad Request" schema: $ref: "#/definitions/Error" '401': description: "Unauthorized" schema: $ref: "#/definitions/Error" '403': description: "Forbidden" schema: $ref: "#/definitions/Error" '404': description: "Customer not found" schema: $ref: "#/definitions/Error" '405': description: "Method Not allowed" schema: $ref: "#/definitions/Error" '500': description: "Internal Server Error" schema: $ref: "#/definitions/Error" definitions: provinceResponse: type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string data: type: object properties: version: type: string provinceList: type: array items: $ref: "#/definitions/provinceList" provinceList: type: object properties: provinceId: type: integer example: 4 provinceName: type: string maxLength: 50 townResponse: type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string data: type: object properties: version: type: string townList: type: array items: $ref: "#/definitions/townList" townList: type: object properties: townCode: type: string maxLength: 10 townName: type: string maxLength: 10 provinceId: type: integer example: 4 suburbResponse: type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string data: type: object properties: suburbList: type: array items: $ref: "#/definitions/suburbList" suburbList: type: object properties: controllingLocation: type: string maxLength: 4 townCode: type: string maxLength: 3 provinceId: type: integer example: 4 provinceName: type: string maxLength: 50 suburbName: type: string maxLength: 30 bookingAvailabilityResponse: type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string data: type: object properties: bookingAvailabilitySlots: type: array items: $ref: "#/definitions/bookingAvailabilitySlots" serviceDays: type: array items: $ref: "#/definitions/serviceDays" bookingAvailabilitySlots: type: object properties: dailyTripId: type: string description: Unique daily trip GUID tripsheet identifier maxLength: 68 townCode: type: string maxLength: 3 suburbName: type: string maxLength: 30 serviceDate: type: string format: date-time serviceTime: type: string description: This is the service start time and end time maxLength: 20 example: "9:00AM - 5:00PM" availableSlots: type: integer description: Number of available slots of Daily Trip Sheet additionalSuburbNotes: type: string description: Additional suburb notes that are captured when setting up the delivery suburbs. maxLength: 258 serviceDays: type: object properties: version: type: string maxLength: 10 mon: type: string maxLength: 1 example: Y tue: type: string maxLength: 1 example: Y wed: type: string maxLength: 1 example: Y thu: type: string maxLength: 1 example: Y fri: type: string maxLength: 1 example: Y sat: type: string maxLength: 1 example: Y sun: type: string maxLength: 1 example: Y pubHol: type: string maxLength: 1 example: Y monServiceTimes: type: object properties: timeSlots: type: array items: $ref: "#/definitions/timeSlots" tueServiceTimes: type: object properties: timeSlots: type: array items: $ref: "#/definitions/timeSlots" wedServiceTimes: type: object properties: timeSlots: type: array items: $ref: "#/definitions/timeSlots" thuServiceTimes: type: object properties: timeSlots: type: array items: $ref: "#/definitions/timeSlots" friServiceTimes: type: object properties: timeSlots: type: array items: $ref: "#/definitions/timeSlots" satServiceTimes: type: object properties: timeSlots: type: array items: $ref: "#/definitions/timeSlots" sunServiceTimes: type: object properties: timeSlots: type: array items: $ref: "#/definitions/timeSlots" pHServiceTimes: type: object properties: timeSlots: type: array items: $ref: "#/definitions/timeSlots" createdDate: type: string format: date-time timeSlots: type: string example: "5:00AM - 5:00PM, 9:00AM - 5:00PM, 11:25AM - 8:00PM" externalBookingRequest: type: object properties: referenceNo: type: string description: DX301117_425 (DEX + BookingRequest.CreatedDate.ShortDate + “_” + BookingID) requestType: type: integer description: "Type of request - 1 = New (Item does not exist in DSV DB yet): 2 = Existing (Item exists in DSV DB). Defaults to 2 if not submitted." deliveryType: type: integer description: Delivery Type 1=F2F, 2=KND, 3=Uplift(Branch), 4 = Locker divisionCode: type: string description: Division Code for the Customers client (Must be MSD) customerGroupCode: type: string description: Customer Group Code referenceType: type: integer description: "Search Identifier Type 1 = UniqueRef : 2 = MountiesReferenceID; 0 = no reference value provided (** Required for RequestType =2)" referenceValue: type: string description: "Unique Reference provided by Customers, or MountiesReference provided by DSV, (** Required for RequestType =2)" productCode: type: string description: Product Code provided by Customers deliveryProvinceCode: type: integer description: Province Code selected by Customer deliveryTownCode: type: string description: Town Code deliverySuburb: type: string description: Suburb name to search by deliveryPostalCode: type: string description: Product Type Code to be delivered deliveryCountryCode: type: string description: Country Code for the delivery deliveryDateTime: type: string description: Requested Delivery Date from BookingAvailability return data. (*Not required for Branch or Locker Deliveries) format: date-time tripSheetId: type: string description: Unique identifier of the Tripsheet available for delivery from BookingAvailability return data (Not required for Branch or Locker Deliveries) tripServiceTime: type: string description: Times the Suburb is visited for deliveries (Not required for Branch or Locker Deliveries) clientName: type: string description: Full name of the client/card holder clientIdPassport: type: string description: ID or Passport number of the client/cardholder clientContactNo: type: string description: Contact number of the client/cardholder. clientDeliveryAddress1: type: string description: Client/Cardholder delivery address line 1. If a Branch or Locker Delivery, the branch or locker code must be supplied, followed by a pipe character (“|”) then the name of the locker or branch. (e.g. “123456|NorthRidingBranch”) clientDeliveryAddress2: type: string description: Client/Cardholder delivery address line 2 clientDeliveryAddress3: type: string description: Client/Cardholder delivery address line 3 notificationSMS: type: boolean description: Client/Cardholder SMS notification indicator notificationEmail: type: boolean description: Client/Cardholder Email notification indicator notificationCalendar: type: boolean description: Client/Cardholder Calendar notification indicator notificationCellNo: type: string description: Client/Cardholder SMS notification cell number notificationEmailAddress: type: string description: Client/Cardholder Email notification address notificationEmailCalendar: type: string description: Client/Cardholder Calendar appointment email address clientSpecialInstructions: type: string description: Client/Cardholder special instructions for delivery adminComments: type: string description: Administrator user comments captured for booking bookedBy: type: string description: User who submitted the Booking Request. For external customers, please put your customer group code in here so we can track external submissions. thirdPartyDelivery: type: boolean description: Third Party Delivery Indicator thirdPartyName: type: string description: Third Party Name thirdPartyIdNumber: type: string description: Third Party Id Number thirdPartyContactNumber: type: string description: Third Party Contact Number thirdPartyEmailAddress: type: string description: Third Party Email Address gpsX: type: string description: Latitude gpsY: type: string description: Longitude externalBookingResponse: type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string data: type: object properties: referenceNo: type: string description: Booking Reference No generated getBookingResponse: type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string data: type: object properties: bookingRequest: type: array items: $ref: "#/definitions/bookingRequest" messages: type: array items: $ref: "#/definitions/messages" bookingRequest: type: object properties: referenceNo: type: string description: DX171204_425 maxLength: 20 divisionCode: type: string description: Division Code for the Customers client maxLength: 6 customerGroupCode : type: string description: Customer Group Code maxLength: 10 deliveryType : type: integer description: Delivery Type 1=F2F, 2=KND, 3=Uplift(Branch), 4 = Locker referenceType: type: integer description: Search Identifier Type 1 = UniqueRef :2 = MountiesRef M; referenceValue : type: integer description: Unique Reference provided by Customers, or MountiesReference provided by DSV maxLength: 50 productCode : type: string description: Product Code provided by Customers maxLength: 6 deliveryProvinceCode : type: string description: Province Code selected by Customer deliveryTownCode : type: string description: Town Code maxLength: 5 deliverySuburb : type: string description: Suburb Name to search by maxLength: 40 deliveryPostalCode : type: string description: Product Type Code to be delivered maxLength: 6 deliveryCountryCode : type: string description: Country Code for the delivery maxLength: 4 deliveryDateTime : type: string format: date-time description: Requested Delivery Date from controllingLocation : type: string maxLength: 6 description: Controlling Location for the delivery tripSheetID: type: string maxLength: 30 description: Unique identifier of the Tripsheet available for delivery tripServiceTime : type: string maxLength: 20 description: Times the Suburb is visited for deliveries clientName : type: string maxLength: 50 description: Full name of the client/card holder clientIDPassport : type: string maxLength: 30 description: ID or Passport number of the client/cardholder clientContactTel : type: string maxLength: 20 description: Contact number of the client/cardholder clientDeliveryAddress1 : type: string maxLength: 30 description: Client/Cardholder delivery address line 1 clientDeliveryAddress2 : type: string maxLength: 30 description: Client/Cardholder delivery address line 2 clientDeliveryAddress3 : type: string maxLength: 30 description: Client/Cardholder delivery address line 3 notificationSMS : type: boolean description: Client/Cardholder SMS notification indicator notificationEmail : type: boolean description: Client/Cardholder Email notification indicator notificationCalendar : type: boolean description: Client/Cardholder Calendar notification indicator notificationCellNo : type: string maxLength: 12 description: Client/Cardholder SMS notification cell number notificationEmailAddress : type: string maxLength: 50 description: Client/Cardholder Email notification address notificationEmailCalendar : type: string maxLength: 50 description: Client/Cardholder Calendar appointment email address clientSpecialInstructions : type: string maxLength: 250 description: Client/Cardholder special instructions for delivery failCount : type: integer description: Number of times the Booking failed to slot onto Tripsheet createdDate : type: string description: Date Booking was created updatedDate : type: string description: Date Booking was updated failedDate : type: string description: Date Booking last failed bookedDate : type: string description: Date Booking was slotted onto Tripsheet successfully cancelledDate : type: string description: Date Booking was cancelled by the user deadlineDate : type: string description: Date the Data and Item must be received by adminComments : type: string maxLength: 250 description: Comments entered by administrator users messages : type: string maxLength: 250 description: List of messages generated during processing status : type: string maxLength: 25 description: Status of the Booking Request bookedBy : type: string maxLength: 30 description: User who submitted the Booking Request thirdPartyDelivery : type: boolean description: Third Party Delivery Indicator thirdPartyName : type: string maxLength: 50 description: John Smith thirdPartyIDNumber : type: string maxLength: 20 thirdPartyContactNumber : type: string maxLength: 20 thirdPartyEmailAddress : type: string maxLength: 60 GPSX : type: string maxLength: 20 description: Latitude GPSY : type: string maxLength: 20 description: Longitude messages: type: object properties: oneBookingRequestFound: type: string maxLength: 10 cancelBookingRequest: type: object properties: referenceNo: type: string maxLength: 20 description: DX171130_425 divisionCode: type: string maxLength: 6 description: Division Code = MSD customerGroupCode : type: string maxLength: 10 description: Customer Group Code clientIDPassport : type: string maxLength: 20 description: "7012125181080" cancellationReason: type: string maxLength: 100 description: Card no longer required cancelBookingResponse: type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string findBookingResponse: type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string data: type: object properties: bookingRequest: type: array items: $ref: "#/definitions/bookingRequests" messages: type: array items: $ref: "#/definitions/messages" bookingRequests: type: object properties: referenceNo: type: string description: DX171204_425 maxLength: 20 divisionCode: type: string description: Division Code for the Customers client maxLength: 6 customerGroupCode : type: string description: Customer Group Code maxLength: 10 deliveryType : type: integer description: Delivery Type 1=F2F, 2=KND, 3=Uplift(Branch), 4 = Locker referenceType: type: integer description: Search Identifier Type 1 = UniqueRef :2 = MountiesRef M; referenceValue : type: integer description: Unique Reference provided by Customers, or MountiesReference provided by DSV maxLength: 50 productCode : type: string description: Product Code provided by Customers maxLength: 6 deliveryProvinceCode : type: string description: Province Code selected by Customer deliveryTownCode : type: string description: Town Code maxLength: 5 deliverySuburb : type: string description: Suburb Name to search by maxLength: 40 deliveryPostalCode : type: string description: Product Type Code to be delivered maxLength: 6 deliveryCountryCode : type: string description: Country Code for the delivery maxLength: 4 deliveryDateTime : type: string format: date-time description: Requested Delivery Date from controllingLocation : type: string maxLength: 6 description: Controlling Location for the delivery tripSheetID: type: string maxLength: 30 description: Unique identifier of the Tripsheet available for delivery tripServiceTime : type: string maxLength: 20 description: Times the Suburb is visited for deliveries clientName : type: string maxLength: 50 description: Full name of the client/card holder clientIDPassport : type: string maxLength: 30 description: ID or Passport number of the client/cardholder clientContactTel : type: string maxLength: 20 description: Contact number of the client/cardholder clientDeliveryAddress1 : type: string maxLength: 30 description: Client/Cardholder delivery address line 1 clientDeliveryAddress2 : type: string maxLength: 30 description: Client/Cardholder delivery address line 2 clientDeliveryAddress3 : type: string maxLength: 30 description: Client/Cardholder delivery address line 3 notificationSMS : type: boolean description: Client/Cardholder SMS notification indicator notificationEmail : type: boolean description: Client/Cardholder Email notification indicator notificationCalendar : type: boolean description: Client/Cardholder Calendar notification indicator notificationCellNo : type: string maxLength: 12 description: Client/Cardholder SMS notification cell number notificationEmailAddress : type: string maxLength: 50 description: Client/Cardholder Email notification address notificationEmailCalendar : type: string maxLength: 50 description: Client/Cardholder Calendar appointment email address clientSpecialInstructions : type: string maxLength: 250 description: Client/Cardholder special instructions for delivery failCount : type: integer description: Number of times the Booking failed to slot onto Tripsheet createdDate : type: string description: Date Booking was created updatedDate : type: string description: Date Booking was updated failedDate : type: string description: Date Booking last failed bookedDate : type: string description: Date Booking was slotted onto Tripsheet successfully cancelledDate : type: string description: Date Booking was cancelled by the user deadlineDate : type: string description: Date the Data and Item must be received by adminComments : type: string maxLength: 250 description: Comments entered by administrator users messages : type: string maxLength: 250 description: List of messages generated during processing statusDescription : type: string maxLength: 25 description: Status of the Booking Request bookedBy : type: string maxLength: 30 description: User who submitted the Booking Request thirdPartyDelivery : type: boolean description: Third Party Delivery Indicator thirdPartyName : type: string maxLength: 50 description: John Smith thirdPartyIDNumber : type: string maxLength: 20 thirdPartyContactNumber : type: string maxLength: 20 thirdPartyEmailAddress : type: string maxLength: 60 GPSX : type: string maxLength: 20 description: Latitude GPSY : type: string maxLength: 20 description: Longitude updateBookingRequest: type: object properties: referenceNo: type: string maxLength: 20 description: DX171204_425 requestType: type: integer description: Type of request - 1 = New (Item does not exist in DSV DB yet):2 = Existing (Item exists in DSV DB). Defaults to 2 if not submitted divisionCode: type: string maxLength: 6 description: Division Code for the Customers client customerGroupCode: type: string maxLength: 10 description: Customer Group Code deliveryTownCode : type: string maxLength: 5 description: Town Code deliverySuburb: type: string maxLength: 40 description: Suburb Name to search by clientName : type: string maxLength: 50 description: Full name of the client/card holder clientIDPassport : type: string maxLength: 30 description: ID or Passport number of the client/cardholder clientContactNo : type: string maxLength: 20 description: Contact number of the client/cardholder clientDeliveryAddress1 : type: string maxLength: 30 description: Client/Cardholder delivery address line 1. If a Branch or Locker Delivery, the branch or locker code must be supplied, followed by a pipe character (“|”) then the name of the locker or branch. (e.g. “123456|NorthRidingBranch”) clientDeliveryAddress2 : type: string maxLength: 30 description: Client/Cardholder delivery address line 2 clientDeliveryAddress3 : type: string maxLength: 30 description: Client/Cardholder delivery address line 3 referenceType: type: integer description: Search Identifier Type 1=UniqueRef :2=MountiesReferenceID referenceValue : type: string maxLength: 50 description: Unique Reference provided by Customers, or MountiesReference provided by DSV productCode : type: string maxLength: 6 description: Product Code provided by Customers deliveryPostalCode: type: string description: Product Type Code to be delivered deliveryCountryCode: type: string description: Country Code for the delivery (“ZA”) deliveryDateTime : type: string format: date - time description: Requested Delivery Date from BookingAvailability return data. (Not required for Branch or Locker Deliveries) tripSheetID : type: string maxLength: 30 description: Unique identifier of the Tripsheet available for delivery (Not required for Branch or Locker Deliveries) tripServiceTime : type: string maxLength: 20 description: Times the Suburb is visited for deliveries (Not required for Branch or Locker Deliveries) notificationSMS: type: boolean description: Client/Cardholder SMS notification indicator notificationEmail: type: boolean description: Client/Cardholder Email notification indicator notificationCalendar: type: boolean description: Client/Cardholder Calendar notification indicator notificationCellNo: type: string maxLength: 12 description: Client/Cardholder SMS notification cell number notificationEmailAddress: type: string description: Client/Cardholder Email notification address notificationEmailCalendar: type: string description: Client/Cardholder Calendar appointment email address clientSpecialInstructions: type: string description: Client/Cardholder special instructions for delivery actionUser: type: string description: User who submitted the Booking Request. For external customers, please put your customer group code in here so we can track external submissions. statusID: type: string description: Status of the Booking Request (see table 5.3). Should be 1, 2 or 3. deliveryType : type: integer description: Delivery Type 1=F2F, 2=KND, 3=Uplift/Branch, 4=Locker deliveryProvinceCode: type: integer description: Province Code selected by Customer adminComments: type: string description: Comments entered by administrator users thirdPartyDelivery : type: boolean description: Third Party Delivery Indicator thirdPartyName : type: string description: John Smith thirdPartyIDNumber: type: string description: "7012125161080" thirdPartyContactNumber: type: string description: "0823335555" thirdPartyEmailAddress: type: string description: John.smith@mailme.com GPSX: type: string description: Latitude GPSY: type: string description: Longitude updateBookingResponse: type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string Error: type: "object" title: "Error" required: - "status" - "message" properties: timestamp: type: "string" format: "date-time" description: "Time stamp of the error" status: type: "string" description: "Status code returned by provider system" error: type: "string" description: "Status description" message: type: "string" description: "More error details and corrective measures" path: type: "string" description: "The path that caused the error" transactionId: type: string description: Transaction id returned by the provider system.