Flight Bookings

Sell selected services on a ticketed booking

Overview

Sells the selection batchId on the ticketed reservation and settles its payment. Runs synchronously.

Outcomes

  • 200 sold / partially_sold - the payment is captured (credit line billed) for what was sold; the unsold part is released. booking.pricing and booking.ticketedServices include the sale.
  • 202 requested - the provider did not answer: the sale may have happened. The payment stays authorized until the reservation confirms or drops the services (webhook or a later GET /flights/bookings/{bookingId}). Do not select the services again.
  • 409 44115 - a service is no longer offered at the price shown: nothing was sold, the payment was released. Select again.
  • 502 54105 - the airline rejected the services: nothing was sold, the payment was released.

Retrying

The call is idempotent on batchId: a retry returns the first result (X-Idempotent-Replayed: true) and never sells or charges twice.

Partner events

flight.book.services_sold / flight.book.services_failed fire once per sale.

Access

Same as POST /flights/bookings/{bookingId}/services: account option, or system admin / operations on any account's booking.

post/flights/bookings/{bookingId}/services/confirm

Request

  • Base URL
    https://api.liteapi.travel/v3.0
  • URL
    https://api.liteapi.travel/v3.0/flights/bookings/{bookingId}/services/confirm
  • Auth
    API key in header X-API-Key

Path parameters

bookingIdstring uuid required

Flight booking identifier

Request body

batchIdstring required

batchId returned by POST /flights/bookings/{bookingId}/services

Response

Services sold (or the earlier result replayed)

Example response

{
  "data": {
    "booking": {
      "customTags": {
        "SOURCE": "EXAMPLE",
        "TIER": "GOLD"
      },
      "status": "CONFIRMED",
      "journey": {
        "segments": [
          {
            "stops": [
              {
                "airportCode": "GIG",
                "airportName": "Rio Galeão – Tom Jobim International Airport",
                "arrivalTime": "2026-10-17T18:35:00",
                "departureTime": "2026-10-17T19:25:00",
                "duration": {
                  "iso8601": "PT50M",
                  "minutes": 50
                }
              }
            ]
          }
        ],
        "baggage": {
          "included": [
            {
              "bagType": "cabin",
              "description": "1 cabin bag up to 8 kg",
              "passengerType": "ADT",
              "pieces": 1,
              "size": "55x40x20",
              "unit": "kg",
              "weightKg": 8
            }
          ],
          "paid": [
            {
              "bagType": "cabin",
              "description": "1 cabin bag up to 8 kg",
              "passengerType": "ADT",
              "pieces": 1,
              "size": "55x40x20",
              "unit": "kg",
              "weightKg": 8
            }
          ]
        },
        "terms": {
          "summary": [
            {
              "level": "warning",
              "message": "Changes allowed with fee"
            }
          ]
        },
        "cabinClass": "ECONOMY"
      },
      "ticketedServices": [
        {
          "services": [
            {
              "serviceId": "g6Rwc2lk2SQwMTlkMDY3NC1hMzQzLTc0OGEtYmYyYS1jMDk4ZmNjMTk2ZGGhcMtAfB6PXCj1w6Fjo1VTRA==",
              "quantity": 1
            }
          ],
          "soldServices": [
            {
              "serviceId": "g6Rwc2lk2SQwMTlkMDY3NC1hMzQzLTc0OGEtYmYyYS1jMDk4ZmNjMTk2ZGGhcMtAfB6PXCj1w6Fjo1VTRA==",
              "quantity": 1
            }
          ]
        }
      ]
    },
    "sale": {
      "services": [
        {
          "serviceId": "g6Rwc2lk2SQwMTlkMDY3NC1hMzQzLTc0OGEtYmYyYS1jMDk4ZmNjMTk2ZGGhcMtAfB6PXCj1w6Fjo1VTRA==",
          "quantity": 1
        }
      ],
      "soldServices": [
        {
          "serviceId": "g6Rwc2lk2SQwMTlkMDY3NC1hMzQzLTc0OGEtYmYyYS1jMDk4ZmNjMTk2ZGGhcMtAfB6PXCj1w6Fjo1VTRA==",
          "quantity": 1
        }
      ]
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.