CargoAi Booking API

Book a quoted air cargo option, read a booking back by flight UUID, and cancel a booking made through CargoCONNECT. Booking updates from the airline are pushed back on a customer-registered booking callback URL.

OpenAPI Specification

cargoai-booking-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Solutions
  version: '1.0'
x-cargoai-api-family: Quote & Book — Booking
x-provenance:
  harvestedFrom: CargoAi CargoCONNECT developer portal (ReadMe) — per-operation oasDefinition embedded
    in each reference page
  fetchDate: '2026-07-30'
  httpStatus: 200
  sourceInfoTitle: Solutions
  sourceInfoVersion: '1.0'
  note: Operations reproduced verbatim from the provider-published OpenAPI 3.1 definition. No operation,
    path, parameter, schema or server was authored by API Evangelist.
  operations:
  - sourceURL: https://cargoai.readme.io/reference/booking-endpoint-post
    httpStatus: 200
    operation: POST /book
  - sourceURL: https://cargoai.readme.io/reference/track-by-flight-uuid-endpoint-get
    httpStatus: 200
    operation: GET /track
  - sourceURL: https://cargoai.readme.io/reference/booking-cancellation-endpoint-put
    httpStatus: 200
    operation: PUT /bookings/{flightUUID}
servers:
- url: https://api.cargoai.co/solutions
security:
- sec0: []
components:
  securitySchemes:
    sec0:
      type: apiKey
      name: x-api-key
      in: header
