openapi: 3.2.0 info: title: Connect Booking API (DEMO) Booking Web Service API description: SOAP-based Booking API supporting:\n- Land\n- Air\n- Ocean (LCL / FCL)\n- Booking cancel\n- Barcode retrieval\n- Waybill retrieval\n- Freight list version: v1 servers: - url: https://api.dsv.com/connect-demo/booking/v1 security: - apiKeyHeader: [] - apiKeyQuery: [] tags: - name: BookingWebService paths: /BookingWebService: post: summary: Unified SOAP endpoint description: 'All operations are invoked via SOAP body: - getBookingRequestLand - getBookingRequestAir - getBookingRequestOceanLCL - getBookingRequestOceanFCL - getBookingCancelRequest - getBookingBarcodeRequest - getWaybillRequest - getFreightListRequest' operationId: post-bookingwebservice requestBody: content: text/xml: schema: $ref: '#/components/schemas/SoapEnvelopeRequest' example:
string 0 string string string true string string string string 0
string string string string string string
string 0 0 string 0 0 0
responses: '200': description: SOAP response content: text/xml: schema: $ref: '#/components/schemas/SoapEnvelopeResponse' example: string 0 string string string string tags: - BookingWebService components: schemas: BookingResponse: type: object properties: applicationArea: $ref: '#/components/schemas/ApplicationArea' bookingId: type: string SoapEnvelopeResponse: type: object properties: Body: oneOf: - $ref: '#/components/schemas/BookingResponse' - $ref: '#/components/schemas/BarcodeResponse' ShipmentPosition: required: - cargoDesc - volume - grossWeight - packageType - pieces type: object properties: cargoDesc: type: string volume: type: number grossWeight: type: number packageType: type: string pieces: type: integer description: shipmentPositionType (1..n) ShippingInformation: type: object properties: shipmentPosition: type: array items: $ref: '#/components/schemas/ShipmentPosition' grossWeight: type: number volume: type: number FreightListOperation: type: object properties: applicationArea: $ref: '#/components/schemas/ApplicationArea' bookingId: type: string xml: name: getFreightListRequest BarcodeResponse: type: object properties: document: type: string description: Barcode document (Base64 encoded). SoapEnvelopeRequest: type: object properties: Header: type: object Body: $ref: '#/components/schemas/SoapRequestBody' xml: name: Envelope AirOperation: type: object properties: in: properties: applicationArea: $ref: '#/components/schemas/ApplicationArea' bookingAir: properties: serviceType: type: string departureAirport: type: string destinationAirport: type: string xml: name: getBookingRequestAir LandOperation: type: object properties: in: properties: applicationArea: $ref: '#/components/schemas/ApplicationArea' bookingLand: required: - submitBooking - productCode - incoterm - measurementType - serviceType type: object properties: submitBooking: type: boolean productCode: type: string incoterm: type: string measurementType: type: string serviceType: type: string grossWeight: type: number address: minItems: 2 type: array items: $ref: '#/components/schemas/Address' shippingInformation: $ref: '#/components/schemas/ShippingInformation' xml: name: getBookingRequestLand Address: required: - name1 - street - city - countryCode - type type: object properties: name1: maxLength: 500 type: string street: type: string city: type: string postalCode: type: string countryCode: type: string type: type: string description: addressType (2..6 addresses required) OceanLCLOperation: type: object properties: in: properties: applicationArea: $ref: '#/components/schemas/ApplicationArea' bookingOceanLCL: properties: portLoading: type: string portDischarge: type: string xml: name: getBookingRequestOceanLCL ApplicationArea: type: object properties: accessKey: maxLength: 100 type: string description: User token for authentication (mandatory). groupId: type: integer format: int64 requestID: maxLength: 500 type: string userId: type: string groupName: type: string description: applicationAreaType (mandatory) BarcodeOperation: type: object properties: applicationArea: $ref: '#/components/schemas/ApplicationArea' bookingId: type: string xml: name: getBookingBarcodeRequest SoapRequestBody: oneOf: - $ref: '#/components/schemas/LandOperation' - $ref: '#/components/schemas/AirOperation' - $ref: '#/components/schemas/OceanLCLOperation' - $ref: '#/components/schemas/OceanFCLOperation' - $ref: '#/components/schemas/CancelOperation' - $ref: '#/components/schemas/BarcodeOperation' - $ref: '#/components/schemas/WaybillOperation' - $ref: '#/components/schemas/FreightListOperation' description: One of the supported operations CancelOperation: type: object properties: applicationArea: $ref: '#/components/schemas/ApplicationArea' cancelRequest: properties: bookingId: type: string xml: name: getBookingCancelRequest OceanFCLOperation: type: object properties: in: properties: applicationArea: $ref: '#/components/schemas/ApplicationArea' bookingOceanFCL: properties: container: type: array items: properties: containerType: type: string containerNo: type: string xml: name: getBookingRequestOceanFCL WaybillOperation: type: object properties: applicationArea: $ref: '#/components/schemas/ApplicationArea' bookingId: type: string xml: name: getWaybillRequest securitySchemes: apiKeyHeader: type: apiKey name: DSV-Subscription-Key in: header apiKeyQuery: type: apiKey name: DSV-Subscription-Key in: query