---
title: "Initiate booking"
method: POST
path: "/v2/air/initiate-booking"
tags: ["Air"]
---

# Initiate booking

`POST /v2/air/initiate-booking`

Initiates a new air booking for the trip. 
The `identityDocs` field supports the following traveler identity documents: 
Passport, National ID, Known Traveler Number (KTN), redress number, and immigration documents. 
The traveler can choose one among the list of identity documents available and provide its information during checkout.

## Request body

- AirInitiateBookingRequest — Travel, Traveler and Payment source details to initiate a booking
  - `initiateBookingWorkflowIds` InitiateBookingWorkflowIds — The set of unique response ids associated with initiate booking workflow.
    - `checkoutResponseId` string — ID sent by the backend in the air checkout response.
    - `seatMapResponseId` string — ID sent by the backend in the air seat map response.
  - `travelers` AirBookTravelerInfo[]
    - `travelerDetails` TravelerBookingInfo, required
      - `travelerId` UserId — User identifier
        - `id` string, uuid, required
      - `travelerInfo` union — The traveler identifiers. These can be either the Spotnana user IDs of the travelers or information regarding the adhoc travelers.
        - object — Wrapper over UserId object to be used as an identifier in a oneOf case
          - `userId` UserId — User identifier
            - `id` string, uuid, required
        - object — Wrapper over AdhocTravelerInfo object to be used as an identifier in a oneOf case.
          - `adhocTravelerInfo` AdhocTravelerInfo — Describes an adhoc traveler.
            - `registrarUserId` UserId — User identifier
              - …
            - `externalId` string — External Id of user
      - `travelerType` 'UNKNOWN_PASSENGER_TYPE' | 'ADULT' | 'CHILD' | 'INFANT' | 'INFANT_ON_LAP' | 'YOUTH' | 'SENIOR' | 'TEEN' — Type of passenger
      - `title` 'TITLE_UNKNOWN' | 'MR' | 'MS' | 'MRS' | 'MX' | 'MASTER' | 'MISS' | 'DR' | 'PROFESSOR' | 'CAPTAIN' | 'REVEREND' | 'HONOURABLE' | 'SIR' | 'LADY' | 'AMBASSADOR' | 'LORD' | 'BRIGADIER' | 'SENATOR' | 'DAME' | 'JUSTICE' | 'UK' | 'TITLE_REDACTED'
      - `name` Name — Full name containing first, middle, last (family) names, and suffix.
        - `family1` string, required — Last (family) name.
        - `family2` string
        - `given` string, required — First (given) name.
        - `middle` string — Middle name.
        - `suffix` 'NAME_SUFFIX_UNKNOWN' | 'SR' | 'JR' | 'MD' | 'PHD' | 'II' | 'III' | 'IV' | 'DO' | 'ATTY' | 'V' | 'VI' | 'ESQ' | 'DC' | 'DDS' | 'VM' | 'JD' | 'SECOND' | 'THIRD' — Suffix for name
        - `preferred` string — Informal preferred name added by traveler. This is not used on any PNR or tickets
      - `gender` 'MALE' | 'FEMALE' | 'UNSPECIFIED' | 'UNDISCLOSED' | 'GENDER_REDACTED'
      - `dob` DateModel — Date in ISO 8601 standard.
        - `iso8601` string, required
      - `phoneNumber` PhoneNumber — Properly formatted phone number.
        - `countryCode` integer — two digit country code
        - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
        - `extension` string — phone number extension
        - `isoCountryCode` string — ISO alpha-2 code
        - `italianLeadingZero` boolean
        - `nationalNumber` integer
        - `numberOfLeadingZeros` integer
        - `preferredDomesticCarrierCode` string
        - `rawInput` string
        - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
      - `email` string, email
      - `identityDocs` IdentityDocument[]
        - union — Identity document details. Currently supported documents are passport, immigration document, known traveler number, redress number and national document.
          - object
            - `passport` Passport — Passport details.
              - …
          - object
            - `immigrationDoc` ImmigrationDocument — Immigration document details.
              - …
          - object
            - `redress` RedressNumber — Redress details
              - …
          - object
            - `ktn` KnownTravelerNumber — Information about the Known Traveler Number (KTN).
              - …
          - object
            - `nationalDoc` NationalDoc — National Document Id details.
              - …
      - `address` PostalAddress — Postal Address Details
        - `addressLines` string[], required — Address lines
        - `administrativeArea` string — Code of administrative area. For example: DL for Delhi, India. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.
        - `administrativeAreaName` string — Name of administrative area. This is full name corresponding to administrativeArea. Like Delhi for DL area code. For some places, code and name maybe same as well like Tokyo.
        - `description` string — Address description
        - `isDefault` boolean — Whether this address is default address in case multiple addresses are specified.
        - `languageCode` string — BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. Examples: "zh-Hant", "ja", "ja-Latn", "en".
        - `locality` string — Generally refers to the city/town portion of the address.
        - `locationCode` string — IATA 3-letter location code. See https://www.iata.org/en/services/codes.
        - `organization` string — The name of the organization at the address.
        - `postalCode` string — Postal code of the address. This is a required field when setting for a user/legal entity/company etc.
        - `continentCode` string — 2 letter continent code of the continent this address falls in.
        - `recipients` string[] — The recipient at the address.
        - `regionCode` string, required — Region code of the country/region of the address.
        - `regionName` string — Region name of the country/region of the address.
        - `revision` integer
        - `sortingCode` string — Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
        - `sublocality` string — Sublocality of the address. This can be neighborhoods, boroughs, districts.
        - `timezone` string — Time zone of the address.
        - `coordinates` Latlng — Latitude and Longitude for a Location
          - `latitude` number, double, required — Latitude of the Location
          - `longitude` number, double, required — Longitude of the Location
      - `emergencyContactInfo` EmergencyContactInfo — Emergency contact information.
        - `address` PostalAddress — Postal Address Details
          - `addressLines` string[], required — Address lines
          - `administrativeArea` string — Code of administrative area. For example: DL for Delhi, India. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.
          - `administrativeAreaName` string — Name of administrative area. This is full name corresponding to administrativeArea. Like Delhi for DL area code. For some places, code and name maybe same as well like Tokyo.
          - `description` string — Address description
          - `isDefault` boolean — Whether this address is default address in case multiple addresses are specified.
          - `languageCode` string — BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. Examples: "zh-Hant", "ja", "ja-Latn", "en".
          - `locality` string — Generally refers to the city/town portion of the address.
          - `locationCode` string — IATA 3-letter location code. See https://www.iata.org/en/services/codes.
          - `organization` string — The name of the organization at the address.
          - `postalCode` string — Postal code of the address. This is a required field when setting for a user/legal entity/company etc.
          - `continentCode` string — 2 letter continent code of the continent this address falls in.
          - `recipients` string[] — The recipient at the address.
          - `regionCode` string, required — Region code of the country/region of the address.
          - `regionName` string — Region name of the country/region of the address.
          - `revision` integer
          - `sortingCode` string — Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
          - `sublocality` string — Sublocality of the address. This can be neighborhoods, boroughs, districts.
          - `timezone` string — Time zone of the address.
          - `coordinates` Latlng — Latitude and Longitude for a Location
            - `latitude` number, double, required — Latitude of the Location
            - `longitude` number, double, required — Longitude of the Location
        - `designation` string
        - `email` string, email, required
        - `name` Name — Full name containing first, middle, last (family) names, and suffix.
          - `family1` string, required — Last (family) name.
          - `family2` string
          - `given` string, required — First (given) name.
          - `middle` string — Middle name.
          - `suffix` 'NAME_SUFFIX_UNKNOWN' | 'SR' | 'JR' | 'MD' | 'PHD' | 'II' | 'III' | 'IV' | 'DO' | 'ATTY' | 'V' | 'VI' | 'ESQ' | 'DC' | 'DDS' | 'VM' | 'JD' | 'SECOND' | 'THIRD' — Suffix for name
          - `preferred` string — Informal preferred name added by traveler. This is not used on any PNR or tickets
        - `phoneNumber` PhoneNumber — Properly formatted phone number.
          - `countryCode` integer — two digit country code
          - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
          - `extension` string — phone number extension
          - `isoCountryCode` string — ISO alpha-2 code
          - `italianLeadingZero` boolean
          - `nationalNumber` integer
          - `numberOfLeadingZeros` integer
          - `preferredDomesticCarrierCode` string
          - `rawInput` string
          - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
        - `userOrgId` UserOrgId — User and user's organization information.
          - `organizationAgencyId` OrganizationAgencyId — Agency id for the organization.
            - `id` string, required
          - `organizationId` OrganizationId, required — Organization id for traveler.
            - `id` string, required
          - `userId` UserId, required — User identifier
            - `id` string, uuid, required
          - `tmcInfo` TmcInfo — TMC config information.
            - `id` CompanyId, required — Company ID
              - …
            - `primaryServiceProviderTmc` PrimaryServiceProviderTmc, required — Primary service provider TMC info
              - …
            - `secondaryServiceProviderTmcs` SecondaryServiceProviderTmc[] — Secondary service provider TMCs for the TMC.
              - …
            - `partnerTmcId` CompanyId — Company ID
              - …
          - `tmcBasicInfo` TmcBasicInfo — TMC related basic information.
            - `contractingTmc` CompanyRef, required — Basic information about a company.
              - …
            - `bookingTmc` CompanyRef, required — Basic information about a company.
              - …
      - `loyaltyInfos` LoyaltyInfo[]
        - `appliedTo` string[]
        - `id` string, required
        - `issuedBy` string, required
        - `type` 'UNKNOWN_TYPE' | 'AIR' | 'HOTEL' | 'CAR' | 'RAIL', required
        - `linked` boolean — Indicates if this loyalty account is linked to the external provider. Only applicable for certain loyalty types.
        - `tier` string — Loyalty membership tier name echoed from the supplier.
      - `emergencyContact` EmergencyContact — Emergency contact information.
        - `name` string, required — Full name of contact.
        - `email` string, email — Email address of contact.
        - `designation` string — Job title of contact.
        - `relation` 'RELATION_UNKNOWN' | 'SPOUSE' | 'PARENT' | 'SIBLING' | 'CHILD' | 'FRIEND' | 'RELATIVE' | 'COLLEAGUE' | 'OTHER' — Relation of contact to user.
        - `phoneNumbers` PhoneNumber[], required — Phone numbers of contact.
          - `countryCode` integer — two digit country code
          - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
          - `extension` string — phone number extension
          - `isoCountryCode` string — ISO alpha-2 code
          - `italianLeadingZero` boolean
          - `nationalNumber` integer
          - `numberOfLeadingZeros` integer
          - `preferredDomesticCarrierCode` string
          - `rawInput` string
          - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
        - `preferredLanguage` string — Language preferred by user.
    - `seats` SelectedSeat[], required
      - `flightId` string, required — The ID of the flight associated with this baggage.
      - `seatNumbers` string[], required — The seat numbers selected for the associated flight.
    - `baggages` SelectedBaggage[], required
      - `legId` string, required — The ID of the leg associated with this baggage.
      - `baggageIds` string[], required — The IDs of the selected baggage options from the flight checkout API response.
    - `ancillaries` SelectedAncillary[] — The ancillary options selected during checkout.
      - `ancillaryId` string, required — The ID of the selected ancillary option.
    - `shareContactInfo` boolean — Flag to support IATA regulation 830d that requires user's consent to share email and phone with airline. If set to true, airlines will have access to traveler's email and phone to directly communicate events like operational disruption.
    - `specialServiceRequests` SpecialServiceRequestInfo[] — List of all Special Service Requests (SSR) for the traveler.
      - `indexes` SSRIndexes — Indexes for the flight and leg for which the changes are requested.
        - `legIndex` integer, required — Index referencing the flight leg for which the SSR should be added. Should be used in conjunction with the flight Index.
        - `flightIndex` integer, required — Index referencing the flight for which the SSR should be added. Should be used in conjunction with the leg Index.
      - `flightIndex` integer — Index referencing the flight for which the changes are requested.
      - `code` string, required — Unique 4-letter code for the Special Service Request (SSR).
      - `info` string — Free text field for adding additional details about the Special Service Request (SSR).
  - `bookingCharges` BookingCharge[]
    - `amount` FareAmount — Fare amount including base fare and tax.
      - `base` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
        - `amount` number, double, required — The numeric value for the amount of money.
        - `currencyCode` string, required — The 3-letter currency code for the money amount (defined using ISO 4217 standard).
        - `convertedAmount` number, double — The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
        - `convertedCurrency` string — The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
        - `otherCoinage` object[] — List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
          - `coinageCode` 'PAYMENT_METHOD_UNKNOWN' | 'CREDIT_CARD' | 'BREX_POINTS' | 'CASH' | 'QANTAS_POINTS' | 'VENDOR_PROGRAM_PAYMENT' | 'DELAYED_INVOICING' | 'FLIGHT_CREDITS' | 'QANTAS_TRAVEL_FUND' | 'CUSTOM_VIRTUAL_PAYMENT' | 'FLIGHT_PASS' | 'MISCELLANEOUS_CREDIT_ORDER' | 'NO_PREPAYMENT' — Payment method
          - `amount` number, double
          - `conversionRate` number, double — 1 coin in this system equals to how many currency value
          - `preferredCurrencyConversionRate` number, double — 1 coin in this system equals to how many currency value
          - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper — Wrapper for Flight Pass payment metadata.
            - `metadataType` string — Discriminator field for polymorphic deserialization
            - `flightPassMetadata` FlightPassPaymentMetadata, required — Metadata specific to Flight Pass payment method in OtherCoinage.
              - …
      - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
        - `amount` number, double, required — The numeric value for the amount of money.
        - `currencyCode` string, required — The 3-letter currency code for the money amount (defined using ISO 4217 standard).
        - `convertedAmount` number, double — The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
        - `convertedCurrency` string — The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
        - `otherCoinage` object[] — List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
          - `coinageCode` 'PAYMENT_METHOD_UNKNOWN' | 'CREDIT_CARD' | 'BREX_POINTS' | 'CASH' | 'QANTAS_POINTS' | 'VENDOR_PROGRAM_PAYMENT' | 'DELAYED_INVOICING' | 'FLIGHT_CREDITS' | 'QANTAS_TRAVEL_FUND' | 'CUSTOM_VIRTUAL_PAYMENT' | 'FLIGHT_PASS' | 'MISCELLANEOUS_CREDIT_ORDER' | 'NO_PREPAYMENT' — Payment method
          - `amount` number, double
          - `conversionRate` number, double — 1 coin in this system equals to how many currency value
          - `preferredCurrencyConversionRate` number, double — 1 coin in this system equals to how many currency value
          - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper — Wrapper for Flight Pass payment metadata.
            - `metadataType` string — Discriminator field for polymorphic deserialization
            - `flightPassMetadata` FlightPassPaymentMetadata, required — Metadata specific to Flight Pass payment method in OtherCoinage.
              - …
      - `taxBreakdown` Tax[]
        - `amount` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required — The numeric value for the amount of money.
          - `currencyCode` string, required — The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double — The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string — The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[] — List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` 'PAYMENT_METHOD_UNKNOWN' | 'CREDIT_CARD' | 'BREX_POINTS' | 'CASH' | 'QANTAS_POINTS' | 'VENDOR_PROGRAM_PAYMENT' | 'DELAYED_INVOICING' | 'FLIGHT_CREDITS' | 'QANTAS_TRAVEL_FUND' | 'CUSTOM_VIRTUAL_PAYMENT' | 'FLIGHT_PASS' | 'MISCELLANEOUS_CREDIT_ORDER' | 'NO_PREPAYMENT' — Payment method
            - `amount` number, double
            - `conversionRate` number, double — 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double — 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper — Wrapper for Flight Pass payment metadata.
              - …
        - `taxCode` string — Tax code
        - `percentage` number, double — Tax amount to total amount
    - `paymentMethod` SelectedPaymentMethod — Selected payment method for the booking.
      - `selectedPaymentSource` SelectedPaymentSource — Describes the selected payment source for the booking.
        - `paymentSourceId` string, uuid — Unique identifier identifying this payment source.
        - `rawPaymentSource` union — Raw Details of the Payment Source
          - object — Object to pass through dpan payment source details through the api call.
            - `type` string, required — Payment source type. Should be set to DPAN for card details.
            - `cardDetails` CardDetails, required — Card Details
              - …
          - object
            - `type` string, required — Payment source type. Should be set to CREDIT for unused credit details.
            - `pnrOwningPcc` string, required — PCC the PNR was created on.
            - `unusedCreditPcc` string, required — PCC the credit was issued on.
            - `departureCountry` string — 3 letter country code of the departure country associated with the original ticket.
            - `arrivalCountry` string — 3 letter country code of the arrival country associated with the original ticket.
            - `ticketType` 'TICKET_TYPE_UNKNOWN' | 'ETICKET' | 'MCO', required — Type of credit.
            - `departureDate` DateTimeOffset — ISO8601 UTC Date Time
              - …
            - `segmentsAvailable` 'UNKNOWN' | 'ALL_OPEN' | 'PARTIAL' | 'OTHER', required — Whether all segments are unused or some have already been used.
            - `traveler` union, required — The traveler identifiers. These can be either the Spotnana user IDs of the travelers or information regarding the adhoc travelers.
              - …
            - `passengerName` Name, required — Full name containing first, middle, last (family) names, and suffix.
              - …
            - `airlineInfo` AirlineInfo, required
              - …
            - `totalFare` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `issueDate` DateTimeOffset — ISO8601 UTC Date Time
              - …
            - `expiryDate` DateTimeOffset — ISO8601 UTC Date Time
              - …
            - `source` 'UNKNOWN_SOURCE' | 'SABRE' | 'TRAVEL_FUSION' | 'AVIA' | 'NDC' | 'TRAINLINE' | 'ATPCO_NDC' | 'FARELOGIX_NDC' | 'OFFLINE' | 'CONNEXUS' | 'ROUTEHAPPY' | 'AMADEUS' | 'GIATA' | 'QBR' | 'BCD' | 'QANTAS_HOTELS' | 'SOUTHWEST' | 'EXPEDIA' | 'HOTEL_HUB' | 'MARRIOTT' | 'CLEARTRIP' | 'KYTE' | 'GROUNDSPAN' | 'SABRE_NDC' | 'BOOKING_COM' | 'CARTRAWLER' | 'PREMIER_INN' | 'TRAVELODGE' | 'ENTERPRISE' | 'HYATT' | 'EUROSTAR' | 'NATIONAL' | 'ALAMO' | 'AVIS' | 'BUDGET' | 'HERTZ' | 'DOLLAR' | 'THRIFTY' | 'FIREFLY', required
            - `sourcePnr` string, required — PNR number corresponding to third party through which booking was made.
            - `flightIds` string[] — ID of the flights on which this credit applies.
            - `ticketNumber` string, required — Ticket number for the ticket that was converted into an unused credit.
        - `postPaymentRedirectionUrl` string — Url for post payment redirection if payment source navigates user to a third party url
        - `cvv` string — CVV associated with associated payment source, if any.
        - `amount` Money — Money object containing details such as the amount, the currency code, and the converted amount.
          - `amount` number, double, required — The numeric value for the amount of money.
          - `currencyCode` string, required — The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          - `convertedAmount` number, double — The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency).
          - `convertedCurrency` string — The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          - `otherCoinage` object[] — List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
            - `coinageCode` 'PAYMENT_METHOD_UNKNOWN' | 'CREDIT_CARD' | 'BREX_POINTS' | 'CASH' | 'QANTAS_POINTS' | 'VENDOR_PROGRAM_PAYMENT' | 'DELAYED_INVOICING' | 'FLIGHT_CREDITS' | 'QANTAS_TRAVEL_FUND' | 'CUSTOM_VIRTUAL_PAYMENT' | 'FLIGHT_PASS' | 'MISCELLANEOUS_CREDIT_ORDER' | 'NO_PREPAYMENT' — Payment method
            - `amount` number, double
            - `conversionRate` number, double — 1 coin in this system equals to how many currency value
            - `preferredCurrencyConversionRate` number, double — 1 coin in this system equals to how many currency value
            - `otherCoinageMetadata` FlightPassPaymentMetadataWrapper — Wrapper for Flight Pass payment metadata.
              - …
  - `bookingContact` BookingContact
    - `emailAddress` string — Email address of the booking contact
    - `phoneNumber` PhoneNumber — Properly formatted phone number.
      - `countryCode` integer — two digit country code
      - `countryCodeSource` 'UNSPECIFIED' | 'FROM_NUMBER_WITH_PLUS_SIGN' | 'FROM_NUMBER_WITH_IDD' | 'FROM_NUMBER_WITHOUT_PLUS_SIGN' | 'FROM_DEFAULT_COUNTRY'
      - `extension` string — phone number extension
      - `isoCountryCode` string — ISO alpha-2 code
      - `italianLeadingZero` boolean
      - `nationalNumber` integer
      - `numberOfLeadingZeros` integer
      - `preferredDomesticCarrierCode` string
      - `rawInput` string
      - `type` 'UNKNOWN_TYPE' | 'MOBILE' | 'LANDLINE'
  - `useExistingBooking` boolean — Use existing booking if it exists to initiate

## Response `200`

OK

- AirInitiateBookingResponse
  - `initiateBookingResponseId` string — Initiated booking's reference id
  - `paymentSourcePrePaymentInformation` PaymentSourcePrePaymentInformation[]
    - `paymentSourceId` string, uuid — Unique identifier identifying this payment source.
    - `paymentRequestId` string — Payment source initialization request id
    - `additionalInformation` PaymentSourcePrePaymentAdditionalInformation — Payment source specific additional pre-payment information needed to initialize payment provider
      - `loyaltyAccountNumber` string — Loyalty account number in case rewards program is used
      - `loyaltyProgramName` string — Loyalty program name in case rewards program is used
      - `canStoreCreditCard` boolean — Is payment provider allowed to store user's credit card information

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — The specified resource was not found.

---

[API](https://skmtc.net/spotnana/apis/air-api.md) · [All operations](https://skmtc.net/spotnana/apis/air-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spotnana/air-api/versions/3009937ca024/schema)