paths:
  /book:
    post:
      summary: Booking
      description: This document outlines the process for booking with CargoCONNECT API.
      operationId: booking-endpoint-post
      parameters:
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - user
              properties:
                user:
                  type: object
                  description: User details
                  required:
                  - email
                  - lastName
                  - firstName
                  - iata
                  - cass
                  - country
                  properties:
                    email:
                      type: string
                      description: Freight Forwarder's email address
                    companyName:
                      type: string
                      description: Freight Forwarder's company name
                    lastName:
                      type: string
                      description: Freight Forwarder's last name
                    firstName:
                      type: string
                      description: Freight Forwarder's first name
                    iata:
                      type: string
                      description: Freight Forwarder's IATA code
                    cass:
                      type: string
                      description: Freight Forwarder's Cass code
                    country:
                      type: string
                      description: Freight Forwarder's country code
                flightUUID:
                  type: string
                  description: Flight UUID selected from search (required for Classic Booking)
                rateId:
                  type: string
                  description: Rate ID selected from search (required for Classic Booking)
                itinerary:
                  type: object
                  description: Flight information to perform search/flight selection before booking (required
                    for Direct Booking)
                  required:
                  - origin
                  - destination
                  - departureDates
                  properties:
                    origin:
                      type: string
                      description: Origin airport code
                    destination:
                      type: string
                      description: Destination airport code
                    airlineCode:
                      type: string
                      description: AirlineCode for results filtering
                    departureDates:
                      type: array
                      description: List of wanted departure dates
                      items:
                        type: string
                    flightNumbers:
                      type: string
                      description: List of wanted flight numbers
                    allotmentCode:
                      type: string
                      description: Identifier of your allotment in the airline's system (can be used in
                        Direct booking) (to be deprecated — put "allotmentCode" at the root level)
                shipment:
                  type: object
                  description: Shipment details (required for Direct Booking)
                  required:
                  - pieces
                  - weight
                  - volume
                  properties:
                    pieces:
                      type: integer
                      description: Total number of pieces of your shipment
                      format: int32
                    weight:
                      type: number
                      description: Total gross weight of your shipment (kg)
                      format: float
                    volume:
                      type: number
                      description: Total volume of your shipment (cbm)
                      format: float
                    dimensions:
                      type: array
                      description: Detailed description of the piece groups of your shipment (fake dimensions
                        are calculated if not provided)
                      items:
                        properties:
                          pieces:
                            type: integer
                            description: number of piece of the piece group
                            default: 1
                            format: int32
                          length:
                            type: number
                            description: indicates length of piece group (cm)
                            default: 100
                            format: float
                          width:
                            type: number
                            description: indicates width of piece group (cm)
                            default: 100
                            format: float
                          height:
                            type: number
                            description: indicates height of piece group (cm)
                            default: 100
                            format: float
                          weight:
                            type: number
                            description: indicates piece group weight (per piece or total, based on weightType
                              field value) (kg)
                            default: 200
                            format: float
                          loadType:
                            type: string
                            description: indicates if the shipment information are totals only or with
                              dimensions breakdown
                            default: DIMENSIONS
                            enum:
                            - DIMENSIONS
                            - TOTAL
                            - BUP
                          weightType:
                            type: string
                            description: indicates if piece group weight is total or per piece
                            default: PER_ITEM
                            enum:
                            - PER_ITEM
                            - TOTAL
                          stackable:
                            type: boolean
                            description: indicates if shipment can be stack during loading in aircraft.
                              when no dimensions are provided, will be set true to maximize search results
                            default: true
                          tiltable:
                            type: boolean
                            description: indicates if shipment is turnable during loading in aircraft
                            default: false
                          toploadable:
                            type: boolean
                            description: indicates if shipment can be loaded on top during loading in
                              aircraft
                            default: false
                          volume:
                            type: number
                            description: volume of the piece group
                            format: float
                          uldType:
                            type: string
                            description: ULD type of the piece group (can be used in Direct booking) (required
                              if the SHC/the LoadType is "BUP")
                            enum:
                            - '"AKE"'
                            - '"LDP"'
                            - '"MDP"'
                        required:
                        - pieces
                        - length
                        - width
                        - height
                        - weight
                        - loadType
                        - weightType
                        type: object
                    chargeableWeight:
                      type: number
                      description: Total chargeable weight of your shipment (calculated if not provided)
                        (kg)
                      default: 200
                      format: float
                    measurementUnit:
                      type: string
                      description: Measurement Unit ("METRIC" or "IMPERIAL")
                      default: METRIC
                    product:
                      type: string
                      description: Product name
                      default: GCR
                    globalHS:
                      type: array
                      description: Global Harmonized System Codes
                      items:
                        type: string
                    europeanHS:
                      type: array
                      description: European Harmonized System Codes
                      items:
                        type: string
                    scrs:
                      type: array
                      description: Special Commodity Rate Codes
                      items:
                        type: string
                    specialHandlingCodes:
                      type: array
                      description: Special handling codes three letter codes to provide additionnal details
                        about shipment handling
                      items:
                        type: string
                awb:
                  type: string
                  description: Air waybill prefix and number (required if "awbOptional" of associated
                    flight is false)
                comment:
                  type: string
                  description: Remark about your booking or additional details about handling
                handlingCodes:
                  type: array
                  description: List of special handling codes for your booking
                  items:
                    type: string
                id:
                  type: string
                  description: Direct Booking Request Id to add to params before repeating request to
                    get updated results
                allotmentCode:
                  type: string
                  description: Identifier of your allotment in the airline's system (can be used in Direct
                    booking)
            examples:
              Classic Booking Request:
                value:
                  flightUUID: cea884fc-a000-11ee-9471-a61fc42e35dd
                  rateId: cea8847d-a000-11ee-9471-a61fc42e35dd
                  awb: ''
                  comment: ''
                  handlingCodes:
                  - GCR
                  user:
                    email: test@test.com
                    companyName: Test Forwarding
                    lastName: test
                    firstName: tests
                    iata: '0000000'
                    cass: '0000'
                    country: FR
              Direct Booking Request:
                value:
                  awb: ''
                  comment: This a test
                  itinerary:
                    allotmentCode: test123
                    origin: SIN
                    destination: CRK
                    airlineCode: '00'
                    departureDates:
                    - '2024-07-22'
                    - '2024-07-22'
                    flightNumbers:
                    - 00379
                    - '00737'
                  shipment:
                    pieces: 1
                    weight: 100
                    dimensions:
                    - loadType: DIMENSIONS
                      pieces: 1
                      length: 100
                      toploadable: true
                      weightType: PER_ITEM
                      height: 100
                      width: 100
                      weight: 100
                      stackable: true
                      tiltable: false
                    chargeableWeight: 167
                    volume: 1
                    product: GCR
                  user:
                    email: tests@test.com
                    companyName: Test S.A.R.L
                    lastName: test
                    firstName: test
                    iata: '0000000'
                    cass: '0000'
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Booking Confirmed:
                  value: "{\n    \"flightUUID\": \"cea884fc-a000-11ee-9471-a61fc42e35dd\",\n    \"bookingStatus\"\
                    : \"PENDING_DELIVERY\",\n    \"awb\": \"000-00042652\",\n    \"handlingCodes\": [\n\
                    \        \"GCR\"\n    ]\n}"
              schema:
                type: object
                properties:
                  flightUUID:
                    type: string
                    example: cea884fc-a000-11ee-9471-a61fc42e35dd
                  bookingStatus:
                    type: string
                    example: PENDING_DELIVERY
                  awb:
                    type: string
                    example: 000-00042652
                  handlingCodes:
                    type: array
                    items:
                      type: string
                      example: GCR
        '202':
          description: '202'
          content:
            application/json:
              examples:
                Booking Requested:
                  value: "{\n    \"flightUUID\": \"4ce820fa-377b-11ef-a31f-c65344bbd18e\",\n    \"bookingStatus\"\
                    : \"PENDING_AIRLINE_INFORMATION\",\n    \"description\": \"Booking has been processed\"\
                    ,\n    \"trackingURL\": \"https://api.dev.cargoai.co/solutions/track?flight-uuid=4ce820fa-377b-11ef-a31f-c65344bbd18e\"\
                    \n}"
                Direct Booking Accepted:
                  value: "{  \n    \"id\": \"98de060a-cab1-48bc-9ce9-368edd528421\",  \n    \"bookingStatus\"\
                    : \"DIRECT_BOOKING_PROCESSING\",  \n    \"description\": \"Booking has been processed\"\
                    \  \n}"
              schema:
                oneOf:
                - title: Booking Requested
                  type: object
                  properties:
                    flightUUID:
                      type: string
                      example: 4ce820fa-377b-11ef-a31f-c65344bbd18e
                    bookingStatus:
                      type: string
                      example: PENDING_AIRLINE_INFORMATION
                    description:
                      type: string
                      example: Booking has been processed
                    trackingURL:
                      type: string
                      example: https://api.dev.cargoai.co/solutions/track?flight-uuid=4ce820fa-377b-11ef-a31f-c65344bbd18e
                - title: Direct Booking Accepted
                  type: object
                  properties:
                    id:
                      type: string
                      example: 98de060a-cab1-48bc-9ce9-368edd528421
                    bookingStatus:
                      type: string
                      example: DIRECT_BOOKING_PROCESSING
                    description:
                      type: string
                      example: Booking has been processed
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Not Bookable Option:
                  value: "{\n\t\"flightUIID\": \"cea884fc-a000-11ee-9471-a61fc42e35dd\",\n\t\"bookingStatus\"\
                    : \"FAILED\",\n\t\"error\": \"This flight cannot be booked\",\n\t\"description\":\
                    \ \"Failure due to validation request\"\n}"
                Empty AWB Stock:
                  value: "{\n\t\"flightUIID\": \"cea884fc-a000-11ee-9471-a61fc42e35dd\",\n\t\"awb\": \"\
                    \",\n\t\"bookingStatus\": \"FAILED\",\n\t\"error\": \"GetAWBFailed\",\n\t\"description\"\
                    : \"GetAWBFailed\"\n}"
                AWB Not Found in Agent Stock:
                  value: "{\n\t\"flightUIID\": \"cea884fc-a000-11ee-9471-a61fc42e35dd\",\n\t\"awb\": \"\
                    000-00042652\",\n\t\"bookingStatus\": \"FAILED\",\n\t\"error\": \"AgentStockFailed\"\
                    ,\n\t\"description\": \"AgentStockFailed\"\n}"
                AWB Already Used:
                  value: "{\n\t\"flightUIID\": \"cea884fc-a000-11ee-9471-a61fc42e35dd\",\n\t\"awb\": \"\
                    000-00042652\",\n\t\"bookingStatus\": \"FAILED\",\n\t\"error\": \"CheckAWBFailed\"\
                    ,\n\t\"description\": \"CheckAWBFailed\"\n}"
                Booking Rejected:
                  value: "{\n\t\"bookingStatus\": \"BOOKING_REJECTED\",\n\t\"awb\": \"000\",\n\t\"error\"\
                    : \"Selected flight is closed for booking. Please select later flight or contact local\
                    \ GSA for further assistance.\",\n\t\"rejectedReason\": \"Selected flight is closed\
                    \ for booking. Please select later flight or contact local GSA for further assistance.\"\
                    \n}"
                Direct Booking - Cannot match flight information:
                  value: "{\n\t\"bookingStatus\": \"FAILED\",\n\t\"flights\": [\n\t\t{\n\t\t\t\"flightUUID\"\
                    : \"21766f49-7d16-11ee-a951-da24e936af38\",\n\t\t\t\"airlineCode\": \"00\",\n\t\t\t\
                    \"flightNumber\": \"00373-00737\",\n\t\t\t\"arrivalTime\": \"2023-11-09T09:00:00+01:00\"\
                    ,\n\t\t\t\"arrivalAirport\": \"CDG\",\n\t\t\t\"departureTime\": \"2023-11-08T07:00:00+08:00\"\
                    ,\n\t\t\t\"departureAirport\": \"SIN\",\n\t\t\t\"latestAcceptanceTime\": \"2023-11-08T02:00:00+08:00\"\
                    ,\n\t\t\t\"timeOfAvailability\": \"2023-11-09T14:00:00+01:00\",\n\t\t\t\"stops\":\
                    \ 1,\n\t\t\t\"legs\": [\n\t\t\t\t{\n\t\t\t\t\t\"flightNumber\": \"00373\",\n\t\t\t\
                    \t\t\"arrivalTime\": \"2023-11-08T14:00:00+03:00\",\n\t\t\t\t\t\"arrivalAirport\"\
                    : \"DOH\",\n\t\t\t\t\t\"departureTime\": \"2023-11-08T07:00:00+08:00\",\n\t\t\t\t\t\
                    \"departureAirport\": \"SIN\",\n\t\t\t\t\t\"bodyType\": \"Widebody\",\n\t\t\t\t\t\"\
                    aircraftCode\": \"D11\",\n\t\t\t\t\t\"co2\": {\n\t\t\t\t\t\t\"value\": 513.7416322454818,\n\
                    \t\t\t\t\t\t\"estimation\": false\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"\
                    flightNumber\": \"00737\",\n\t\t\t\t\t\"arrivalTime\": \"2023-11-09T09:00:00+01:00\"\
                    ,\n\t\t\t\t\t\"arrivalAirport\": \"CDG\",\n\t\t\t\t\t\"departureTime\": \"2023-11-08T21:00:00+03:00\"\
                    ,\n\t\t\t\t\t\"departureAirport\": \"DOH\",\n\t\t\t\t\t\"bodyType\": \"Widebody\"\
                    ,\n\t\t\t\t\t\"aircraftCode\": \"343\",\n\t\t\t\t\t\"co2\": {\n\t\t\t\t\t\t\"value\"\
                    : 111.9198060357004,\n\t\t\t\t\t\t\"estimation\": false\n\t\t\t\t\t}\n\t\t\t\t}\n\t\
                    \t\t],\n\t\t\t\"features\": {\n\t\t\t\t\"bookable\": true,\n\t\t\t\t\"awbOptional\"\
                    : true\n\t\t\t},\n\t\t\t\"rates\": [\n\t\t\t\t{\n\t\t\t\t\t\"id\": \"21766f0e-7d16-11ee-a951-da24e936af38\"\
                    ,\n\t\t\t\t\t\"name\": \"\",\n\t\t\t\t\t\"type\": \"live\",\n\t\t\t\t\t\"currency\"\
                    : \"SGD\",\n\t\t\t\t\t\"netRate\": 8.8,\n\t\t\t\t\t\"allInRate\": 9.08,\n\t\t\t\t\t\
                    \"total\": 1506.31,\n\t\t\t\t\t\"minimumRate\": false,\n\t\t\t\t\t\"lastUpdatedDate\"\
                    : \"\",\n\t\t\t\t\t\"charges\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"label\": \"Fuel\
                    \ surcharge\",\n\t\t\t\t\t\t\t\"rate\": 0.13,\n\t\t\t\t\t\t\t\"type\": \"CHARGEABLE_WEIGHT\"\
                    ,\n\t\t\t\t\t\t\t\"code\": \"fsc\",\n\t\t\t\t\t\t\t\"minAmount\": 0,\n\t\t\t\t\t\t\
                    \t\"maxAmount\": 0\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"label\": \"Security\
                    \ surcharge\",\n\t\t\t\t\t\t\t\"rate\": 0.15,\n\t\t\t\t\t\t\t\"type\": \"GROSS_WEIGHT\"\
                    ,\n\t\t\t\t\t\t\t\"code\": \"ssc\",\n\t\t\t\t\t\t\t\"minAmount\": 0,\n\t\t\t\t\t\t\
                    \t\"maxAmount\": 0\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"ocdc\": [],\n\t\t\t\t\
                    \t\"handlingCodes\": [\n\t\t\t\t\t\t\"GCR\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\
                    \t\t\t\t\"id\": \"21766f2b-7d16-11ee-a951-da24e936af38\",\n\t\t\t\t\t\"name\": \"\"\
                    ,\n\t\t\t\t\t\"type\": \"express\",\n\t\t\t\t\t\"currency\": \"SGD\",\n\t\t\t\t\t\"\
                    netRate\": 9.24,\n\t\t\t\t\t\"allInRate\": 9.55,\n\t\t\t\t\t\"total\": 1583.46,\n\t\
                    \t\t\t\t\"minimumRate\": false,\n\t\t\t\t\t\"lastUpdatedDate\": \"\",\n\t\t\t\t\t\"\
                    charges\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"label\": \"Fuel surcharge\",\n\t\t\t\t\
                    \t\t\t\"rate\": 0.14,\n\t\t\t\t\t\t\t\"type\": \"CHARGEABLE_WEIGHT\",\n\t\t\t\t\t\t\
                    \t\"code\": \"fsc\",\n\t\t\t\t\t\t\t\"minAmount\": 0,\n\t\t\t\t\t\t\t\"maxAmount\"\
                    : 0\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"label\": \"Security surcharge\"\
                    ,\n\t\t\t\t\t\t\t\"rate\": 0.17,\n\t\t\t\t\t\t\t\"type\": \"GROSS_WEIGHT\",\n\t\t\t\
                    \t\t\t\t\"code\": \"ssc\",\n\t\t\t\t\t\t\t\"minAmount\": 0,\n\t\t\t\t\t\t\t\"maxAmount\"\
                    : 0\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"ocdc\": [],\n\t\t\t\t\t\"handlingCodes\"\
                    : [\n\t\t\t\t\t\t\"GCR\"\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"available\": true,\n\
                    \t\t\t\"awbPrefix\": \"000\",\n\t\t\t\"awbPrefixes\": [\n\t\t\t\t\"000\"\n\t\t\t],\n\
                    \t\t\t\"airlineConditions\": \"\\n\\t1- Offer subject to capacity when booking.\\\
                    n\\t2- Quotation reference to be imperatively \",\n\t\t\t\"handlingInfoLink\": \"\
                    https://www.cargoai.co/terms\",\n\t\t\t\"ghaName\": \"Mocked GHA\",\n\t\t\t\"ghaAddress\"\
                    : \"Airport road, Cargo Terminal, Mocked Cargo building\"\n\t\t}\n\t],\n\t\"error\"\
                    : \"Cannot match flight details\",\n\t\"description\": \"Select flight to perform\
                    \ booking\",\n\t\"resultsURL\": \"https://app.dev.cargoai.co/forwarder/search/search-result?uuid=d61c264f-sd3-503-930a-25997a465b8b&auth=eyJlbWFpZWQwbWRmeGkifQ==\"\
                    \n}"
                Booking already exists:
                  value: "{\n    \"bookingStatus\": \"FAILED\",\n    \"error\": \"FlightUUID and Rateld\
                    \ are already used\",\n    \"description\": \"Booking already exists\"\n}"
                AWB mandatory:
                  value: "{\n   \"flightUUID\": \"\",\n   \"bookingStatus\": \"FAILED\",\n   \"awb\":\
                    \ \"000\",\n   \"error\": \"Invalid AWB\",\n   \"rejectedReason\": \"Invalid AWB\"\
                    \n}\n\n"
              schema:
                oneOf:
                - title: Not Bookable Option
                  type: object
                  properties:
                    flightUIID:
                      type: string
                      example: cea884fc-a000-11ee-9471-a61fc42e35dd
                    bookingStatus:
                      type: string
                      example: FAILED
                    error:
                      type: string
                      example: This flight cannot be booked
                    description:
                      type: string
                      example: Failure due to validation request
                - title: Empty AWB Stock
                  type: object
                  properties:
                    flightUIID:
                      type: string
                      example: cea884fc-a000-11ee-9471-a61fc42e35dd
                    awb:
                      type: string
                      example: ''
                    bookingStatus:
                      type: string
                      example: FAILED
                    error:
                      type: string
                      example: GetAWBFailed
                    description:
                      type: string
                      example: GetAWBFailed
                - title: AWB Not Found in Agent Stock
                  type: object
                  properties:
                    flightUIID:
                      type: string
                      example: cea884fc-a000-11ee-9471-a61fc42e35dd
                    awb:
                      type: string
                      example: 000-00042652
                    bookingStatus:
                      type: string
                      example: FAILED
                    error:
                      type: string
                      example: AgentStockFailed
                    description:
                      type: string
                      example: AgentStockFailed
                - title: AWB Already Used
                  type: object
                  properties:
                    flightUIID:
                      type: string
                      example: cea884fc-a000-11ee-9471-a61fc42e35dd
                    awb:
                      type: string
                      example: 000-00042652
                    bookingStatus:
                      type: string
                      example: FAILED
                    error:
                      type: string
                      example: CheckAWBFailed
                    description:
                      type: string
                      example: CheckAWBFailed
                - title: Booking Rejected
                  type: object
                  properties:
                    bookingStatus:
                      type: string
                      example: BOOKING_REJECTED
                    awb:
                      type: string
                      example: '000'
                    error:
                      type: string
                      example: Selected flight is closed for booking. Please select later flight or contact
                        local GSA for further assistance.
                    rejectedReason:
                      type: string
                      example: Selected flight is closed for booking. Please select later flight or contact
                        local GSA for further assistance.
                - title: Direct Booking - Cannot match flight information
                  type: object
                  properties:
                    bookingStatus:
                      type: string
                      example: FAILED
                    flights:
                      type: array
                      items:
                        type: object
                        properties:
                          flightUUID:
                            type: string
                            example: 21766f49-7d16-11ee-a951-da24e936af38
                          airlineCode:
                            type: string
                            example: '00'
                          flightNumber:
                            type: string
                            example: 00373-00737
                          arrivalTime:
                            type: string
                            example: '2023-11-09T09:00:00+01:00'
                          arrivalAirport:
                            type: string
                            example: CDG
                          departureTime:
                            type: string
                            example: '2023-11-08T07:00:00+08:00'
                          departureAirport:
                            type: string
                            example: SIN
                          latestAcceptanceTime:
                            type: string
                            example: '2023-11-08T02:00:00+08:00'
                          timeOfAvailability:
                            type: string
                            example: '2023-11-09T14:00:00+01:00'
                          stops:
                            type: integer
                            example: 1
                            default: 0
                          legs:
                            type: array
                            items:
                              type: object
                              properties:
                                flightNumber:
                                  type: string
                                  example: '00373'
                                arrivalTime:
                                  type: string
                                  example: '2023-11-08T14:00:00+03:00'
                                arrivalAirport:
                                  type: string
                                  example: DOH
                                departureTime:
                                  type: string
                                  example: '2023-11-08T07:00:00+08:00'
                                departureAirport:
                                  type: string
                                  example: SIN
                                bodyType:
                                  type: string
                                  example: Widebody
                                aircraftCode:
                                  type: string
                                  example: D11
                                co2:
                                  type: object
                                  properties:
                                    value:
                                      type: number
                                      example: 513.7416322454818
                                      default: 0
                                    estimation:
                                      type: boolean
                                      example: false
                                      default: true
                          features:
                            type: object
                            properties:
                              bookable:
                                type: boolean
                                example: true
                                default: true
                              awbOptional:
                                type: boolean
                                example: true
                                default: true
                          rates:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  example: 21766f0e-7d16-11ee-a951-da24e936af38
                                name:
                                  type: string
                                  example: ''
                                type:
                                  type: string
                                  example: live
                                currency:
                                  type: string
                   

# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cargoai/refs/heads/main/openapi/cargoai-booking-api-openapi.yml