---
title: "Get trip details"
method: GET
path: "/v3/trips/{tripId}/detail"
tags: ["Trips"]
---

# Get trip details

`GET /v3/trips/{tripId}/detail`

This endpoint gets trip details for a given trip ID.
{% admonition type="info" %}
**Note:** For air bookings made via Travelfusion (i.e., `pnrs.data.sourceInfo.bookingSource: TRAVEL_FUSION`)
the `refundPolicy` and `exchangePolicy` fields will be empty.
{% /admonition %}

## Response `200`

OK

- TripV3DetailsResponse — Trip Details Response for a given trip Id
  - `basicTripInfo` BasicTripInfo, required — Basic trip info
    - `tripId` string, required — Spotnana trip Id
    - `tripName` string, required — Name of the trip
    - `tripDescription` string — Trip description
    - `applicationId` string, uuid — Application id used for the trip.
    - `startDate` DateModel — Date in ISO 8601 standard.
      - `iso8601` string, required
    - `endDate` DateModel — Date in ISO 8601 standard.
      - `iso8601` string, required
    - `userId` UserId — User identifier
      - `id` string, uuid, required
    - `registrarUserId` UserId — User identifier
      - `id` string, uuid, required
    - `tripMetadata` TripMetadata — Metadata for the trip
      - `hasTripOverride` boolean — Indicates if the trip has any profile overrides.
      - `preferredCurrency` string — The currency to be used for the trip.
      - `tripContacts` TripContact[]
        - `label` string, required — Label for the contact
        - `name` string, required — Name of the contact
        - `email` string — Email of the 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'
        - `isPrimary` boolean — Whether the contact is primary or not
        - `restrictVisibility` boolean — Whether to restrict visibility of the contact to only agents and admins
      - `tripCommunicationPreferences` TripCommunicationPreferences — Communication preferences for the trip
        - `tripEmailPreferences` TripEmailPreferences — Email preferences for the trip
          - `bucketEmailPreferences` BucketEmailPreferences — Email communication preferences based on bucket types.
            - `bucketTypes` EmailBucketType[], required — List of email bucket types.
            - `isEnabled` boolean — Indicates whether emails are disabled.
            - `toEmails` string[] — List of email address to be included in emails.
            - `ccEmails` string[] — List of email address to be cc-ed in emails.
            - `bccEmails` string[] — List of email address to be bcc-ed in emails.
    - `tripDisabledInfo` TripDisabledInfo — Information regarding whether the trip is disabled and if so, the reason why.
      - `disabledReason` 'MAX_BOOKINGS_EXCEEDED' | 'TRIP_EXPIRED' — Reason why the trip is disabled if applicable.
      - `isDisabled` boolean — Indicates whether the trip is disabled or not.
    - `stealthType` 'STEALTH_TYPE_1' | 'STEALTH_TYPE_2' | 'STEALTH_TYPE_3' — Stealth type.
    - `stealthMode` StealthMode — Stealth mode configuration with type and label.
      - `stealthType` 'STEALTH_TYPE_1' | 'STEALTH_TYPE_2' | 'STEALTH_TYPE_3', required — Stealth type.
      - `label` string, required — Customer specific label for the stealth mode.
    - `tripLocations` TripLocation[] — Locations associated with the trip.
      - `metroAreaName` string — Name of the metropolitan area.
  - `pnrs` PnrDetailsResponseWithId[], required
    - `pnrId` string — Unique PNR ID
    - `data` PnrData — Pnr data with all information about a single booking containing one of Air, Hotel, Car, Rail, Limo or Miscellaneous PNR.
      - `version` integer — Current PNR version. This field is used for handling conflicts in case of concurrent updates. This should be sent unmodified in update request.
      - `createdVia` 'OFFLINE' | 'OBT' | 'SHELL' | 'PASSIVE' | 'API' — Indicates the source of creation of PNR, like SHELL, OBT, etc.
      - `initialVersionCreatedVia` 'OFFLINE' | 'OBT' | 'SHELL' | 'PASSIVE' | 'API' — Indicates the source of creation of PNR, like SHELL, OBT, etc.
      - `sourceInfo` SourceInfo — Information about the source of booking
        - `sourcePnrId` string — The source PNR ID
        - `bookingSource` string, required — The source of booking
        - `thirdParty` string — The known third party source of the booking.
        - `bookingDateTime` DateTimeOffset — ISO8601 UTC Date Time
          - `iso8601` string, required
        - `posDescriptor` string — Point of sale descriptor for this pnr from source
        - `iataNumber` string — IATA number associated with this pnr
      - `invoiceDelayedBooking` boolean — True if the billing is delayed
      - `travelers` Traveler[]
        - `travelerPersonalInfo` TravelerPersonalInfo — Traveler personal information.
          - `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.
          - `travelPref` TravelPref — Travel preferences.
            - `airPref` AirPref — Travel preferences related to air travel.
              - …
            - `preferredCurrency` string
            - `railCards` RailCard[]
              - …
            - `railPref` RailPref — Travel preferences related to rail station.
              - …
            - `carPref` CarPref — Travel preferences related to car.
              - …
            - `hotelPref` HotelPref — Travel preferences related to hotel.
              - …
          - `blockLoyalty` boolean — If true, hides the loyalty program input on the checkout page for this traveler.
        - `user` User — User details.
          - `addresses` PostalAddress[]
            - `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
              - …
          - `dob` DateModel — Date in ISO 8601 standard.
            - `iso8601` string, required
          - `email` string, email
          - `emergencyContactInfo` EmergencyContactInfo — Emergency contact information.
            - `address` PostalAddress — Postal Address Details
              - …
            - `designation` string
            - `email` string, email, required
            - `name` Name — Full name containing first, middle, last (family) names, and suffix.
              - …
            - `phoneNumber` PhoneNumber — Properly formatted phone number.
              - …
            - `userOrgId` UserOrgId — User and user's organization information.
              - …
          - `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.
              - …
            - `preferredLanguage` string — Language preferred by user.
          - `gender` 'MALE' | 'FEMALE' | 'UNSPECIFIED' | 'UNDISCLOSED' | 'GENDER_REDACTED'
          - `identityDocs` IdentityDocument[] — List of user identity documents.
            - union — Identity document details. Currently supported documents are passport, immigration document, known traveler number, redress number and national document.
              - …
          - `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
          - `paymentInfos` PaymentInfo[]
            - `applicableTo` string[]
            - `card` Card, required — User card info
              - …
            - `accessType` 'UNKNOWN_TYPE' | 'CENTRALISED' | 'INDIVIDUAL' | 'PERSONAL' | 'TMC' | 'APPLICATION' | 'ITINERARY' | 'EVENTS' | 'TRAVEL_ARRANGER_MANAGED' | 'COMPANY_TRAVEL_ARRANGER_MANAGED' | 'EVENT_TEMPLATE' — Identifies the different ways the card can be used across an organization
            - `access` CreditCardAccess — Access type for cards to check who in the organization has permission to use it
              - …
          - `phoneNumbers` PhoneNumber[]
            - `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'
          - `profilePicture` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
            - `data` string, byte
            - `dimensions` Dimensions — Image dimensions ie width and height.
              - …
            - `url` string
          - `nationality` string — Nationality of user
          - `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'
        - `userBusinessInfo` UserBusinessInfo — User business information.
          - `department` Department — Department details.
            - `id` DepartmentId, required — Department id.
              - …
            - `name` string, required
            - `externalId` string — External id of the department
            - `employeeCount` integer — Count of employees in the department
          - `designation` string
          - `email` string, email, required
          - `employeeId` string, required — Unique employee id. Can use email if a company don't use employee ids.
          - `grade` Grade — Grade details.
            - `employeeCount` integer — Count of employees in the grade
            - `id` GradeId, required — Grade id.
              - …
            - `name` string, required
          - `legalEntityId` LegalEntityId, required — The ID of the legal entity.
            - `id` string, required
          - `managerBasicInfo` UserBasicInfo — Basic user information.
            - `userOrgId` UserOrgId — User and user's organization information.
              - …
            - `persona` 'UNKNOWN_PERSONA' | 'EMPLOYEE' | 'GUEST' | 'PERSONAL' | 'RELATIVE' | 'ADHOC' — Persona of the user
            - `email` string, email
            - `name` Name — Full name containing first, middle, last (family) names, and suffix.
              - …
            - `profilePicture` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
              - …
            - `tier` 'BASIC' | 'SEAT1A' | 'TIER_2' | 'TIER_3' | 'TIER_4' | 'TIER_5' | 'TIER_6' | 'TIER_7' | 'TIER_8' | 'TIER_9' | 'TIER_10' | 'TIER_11' | 'TIER_12' | 'TIER_13' | 'TIER_14' | 'TIER_15' | 'TIER_16' | 'TIER_17' | 'TIER_18' | 'TIER_19' | 'TIER_20' | 'TIER_21' | 'TIER_22' | 'TIER_23' | 'TIER_24' | 'TIER_25' | 'TIER_26' | 'TIER_27' | 'TIER_28' | 'TIER_29' | 'TIER_30' | 'TIER_31' — Tier of User. Note: In default UI, BASIC is displayed as Standard, and SEAT1A is displayed as VIP. Display names for other tiers are driven by the company tier configuration.
            - `phoneNumber` PhoneNumber — Properly formatted phone number.
              - …
            - `employeeId` string — Employee id of the user
            - `isActive` boolean — Whether user profile is active or not.
          - `office` Office — Office details.
            - `address` PostalAddress — Postal Address Details
              - …
            - `id` OfficeId, required — The unique ID of the office.
              - …
            - `name` string, required
            - `latlng` Latlng — Latitude and Longitude for a Location
              - …
            - `taxId` string
          - `organizationId` OrganizationId, required — Organization id for traveler.
            - `id` string, required
          - `phoneNumbers` PhoneNumber[]
            - `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'
          - `userCostCenter` CostCenter — Cost center details.
            - `id` CostCenterId, required
              - …
            - `name` string, required
            - `externalId` string
          - `designatedApproverInfos` UserBasicInfo[] — A list of user basic info for designated approvers.
            - `userOrgId` UserOrgId — User and user's organization information.
              - …
            - `persona` 'UNKNOWN_PERSONA' | 'EMPLOYEE' | 'GUEST' | 'PERSONAL' | 'RELATIVE' | 'ADHOC' — Persona of the user
            - `email` string, email
            - `name` Name — Full name containing first, middle, last (family) names, and suffix.
              - …
            - `profilePicture` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
              - …
            - `tier` 'BASIC' | 'SEAT1A' | 'TIER_2' | 'TIER_3' | 'TIER_4' | 'TIER_5' | 'TIER_6' | 'TIER_7' | 'TIER_8' | 'TIER_9' | 'TIER_10' | 'TIER_11' | 'TIER_12' | 'TIER_13' | 'TIER_14' | 'TIER_15' | 'TIER_16' | 'TIER_17' | 'TIER_18' | 'TIER_19' | 'TIER_20' | 'TIER_21' | 'TIER_22' | 'TIER_23' | 'TIER_24' | 'TIER_25' | 'TIER_26' | 'TIER_27' | 'TIER_28' | 'TIER_29' | 'TIER_30' | 'TIER_31' — Tier of User. Note: In default UI, BASIC is displayed as Standard, and SEAT1A is displayed as VIP. Display names for other tiers are driven by the company tier configuration.
            - `phoneNumber` PhoneNumber — Properly formatted phone number.
              - …
            - `employeeId` string — Employee id of the user
            - `isActive` boolean — Whether user profile is active or not.
          - `designatedApproverUserIds` UserId[] — A list of userId for designated approvers.
            - `id` string, uuid, required
          - `authorizerEmail` string — Email address to be used as approval authorizer, when a manager is not present.
        - `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.
              - …
        - `persona` 'UNKNOWN_PERSONA' | 'EMPLOYEE' | 'GUEST' | 'PERSONAL' | 'RELATIVE' | 'ADHOC' — Persona of the user
        - `isActive` boolean — A boolean flag to show if traveler is active.
        - `tier` 'BASIC' | 'SEAT1A' | 'TIER_2' | 'TIER_3' | 'TIER_4' | 'TIER_5' | 'TIER_6' | 'TIER_7' | 'TIER_8' | 'TIER_9' | 'TIER_10' | 'TIER_11' | 'TIER_12' | 'TIER_13' | 'TIER_14' | 'TIER_15' | 'TIER_16' | 'TIER_17' | 'TIER_18' | 'TIER_19' | 'TIER_20' | 'TIER_21' | 'TIER_22' | 'TIER_23' | 'TIER_24' | 'TIER_25' | 'TIER_26' | 'TIER_27' | 'TIER_28' | 'TIER_29' | 'TIER_30' | 'TIER_31' — Tier of User. Note: In default UI, BASIC is displayed as Standard, and SEAT1A is displayed as VIP. Display names for other tiers are driven by the company tier configuration.
        - `adhocUserInfo` AdhocUserInfo — Basic information related to ad-hoc traveler profile.
          - `profileOwner` ProfileOwner, required — Basic information about the owner of the ad-hoc user.
            - `userId` UserId, required — User identifier
              - …
          - `isSaved` boolean — A boolean flag to show if ad-hoc traveler is visible in search. While updating the user if client tries to update this field, it will throw exception.
        - `externalId` string — External id of this user.
      - `pnrTravelers` PnrTraveler[] — List of travelers on this pnr and their information. This is a required field.
        - `userId` UserId, required — 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
              - …
          - object — Wrapper over AdhocTravelerInfo object to be used as an identifier in a oneOf case.
            - `adhocTravelerInfo` AdhocTravelerInfo — Describes an adhoc traveler.
              - …
        - `personalInfo` UserPersonalInfo — User details.
          - `addresses` PostalAddress[]
            - `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
              - …
          - `dob` DateModel — Date in ISO 8601 standard.
            - `iso8601` string, required
          - `email` string, email
          - `emergencyContactInfo` EmergencyContactInfo — Emergency contact information.
            - `address` PostalAddress — Postal Address Details
              - …
            - `designation` string
            - `email` string, email, required
            - `name` Name — Full name containing first, middle, last (family) names, and suffix.
              - …
            - `phoneNumber` PhoneNumber — Properly formatted phone number.
              - …
            - `userOrgId` UserOrgId — User and user's organization information.
              - …
          - `gender` 'MALE' | 'FEMALE' | 'UNSPECIFIED' | 'UNDISCLOSED' | 'GENDER_REDACTED'
          - `identityDocs` IdentityDocument[] — List of user identity documents.
            - union — Identity document details. Currently supported documents are passport, immigration document, known traveler number, redress number and national document.
              - …
          - `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
          - `phoneNumbers` PhoneNumber[]
            - `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'
          - `profilePicture` Image — An image with meta data. Either the `data` or `url` property must be supplied to load the image.
            - `data` string, byte
            - `dimensions` Dimensions — Image dimensions ie width and height.
              - …
            - `url` string
          - `nationality` string — Nationality of user
          - `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'
          - `preferredLanguage` string — Language preferred by user.
          - `preferredPronoun` 'SHE_HER_HERS' | 'HE_HIM_HIS' | 'THEY_THEM_THEIRS'
          - `travelerName` 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
          - `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.
              - …
            - `preferredLanguage` string — Language preferred by user.
        - `loyalties` 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.
        - `persona` 'UNKNOWN_PERSONA' | 'EMPLOYEE' | 'GUEST' | 'PERSONAL' | 'RELATIVE' | 'ADHOC' — Persona of the user
        - `businessInfo` TravelerBusinessInfo — Business information of the traveler
          - `legalEntity` TravelerLegalEntity — Legal entity of the traveler
            - `id` string — Legal entity ID
            - `name` string — Name of the legal entity
            - `ein` string — EIN of the traveler
            - `externalId` string — External Id of the legal entity
            - `companySpecifiedAttributes` CompanySpecifiedAttributeLegalEntity[]
              - …
            - `countryCode` string — 2-letter ISO country code of the legal entity
            - `billingCurrency` string — Billing currency for the legal entity.
            - `registeredName` string — The official name of this legal entity as registered with local tax authorities.
            - `registeredEmail` string — The primary email (or alias) used for the "Registered name" of this legal entity. Used for official communications, including regulatory, compliance, and invoicing purposes.
          - `companyId` CompanyId — Company ID
            - `id` string, uuid, required
          - `companyInfo` TravelerCompanyInfo — Company information of the traveler
            - `id` CompanyId — Company ID
              - …
            - `name` string — Name of the company
            - `externalId` string — External Id of the company
          - `workerType` 'EMPLOYEE' | 'CONTINGENT' | 'SEASONAL' | 'INTERN' | 'GUEST' — The type of worker.
          - `employeeId` string — Employee id of the user
          - `companySpecifiedAttributes` CompanySpecifiedAttribute[]
            - `fixedColumnName` string, required
            - `value` string, required
          - `userCostCenter` CostCenter — Cost center details.
            - `id` CostCenterId, required
              - …
            - `name` string, required
            - `externalId` string
          - `grade` Grade — Grade details.
            - `employeeCount` integer — Count of employees in the grade
            - `id` GradeId, required — Grade id.
              - …
            - `name` string, required
          - `office` Office — Office details.
            - `address` PostalAddress — Postal Address Details
              - …
            - `id` OfficeId, required — The unique ID of the office.
              - …
            - `name` string, required
            - `latlng` Latlng — Latitude and Longitude for a Location
              - …
            - `taxId` string
          - `department` DepartmentV2 — Department details.
            - `id` string, uuid, required
            - `name` string, required — Name of the department
            - `externalId` string — External id of the department
          - `accountingCode` string — Code used for accounting.
        - `originalBusinessInfo` TravelerBusinessInfo — Business information of the traveler
          - `legalEntity` TravelerLegalEntity — Legal entity of the traveler
            - `id` string — Legal entity ID
            - `name` string — Name of the legal entity
            - `ein` string — EIN of the traveler
            - `externalId` string — External Id of the legal entity
            - `companySpecifiedAttributes` CompanySpecifiedAttributeLegalEntity[]
              - …
            - `countryCode` string — 2-letter ISO country code of the legal entity
            - `billingCurrency` string — Billing currency for the legal entity.
            - `registeredName` string — The official name of this legal entity as registered with local tax authorities.
            - `registeredEmail` string — The primary email (or alias) used for the "Registered name" of this legal entity. Used for official communications, including regulatory, compliance, and invoicing purposes.
          - `companyId` CompanyId — Company ID
            - `id` string, uuid, required
          - `companyInfo` TravelerCompanyInfo — Company information of the traveler
            - `id` CompanyId — Company ID
              - …
            - `name` string — Name of the company
            - `externalId` string — External Id of the company
          - `workerType` 'EMPLOYEE' | 'CONTINGENT' | 'SEASONAL' | 'INTERN' | 'GUEST' — The type of worker.
          - `employeeId` string — Employee id of the user
          - `companySpecifiedAttributes` CompanySpecifiedAttribute[]
            - `fixedColumnName` string, required
            - `value` string, required
          - `userCostCenter` CostCenter — Cost center details.
            - `id` CostCenterId, required
              - …
            - `name` string, required
            - `externalId` string
          - `grade` Grade — Grade details.
            - `employeeCount` integer — Count of employees in the grade
            - `id` GradeId, required — Grade id.
              - …
            - `name` string, required
          - `office` Office — Office details.
            - `address` PostalAddress — Postal Address Details
              - …
            - `id` OfficeId, required — The unique ID of the office.
              - …
            - `name` string, required
            - `latlng` Latlng — Latitude and Longitude for a Location
              - …
            - `taxId` string
          - `department` DepartmentV2 — Department details.
            - `id` string, uuid, required
            - `name` string, required — Name of the department
            - `externalId` string — External id of the department
          - `accountingCode` string — Code used for accounting.
        - `tier` 'BASIC' | 'SEAT1A' | 'TIER_2' | 'TIER_3' | 'TIER_4' | 'TIER_5' | 'TIER_6' | 'TIER_7' | 'TIER_8' | 'TIER_9' | 'TIER_10' | 'TIER_11' | 'TIER_12' | 'TIER_13' | 'TIER_14' | 'TIER_15' | 'TIER_16' | 'TIER_17' | 'TIER_18' | 'TIER_19' | 'TIER_20' | 'TIER_21' | 'TIER_22' | 'TIER_23' | 'TIER_24' | 'TIER_25' | 'TIER_26' | 'TIER_27' | 'TIER_28' | 'TIER_29' | 'TIER_30' | 'TIER_31' — Tier of User. Note: In default UI, BASIC is displayed as Standard, and SEAT1A is displayed as VIP. Display names for other tiers are driven by the company tier configuration.
        - `blockLoyalty` boolean — If true, hides the loyalty program input on the checkout page for this traveler.
      - `costOfGoodsSold` COGS — Payment information about all goods sold. This is a required field for now.
        - `payments` Payment[], required — Potentially multiple payments that spotnana will pay to vendors for this booking
          - `travelerIndices` integer[], required — The list of traveler indices on which this payment applies.
          - `userIds` UserId[] — The list of traveler user IDs on which this payment applies.
            - `id` string, uuid, required
          - `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.
              - …
            - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
          - `fop` FormOfPayment — Information about form of payment to be used to charge customer
            - `type` 'UNKNOWN' | 'CARD' | 'CASH' | 'TFPAY' | 'CHEQUE' | 'BREX_POINTS' | 'QANTAS_POINTS', required — Type of payment used
            - `card` Card — User card info
              - …
            - `additionalInfo` string — Additional info to be added if payment type is 'UNKNOWN'.
            - `accessType` CreditCardAccess — Access type for cards to check who in the organization has permission to use it
              - …
            - `paymentMethod` '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
            - `paymentMetadata` PaymentMetadata — Payment metadata related to form of payment
              - …
            - `paymentSourceType` 'CARD' | 'VIRTUAL_CARD' | 'REWARDS_PROGRAM' | 'DELAYED_INVOICING' | 'CUSTOM_PAYMENT_METHOD' | 'VENDOR_PROGRAM_PAYMENT' | 'UNUSED_CREDIT' | 'CASH' — Type of Payment Source
          - `paymentReference` string — Reference number for original payment made for this service
          - `paymentType` 'UNKNOWN' | 'FLIGHTS' | 'SERVICE_FEE' | 'MISCELLANEOUS' | 'HOTELS' | 'CARS' | 'RAILS' | 'LIMO' | 'MISC', required — Service for which this payment is made
          - `paymentThirdParty` 'UNKNOWN_PARTY' | 'STRIPE' | 'TFPAY' | 'TRAINLINE' | 'BREX' | 'OUTSIDE_OBT' | 'RAZORPAY' — Third party who is processing the payment
          - `paymentId` string — The payment id for this transaction
          - `paymentGateway` 'PAYMENT_GATEWAY_UNKNOWN' | 'STRIPE' | 'BREX' — Third party payment gateway used to process the payment
          - `isRefunded` boolean — Whether the payment is refunded to the customer
          - `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
              - …
            - `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.
              - …
          - `networkTransactionId` string — Network transaction id provided by the card network. Applicable only for cards.
          - `tmcGatewayInfo` TmcGatewayInfo — Tmc Gateway related info.
            - `tmcId` CompanyId — Company ID
              - …
            - `gatewayType` 'STRIPE' | 'BREX' | 'RAZORPAY' — Third party payment gateway used to process the payment
            - `gatewayId` string — GatewayId for related gatewayInfo.
      - `costToCustomer` CTC — Cost of services, charged to customer
        - `payments` Payment[], required — Potentially multiple payments that spotnana will charge the clients
          - `travelerIndices` integer[], required — The list of traveler indices on which this payment applies.
          - `userIds` UserId[] — The list of traveler user IDs on which this payment applies.
            - `id` string, uuid, required
          - `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.
              - …
            - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
          - `fop` FormOfPayment — Information about form of payment to be used to charge customer
            - `type` 'UNKNOWN' | 'CARD' | 'CASH' | 'TFPAY' | 'CHEQUE' | 'BREX_POINTS' | 'QANTAS_POINTS', required — Type of payment used
            - `card` Card — User card info
              - …
            - `additionalInfo` string — Additional info to be added if payment type is 'UNKNOWN'.
            - `accessType` CreditCardAccess — Access type for cards to check who in the organization has permission to use it
              - …
            - `paymentMethod` '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
            - `paymentMetadata` PaymentMetadata — Payment metadata related to form of payment
              - …
            - `paymentSourceType` 'CARD' | 'VIRTUAL_CARD' | 'REWARDS_PROGRAM' | 'DELAYED_INVOICING' | 'CUSTOM_PAYMENT_METHOD' | 'VENDOR_PROGRAM_PAYMENT' | 'UNUSED_CREDIT' | 'CASH' — Type of Payment Source
          - `paymentReference` string — Reference number for original payment made for this service
          - `paymentType` 'UNKNOWN' | 'FLIGHTS' | 'SERVICE_FEE' | 'MISCELLANEOUS' | 'HOTELS' | 'CARS' | 'RAILS' | 'LIMO' | 'MISC', required — Service for which this payment is made
          - `paymentThirdParty` 'UNKNOWN_PARTY' | 'STRIPE' | 'TFPAY' | 'TRAINLINE' | 'BREX' | 'OUTSIDE_OBT' | 'RAZORPAY' — Third party who is processing the payment
          - `paymentId` string — The payment id for this transaction
          - `paymentGateway` 'PAYMENT_GATEWAY_UNKNOWN' | 'STRIPE' | 'BREX' — Third party payment gateway used to process the payment
          - `isRefunded` boolean — Whether the payment is refunded to the customer
          - `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
              - …
            - `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.
              - …
          - `networkTransactionId` string — Network transaction id provided by the card network. Applicable only for cards.
          - `tmcGatewayInfo` TmcGatewayInfo — Tmc Gateway related info.
            - `tmcId` CompanyId — Company ID
              - …
            - `gatewayType` 'STRIPE' | 'BREX' | 'RAZORPAY' — Third party payment gateway used to process the payment
            - `gatewayId` string — GatewayId for related gatewayInfo.
      - `transactions` Transaction[]
        - `paymentReqId` string — payment request id
        - `paymentReference` string — Reference number for original payment made for this service
        - `ctc` PaymentData[]
          - `isRefunded` boolean — If the relevant amount was refunded.
          - `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.
              - …
          - `fop` FormOfPayment — Information about form of payment to be used to charge customer
            - `type` 'UNKNOWN' | 'CARD' | 'CASH' | 'TFPAY' | 'CHEQUE' | 'BREX_POINTS' | 'QANTAS_POINTS', required — Type of payment used
            - `card` Card — User card info
              - …
            - `additionalInfo` string — Additional info to be added if payment type is 'UNKNOWN'.
            - `accessType` CreditCardAccess — Access type for cards to check who in the organization has permission to use it
              - …
            - `paymentMethod` '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
            - `paymentMetadata` PaymentMetadata — Payment metadata related to form of payment
              - …
            - `paymentSourceType` 'CARD' | 'VIRTUAL_CARD' | 'REWARDS_PROGRAM' | 'DELAYED_INVOICING' | 'CUSTOM_PAYMENT_METHOD' | 'VENDOR_PROGRAM_PAYMENT' | 'UNUSED_CREDIT' | 'CASH' — Type of Payment Source
          - `isGuarantee` boolean — If the booking can be reserved now and paid later on site.
          - `transactionStatus` 'ISSUED' | 'DELAYED_INVOICE' | 'FAILED' | 'CHARGED' | 'REFUNDED' | 'FORFEITED' | 'BILLED_TO_COMPANY' | 'NO_CHARGE' | 'GUARANTEE' | 'TO_BE_CHARGED' | 'SUCCESS' | 'MANUAL' | 'WAIVED_OFF' | 'TO_BE_ISSUED' | 'APPLIED' | 'NOT_APPLICABLE' — Transaction status for service fee transaction.
          - `balanceDue` 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.
              - …
        - `itemGroups` ItemGroup[]
          - `transactionType` 'TRIP_SERVICE_FEE' | 'AIR_TICKET_ISSUED' | 'AIR_TICKET_VOIDED' | 'AIR_TICKET_REFUNDED' | 'AIR_TICKET_EXCHANGED' | 'AIR_TICKET_UNDETERMINED' | 'HOTEL_BOOKED' | 'HOTEL_MODIFIED' | 'HOTEL_CANCELLED' | 'CAR_BOOKED' | 'CAR_CANCELLED' | 'RAIL_BOOKED' | 'RAIL_REFUNDED' | 'RAIL_EXCHANGED' | 'RAIL_CANCELLED' | 'LIMO_BOOKED' | 'LIMO_CANCELLED' | 'MISC_BOOKED' | 'MISC_CANCELLED' | 'FLIGHT_CREDIT_ISSUED' | 'TMC_FEE' | 'CHANGE_FEE' | 'MCO_ISSUED' | 'EMD_TICKET' | 'HOTEL_ANCILLARY_BOOKED' | 'HOTEL_ANCILLARY_CANCELLED' — type of the transaction
          - `userId` UserId — User identifier
            - `id` string, uuid, required
          - `confirmationNumber` string
          - `incompleteTransactionReasons` IncompleteTransactionReason[] — Reasons the underlying booking is incomplete (e.g. SYS_TICKET). Explains why paymentDetails / amounts on the transaction may be empty.
          - `transactionDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
            - `iso8601` string, required
          - `transactionAmountDiff` 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.
              - …
            - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
          - `transactionFeesDiff` 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.
              - …
          - `totalAmountDiff` 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.
              - …
            - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
          - `penaltyDiff` 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.
              - …
          - `transactionAmount` 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.
              - …
            - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
          - `transactionFees` 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.
              - …
          - `totalAmount` 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.
              - …
            - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
          - `totalPnrAmount` 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.
              - …
          - `penalty` 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.
              - …
          - `originalTicketNumber` string — Original ticket number if this is an exchanged ticket
          - `invoiceData` ItemGroupInvoiceData — Data related to invoice is kept in this object for an item group
            - `invoiceNumber` string — The invoice number for an invoice
            - `buyer` BuyerInfo — Buyer of items mentioned in the invoice.
              - …
            - `seller` SellerInfo — Entity that sold the items mentioned in the invoice.
              - …
            - `documentType` 'INVOICE' | 'RECEIPT' — Type of document generated for an invoice.
          - `items` TransactionItem[]
            - union — Items for the given item group.
              - …
          - `transactionFares` TransactionFare[] — Deprecated: will be removed in transactions v3. Use transactionFareDetails instead.
            - `transactionFareType` 'BASE_AMOUNT' | 'OTHER_FEE_AND_TAXES' | 'PENALTY' | 'OB_FEES' | 'DESTINATION_FEES' | 'TOTAL' | 'VAT' | 'DROP_OFF_CHARGE' | 'HST' | 'QST' | 'GST' | 'CHARGE_BASE' | 'CHARGE_TOTAL' | 'SUB_TOTAL' | 'OB_FEES_GST' | 'FORFEITED_AMOUNT' | 'PENALTY_GST' | 'PENALTY_QST' | 'PENALTY_HST' — type of the fare in this transaction.
            - `amount` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `amountList` Money[]
              - …
          - `previousTransactionFares` TransactionFare[] — Deprecated: will be removed in transactions v3. Use previousTransactionFareDetails instead.
            - `transactionFareType` 'BASE_AMOUNT' | 'OTHER_FEE_AND_TAXES' | 'PENALTY' | 'OB_FEES' | 'DESTINATION_FEES' | 'TOTAL' | 'VAT' | 'DROP_OFF_CHARGE' | 'HST' | 'QST' | 'GST' | 'CHARGE_BASE' | 'CHARGE_TOTAL' | 'SUB_TOTAL' | 'OB_FEES_GST' | 'FORFEITED_AMOUNT' | 'PENALTY_GST' | 'PENALTY_QST' | 'PENALTY_HST' — type of the fare in this transaction.
            - `amount` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `amountList` Money[]
              - …
          - `transactionFareDetails` TransactionFareDetail[] — Detailed fare information for email display.
            - `chargeCode` 'BASE' | 'SUBTOTAL' | 'CHANGE_FEE_CHARGE' | 'AIRLINE_FEES_CHARGE' | 'DESTINATION_FEES_CHARGE' | 'TOTAL_DELTA' | 'TOTAL_CHARGE' | 'CANCEL_FEE_CHARGE' | 'PREVIOUS_TOTAL_CHARGE' | 'MISCELLANEOUS_CHARGE' | 'PREPAID_FEE' | 'POSTPAID_FEE' — Charge code for transaction fare detail, used for email display ordering.
            - `amount` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `chargeName` string — Display name for the charge.
            - `isInformational` boolean — Whether this is informational only (e.g., subtotal - derived value with no standalone identity).
            - `taxDefinitions` TaxDefinitionCharge[] — Tax definitions associated with this fare.
              - …
            - `additionalAmounts` Money[] — Additional amounts for multi-currency scenarios (e.g., USD + Flight Pass).
              - …
            - `sortPriority` integer — Sort priority for display ordering (determines which charge codes appear first).
            - `total` FareTotal — Computed total for a transaction fare detail with coinage relation.
              - …
          - `previousTransactionFareDetails` TransactionFareDetail[] — Previous detailed fare information for email display.
            - `chargeCode` 'BASE' | 'SUBTOTAL' | 'CHANGE_FEE_CHARGE' | 'AIRLINE_FEES_CHARGE' | 'DESTINATION_FEES_CHARGE' | 'TOTAL_DELTA' | 'TOTAL_CHARGE' | 'CANCEL_FEE_CHARGE' | 'PREVIOUS_TOTAL_CHARGE' | 'MISCELLANEOUS_CHARGE' | 'PREPAID_FEE' | 'POSTPAID_FEE' — Charge code for transaction fare detail, used for email display ordering.
            - `amount` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `chargeName` string — Display name for the charge.
            - `isInformational` boolean — Whether this is informational only (e.g., subtotal - derived value with no standalone identity).
            - `taxDefinitions` TaxDefinitionCharge[] — Tax definitions associated with this fare.
              - …
            - `additionalAmounts` Money[] — Additional amounts for multi-currency scenarios (e.g., USD + Flight Pass).
              - …
            - `sortPriority` integer — Sort priority for display ordering (determines which charge codes appear first).
            - `total` FareTotal — Computed total for a transaction fare detail with coinage relation.
              - …
          - `associatedTicketNumber` string — Associated ticket number in case of penalty and taxes in separate ticket
          - `productName` string — Product name for this item group when the ticket type is EMD.
        - `pnrVersion` integer — Version number associated with the Pnr
        - `splitPayment` SplitPayment — Split payment details for claiming reimbursements.
          - `inPolicyAmount` 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.
              - …
          - `isAmountReimbursable` boolean — If the in policy amount is reimbursable or not.
          - `personalFopChargeableAmount` 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.
              - …
        - `bookerInfo` TransactionBookerInfo — Details of User associated with a Transaction
          - `bookerId` UserId — User identifier
            - `id` string, uuid, required
          - `bookerName` string — Name of the Booker
          - `bookerRole` 'AGENT' | 'TRAVEL_MANAGER' | 'TRAVELER' | 'REGISTRAR' | 'ADMIN' — User facing role of the Booker
      - `splitPayment` SplitPayment — Split payment details for claiming reimbursements.
        - `inPolicyAmount` 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.
              - …
        - `isAmountReimbursable` boolean — If the in policy amount is reimbursable or not.
        - `personalFopChargeableAmount` 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.
              - …
      - `isFinalized` boolean — Indicates if finalize action has been performed on the pnr.
      - `policyInfo` PolicyInfo — Policy related info for this booking
        - `outOfPolicy` boolean, required — True if the booking is out of policy, else false
        - `approverName` 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
        - `reasonCode` 'UNKNOWN_CHECKOUT_ANSWER_TYPE' | 'OTHER' | 'TIMING_OR_SCHEDULING' | 'AIRLINE_PREFERENCE' | 'AIRPORT_PREFERENCE' | 'MILEAGE_OR_PROGRAM_UPGRADE' | 'NO_OTHER_OPTION_AVAILABLE' | 'FASTER_OPTION' | 'NO_ANSWER' | 'NOT_AVAILABLE' — Predefined answers to pre search/pre checkout questions
        - `reason` string — Free form text if selected reason code is OTHER
        - `appliedPolicyInfo` PnrPolicyInfo — Policy Info applicable for the associated itinerary
          - `policies` PnrPolicyId[] — List of policies applied to the itinerary.
            - `id` string, required — Policy id
            - `version` string, required — version of the policy
            - `policyName` string — Name of the policy applied.
            - `approvalType` 'HARD_APPROVAL' | 'SOFT_APPROVAL' | 'PASSIVE_APPROVAL'
            - `policyType` 'GLOBAL' | 'DEFAULT' | 'GROUP'
          - `ruleResultInfos` PolicyRuleResultInfo[]
            - `violationInfos` PolicyViolationInfo[]
              - …
            - `subViolationInfos` PolicyViolationInfo[] — In case of complex rules this will contain extra information as to how the rule was calculated.
              - …
            - `actions` PolicyAction[] — Followed actions if rule was satisfied else violated actions.
              - …
        - `isPersonalUpgrade` boolean — Indicates that this booking exceeded the allowed policy budget with the extra amount being charged on the traveler.
      - `airPnr` Air — Air PNR information
        - `legs` Leg[], required — List of legs that are part of this bookings
          - `flights` Flight[], required — List of flights in this leg
            - `departureDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
            - `arrivalDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
            - `duration` Duration — Represents a duration of time with specific units of time.
              - …
            - `flightId` string — Unique identifier for a flight.
            - `origin` string, required — 3 letter IATA airport code for origin
            - `destination` string, required — 3 letter IATA airport code for destination
            - `departureGate` Gate — Flight boarding / arrival gate
              - …
            - `arrivalGate` Gate — Flight boarding / arrival gate
              - …
            - `marketing` FlightNumber, required — Flight number and airline code.
              - …
            - `operating` FlightNumber, required — Flight number and airline code.
              - …
            - `operatingAirlineName` string — Free text operating airline name that has to be displayed to the user if present
            - `hiddenStops` object[] — Stops for refueling or getting more passengers
              - …
            - `vendorConfirmationNumber` string — Flight confirmation number
            - `cabin` 'UNKNOWN_CABIN' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST' — Flight cabin
            - `bookingCode` string — Flight Booking Code
            - `flightStatus` 'UNKNOWN' | 'INITIATED' | 'CANCELLED' | 'CONFIRMED' | 'GROUP_BOOKING_ON_REQUEST' | 'WAITLISTED' | 'PENDING' | 'AIRLINE_UPGRADE' | 'WAITLIST_CONFIRMED' | 'BOOKING_DENIED_CONTACT_SUPPORT' | 'NO_SHOW' | 'CONTACT_SUPPORT' | 'STATUS_CHANGED_CONTACT_SUPPORT' | 'SCHEDULE_CHANGE' | 'SEGMENT_REQUEST' | 'SCHEDULE_CHANGE_WAITLISTED_BOOKING' | 'REQUEST_PENDING' | 'WAITLISTED_NOT_CONFIRMED' | 'SCHEDULE_CHANGE_NOT_CONFIRMED' | 'SCHEDULE_CHANGE_PENDING_STATUS' | 'MIS_CONNECTION' | 'REQUESTED' | 'TICKETED' | 'VOIDED' | 'CANCELLED_BY_VENDOR' | 'CANCELLATION_IN_PROGRESS' | 'REINSTATED' | 'BOOKING_ON_HOLD' | 'AIRLINE_CONTROL' | 'MODIFIED' | 'PAYMENT_DECLINED' | 'INOPERATIVE' | 'UNCONFIRMED' — Status of PNR
            - `otherStatuses` object[] — Details about any duplicate flight segment. Cabin code and status of other duplicate segments.
              - …
            - `co2EmissionDetail` CO2EmissionDetail — CO2 emission details for the flight.
              - …
            - `restrictions` FlightRestrictions[] — Restrictions such as seat booking, loyalty etc
            - `flightUpdates` FlightUpdates — Flight alerts like departure datetime change, gate change, etc.
              - …
            - `sourceStatus` string — Flight status code from supplier
            - `equipment` Equipment — The type of the aircraft equipment
              - …
            - `distance` Length — Specifies the length or a distance.
              - …
            - `flightWaiverCodes` FlightWaiverCode[] — List of waiver codes for flight
              - …
            - `amenities` AirAmenity[] — The amenities associated with the flight.
              - …
            - `flightIndex` integer — Index of flight in the leg
            - `upas` AirUpa[]
              - …
            - `utaIndices` integer[] — Indices into the Air.utas array for this flight's UTAs
          - `brandName` string — Brand name
          - `validatingAirlineCode` string — 2 letter IATA airline code for validating airline
          - `legStatus` 'UNKNOWN_STATUS' | 'PENDING_STATUS' | 'CONFIRMED_STATUS' | 'ACTIVE_STATUS' | 'COMPLETED_STATUS' | 'CANCELLED_STATUS' | 'REFUNDED_STATUS' | 'VOIDED_STATUS' | 'PROCESSING_STATUS' | 'UNCONFIRMED_STATUS' | 'AIRLINE_CONTROL_STATUS' | 'PAYMENT_DECLINED_STATUS' | 'SCHEDULE_CHANGE_STATUS' | 'HOLD_STATUS' | 'APPROVAL_REQUESTED_STATUS' | 'APPROVAL_DENIED_STATUS' | 'CANCELLATION_IN_PROGRESS_STATUS' | 'INOPERATIVE_STATUS' | 'FLIGHT_UNCONFIRMED_STATUS' — User facing booking status
          - `sortingPriority` integer — This field sets the sorting priority of the leg to determine its order of display on the trips page
          - `travelerRestrictions` object[] — Per traveler list of restrictions such as loyalty, ktn edit etc.
            - `userId` UserId, required — User identifier
              - …
            - `restrictions` string[]
          - `fareOffers` object[] — Fare offers for this leg including baggage, cancellation policy, etc
            - `userId` UserId, required — User identifier
              - …
            - `baggagePolicy` BaggagePolicy — Baggage policy for this traveler.
              - …
            - `cancellationPolicy` CancellationPolicy2 — Information about the cancellation policy.
              - …
            - `exchangePolicy` ExchangePolicy — Information about the exchange policy.
              - …
          - `legId` string — Identifier for leg
          - `rateType` 'RATE_TYPE_UNKNOWN' | 'PUBLISHED' | 'TMC_NEGOTIATED' | 'COMPANY_NEGOTIATED' — Type of booked fare
          - `legUpdates` LegUpdates — Alerts like connection risk for a leg
            - `connectionAlerts` ConnectionRiskAlert[]
              - …
          - `preferredTypes` PreferredType[] — Preference types for a leg, like org preferred, spotters choice, etc.
          - `preferences` Preference[] — Preference info for a leg, like org preferred, spotters choice, etc.
            - `preferredType` 'NOT_PREFERRED' | 'COMPANY_PREFERRED' | 'SPOTTERS_CHOICE' | 'COMPANY_BLOCKED' | 'TMC_PREFERRED', required — Preference type.
            - `blockedReason` string — Reason for blocking the leg, hotel or car.
            - `label` string — The label assigned to a specific tier of preference.
          - `scheduleChangeInfo` ScheduleChangeInfo — Schedule change information for the leg.
            - `flightIndices` integer[] — List of flight indices in this leg which has schedule changes.
            - `disruptedFlightIndices` integer[] — List of flight indices in the disrupted flights list in the air pnr which has schedule changes.
            - `possibleActions` ScheduleChangePossibleAction[] — Actions allowed for the user on the schedule change for this leg
            - `selectedTravelerAction` 'ACCEPT_BOOKING' | 'CANCEL_BOOKING' | 'MODIFY_BOOKING' | 'CONTACT_AGENT' — Actions allowed for the user on the schedule change for this ticket
          - `legIndex` integer — Index of leg in the booking
        - `airPnrRemarks` AirPnrRemark[] — Remarks added for the pnr.
          - `remarkString` string, required — Remark String
        - `travelerInfos` TravelerInfo[], required — Information about traveler bookings
          - `airVendorCancellationInfo` AirVendorCancellationInfo
            - `airVendorCancellationObjects` AirVendorCancellationObject[] — Vendor Cancellation
              - …
          - `createdMcos` CreatedMco[] — Created Mcos
            - `airline` string — Code of the airline for which mco is created.
            - `fare` FareAmount — Fare amount including base fare and tax.
              - …
            - `mcoNumber` string — Number of the mco created.
            - `issuedDate` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
            - `isMcoVoided` boolean — Whether the MCO was voided or not
          - `travelerIdx` integer, required — Index of traveler in travelers list to which this info belongs
          - `userId` UserId — User identifier
            - `id` string, uuid, required
          - `paxType` 'UNKNOWN_PASSENGER_TYPE' | 'ADULT' | 'CHILD' | 'INFANT' | 'INFANT_ON_LAP' | 'YOUTH' | 'SENIOR' | 'TEEN' — Type of passenger
          - `paxCurrentAge` PassengerAge — Age of the traveler
            - `numYears` integer, required — Age of the passenger
          - `tickets` Ticket[] — Tickets belonging to this traveler
            - `ticketNumber` string, required — Ticket number
            - `ticketType` 'UNKNOWN_TICKET_TYPE' | 'FLIGHT' | 'ANCILLARY' | 'MIXED' — Ticket type
            - `issuedDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
            - `status` 'UNKNOWN' | 'ISSUED' | 'VOIDED' | 'REFUNDED' | 'EXCHANGED' — Ticket status
            - `amount` FareAmount — Fare amount including base fare and tax.
              - …
            - `additionalFareAmounts` AdditionalFareAmount[] — Additional charges on the ticket like change penalty, flight pass additional charge etc.
              - …
            - `flightCoupons` object[] — List of flight coupons in this ticket
              - …
            - `ancillaries` object[] — List of ancillaries in this ticket
              - …
            - `validatingAirlineCode` string — 2 letter IATA airline code for the validating/ticketing airline
            - `exchangePolicy` object — Ticket exchange policy > **Note:** If the value of `pnrs.data.sourceInfo.bookingSource` is `TRAVEL_FUSION` then the `exchangePolicy` field will be empty.
              - …
            - `exchangeInfo` object — Ticket exchange info
              - …
            - `refundPolicy` object — Ticket refund policy > **Note:** If the value of `pnrs.data.sourceInfo.bookingSource` is `TRAVEL_FUSION` then the `refundPolicy` field will be empty.
              - …
            - `refundInfo` object — Ticket refund info
              - …
            - `llfInfo` object — Information about lowest logical fare for this ticket
              - …
            - `taxBreakdown` PnrTaxBreakdown — Tax breakdown information for this ticket
              - …
            - `commission` object — Ticket commission info
              - …
            - `iataNumber` string — Iata number
            - `fareCalculation` string — Fare calculation line
            - `updateDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
            - `paymentDetails` object[] — List of payment details for this ticket
              - …
            - `ticketSettlement` 'UNKNOWN_TICKET_SETTLEMENT' | 'ARC_TICKET' | 'BSP_TICKET' | 'NON_ARC_BSP_TICKET' — Ticket settlement
            - `ticketCtc` object — The cost to customer for this ticket
              - …
            - `publishedFare` FareAmount — Fare amount including base fare and tax.
              - …
            - `merchantFee` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `airlineFee` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `airlineFeeDetails` object — Details of the airline fee charged by the airline. It contains breakdown of the fee into base and tax amounts and ob fee percentage
              - …
            - `vendorCancellationId` string — Cancellation id sent by the supplier.
            - `conjunctionTicketSuffix` string[] — List of ticket suffix in case of multiple coupons in a single ticket from GDS
            - `createdUnusedCredit` UnusedCreditInfo — Information regarding an unused credit.
              - …
            - `ticketScheduleChangeInformation` TicketScheduleChangeInformation — Schedule change information for this ticket
              - …
            - `pcc` string — The ticketing PCC for this ticket.
            - `savingsFare` SavingsFare — Total savings present.
              - …
            - `preBookAnswers` PreBookAnswers
              - …
            - `ticketIncompleteReasons` TicketIncompleteReason[] — List of reasons for ticket being incomplete
            - `associatedTicketNumber` string — The associated ticket number for this ticket
            - `rficCode` string — Reason for issuance code
            - `journeyCode` string — Journey code
            - `hemisphereCode` string — Hemisphere code
            - `markup` object — Markup applied on this ticket by the TMC
              - …
            - `mcoIssuanceEligibility` 'ELIGIBLE' | 'NOT_ELIGIBLE' | 'MAYBE_ELIGIBLE' — Type of residue for cases where the ticket is exchanged to a lower amount
            - `emdInfo` object — EMD Information of this ticket if applicable
              - …
            - `taxInfo` object — Tax meta data associated with this ticket if applicable
              - …
            - `flightCreditInfo` object — Flight credit information if this ticket was converted to flight credit
              - …
            - `ticketPolicyInfo` TicketPolicyInfo
              - …
          - `boardingPass` BoardingPass[] — Boarding pass details.
            - `legIndex` integer — Index of leg to which this boarding pass belongs.
            - `flightIndex` integer — Index of flight in it's leg to which this boarding pass belongs.
            - `boardingPriority` string — Boarding Priority for airlines like Southwest which have open seating.
            - `boardingZone` string — Boarding zone for airlines like Southwest which have open seating.
          - `booking` Booking, required — Info about all booked items
            - `seats` object[] — Seat booking info
              - …
            - `luggageDetails` LuggageInfo[] — Additional luggage info
              - …
            - `otherAncillaries` object[] — Ancillaries other than seat and luggage
              - …
            - `itinerary` object — Info about booked itinerary
              - …
            - `otherCharges` object[] — Extra charges over flight fare, seat and luggage.
              - …
          - `appliedCredits` AppliedCreditInfo[] — Information about credit redeemed in booking.
            - `creditId` string, required — Unique ID of credit applied. For example, numeric ID of unused ticket.
            - `creditAmount` FareAmount — Fare amount including base fare and tax.
              - …
            - `fareDifference` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `penalty` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `ticketType` 'ETICKET' | 'MCO' — Type of credit.
          - `specialServiceRequestInfos` SpecialServiceRequestInfoDetail[] — List of all the Special Service Requests associated with the traveler.
            - `code` string — 4 letter Special Service Request code.
            - `customText` string — Free text string for special request.
            - `flightIndex` integer — Index of flight mapping with the special service request, starts with 0.
            - `legIndex` integer — Index of leg mapping with the special service request, starts with 0.
            - `status` 'SPECIAL_SERVICE_REQUEST_STATUS_UNKNOWN' | 'CONFIRMED' | 'REQUESTED' | 'UNABLE_TO_CONFIRM' | 'DENIED' — Status of the Special Service Request.
          - `lastConfirmedTickets` Ticket[] — List of tickets from last confirmed version. These will only be set for cancelled PNRs.
            - `ticketNumber` string, required — Ticket number
            - `ticketType` 'UNKNOWN_TICKET_TYPE' | 'FLIGHT' | 'ANCILLARY' | 'MIXED' — Ticket type
            - `issuedDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
            - `status` 'UNKNOWN' | 'ISSUED' | 'VOIDED' | 'REFUNDED' | 'EXCHANGED' — Ticket status
            - `amount` FareAmount — Fare amount including base fare and tax.
              - …
            - `additionalFareAmounts` AdditionalFareAmount[] — Additional charges on the ticket like change penalty, flight pass additional charge etc.
              - …
            - `flightCoupons` object[] — List of flight coupons in this ticket
              - …
            - `ancillaries` object[] — List of ancillaries in this ticket
              - …
            - `validatingAirlineCode` string — 2 letter IATA airline code for the validating/ticketing airline
            - `exchangePolicy` object — Ticket exchange policy > **Note:** If the value of `pnrs.data.sourceInfo.bookingSource` is `TRAVEL_FUSION` then the `exchangePolicy` field will be empty.
              - …
            - `exchangeInfo` object — Ticket exchange info
              - …
            - `refundPolicy` object — Ticket refund policy > **Note:** If the value of `pnrs.data.sourceInfo.bookingSource` is `TRAVEL_FUSION` then the `refundPolicy` field will be empty.
              - …
            - `refundInfo` object — Ticket refund info
              - …
            - `llfInfo` object — Information about lowest logical fare for this ticket
              - …
            - `taxBreakdown` PnrTaxBreakdown — Tax breakdown information for this ticket
              - …
            - `commission` object — Ticket commission info
              - …
            - `iataNumber` string — Iata number
            - `fareCalculation` string — Fare calculation line
            - `updateDateTime` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
            - `paymentDetails` object[] — List of payment details for this ticket
              - …
            - `ticketSettlement` 'UNKNOWN_TICKET_SETTLEMENT' | 'ARC_TICKET' | 'BSP_TICKET' | 'NON_ARC_BSP_TICKET' — Ticket settlement
            - `ticketCtc` object — The cost to customer for this ticket
              - …
            - `publishedFare` FareAmount — Fare amount including base fare and tax.
              - …
            - `merchantFee` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `airlineFee` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `airlineFeeDetails` object — Details of the airline fee charged by the airline. It contains breakdown of the fee into base and tax amounts and ob fee percentage
              - …
            - `vendorCancellationId` string — Cancellation id sent by the supplier.
            - `conjunctionTicketSuffix` string[] — List of ticket suffix in case of multiple coupons in a single ticket from GDS
            - `createdUnusedCredit` UnusedCreditInfo — Information regarding an unused credit.
              - …
            - `ticketScheduleChangeInformation` TicketScheduleChangeInformation — Schedule change information for this ticket
              - …
            - `pcc` string — The ticketing PCC for this ticket.
            - `savingsFare` SavingsFare — Total savings present.
              - …
            - `preBookAnswers` PreBookAnswers
              - …
            - `ticketIncompleteReasons` TicketIncompleteReason[] — List of reasons for ticket being incomplete
            - `associatedTicketNumber` string — The associated ticket number for this ticket
            - `rficCode` string — Reason for issuance code
            - `journeyCode` string — Journey code
            - `hemisphereCode` string — Hemisphere code
            - `markup` object — Markup applied on this ticket by the TMC
              - …
            - `mcoIssuanceEligibility` 'ELIGIBLE' | 'NOT_ELIGIBLE' | 'MAYBE_ELIGIBLE' — Type of residue for cases where the ticket is exchanged to a lower amount
            - `emdInfo` object — EMD Information of this ticket if applicable
              - …
            - `taxInfo` object — Tax meta data associated with this ticket if applicable
              - …
            - `flightCreditInfo` object — Flight credit information if this ticket was converted to flight credit
              - …
            - `ticketPolicyInfo` TicketPolicyInfo
              - …
          - `nameNumber` string — Name number associated to the traveler like 1.1, 2.1 from Sabre
        - `automatedCancellationInfo` AutomatedCancellationInfo — Info related to possible automated cancellations
          - `supportedCancellations` object[] — Supported automated cancellations. If this list is empty, automated cancellation is not supported for this booking
            - `cancelType` 'VOID' | 'REFUND', required — Type of cancellation
            - `maxCancellationDateTime` DateTimeOffset — ISO8601 UTC Date Time
              - …
            - `totalFare` FareAmount, required — Fare amount including base fare and tax.
              - …
            - `penalty` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `merchantFee` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `refund` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
        - `automatedExchangeInfo` AutomatedExchangeInfo — Info related to possible automated exchange
          - `supportedExchanges` object[] — Supported automated exchanges. If this list is empty, automated exchange is not supported for this booking.
            - `legInfos` object[] — List of legs supported for this exchange
              - …
        - `bookingMetadata` object — Metadata like fare statistics for this booking
          - `fareStatistics` FareStatistics
            - `statisticsItems` StatisticsItem[], required
              - …
            - `cheapestFares` CheapestFareInfo[]
              - …
        - `otherServiceInfos` OtherServiceInformationDetail[] — List of all the Other Service Information associated with the PNR.
          - `customText` string — The special instruction is given in the form of text.
          - `flightIndexes` FlightAndLegIndex[] — Index of flight mapping with the OSI, starts with 0. One OSI belong to one airline, so all the segments of an airline will have the same OSI.
            - `flightIndex` integer — Flight index within a leg, starts from 0.
            - `legIndex` integer — Leg index within a pnr, starts from 0.
        - `holdDeadline` HoldInfo — Hold Information about the booking.
          - `holdDeadline` DateTimeOffset, required — ISO8601 UTC Date Time
            - `iso8601` string, required
        - `airPriceOptimizationMetadata` AirPriceOptimizationMetadata — Information related to air price optimization if PNR has been rebooked.
          - `oldTickets` string[] — List of old tickets present in PNR before rebook. For non-ticketed PNRs, tickets will not be present.
          - `newTickets` string[] — List of new tickets in PNR after rebook. For non-ticketed PNRs, tickets will not be present.
          - `oldPnrId` string, required — Old Spotnana PnrId of the PNR before rebook.
          - `newPnrId` string, required — New Spotnana PnrId of the PNR after rebook. If the same PNR has been modified during rebook, oldPnrId and newPnrId will be same. If a new PNR has been booked during rebook, oldPnrId and newPnrId will be different.
          - `oldPrice` 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.
              - …
          - `newPrice` 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.
              - …
          - `priceDrop` 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.
              - …
          - `penaltyPrice` 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.
              - …
        - `disruptedFlightDetails` FlightDetailInformation[] — List of all the last confirmed flights that have changed via disruption by the airline.
          - `departureDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
            - `iso8601` string, required
          - `arrivalDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
            - `iso8601` string, required
          - `cabin` 'UNKNOWN_CABIN' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST' — Flight cabin
          - `originAirportCode` string, required — 3 letter IATA airport code for origin
          - `destinationAirportCode` string, required — 3 letter IATA airport code for destination
          - `marketing` FlightNumber — Flight number and airline code.
            - `num` string, required — Flight number.
            - `airlineCode` string, required — Two-letter IATA airline code.
          - `operating` FlightNumber — Flight number and airline code.
            - `num` string, required — Flight number.
            - `airlineCode` string, required — Two-letter IATA airline code.
        - `voidPolicy` VoidPolicy — Void policy information for the PNR
          - `isVoidable` boolean — Set to true if either PNR is not ticketed or the PNR can be voided based on all the pre validation checks
          - `voidPeriod` Duration — Represents a duration of time with specific units of time.
            - `iso8601` string — Durations define the amount of intervening time in a time interval and are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S. The [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced. P is the duration designator (for period) placed at the start of the duration representation. Y is the year designator. M is the month designator. W is the week designator. D is the day designator. T is the time designator. H is the hour designator. M is the minute designator. S is the second designator and can include decimal digits with arbitrary precision.
          - `isInfoAvailable` boolean — If false, void policy is not available for the PNR
        - `utas` AirUta[] — Universal Travel Attributes for amenities and policies
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `showRawFareRules` boolean — For FE to show raw fare rules
      - `hotelPnr` Hotel — Hotel PNR information
        - `checkInDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
          - `iso8601` string, required
        - `checkOutDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
          - `iso8601` string, required
        - `hotelInfo` HotelInfo, required — Hotel info
          - `address` PostalAddress, required — 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
              - …
          - `chainCode` string — Chain code of the hotel.
          - `chainName` string — Chain name of the hotel.
          - `coordinates` Latlng — Latitude and Longitude for a Location
            - `latitude` number, double, required — Latitude of the Location
            - `longitude` number, double, required — Longitude of the Location
          - `email` string — Email address of the hotel.
          - `hotelId` string — Hotel id.
          - `name` string, required — Name of the hotel.
          - `phone` 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'
          - `starRating` number, double — Star rating of the hotel.
          - `fax` PhoneNumber[]
            - `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'
          - `masterChainCode` string — Master chain code of the hotel.
          - `brandName` string — Brand name of the hotel.
          - `amenities` HotelAmenities[]
            - `type` 'TWENTY_FOUR_HOUR_FRONT_DESK' | 'TWENTY_FOUR_HOUR_ROOM_SERVICE' | 'TWENTY_FOUR_HOUR_SECURITY' | 'ADJOINING_ROOMS' | 'AIR_CONDITIONING' | 'AIRLINE_DESK' | 'ATM_CASH_MACHINE' | 'BABY_SITTING' | 'BBQ_PICNIC_AREA' | 'BILINGUAL_STAFF' | 'BOOKSTORE' | 'BOUTIQUES_STORES' | 'BRAILED_ELEVATORS' | 'BUSINESS_LIBRARY' | 'CAR_RENTAL_DESK' | 'CASINO' | 'CHECK_CASHING_POLICY' | 'CHECK_IN_KIOSK' | 'COCKTAIL_LOUNGE' | 'COFFEE_SHOP' | 'COIN_OPERATED_LAUNDRY' | 'CONCIERGE_DESK' | 'CONCIERGE_FLOOR' | 'CONFERENCE_FACILITIES' | 'COURTYARD' | 'CURRENCY_EXCHANGE' | 'DESK_WITH_ELECTRICAL_OUTLET' | 'DOCTOR_ON_CALL' | 'DOOR_MAN' | 'DRIVING_RANGE' | 'DRUGSTORE_PHARMACY' | 'DUTY_FREE_SHOP' | 'ELEVATORS' | 'EXECUTIVE_FLOOR' | 'EXERCISE_GYM' | 'EXPRESS_CHECK_IN' | 'EXPRESS_CHECK_OUT' | 'FAMILY_PLAN' | 'FLORIST' | 'FOLIOS' | 'FREE_AIRPORT_SHUTTLE' | 'FREE_PARKING' | 'FREE_TRANSPORTATION' | 'GAME_ROOM' | 'GIFT_NEWS_STAND' | 'HAIRDRESSER_BARBER' | 'ACCESSIBLE_FACILITIES' | 'HEALTH_CLUB' | 'HEATED_POOL' | 'HOUSEKEEPING_DAILY' | 'HOUSEKEEPING_WEEKLY' | 'ICE_MACHINE' | 'INDOOR_PARKING' | 'INDOOR_POOL' | 'JACUZZI' | 'JOGGING_TRACK' | 'KENNELS' | 'LAUNDRY_VALET_SERVICE' | 'LIQUOR_STORE' | 'LIVE_ENTERTAINMENT' | 'MASSAGE_SERVICES' | 'NIGHTCLUB' | 'OFF_SITE_PARKING' | 'ON_SITE_PARKING' | 'OUTDOOR_PARKING' | 'OUTDOOR_POOL' | 'PACKAGE_PARCEL_SERVICES' | 'PARKING' | 'PHOTOCOPY_CENTER' | 'PLAYGROUND' | 'POOL' | 'POOLSIDE_SNACK_BAR' | 'PUBLIC_ADDRESS_SYSTEM' | 'RAMP_ACCESS' | 'RECREATIONAL_VEHICLE_PARKING' | 'RESTAURANT' | 'ROOM_SERVICE' | 'SAFE_DEPOSIT_BOX' | 'SAUNA' | 'SECURITY' | 'SHOE_SHINE_STAND' | 'SHOPPING_MALL' | 'SOLARIUM' | 'SPA' | 'SPORTS_BAR' | 'STEAM_BATH' | 'STORAGE_SPACE' | 'SUNDRY_CONVENIENCE_STORE' | 'TECHNICAL_CONCIERGE' | 'THEATRE_DESK' | 'TOUR_SIGHTSEEING_DESK' | 'TRANSLATION_SERVICES' | 'TRAVEL_AGENCY' | 'TRUCK_PARKING' | 'VALET_CLEANING' | 'DRY_CLEANING' | 'VALET_PARKING' | 'VENDING_MACHINES' | 'VIDEO_TAPES' | 'WAKEUP_SERVICE' | 'WHEELCHAIR_ACCESS' | 'WHIRLPOOL' | 'MULTILINGUAL_STAFF' | 'WEDDING_SERVICES' | 'BANQUET_FACILITIES' | 'BELL_STAFF_PORTER' | 'BEAUTY_SHOP_SALON' | 'COMPLIMENTARY_SELF_SERVICE_LAUNDRY' | 'DIRECT_DIAL_TELEPHONE' | 'FEMALE_TRAVELER_ROOM_FLOOR' | 'PHARMACY' | 'STABLES' | 'ONE_TWENTY_AC' | 'ONE_TWENTY_DC' | 'TWO_TWENTY_AC' | 'ACCESSIBLE_PARKING' | 'TWO_TWENTY_DC' | 'BARBEQUE_GRILLS' | 'WOMENS_CLOTHING' | 'MENS_CLOTHING' | 'CHILDRENS_CLOTHING' | 'SHOPS_AND_COMMERCIAL_SERVICES' | 'VIDEO_GAMES' | 'SPORTS_BAR_OPEN_FOR_LUNCH' | 'SPORTS_BAR_OPEN_FOR_DINNER' | 'ROOM_SERVICE_FULL_MENU' | 'ROOM_SERVICE_LIMITED_MENU' | 'ROOM_SERVICE_LIMITED_HOURS' | 'VALET_SAME_DAY_DRY_CLEANING' | 'BODY_SCRUB' | 'BODY_WRAP' | 'PUBLIC_AREA_AIR_CONDITIONED' | 'EFOLIO_AVAILABLE_TO_COMPANY' | 'INDIVIDUAL_EFOLIO_AVAILABLE' | 'VIDEO_REVIEW_BILLING' | 'BUTLER_SERVICE' | 'COMPLIMENTARY_IN_ROOM_COFFEE_OR_TEA' | 'COMPLIMENTARY_BUFFET_BREAKFAST' | 'COMPLIMENTARY_COCKTAILS' | 'COMPLIMENTARY_COFFEE_IN_LOBBY' | 'COMPLIMENTARY_CONTINENTAL_BREAKFAST' | 'COMPLIMENTARY_FULL_AMERICAN_BREAKFAST' | 'DINNER_DELIVERY_SERVICE_FROM_LOCAL_RESTAURANT' | 'COMPLIMENTARY_NEWSPAPER_DELIVERED_TO_ROOM' | 'COMPLIMENTARY_NEWSPAPER_IN_LOBBY' | 'COMPLIMENTARY_SHOESHINE' | 'EVENING_RECEPTION' | 'FRONT_DESK' | 'GROCERY_SHOPPING_SERVICE_AVAILABLE' | 'HALAL_FOOD_AVAILABLE' | 'KOSHER_FOOD_AVAILABLE' | 'LIMOUSINE_SERVICE' | 'MANAGERS_RECEPTION' | 'MEDICAL_FACILITIES_SERVICE' | 'TELEPHONE_JACK_ADAPTOR_AVAILABLE' | 'ALL_INCLUSIVE_MEAL_PLAN' | 'BUFFET_BREAKFAST' | 'COMMUNAL_BAR_AREA' | 'CONTINENTAL_BREAKFAST' | 'FULL_MEAL_PLAN' | 'FULL_AMERICAN_BREAKFAST' | 'MEAL_PLAN_AVAILABLE' | 'MODIFIED_AMERICAN_MEAL_PLAN' | 'FOOD_AND_BEVERAGE_OUTLETS' | 'LOUNGES_BARS' | 'BARBER_SHOP' | 'VIDEO_CHECKOUT' | 'ONSITE_LAUNDRY' | 'TWENTY_FOUR_HOUR_FOOD_AND_BEVERAGE_KIOSK' | 'CONCIERGE_LOUNGE' | 'PARKING_FEE_MANAGED_BY_HOTEL' | 'TRANSPORTATION' | 'BREAKFAST_SERVED_IN_RESTAURANT' | 'LUNCH_SERVED_IN_RESTAURANT' | 'DINNER_SERVED_IN_RESTAURANT' | 'FULL_SERVICE_HOUSEKEEPING' | 'LIMITED_SERVICE_HOUSEKEEPING' | 'HIGH_SPEED_INTERNET_ACCESS_FOR_LAPTOP_IN_PUBLIC_AREAS' | 'WIRELESS_INTERNET_CONNECTION_IN_PUBLIC_AREAS' | 'ADDITIONAL_SERVICES_AMENITIES_FACILITIES_ON_PROPERTY' | 'TRANSPORTATION_SERVICES_LOCAL_AREA' | 'TRANSPORTATION_SERVICES_LOCAL_OFFICE' | 'DVD_VIDEO_RENTAL' | 'PARKING_LOT' | 'PARKING_DECK' | 'STREET_SIDE_PARKING' | 'COCKTAIL_LOUNGE_WITH_ENTERTAINMENT' | 'COCKTAIL_LOUNGE_WITH_LIGHT_FARE' | 'MOTORCYCLE_PARKING' | 'PHONE_SERVICES' | 'BALLROOM' | 'BUS_PARKING' | 'CHILDRENS_PLAY_AREA' | 'CHILDRENS_NURSERY' | 'DISCO' | 'EARLY_CHECK_IN' | 'LOCKER_ROOM' | 'NON_SMOKING_ROOMS_GENERIC' | 'TRAIN_ACCESS' | 'AEROBICS_INSTRUCTION' | 'BAGGAGE_HOLD' | 'BICYCLE_RENTALS' | 'DIETICIAN' | 'LATE_CHECK_OUT_AVAILABLE' | 'PET_SITTING_SERVICES' | 'PRAYER_MATS' | 'SPORTS_TRAINER' | 'TURNDOWN_SERVICE' | 'DVDS_VIDEOS_CHILDREN' | 'BANK' | 'LOBBY_COFFEE_SERVICE' | 'BANKING_SERVICES' | 'STAIRWELLS' | 'PET_AMENITIES_AVAILABLE' | 'EXHIBITION_CONVENTION_FLOOR' | 'LONG_TERM_PARKING' | 'CHILDREN_NOT_ALLOWED' | 'CHILDREN_WELCOME' | 'COURTESY_CAR' | 'HOTEL_DOES_NOT_PROVIDE_PORNOGRAPHIC_FILMS_TV' | 'HOTSPOTS' | 'FREE_HIGH_SPEED_INTERNET_CONNECTION' | 'INTERNET_SERVICES' | 'PETS_ALLOWED' | 'GOURMET_HIGHLIGHTS' | 'CATERING_SERVICES' | 'COMPLIMENTARY_BREAKFAST' | 'BUSINESS_CENTER' | 'BUSINESS_SERVICES' | 'SECURED_PARKING' | 'RACQUETBALL' | 'SNOW_SPORTS' | 'TENNIS_COURT' | 'WATER_SPORTS' | 'CHILD_PROGRAMS' | 'GOLF' | 'HORSEBACK_RIDING' | 'OCEANFRONT' | 'BEACHFRONT' | 'HAIR_DRYER' | 'IRONING_BOARD' | 'HEATED_GUEST_ROOMS' | 'TOILET' | 'PARLOR' | 'VIDEO_GAME_PLAYER' | 'THALASSOTHERAPY' | 'PRIVATE_DINING_FOR_GROUPS' | 'HEARING_IMPAIRED_SERVICES' | 'CARRYOUT_BREAKFAST' | 'DELUXE_CONTINENTAL_BREAKFAST' | 'HOT_CONTINENTAL_BREAKFAST' | 'HOT_BREAKFAST' | 'PRIVATE_POOL' | 'CONNECTING_ROOMS' | 'DATA_PORT' | 'EXTERIOR_CORRIDORS' | 'GULF_VIEW' | 'ACCESSIBLE_ROOMS' | 'HIGH_SPEED_INTERNET_ACCESS' | 'INTERIOR_CORRIDORS' | 'HIGH_SPEED_WIRELESS' | 'KITCHENETTE' | 'PRIVATE_BATH_OR_SHOWER' | 'FIRE_SAFETY_COMPLIANT' | 'WELCOME_DRINK' | 'BOARDING_PASS_PRINT_OUT_AVAILABLE' | 'PRINTING_SERVICES_AVAILABLE' | 'ALL_PUBLIC_AREAS_NON_SMOKING' | 'MEETING_ROOMS' | 'MOVIES_IN_ROOM' | 'SECRETARIAL_SERVICE' | 'SNOW_SKIING' | 'WATER_SKIING' | 'FAX_SERVICE' | 'GREAT_ROOM' | 'LOBBY' | 'MULTIPLE_PHONE_LINES_BILLED_SEPARATELY' | 'UMBRELLAS' | 'GAS_STATION' | 'GROCERY_STORE' | 'TWENTY_FOUR_HOUR_COFFEE_SHOP' | 'AIRPORT_SHUTTLE_SERVICE' | 'LUGGAGE_SERVICE' | 'PIANO_BAR' | 'VIP_SECURITY' | 'COMPLIMENTARY_WIRELESS_INTERNET' | 'CONCIERGE_BREAKFAST' | 'SAME_GENDER_FLOOR' | 'CHILDREN_PROGRAMS' | 'BUILDING_MEETS_LOCAL_STATE_AND_COUNTRY_BUILDING_CODES' | 'INTERNET_BROWSER_ON_TV' | 'NEWSPAPER' | 'PARKING_CONTROLLED_ACCESS_GATES_TO_ENTER_PARKING_AREA' | 'HOTEL_SAFE_DEPOSIT_BOX_NOT_ROOM_SAFE_BOX' | 'STORAGE_SPACE_AVAILABLE_FEE' | 'TYPE_OF_ENTRANCES_TO_GUEST_ROOMS' | 'BEVERAGE_COCKTAIL' | 'CELL_PHONE_RENTAL' | 'COFFEE_TEA' | 'EARLY_CHECK_IN_GUARANTEE' | 'FOOD_AND_BEVERAGE_DISCOUNT' | 'LATE_CHECK_OUT_GUARANTEE' | 'ROOM_UPGRADE_CONFIRMED' | 'ROOM_UPGRADE_ON_AVAILABILITY' | 'SHUTTLE_TO_LOCAL_BUSINESSES' | 'SHUTTLE_TO_LOCAL_ATTRACTIONS' | 'SOCIAL_HOUR' | 'VIDEO_BILLING' | 'WELCOME_GIFT' | 'HYPOALLERGENIC_ROOMS' | 'ROOM_AIR_FILTRATION' | 'SMOKE_FREE_PROPERTY' | 'WATER_PURIFICATION_SYSTEM_IN_USE' | 'POOLSIDE_SERVICE' | 'CLOTHING_STORE' | 'ELECTRIC_CAR_CHARGING_STATIONS' | 'OFFICE_RENTAL' | 'PIANO' | 'INCOMING_FAX' | 'OUTGOING_FAX' | 'SEMI_PRIVATE_SPACE' | 'LOADING_DOCK' | 'BABY_KIT' | 'CHILDRENS_BREAKFAST' | 'CLOAKROOM_SERVICE' | 'COFFEE_LOUNGE' | 'EVENTS_TICKET_SERVICE' | 'LATE_CHECK_IN' | 'LIMITED_PARKING' | 'OUTDOOR_SUMMER_BAR_CAFE' | 'NO_PARKING_AVAILABLE' | 'BEER_GARDEN' | 'GARDEN_LOUNGE_BAR' | 'SUMMER_TERRACE' | 'WINTER_TERRACE' | 'ROOF_TERRACE' | 'BEACH_BAR' | 'HELICOPTER_SERVICE' | 'FERRY' | 'TAPAS_BAR' | 'CAFE_BAR' | 'SNACK_BAR' | 'GUESTROOM_WIRED_INTERNET' | 'GUESTROOM_WIRELESS_INTERNET' | 'FITNESS_CENTER' | 'ALCOHOLIC_BEVERAGES' | 'NON_ALCOHOLIC_BEVERAGES' | 'HEALTH_AND_BEAUTY_SERVICES' | 'LOCAL_CALLS' | 'MINIBAR' | 'REFRIGERATOR' | 'IN_ROOM_SAFE' | 'SMOKING_ROOMS_AVAILBLE' | 'MOUNTAIN_VIEW' | 'POOL_VIEW' | 'BEACH_VIEW' | 'OCEAN_VIEW' | 'ROOMS_WITH_BALCONY' | 'FAMILY_ROOM' | 'CRIB_CHARGE' | 'ROLLAWAY_ADULT' | 'FREE_WIFI_IN_MEETING_ROOMS' | 'ECO_FRIENDLY' | 'EXTRA_PERSON' | 'STAY_SAFE' | 'ENHANCED_HYGIENE_CLEANLINESS_PROTOCOLS' — Type of hotel amenity.
            - `additionalInfo` string — Amenity description
            - `complimentary` boolean — Is Amenity complimentary
          - `additionalAmenities` string[] — List of amenities provided by the supplier.
          - `imageSets` HotelImageSet[]
            - `category` 'UNKNOWN_CATEGORY' | 'EXTERIOR_VIEW' | 'LOBBY_VIEW' | 'POOL_VIEW' | 'RESTAURANT' | 'HEALTH_CLUB' | 'GUEST_ROOM' | 'SUITE' | 'MEETING_ROOM' | 'BALLROOM' | 'GOLF_COURSE' | 'BEACH' | 'SPA' | 'BAR_OR_LOUNGE' | 'RECREATIONAL_FACILITY' | 'LOGO' | 'BASICS' | 'MAP' | 'PROMOTIONAL' | 'HOT_NEWS' | 'MISCELLANEOUS' | 'GUEST_ROOM_AMENITY' | 'PROPERTY_AMENITY' | 'BUSINESS_CENTER', required — Category of image such as exterior, spa, etc.
            - `imageGroup` ImageGroup, required — Contains different sizes of the same image.
              - …
          - `descriptions` HotelDescription[]
            - `type` 'GENERAL' | 'ALERTS' | 'DINING' | 'FACILITIES' | 'RECREATION' | 'SERVICES' | 'ATTRACTIONS' | 'CANCELLATION_POLICY' | 'DEPOSIT_POLICY' | 'DIRECTIONS' | 'POLICIES' | 'SAFETY' | 'TRANSPORTATION' — Hotel description type
            - `value` string — Hotel description value
          - `thirdPartyHotelCodes` ThirdPartyHotelCode[]
            - `hotelCode` string, required — Third party hotel code.
            - `hotelCodeType` 'SABRE_CSL' | 'SABRE_TN' | 'EXPEDIA_RAPID' | 'MARRIOTT' | 'GIATA' | 'BCD', required — Type of the third party.
        - `numberOfRooms` integer, required — Number of rooms booked.
        - `payment` object, required — Payment method.
          - `paymentType` 'UNKNOWN' | 'PAY_AT_HOTEL' | 'PREPAID' | 'OTHER', required — Payment type.
          - `description` string — Payment method, if payment type is OTHER.
        - `pnrStatus` 'UNKNOWN' | 'INITIATED' | 'CANCELLED' | 'CONFIRMED' | 'GROUP_BOOKING_ON_REQUEST' | 'WAITLISTED' | 'PENDING' | 'AIRLINE_UPGRADE' | 'WAITLIST_CONFIRMED' | 'BOOKING_DENIED_CONTACT_SUPPORT' | 'NO_SHOW' | 'CONTACT_SUPPORT' | 'STATUS_CHANGED_CONTACT_SUPPORT' | 'SCHEDULE_CHANGE' | 'SEGMENT_REQUEST' | 'SCHEDULE_CHANGE_WAITLISTED_BOOKING' | 'REQUEST_PENDING' | 'WAITLISTED_NOT_CONFIRMED' | 'SCHEDULE_CHANGE_NOT_CONFIRMED' | 'SCHEDULE_CHANGE_PENDING_STATUS' | 'MIS_CONNECTION' | 'REQUESTED' | 'TICKETED' | 'VOIDED' | 'CANCELLED_BY_VENDOR' | 'CANCELLATION_IN_PROGRESS' | 'REINSTATED' | 'BOOKING_ON_HOLD' | 'AIRLINE_CONTROL' | 'MODIFIED' | 'PAYMENT_DECLINED' | 'INOPERATIVE' | 'UNCONFIRMED' — Status of PNR
        - `room` Room, required — Room info
          - `bedCount` integer, required — Number of rooms.
          - `bedType` 'UNKNOWN_BED_TYPE' | 'DOUBLE' | 'FUTON' | 'KING' | 'MURPHY' | 'QUEEN' | 'SOFA' | 'TATAMI_MATS' | 'TWIN' | 'SINGLE' | 'FULL' | 'RUN_OF_THE_HOUSE' | 'DORM' | 'WATER' | 'PULL_OUT' | 'TWIN_XL', required — Bed types.
          - `cancellationPolicy` CancellationPolicy3, required — Cancellation policy info.
            - `policy` 'UNKNOWN' | 'NON_REFUNDABLE' | 'FREE_CANCELLATION_UNTIL' | 'PARTIALLY_REFUNDABLE', required — Indicates whether the booking is refundable or not.
            - `deadline` DateTimeLocal — Local date and time in ISO 8601 format.
              - …
            - `deadlineUtc` DateTimeOffset — ISO8601 UTC Date Time
              - …
            - `durationBeforeArrivalDeadline` Duration — Represents a duration of time with specific units of time.
              - …
            - `amount` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `currentlyRefundable` 'TRUE' | 'FALSE' — Refundable status that is currently applicable in the hotel timezone. FALSE even if it is partially refundable.
            - `cancellableStatus` 'CANCELLABLE_STATUS_UNSPECIFIED' | 'CANCELLABLE' | 'NOT_CANCELLABLE' — Whether the booking can be cancelled. UNSPECIFIED and CANCELLABLE are treated as cancellable. Some suppliers (e.g. Premier Inn) block cancellation on non-refundable rates.
          - `rateInfo` object, required — Rate info for the booking
            - `nightlyRate` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `totalRate` Cost, required — Rate info for non-air pnr.
              - …
            - `overallPenaltyCharged` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `publishedRate` Cost — Rate info for non-air pnr.
              - …
            - `publishedNightlyRate` Cost — Rate info for non-air pnr.
              - …
            - `prepaidRate` Cost — Rate info for non-air pnr.
              - …
            - `postpaidRate` Cost — Rate info for non-air pnr.
              - …
            - `rateCode` string — Rate Code used for the booking
            - `isModifiable` boolean — Flag to indicate if the rate is modifiable
            - `isFopModifiable` boolean — Flag to indicate if the form of payment is modifiable
            - `nightlyRates` Cost[] — Nightly rates for the booking.
              - …
            - `rateType` 'PUBLISHED' | 'CORPORATE' | 'SPOTNANA' | 'REGULAR' | 'AAA' | 'AARP' | 'SENIOR_CITIZEN' | 'GOVERNMENT' | 'MILITARY' | 'MEMBERSHIP' | 'BEST_AVAILABLE_RATE' | 'TMC'
          - `roomName` string — Name of the room.
          - `imageSets` HotelImageSet[]
            - `category` 'UNKNOWN_CATEGORY' | 'EXTERIOR_VIEW' | 'LOBBY_VIEW' | 'POOL_VIEW' | 'RESTAURANT' | 'HEALTH_CLUB' | 'GUEST_ROOM' | 'SUITE' | 'MEETING_ROOM' | 'BALLROOM' | 'GOLF_COURSE' | 'BEACH' | 'SPA' | 'BAR_OR_LOUNGE' | 'RECREATIONAL_FACILITY' | 'LOGO' | 'BASICS' | 'MAP' | 'PROMOTIONAL' | 'HOT_NEWS' | 'MISCELLANEOUS' | 'GUEST_ROOM_AMENITY' | 'PROPERTY_AMENITY' | 'BUSINESS_CENTER', required — Category of image such as exterior, spa, etc.
            - `imageGroup` ImageGroup, required — Contains different sizes of the same image.
              - …
          - `meals` HotelRoomMeal — Meal details for the room.
            - `mealsIncluded` HotelRoomMealsIncluded[]
            - `mealPlan` 'UNKNOWN' | 'ALL_INCLUSIVE' | 'AMERICAN' | 'BED_AND_BREAKFAST' | 'BUFFET_BREAKFAST' | 'CARIBBEAN_BREAKFAST' | 'CONTINENTAL_BREAKFAST' | 'ENGLISH_BREAKFAST' | 'EUROPEAN_PLAN' | 'FAMILY_PLAN' | 'FULL_BOARD' | 'FULL_BREAKFAST' | 'HALF_BOARD_MODIFIED_AMERICAN_PLAN' | 'AS_BROCHURED' | 'ROOM_ONLY' | 'SELF_CATERING' | 'BERMUDA' | 'DINNER_BED_AND_BREAKFAST_PLAN' | 'FAMILY_AMERICAN' | 'BREAKFAST_MEAL_PLAN' | 'MODIFIED' | 'LUNCH_MEAL_PLAN' | 'DINNER_MEAL_PLAN' | 'BREAKFAST_AND_LUNCH', required — Type of meal plan
          - `roomAmenities` RoomAmenitiy[]
            - `additionalInfo` string — Extra information about the room amenity
            - `isComplimentary` boolean — Is amenity complimentary
            - `roomAmenityType` 'UNKNOWN' | 'ADJOINING_ROOMS' | 'AIR_CONDITIONING' | 'ALARM_CLOCK' | 'ALL_NEWS_CHANNEL' | 'AM_FM_RADIO' | 'BABY_LISTENING_DEVICE' | 'BALCONY_LANAI_TERRACE' | 'BARBEQUE_GRILLS' | 'BATH_TUB_WITH_SPRAY_JETS' | 'BATHROBE' | 'BATHROOM_AMENITIES' | 'BATHROOM_TELEPHONE' | 'BATHTUB' | 'BATHTUB_ONLY' | 'BATHTUB_SHOWER_COMBINATION' | 'BIDET' | 'BOTTLED_WATER' | 'CABLE_TELEVISION' | 'COFFEE_TEA_MAKER' | 'COLOR_TELEVISION' | 'COMPUTER' | 'CONNECTING_ROOMS' | 'CONVERTERS_VOLTAGE_ADAPTORS' | 'COPIER' | 'CORDLESS_PHONE' | 'CRIBS' | 'DATA_PORT' | 'DESK' | 'DESK_WITH_LAMP' | 'DINING_GUIDE' | 'DIRECT_DIAL_PHONE_NUMBER' | 'DISHWASHER' | 'DOUBLE_BEDS' | 'DUAL_VOLTAGE_OUTLET' | 'ELECTRICAL_CURRENT_VOLTAGE' | 'ERGONOMIC_CHAIR' | 'EXTENDED_PHONE_CORD' | 'FAX_MACHINE' | 'FIRE_ALARM' | 'FIRE_ALARM_WITH_LIGHT' | 'FIREPLACE' | 'FREE_TOLL_FREE_CALLS' | 'FREE_CALLS' | 'FREE_CREDIT_CARD_ACCESS_CALLS' | 'FREE_LOCAL_CALLS' | 'FREE_MOVIES_VIDEO' | 'FULL_KITCHEN' | 'GRAB_BARS_IN_BATHROOM' | 'GRECIAN_TUB' | 'HAIRDRYER' | 'HIGH_SPEED_INTERNET_CONNECTION' | 'INTERACTIVE_WEB_TV' | 'INTERNATIONAL_DIRECT_DIALING' | 'INTERNET_ACCESS' | 'IRON' | 'IRONING_BOARD' | 'WHIRPOOL' | 'KING_BED' | 'KITCHEN' | 'KITCHEN_SUPPLIES' | 'KITCHENETTE' | 'KNOCK_LIGHT' | 'LAPTOP' | 'LARGE_DESK' | 'LARGE_WORK_AREA' | 'LAUNDRY_BASKET_CLOTHES_HAMPER' | 'LOFT' | 'MICROWAVE' | 'MINIBAR' | 'MODEM' | 'MODEM_JACK' | 'MULTILINE_PHONE' | 'NEWSPAPER' | 'NONSMOKING' | 'NOTEPADS' | 'OFFICE_SUPPLIES' | 'OVEN' | 'PAY_PER_VIEW_MOVIES_ON_TV' | 'PENS' | 'PHONE_IN_BATHROOM' | 'PLATES_AND_BOWLS' | 'POTS_AND_PANS' | 'PRAYER_MATS' | 'PRINTER' | 'PRIVATE_BATHROOM' | 'QUEEN_BED' | 'RECLINER' | 'REFRIGERATOR' | 'REFRIGERATOR_WITH_ICE_MAKER' | 'REMOTE_CONTROL_TELEVISION' | 'ROLLAWAY_BED' | 'SAFE' | 'SCANNER' | 'SEPARATE_CLOSET' | 'SEPARATE_MODEM_LINE_AVAILABLE' | 'SHOE_POLISHER' | 'SHOWER_ONLY' | 'SILVERWARE_UTENSILS' | 'SITTING_AREA' | 'SMOKE_DETECTORS' | 'SMOKING' | 'SOFA_BED' | 'SPEAKER_PHONE' | 'STEREO' | 'STOVE' | 'TAPE_RECORDER' | 'TELEPHONE' | 'TELEPHONE_FOR_HEARING_IMPAIRED' | 'TELEPHONES_WITH_MESSAGE_LIGHT' | 'TOASTER_OVEN' | 'TROUSER_PANT_PRESS' | 'TURN_DOWN_SERVICE' | 'TWIN_BED' | 'VAULTED_CEILINGS' | 'VCR_MOVIES' | 'VCR_PLAYER' | 'VIDEO_GAMES_AMENITY' | 'VOICE_MAIL' | 'WAKEUP_CALLS' | 'WATER_CLOSET' | 'WATER_PURIFICATION_SYSTEM' | 'WET_BAR' | 'WIRELESS_INTERNET_CONNECTION' | 'WIRELESS_KEYBOARD' | 'ADAPTOR_AVAILABLE_FOR_TELEPHONE_PC_USE' | 'AIR_CONDITIONING_INDIVIDUALLY_CONTROLLED_IN_ROOM' | 'BATHTUB_ANDWHIRLPOOL_SEPARATE' | 'TELEPHONE_WITH_DATA_PORTS' | 'CD_PLAYER' | 'COMPLIMENTARY_LOCAL_CALLS_TIME_LIMIT' | 'EXTRA_PERSON_CHARGE_FOR_ROLLAWAY_USE' | 'DOWN_FEATHER_PILLOWS' | 'DESK_WITH_ELECTRICAL_OUTLET' | 'ESPN_AVAILABLE' | 'FOAM_PILLOWS' | 'HBO_AVAILABLE' | 'HIGH_CEILINGS' | 'MARBLE_BATHROOM' | 'LIST_OF_MOVIE_CHANNELS_AVAILABLE' | 'PETS_ALLOWED' | 'OVERSIZED_BATHTUB' | 'SHOWER' | 'SINK_INROOM' | 'SOUNDPROOFED_ROOM' | 'STORAGE_SPACE' | 'TABLES_AND_CHAIRS' | 'TWOLINE_PHONE' | 'WALKIN_CLOSET' | 'WASHER_DRYER' | 'WEIGHT_SCALE' | 'WELCOME_GIFT' | 'SPARE_ELECTRICAL_OUTLET_AVAILABLE_AT_DESK' | 'NONREFUNDABLE_CHARGE_FOR_PETS' | 'REFUNDABLE_DEPOSIT_FOR_PETS' | 'SEPARATE_TUB_AND_SHOWER' | 'ENTRANCE_TYPE_TO_GUEST_ROOM' | 'CEILING_FAN' | 'CNN_AVAILABLE' | 'ELECTRICAL_ADAPTORS_AVAILABLE' | 'BUFFET_BREAKFAST' | 'ACCESSIBLE_ROOM' | 'CLOSETS_IN_ROOM' | 'DVD_PLAYER' | 'MINIREFRIGERATOR' | 'SEPARATE_LINE_BILLING_FOR_MULTILINE_PHONE' | 'SELFCONTROLLED_HEATING_COOLING_SYSTEM' | 'TOASTER' | 'ANALOG_DATA_PORT' | 'COLLECT_CALLS' | 'INTERNATIONAL_CALLS' | 'CARRIER_ACCESS' | 'INTERSTATE_CALLS' | 'INTRASTATE_CALLS' | 'LOCAL_CALLS' | 'LONG_DISTANCE_CALLS' | 'OPERATORASSISTED_CALLS' | 'CREDIT_CARD_ACCESS_CALLS' | 'CALLING_CARD_CALLS' | 'TOLL_FREE_CALLS' | 'UNIVERSAL_AC_DC_ADAPTORS' | 'BATHTUB_SEAT' | 'CANOPY_POSTER_BED' | 'CUPS_GLASSWARE' | 'ENTERTAINMENT_CENTER' | 'FAMILY_OVERSIZED_ROOM' | 'HYPOALLERGENIC_BED' | 'HYPOALLERGENIC_PILLOWS' | 'LAMP' | 'MEAL_INCLUDED_BREAKFAST' | 'MEAL_INCLUDED_CONTINENTAL_BREAKFAST' | 'MEAL_INCLUDED_DINNER' | 'MEAL_INCLUDED_LUNCH' | 'SHARED_BATHROOM' | 'TELEPHONE_TDD_TEXTPHONE' | 'WATER_BED' | 'EXTRA_ADULT_CHARGE' | 'EXTRA_CHILD_CHARGE' | 'EXTRA_CHILD_CHARGE_FOR_ROLLAWAY_USE' | 'MEAL_INCLUDED_FULL_AMERICAN_BREAKFAST' | 'FUTON' | 'MURPHY_BED' | 'TATAMI_MATS' | 'SINGLE_BED' | 'ANNEX_ROOM' | 'FREE_NEWSPAPER' | 'HONEYMOON_SUITES' | 'COMPLIMENTARY_HIGH_SPEED_INTERNET_IN_ROOM' | 'MAID_SERVICE' | 'PC_HOOKUP_IN_ROOM' | 'SATELLITE_TELEVISION' | 'VIP_ROOMS' | 'CELL_PHONE_RECHARGER' | 'DVR_PLAYER' | 'IPOD_DOCKING_STATION' | 'MEDIA_CENTER' | 'PLUG_AND_PLAY_PANEL' | 'SATELLITE_RADIO' | 'VIDEO_ON_DEMAND' | 'EXTERIOR_CORRIDORS' | 'GULF_VIEW' | 'ACCESSIBLE_ROOM_AMENITY' | 'INTERIOR_CORRIDORS' | 'MOUNTAIN_VIEW' | 'OCEAN_VIEW' | 'HIGH_SPEED_INTERNET_ACCESS_FEE' | 'HIGH_SPEED_WIRELESS' | 'PREMIUM_MOVIE_CHANNELS' | 'SLIPPERS' | 'FIRST_NIGHTERS_KIT' | 'CHAIR_PROVIDED_WITH_DESK' | 'PILLOW_TOP_MATTRESS' | 'FEATHER_BED' | 'DUVET' | 'LUXURY_LINEN_TYPE' | 'INTERNATIONAL_CHANNELS' | 'PANTRY' | 'DISHCLEANING_SUPPLIES' | 'DOUBLE_VANITY' | 'LIGHTED_MAKEUP_MIRROR' | 'UPGRADED_BATHROOM_AMENITIES' | 'VCR_PLAYER_AVAILABLE_AT_FRONT_DESK' | 'INSTANT_HOT_WATER' | 'OUTDOOR_SPACE' | 'HINOKI_TUB' | 'PRIVATE_POOL' | 'HIGH_DEFINITION_HD_FLAT_PANEL_TELEVISION_32_INCHES_OR_GREATER' | 'ROOM_WINDOWS_OPEN' | 'BEDDING_TYPE_UNKNOWN_OR_UNSPECIFIED' | 'FULL_BED' | 'ROUND_BED' | 'TV' | 'CHILD_ROLLAWAY' | 'DVD_PLAYER_AVAILABLE_AT_FRONT_DESK' | 'VIDEO_GAME_PLAYER' | 'VIDEO_GAME_PLAYER_AVAILABLE_AT_FRONT_DESK' | 'DINING_ROOM_SEATS' | 'FULL_SIZE_MIRROR' | 'MOBILE_CELLULAR_PHONES' | 'MOVIES' | 'MULTIPLE_CLOSETS' | 'PLATES_GLASSWARE' | 'SAFE_LARGE_ENOUGH_TO_ACCOMMODATE_A_LAPTOP' | 'BED_LINEN_THREAD_COUNT' | 'BLACKOUT_CURTAIN' | 'BLURAY_PLAYER' | 'DEVICE_WITH_MP3' | 'NO_ADULT_CHANNELS_OR_ADULT_CHANNEL_LOCK' | 'NONALLERGENIC_ROOM' | 'PILLOW_TYPE' | 'SEATING_AREA_WITH_SOFA_CHAIR' | 'SEPARATE_TOILET_AREA' | 'WEB_ENABLED' | 'WIDESCREEN_TV' | 'OTHER_DATA_CONNECTION' | 'PHONELINE_BILLED_SEPARATELY' | 'SEPARATE_TUB_OR_SHOWER' | 'VIDEO_GAMES' | 'ROOF_VENTILATOR' | 'CHILDRENS_PLAYPEN' | 'PLUNGE_POOL' | 'DVD_MOVIES' | 'AIR_FILTRATION' | 'BRAILLE_SIGNAGE' | 'WHEELCHAIR_ACCESSIBLE_VANITY' | 'LOWERED_ELECTRICAL_OUTLETS' | 'LOWERED_PEEPHOLE' | 'LOWERED_LOCKS' | 'LOWERED_COUNTERS' | 'LOWERED_DESK' | 'LOWERED_BED' | 'LEVER_DOOR_HANDLES' | 'ACCESSIBLE_COUNTER_HEIGHT' | 'ACCESSIBLE_DOORWAY_WIDTH' | 'ACCESSIBLE_VANITY_HEIGHT' | 'ACCESSIBLE_BED_HEIGHT' | 'ACCESSIBLE_DESK_HEIGHT' | 'ACCESSIBLE_SHOWER_WIDTH', required — Room amenity type
          - `amenities` HotelRoomAmenity[]
            - `additionalInfo` string — Extra information about the room amenity
            - `complimentary` boolean — Is amenity complimentary
            - `type` 'UNKNOWN' | 'ADJOINING_ROOMS' | 'AIR_CONDITIONING' | 'ALARM_CLOCK' | 'ALL_NEWS_CHANNEL' | 'AM_FM_RADIO' | 'BABY_LISTENING_DEVICE' | 'BALCONY_LANAI_TERRACE' | 'BARBEQUE_GRILLS' | 'BATH_TUB_WITH_SPRAY_JETS' | 'BATHROBE' | 'BATHROOM_AMENITIES' | 'BATHROOM_TELEPHONE' | 'BATHTUB' | 'BATHTUB_ONLY' | 'BATHTUB_SHOWER_COMBINATION' | 'BIDET' | 'BOTTLED_WATER' | 'CABLE_TELEVISION' | 'COFFEE_TEA_MAKER' | 'COLOR_TELEVISION' | 'COMPUTER' | 'CONNECTING_ROOMS' | 'CONVERTERS_VOLTAGE_ADAPTORS' | 'COPIER' | 'CORDLESS_PHONE' | 'CRIBS' | 'DATA_PORT' | 'DESK' | 'DESK_WITH_LAMP' | 'DINING_GUIDE' | 'DIRECT_DIAL_PHONE_NUMBER' | 'DISHWASHER' | 'DOUBLE_BEDS' | 'DUAL_VOLTAGE_OUTLET' | 'ELECTRICAL_CURRENT_VOLTAGE' | 'ERGONOMIC_CHAIR' | 'EXTENDED_PHONE_CORD' | 'FAX_MACHINE' | 'FIRE_ALARM' | 'FIRE_ALARM_WITH_LIGHT' | 'FIREPLACE' | 'FREE_TOLL_FREE_CALLS' | 'FREE_CALLS' | 'FREE_CREDIT_CARD_ACCESS_CALLS' | 'FREE_LOCAL_CALLS' | 'FREE_MOVIES_VIDEO' | 'FULL_KITCHEN' | 'GRAB_BARS_IN_BATHROOM' | 'GRECIAN_TUB' | 'HAIRDRYER' | 'HIGH_SPEED_INTERNET_CONNECTION' | 'INTERACTIVE_WEB_TV' | 'INTERNATIONAL_DIRECT_DIALING' | 'INTERNET_ACCESS' | 'IRON' | 'IRONING_BOARD' | 'WHIRPOOL' | 'KING_BED' | 'KITCHEN' | 'KITCHEN_SUPPLIES' | 'KITCHENETTE' | 'KNOCK_LIGHT' | 'LAPTOP' | 'LARGE_DESK' | 'LARGE_WORK_AREA' | 'LAUNDRY_BASKET_CLOTHES_HAMPER' | 'LOFT' | 'MICROWAVE' | 'MINIBAR' | 'MODEM' | 'MODEM_JACK' | 'MULTILINE_PHONE' | 'NEWSPAPER' | 'NONSMOKING' | 'NOTEPADS' | 'OFFICE_SUPPLIES' | 'OVEN' | 'PAY_PER_VIEW_MOVIES_ON_TV' | 'PENS' | 'PHONE_IN_BATHROOM' | 'PLATES_AND_BOWLS' | 'POTS_AND_PANS' | 'PRAYER_MATS' | 'PRINTER' | 'PRIVATE_BATHROOM' | 'QUEEN_BED' | 'RECLINER' | 'REFRIGERATOR' | 'REFRIGERATOR_WITH_ICE_MAKER' | 'REMOTE_CONTROL_TELEVISION' | 'ROLLAWAY_BED' | 'SAFE' | 'SCANNER' | 'SEPARATE_CLOSET' | 'SEPARATE_MODEM_LINE_AVAILABLE' | 'SHOE_POLISHER' | 'SHOWER_ONLY' | 'SILVERWARE_UTENSILS' | 'SITTING_AREA' | 'SMOKE_DETECTORS' | 'SMOKING' | 'SOFA_BED' | 'SPEAKER_PHONE' | 'STEREO' | 'STOVE' | 'TAPE_RECORDER' | 'TELEPHONE' | 'TELEPHONE_FOR_HEARING_IMPAIRED' | 'TELEPHONES_WITH_MESSAGE_LIGHT' | 'TOASTER_OVEN' | 'TROUSER_PANT_PRESS' | 'TURN_DOWN_SERVICE' | 'TWIN_BED' | 'VAULTED_CEILINGS' | 'VCR_MOVIES' | 'VCR_PLAYER' | 'VIDEO_GAMES_AMENITY' | 'VOICE_MAIL' | 'WAKEUP_CALLS' | 'WATER_CLOSET' | 'WATER_PURIFICATION_SYSTEM' | 'WET_BAR' | 'WIRELESS_INTERNET_CONNECTION' | 'WIRELESS_KEYBOARD' | 'ADAPTOR_AVAILABLE_FOR_TELEPHONE_PC_USE' | 'AIR_CONDITIONING_INDIVIDUALLY_CONTROLLED_IN_ROOM' | 'BATHTUB_ANDWHIRLPOOL_SEPARATE' | 'TELEPHONE_WITH_DATA_PORTS' | 'CD_PLAYER' | 'COMPLIMENTARY_LOCAL_CALLS_TIME_LIMIT' | 'EXTRA_PERSON_CHARGE_FOR_ROLLAWAY_USE' | 'DOWN_FEATHER_PILLOWS' | 'DESK_WITH_ELECTRICAL_OUTLET' | 'ESPN_AVAILABLE' | 'FOAM_PILLOWS' | 'HBO_AVAILABLE' | 'HIGH_CEILINGS' | 'MARBLE_BATHROOM' | 'LIST_OF_MOVIE_CHANNELS_AVAILABLE' | 'PETS_ALLOWED' | 'OVERSIZED_BATHTUB' | 'SHOWER' | 'SINK_INROOM' | 'SOUNDPROOFED_ROOM' | 'STORAGE_SPACE' | 'TABLES_AND_CHAIRS' | 'TWOLINE_PHONE' | 'WALKIN_CLOSET' | 'WASHER_DRYER' | 'WEIGHT_SCALE' | 'WELCOME_GIFT' | 'SPARE_ELECTRICAL_OUTLET_AVAILABLE_AT_DESK' | 'NONREFUNDABLE_CHARGE_FOR_PETS' | 'REFUNDABLE_DEPOSIT_FOR_PETS' | 'SEPARATE_TUB_AND_SHOWER' | 'ENTRANCE_TYPE_TO_GUEST_ROOM' | 'CEILING_FAN' | 'CNN_AVAILABLE' | 'ELECTRICAL_ADAPTORS_AVAILABLE' | 'BUFFET_BREAKFAST' | 'ACCESSIBLE_ROOM' | 'CLOSETS_IN_ROOM' | 'DVD_PLAYER' | 'MINIREFRIGERATOR' | 'SEPARATE_LINE_BILLING_FOR_MULTILINE_PHONE' | 'SELFCONTROLLED_HEATING_COOLING_SYSTEM' | 'TOASTER' | 'ANALOG_DATA_PORT' | 'COLLECT_CALLS' | 'INTERNATIONAL_CALLS' | 'CARRIER_ACCESS' | 'INTERSTATE_CALLS' | 'INTRASTATE_CALLS' | 'LOCAL_CALLS' | 'LONG_DISTANCE_CALLS' | 'OPERATORASSISTED_CALLS' | 'CREDIT_CARD_ACCESS_CALLS' | 'CALLING_CARD_CALLS' | 'TOLL_FREE_CALLS' | 'UNIVERSAL_AC_DC_ADAPTORS' | 'BATHTUB_SEAT' | 'CANOPY_POSTER_BED' | 'CUPS_GLASSWARE' | 'ENTERTAINMENT_CENTER' | 'FAMILY_OVERSIZED_ROOM' | 'HYPOALLERGENIC_BED' | 'HYPOALLERGENIC_PILLOWS' | 'LAMP' | 'MEAL_INCLUDED_BREAKFAST' | 'MEAL_INCLUDED_CONTINENTAL_BREAKFAST' | 'MEAL_INCLUDED_DINNER' | 'MEAL_INCLUDED_LUNCH' | 'SHARED_BATHROOM' | 'TELEPHONE_TDD_TEXTPHONE' | 'WATER_BED' | 'EXTRA_ADULT_CHARGE' | 'EXTRA_CHILD_CHARGE' | 'EXTRA_CHILD_CHARGE_FOR_ROLLAWAY_USE' | 'MEAL_INCLUDED_FULL_AMERICAN_BREAKFAST' | 'FUTON' | 'MURPHY_BED' | 'TATAMI_MATS' | 'SINGLE_BED' | 'ANNEX_ROOM' | 'FREE_NEWSPAPER' | 'HONEYMOON_SUITES' | 'COMPLIMENTARY_HIGH_SPEED_INTERNET_IN_ROOM' | 'MAID_SERVICE' | 'PC_HOOKUP_IN_ROOM' | 'SATELLITE_TELEVISION' | 'VIP_ROOMS' | 'CELL_PHONE_RECHARGER' | 'DVR_PLAYER' | 'IPOD_DOCKING_STATION' | 'MEDIA_CENTER' | 'PLUG_AND_PLAY_PANEL' | 'SATELLITE_RADIO' | 'VIDEO_ON_DEMAND' | 'EXTERIOR_CORRIDORS' | 'GULF_VIEW' | 'ACCESSIBLE_ROOM_AMENITY' | 'INTERIOR_CORRIDORS' | 'MOUNTAIN_VIEW' | 'OCEAN_VIEW' | 'HIGH_SPEED_INTERNET_ACCESS_FEE' | 'HIGH_SPEED_WIRELESS' | 'PREMIUM_MOVIE_CHANNELS' | 'SLIPPERS' | 'FIRST_NIGHTERS_KIT' | 'CHAIR_PROVIDED_WITH_DESK' | 'PILLOW_TOP_MATTRESS' | 'FEATHER_BED' | 'DUVET' | 'LUXURY_LINEN_TYPE' | 'INTERNATIONAL_CHANNELS' | 'PANTRY' | 'DISHCLEANING_SUPPLIES' | 'DOUBLE_VANITY' | 'LIGHTED_MAKEUP_MIRROR' | 'UPGRADED_BATHROOM_AMENITIES' | 'VCR_PLAYER_AVAILABLE_AT_FRONT_DESK' | 'INSTANT_HOT_WATER' | 'OUTDOOR_SPACE' | 'HINOKI_TUB' | 'PRIVATE_POOL' | 'HIGH_DEFINITION_HD_FLAT_PANEL_TELEVISION_32_INCHES_OR_GREATER' | 'ROOM_WINDOWS_OPEN' | 'BEDDING_TYPE_UNKNOWN_OR_UNSPECIFIED' | 'FULL_BED' | 'ROUND_BED' | 'TV' | 'CHILD_ROLLAWAY' | 'DVD_PLAYER_AVAILABLE_AT_FRONT_DESK' | 'VIDEO_GAME_PLAYER' | 'VIDEO_GAME_PLAYER_AVAILABLE_AT_FRONT_DESK' | 'DINING_ROOM_SEATS' | 'FULL_SIZE_MIRROR' | 'MOBILE_CELLULAR_PHONES' | 'MOVIES' | 'MULTIPLE_CLOSETS' | 'PLATES_GLASSWARE' | 'SAFE_LARGE_ENOUGH_TO_ACCOMMODATE_A_LAPTOP' | 'BED_LINEN_THREAD_COUNT' | 'BLACKOUT_CURTAIN' | 'BLURAY_PLAYER' | 'DEVICE_WITH_MP3' | 'NO_ADULT_CHANNELS_OR_ADULT_CHANNEL_LOCK' | 'NONALLERGENIC_ROOM' | 'PILLOW_TYPE' | 'SEATING_AREA_WITH_SOFA_CHAIR' | 'SEPARATE_TOILET_AREA' | 'WEB_ENABLED' | 'WIDESCREEN_TV' | 'OTHER_DATA_CONNECTION' | 'PHONELINE_BILLED_SEPARATELY' | 'SEPARATE_TUB_OR_SHOWER' | 'VIDEO_GAMES' | 'ROOF_VENTILATOR' | 'CHILDRENS_PLAYPEN' | 'PLUNGE_POOL' | 'DVD_MOVIES' | 'AIR_FILTRATION' — Room amenity type
          - `additionalAmenities` string[]
          - `guaranteeType` 'GUARANTEE' | 'DEPOSIT' — Guarantee type for the booking.
          - `additionalDetails` HotelAdditionalDetail[]
            - `additionalDetailType` 'ADDITIONAL_DETAIL_TYPE_UNKNOWN' | 'RATE_DESCRIPTION' | 'PROPERTY_DESCRIPTION' | 'PROPERTY_LOCATION' | 'ROOM_INFORMATION' | 'GUARANTEE_INFORMATION' | 'DEPOSIT_INFORMATION' | 'CANCELLATION_INFORMATION' | 'CHECK_IN_CHECK_OUT_INFORMATION' | 'EXTRA_CHARGE_INFORMATION' | 'TAX_INFORMATION' | 'SERVICE_CHARGE_INFORMATION' | 'PACKAGE_INFORMATION' | 'COMMISSION_INFORMATION' | 'MISCELLANEOUS_INFORMATION' | 'PROMOTIONAL_INFORMATION' | 'INCLUSION_INFORMATION' | 'AMENITY_INFORMATION' | 'LATE_ARRIVAL_INFORMATION' | 'LATE_DEPARTURE_INFORMATION' | 'ADVANCED_BOOKING_INFORMATION' | 'EXTRA_PERSON_INFORMATION' | 'AREAS_SERVED' | 'ONSITE_FACILITIES_INFORMATION' | 'OFFSITE_FACILITIES_INFORMATION' | 'ONSITE_SERVICES_INFORMATION' | 'OFFSITE_SERVICES_INFORMATION' | 'EXTENDED_STAY_INFORMATION' | 'CORPORATE_BOOKING_INFORMATION' | 'BOOKING_GUIDELINES' | 'GOVERNMENT_BOOKING_POLICY' | 'GROUP_BOOKING_INFORMATION' | 'RATE_DISCLAIMER_INFORMATION' | 'VISA_TRAVEL_REQUIREMENT_INFORMATION' | 'SECURITY_INFORMATION' | 'ONSITE_RECREATIONAL_ACTIVITIES_INFORMATION' | 'OFFSITE_RECREATIONAL_ACTIVITIES_INFORMATION' | 'GENERAL_MEETING_PLANNING_INFORMATION' | 'GROUP_MEETING_PLANNING_INFORMATION' | 'CONTRACT_NEGOTIATED_BOOKING_INFORMATION' | 'TRAVEL_INDUSTRY_BOOKING_INFORMATION' | 'MEETING_ROOM_DESCRIPTION' | 'PET_POLICY_DESCRIPTION' | 'MEAL_PLAN_DESCRIPTION' | 'FAMILY_PLAN_DESCRIPTION' | 'CHILDREN_INFORMATION' | 'EARLY_CHECKOUT_DESCRIPTION' | 'SPECIAL_OFFERS_DESCRIPTION' | 'CATERING_DESCRIPTION' | 'ROOM_DECOR_DESCRIPTION' | 'OVERSOLD_POLICY_DESCRIPTION' | 'LAST_ROOM_AVAILABILITY_DESCRIPTION' | 'ROOM_TYPE_UPGRADE_DESCRIPTION' | 'DRIVING_DIRECTIONS' | 'DRIVING_DIRECTIONS_FROM_THE_NORTH' | 'DRIVING_DIRECTIONS_FROM_THE_SOUTH' | 'DRIVING_DIRECTIONS_FROM_THE_EAST' | 'DRIVING_DIRECTIONS_FROM_THE_WEST' | 'SURCHARGE_INFORMATION' | 'MINIMUM_STAY_INFORMATION' | 'MAXIMUM_STAY_INFORMATION' | 'CHECK_IN_POLICY' | 'CHECK_OUT_POLICY' | 'EXPRESS_CHECK_IN_POLICY' | 'EXPRESS_CHECK_OUT_POLICY' | 'FACILITY_RESTRICTIONS' | 'CUSTOMS_INFORMATION_FOR_MATERIAL' | 'SEASONS' | 'FOOD_AND_BEVERAGE_MINIMUMS_FOR_GROUPS' | 'DEPOSIT_POLICY_FOR_MASTER_ACCOUNT' | 'DEPOSIT_POLICY_FOR_RESERVATIONS' | 'RESTAURANT_SERVICES' | 'SPECIAL_EVENTS' | 'CUISINE_DESCRIPTION' | 'KEY_COLLECTION_INFO' | 'IMPORTANT_INFO'
            - `text` string
          - `roomInfo` object
            - `roomType` 'ROOM' | 'SUITE' | 'VILLA' | 'APARTMENT' | 'COTTAGE' | 'STUDIO' | 'UNKNOWN_ROOM' — Room Type
            - `typeClassDescription` string
            - `roomView` object
              - …
            - `roomTypeCode` string — Room type code.
          - `co2EmissionDetail` HotelCo2EmissionDetail — The co2 emission detail for the hotel.
            - `co2EmissionValue` number, double, required — CO2 emission value in kg per room for the entire stay.
          - `rateMetadata` RateMetadata — Price Summary
            - `negotiatedRateType` 'NONE' | 'CORPORATE_RATE' | 'AGENCY_RATE'
            - `publishedRate` FareAmount — Fare amount including base fare and tax.
              - …
            - `tmcNegotiatedRate` FareAmount — Fare amount including base fare and tax.
              - …
            - `corporateNegotiatedRate` FareAmount — Fare amount including base fare and tax.
              - …
        - `vendorConfirmationNumber` string, required — Hotel confirmation number
        - `travelerInfos` HotelTravelerInfo[] — Information about travelers.
          - `travelerIdx` integer, required — Index of traveler in travelers list to which this info belongs
          - `userId` UserId — User identifier
            - `id` string, uuid, required
          - `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.
        - `sortingPriority` integer — Sorting priority amongst other pnrs
        - `vendorReferenceId` string — Reference provided by vendors
        - `vendorCancellationId` string — Cancellation reference provided by vendors
        - `preferredType` PreferredType[] — Hotel preference
        - `preferences` Preference[] — Hotel preference
          - `preferredType` 'NOT_PREFERRED' | 'COMPANY_PREFERRED' | 'SPOTTERS_CHOICE' | 'COMPANY_BLOCKED' | 'TMC_PREFERRED', required — Preference type.
          - `blockedReason` string — Reason for blocking the leg, hotel or car.
          - `label` string — The label assigned to a specific tier of preference.
        - `occupancy` HotelOccupancy[] — Occupancy information
          - `numAdults` integer — Number of adults in the hotel pnr
          - `numChildren` integer — Number of children in the hotel pnr
          - `childAges` integer[]
          - `numInfants` integer — Number of infants in the hotel pnr
        - `sourceStatus` string — Source status code of the pnr
        - `rebookReference` RebookReference — Rate Assurance Rebooking information along with pnr references and savings
          - `cancelledPnrIds` string[] — Backward reference to the cancelled PNRs (if any) after rebooking.
          - `rebookedPnrId` string — Forward reference to the rebooked PNR (if any) after cancellation.
          - `hotelRateAssuranceMetadata` HotelRateAssuranceMetadata — Savings information from the rate assurance rebooking
            - `selfReportedSavings` SimpleMoney — Money object containing just amount and currency code.
              - …
            - `actualSavings` SimpleMoney — Money object containing just amount and currency code.
              - …
          - `rebookType` 'RATE_ASSURANCE' | 'MODIFY' — Indicates the reason for rebooking.
        - `hotelSpecialRequests` HotelSpecialRequests — Hotel special requests
          - `roomLocations` string[] — Room Location special request
          - `roomFeatures` string[] — Room Features List
          - `checkIn` 'EARLY_CHECK_IN' | 'LATE_CHECK_IN' — Early or Late Check-in
          - `checkInTime` TimeLocal — ISO8601 Local Time
            - `iso8601` string, required
          - `flightNumber` string — Attach flight number
          - `additionalNote` string — Free form text to describe special request
          - `accessibleFeatures` HotelAccessibleFeatureType[] — Accessible Features List
        - `ancillaries` HotelAncillary[] — User selected ancillaries for the hotel booking.
          - `ancillaryKey` string, required — Unique identifier for the ancillary service.
          - `category` 'ANCILLARY_UNKNOWN' | 'EARLY_CHECKIN' | 'LATE_CHECKOUT' | 'WIFI' | 'BREAKFAST' | 'PARKING' | 'PETS' | 'MEAL_PLAN' | 'OTHER', required — Type of ancillary.
          - `displayName` string, required — Display name of ancillary.
          - `description` string — Detailed description of ancillary.
          - `dailyPrice` 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.
              - …
          - `totalPrice` 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.
              - …
          - `refundability` 'REFUNDABILITY_UNKNOWN' | 'FULLY_REFUNDABLE' | 'PARTIALLY_REFUNDABLE' | 'NON_REFUNDABLE', required — Refundability information about the ancillary.
          - `purchaseStatus` 'PURCHASE_STATUS_UNKNOWN' | 'AVAILABLE' | 'ALREADY_PURCHASED' | 'INCLUDED_IN_RATE', required — Purchase status of the ancillary.
          - `paymentType` 'PAYMENT_TYPE_UNKNOWN' | 'PREPAID' | 'POSTPAID', required — Payment type for the ancillary.
          - `totalRate` HotelRoomRate — Rate details for hotel room
            - `base` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `roomFees` RoomFee[]
              - …
            - `commission` Commission — Commision on rate
              - …
            - `taxBreakdown` Tax[]
              - …
            - `includesCommission` boolean — Whether the rate includes commission
          - `prepaidRate` HotelRoomRate — Rate details for hotel room
            - `base` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `roomFees` RoomFee[]
              - …
            - `commission` Commission — Commision on rate
              - …
            - `taxBreakdown` Tax[]
              - …
            - `includesCommission` boolean — Whether the rate includes commission
          - `postpaidRate` HotelRoomRate — Rate details for hotel room
            - `base` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `roomFees` RoomFee[]
              - …
            - `commission` Commission — Commision on rate
              - …
            - `taxBreakdown` Tax[]
              - …
            - `includesCommission` boolean — Whether the rate includes commission
          - `status` 'ANCILLARY_STATUS_UNKNOWN' | 'ACTIVE' | 'CANCELLED' | 'MODIFIED' — Status of the ancillary service.
      - `carPnr` Car — Car PNR information
        - `cancellationPolicy` CancellationPolicy3 — Cancellation policy info.
          - `policy` 'UNKNOWN' | 'NON_REFUNDABLE' | 'FREE_CANCELLATION_UNTIL' | 'PARTIALLY_REFUNDABLE', required — Indicates whether the booking is refundable or not.
          - `deadline` DateTimeLocal — Local date and time in ISO 8601 format.
            - `iso8601` string, required
          - `deadlineUtc` DateTimeOffset — ISO8601 UTC Date Time
            - `iso8601` string, required
          - `durationBeforeArrivalDeadline` Duration — Represents a duration of time with specific units of time.
            - `iso8601` string — Durations define the amount of intervening time in a time interval and are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S. The [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced. P is the duration designator (for period) placed at the start of the duration representation. Y is the year designator. M is the month designator. W is the week designator. D is the day designator. T is the time designator. H is the hour designator. M is the minute designator. S is the second designator and can include decimal digits with arbitrary precision.
          - `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.
              - …
          - `currentlyRefundable` 'TRUE' | 'FALSE' — Refundable status that is currently applicable in the hotel timezone. FALSE even if it is partially refundable.
          - `cancellableStatus` 'CANCELLABLE_STATUS_UNSPECIFIED' | 'CANCELLABLE' | 'NOT_CANCELLABLE' — Whether the booking can be cancelled. UNSPECIFIED and CANCELLABLE are treated as cancellable. Some suppliers (e.g. Premier Inn) block cancellation on non-refundable rates.
        - `carInfo` CarInfo, required — Car info
          - `carSpec` CarSpec, required — Car spec.
            - `airConditioning` 'UNKNOWN_AC' | 'AC_AVAILABLE' | 'AC_NOT_AVAILABLE' — Whether air conditioning is available.
            - `amenities` CarAmenities — Car amenities.
              - …
            - `type` 'OTHER' | 'MINI' | 'ECONOMY' | 'COMPACT' | 'MID_SIZE' | 'STANDARD' | 'FULL_SIZE' | 'PREMIUM' | 'LUXURY' | 'CONVERTIBLE' | 'MINIVAN' | 'SUV' | 'VAN' | 'PICKUP' | 'SPORTS' | 'SPECIAL' | 'RECREATIONAL_VEHICLE' | 'WAGON', required — Car type.
            - `displayName` string — Car display name.
            - `engineType` 'UNKNOWN_ENGINE' | 'PETROL' | 'DIESEL' | 'ELECTRIC' | 'CNG' | 'HYBRID' | 'HYDROGEN' | 'MULTI_FUEL' | 'ETHANOL' — Engine types.
            - `imageGroups` ImageGroup[] — Collection of car images.
              - …
            - `transmission` 'UNKNOWN_TRANSMISSION' | 'MANUAL_UNSPECIFIED_DRIVE' | 'MANUAL_4WD' | 'MANUAL_AWD' | 'AUTO_UNSPECIFIED_DRIVE' | 'AUTO_4WD' | 'AUTO_AWD' — Transmission types.
          - `dropOffLocation` CarLocation, required — Pickup and drop-off location info.
            - `address` PostalAddress, required — Postal Address Details
              - …
            - `coordinates` Latlng — Latitude and Longitude for a Location
              - …
            - `counterLocation` 'UNKNOWN_COUNTER' | 'NON_AIRPORT_LOCATION' | 'IN_TERMINAL' | 'OFF_AIRPORT_RENTAL_SHUTTLE' | 'IN_TERMINAL_RENTAL_SHUTTLE' | 'ON_AIRPORT_RENTAL_SHUTTLE' | 'ON_AIRPORT_AIRPORT_SHUTTLE' | 'CALL_FOR_SHUTTLE' | 'TWO_SHUTTLES_AIRPORT_AND_RENTAL' — Rental car counter location.
            - `contactInfo` LocationContactInfo — Contact info of the location
              - …
            - `operatingSchedule` LocationOperatingSchedule — Operating schedule of vendor
              - …
            - `weeklyOperatingSchedule` WeeklyOperatingSchedule[] — Weekly operating schedule of vendor
              - …
          - `mileageAllowance` Length — Specifies the length or a distance.
            - `length` number, double, required — Distance from search point.
            - `unit` 'UNKNOWN_UNIT' | 'KM' | 'MILE' | 'CENTIMETER' | 'METER', required — Unit of measure being applied.
          - `pickupLocation` CarLocation, required — Pickup and drop-off location info.
            - `address` PostalAddress, required — Postal Address Details
              - …
            - `coordinates` Latlng — Latitude and Longitude for a Location
              - …
            - `counterLocation` 'UNKNOWN_COUNTER' | 'NON_AIRPORT_LOCATION' | 'IN_TERMINAL' | 'OFF_AIRPORT_RENTAL_SHUTTLE' | 'IN_TERMINAL_RENTAL_SHUTTLE' | 'ON_AIRPORT_RENTAL_SHUTTLE' | 'ON_AIRPORT_AIRPORT_SHUTTLE' | 'CALL_FOR_SHUTTLE' | 'TWO_SHUTTLES_AIRPORT_AND_RENTAL' — Rental car counter location.
            - `contactInfo` LocationContactInfo — Contact info of the location
              - …
            - `operatingSchedule` LocationOperatingSchedule — Operating schedule of vendor
              - …
            - `weeklyOperatingSchedule` WeeklyOperatingSchedule[] — Weekly operating schedule of vendor
              - …
          - `vendor` Vendor, required — Car vendor.
            - `code` string, required — Vendor code.
            - `name` string, required — Vendor name.
            - `email` string — Vendor email.
            - `phone` PhoneNumber — Properly formatted phone number.
              - …
          - `carTypeCode` string — Car type code
          - `extraMileageCharge` 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.
              - …
          - `preferredType` PreferredType[] — Car preference
          - `preferences` Preference[] — Car preferences
            - `preferredType` 'NOT_PREFERRED' | 'COMPANY_PREFERRED' | 'SPOTTERS_CHOICE' | 'COMPANY_BLOCKED' | 'TMC_PREFERRED', required — Preference type.
            - `blockedReason` string — Reason for blocking the leg, hotel or car.
            - `label` string — The label assigned to a specific tier of preference.
          - `co2EmissionDetail` CarCo2EmissionDetail — The CO2 emission detail for car.
            - `co2EmissionValue` number, double, required — The CO2 emission value in kgs for car.
          - `voucherInfo` VoucherInfo — Car Voucher information
            - `voucherId` string, required — Voucher Id
            - `remarks` string — Remarks associated with the voucher
            - `voucherType` 'FC' | 'GDA' | 'FIXED_VALUE' — Type of voucher
            - `voucherBillingNumber` string — Voucher Billing Number
            - `voucherFormat` string — Format of the voucher
        - `dropOffDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
          - `iso8601` string, required
        - `paymentType` 'UNKNOWN_PAYMENT_TYPE' | 'PAY_AT_VENDOR' | 'PREPAID' | 'NO_PREPAYMENT' — Payment type.
        - `pickupDateTime` DateTimeLocal, required — Local date and time in ISO 8601 format.
          - `iso8601` string, required
        - `pnrStatus` 'UNKNOWN' | 'INITIATED' | 'CANCELLED' | 'CONFIRMED' | 'GROUP_BOOKING_ON_REQUEST' | 'WAITLISTED' | 'PENDING' | 'AIRLINE_UPGRADE' | 'WAITLIST_CONFIRMED' | 'BOOKING_DENIED_CONTACT_SUPPORT' | 'NO_SHOW' | 'CONTACT_SUPPORT' | 'STATUS_CHANGED_CONTACT_SUPPORT' | 'SCHEDULE_CHANGE' | 'SEGMENT_REQUEST' | 'SCHEDULE_CHANGE_WAITLISTED_BOOKING' | 'REQUEST_PENDING' | 'WAITLISTED_NOT_CONFIRMED' | 'SCHEDULE_CHANGE_NOT_CONFIRMED' | 'SCHEDULE_CHANGE_PENDING_STATUS' | 'MIS_CONNECTION' | 'REQUESTED' | 'TICKETED' | 'VOIDED' | 'CANCELLED_BY_VENDOR' | 'CANCELLATION_IN_PROGRESS' | 'REINSTATED' | 'BOOKING_ON_HOLD' | 'AIRLINE_CONTROL' | 'MODIFIED' | 'PAYMENT_DECLINED' | 'INOPERATIVE' | 'UNCONFIRMED' — Status of PNR
        - `rate` Cost, required — Rate info for non-air pnr.
          - `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.
              - …
          - `extras` object[] — List of extras.
            - `type` string, required — Charge type.
            - `amount` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
          - `refund` 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.
              - …
          - `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.
              - …
          - `commission` object — Commission
            - `amount` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `percent` number, double — The percentage of the base amount that we are getting as commission
          - `includesCommission` boolean — Whether the rate includes commission
          - `taxBreakdown` object — Tax breakdown
            - `tax` object[] — List of taxes for this ticket
              - …
          - `transactionDate` DateModel — Date in ISO 8601 standard.
            - `iso8601` string, required
          - `refundInfo` object — Refund info
            - `refundAmount` FareAmount, required — Fare amount including base fare and tax.
              - …
            - `refundTaxAmount` FareAmount — Fare amount including base fare and tax.
              - …
            - `refundDate` DateModel — Date in ISO 8601 standard.
              - …
            - `penalty` FareAmount — Fare amount including base fare and tax.
              - …
            - `refundVoucher` Voucher — Voucher details
              - …
        - `vendorConfirmationNumber` string, required — Car confirmation number.
        - `sortingPriority` integer — Sort order on the trips page
        - `corporateId` string — Corporate id applied while booking
        - `rateType` 'PUBLISHED' | 'CORPORATE' | 'SPOTNANA' — Rate type of the car booked
        - `sourceStatus` string — Source status code of the pnr
        - `vendorCancellationId` string — Cancellation id sent by the supplier.
        - `originalCarSearchInfo` CarSearchInfo — Car search information
          - `pickup` SearchParams, required — Search Parameter including location and datetime for a given search.
            - `location` CarSearchLocationParam, required — Car Search location parameters.
              - …
            - `datetime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
            - `searchQuery` string — Search query provided for the search.
          - `dropOff` SearchParams, required — Search Parameter including location and datetime for a given search.
            - `location` CarSearchLocationParam, required — Car Search location parameters.
              - …
            - `datetime` DateTimeLocal, required — Local date and time in ISO 8601 format.
              - …
            - `searchQuery` string — Search query provided for the search.
          - `renterAge` integer — Age of the renter
          - `citizenCountryCode` string — Citizen code of the renter
          - `pickupCountryCode` string — Country code of the pick up location
          - `loyaltyCode` CarLoyaltyCode[] — Loyalty codes to be applied
            - `vendor` string, required — Vendor code
            - `code` string, required — Loyalty code
            - `type` 'PROMOTIONAL_COUPON', required — Loyalty type
        - `rateMetadata` RateMetadata — Price Summary
          - `negotiatedRateType` 'NONE' | 'CORPORATE_RATE' | 'AGENCY_RATE'
          - `publishedRate` 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.
              - …
            - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
          - `tmcNegotiatedRate` 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.
              - …
            - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
          - `corporateNegotiatedRate` 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.
              - …
            - `tax` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `taxBreakdown` Tax[]
              - …
        - `rebookReference` CarRebookReference — Contains reference to cancelled and rebooked PNR's.
          - `cancelledPnrIds` string[] — Reference to Spotnana Pnr Ids that were cancelled in favor of this booking.
          - `rebookedPnrId` string — Reference to Spotnana Pnr Id that was booked in favor of this cancellation, Populated for cancelled PNR's if they were cancelled for a rebooking.
        - `dailyRates` CarDailyRate[] — Contains daily rates for each day of the rental duration.
          - `total` 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.
              - …
          - `base` 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.
              - …
          - `tax` 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.
              - …
        - `carAverageRate` CarDailyRate — Contains daily rate for the relevant car.
          - `total` 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.
              - …
          - `base` 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.
              - …
          - `tax` 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.
              - …
        - `promotionalOffers` PromotionalOffers — Promotional offer info for car rental.
          - `type` 'PERCENTAGE_DISCOUNT' | 'FREE_ADDITIONAL_DRIVER' | 'MONETARY_DISCOUNT' | 'FREE_GPS' | 'FREE_FUEL' | 'FREE_DAYS' | 'FREE_WINTER_CARKIT' | 'FREE_CONGESTION_CHARGE' | 'FREE_CHILD_SEAT' | 'FREE_PERSONAL_INSURANCE' | 'EURO_DISNEY_PASS' | 'FREE_SKI_PASS' | 'FREE_UPGRADE' | 'PERCENTAGE_DISCOUNT_GPS' | 'FREE_WIFI' | 'GUARANTEED_MAM' | 'GENERIC_OFFER' — Type of promotional offer.
          - `subType` string — Sub-type of promotional offer.
          - `description` string — Descriptive text for the promotional offer.
          - `discountAmount` 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.
              - …
          - `originalAmount` 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.
              - …
          - `value` string — Value associated with the promotional offer (e.g., percentage value).
        - `arrivalFlightInfo` CarArrivalFlightInfo — Contains arrival flight information for this car reservation.
          - `airlineCode` string — Arrival flight airline code.
          - `airlineNumber` string — Arrival flight number.
        - `specialEquipmentTypes` CarExtraType[] — Special equipment types for the car booking if any. For example, child seat, bike rack etc.
      - `railPnr` Rail — Rail PNR information
        - `inwardJourney` RailPnrJourneyInfo — Journey info
          - `journeyStatus` 'UNKNOWN' | 'INITIATED' | 'CANCELLED' | 'CONFIRMED' | 'GROUP_BOOKING_ON_REQUEST' | 'WAITLISTED' | 'PENDING' | 'AIRLINE_UPGRADE' | 'WAITLIST_CONFIRMED' | 'BOOKING_DENIED_CONTACT_SUPPORT' | 'NO_SHOW' | 'CONTACT_SUPPORT' | 'STATUS_CHANGED_CONTACT_SUPPORT' | 'SCHEDULE_CHANGE' | 'SEGMENT_REQUEST' | 'SCHEDULE_CHANGE_WAITLISTED_BOOKING' | 'REQUEST_PENDING' | 'WAITLISTED_NOT_CONFIRMED' | 'SCHEDULE_CHANGE_NOT_CONFIRMED' | 'SCHEDULE_CHANGE_PENDING_STATUS' | 'MIS_CONNECTION' | 'REQUESTED' | 'TICKETED' | 'VOIDED' | 'CANCELLED_BY_VENDOR' | 'CANCELLATION_IN_PROGRESS' | 'REINSTATED' | 'BOOKING_ON_HOLD' | 'AIRLINE_CONTROL' | 'MODIFIED' | 'PAYMENT_DECLINED' | 'INOPERATIVE' | 'UNCONFIRMED' — Status of PNR
          - `legs` integer[], required — List of indexes of legs covered in the journey.
          - `co2EmissionDetails` RailCo2EmissionDetails — CO2 emission info for rail
            - `co2EmissionKilograms` number, double, required — CO2 emission for the outward/inward leg in kilograms for a single passenger.
            - `isApproximate` boolean — Indicates whether the emissions value is approximate or not.
          - `sortingPriority` integer — Sort order of the rail journey on the trips page
          - `fareComposition` 'THROUGH' | 'DIRECT_SPLIT' | 'INTERCHANGE_SPLIT' — Rail Fare Composition
          - `userFacingStatus` 'UNKNOWN_STATUS' | 'PENDING_STATUS' | 'CONFIRMED_STATUS' | 'ACTIVE_STATUS' | 'COMPLETED_STATUS' | 'CANCELLED_STATUS' | 'REFUNDED_STATUS' | 'VOIDED_STATUS' | 'PROCESSING_STATUS' | 'UNCONFIRMED_STATUS' | 'AIRLINE_CONTROL_STATUS' | 'PAYMENT_DECLINED_STATUS' | 'SCHEDULE_CHANGE_STATUS' | 'HOLD_STATUS' | 'APPROVAL_REQUESTED_STATUS' | 'APPROVAL_DENIED_STATUS' | 'CANCELLATION_IN_PROGRESS_STATUS' | 'INOPERATIVE_STATUS' | 'FLIGHT_UNCONFIRMED_STATUS' — User facing booking status
        - `legInfos` RailPnrLegInfo[], required — List of legs covered in the booking.
          - `allocatedSpaces` object[] — Space allocated for each passenger.
            - `coachNumber` string, required — Coach Number.
            - `travelerIdx` integer, required — Traveler for which the seat belongs.
            - `userId` UserId — User identifier
              - …
            - `seatNumber` string, required — Seat Number.
            - `additionalProperties` string[] — Additional Properties of allocated seat.
          - `travelerRailInfo` TravelerRailInfo[]
            - `travelerIndex` integer
            - `userId` UserId — User identifier
              - …
            - `railCard` RailCard — Rail card
              - …
            - `loyaltyDetails` LoyaltyDetails — Details about the traveler loyalty program and number.
              - …
          - `amenities` RailPnrAmenity[] — List of amenities available for the leg.
            - `description` string — Amenity description
            - `name` string, required — Amenity name
            - `price` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
            - `quantity` integer — Available/Selected quantity
            - `type` 'WIFI' | 'LUGGAGE_INCLUDED' | 'ELECTRICAL_SOCKET' | 'CAFE' | 'SEAT_DISPLAY' | 'NEWSPAPER' | 'MEAL' | 'QUIET_CAR' | 'SEAT_SELECTION' | 'LOCAL_TRANSPORT' | 'LOUNGE' | 'LEATHER_SEATS' | 'BICYCLE' | 'PET' | 'FIRST_CLASS_COMFORT' | 'BUSINESS_PREMIER' | 'PERSONALIZED_SERVICE' | 'BOARDING' | 'WHEELCHAIR_ACCESS' | 'NURSERY_SPACE' | 'TABLE_SEAT' | 'LARGE_SEAT' | 'EXTRA_LEGROOM' | 'AIR_CONDITIONING' | 'READING_LIGHT' — Rail amenity type
          - `arriveAt` DateTimeOffset — ISO8601 UTC Date Time
            - `iso8601` string, required
          - `departAt` DateTimeOffset — ISO8601 UTC Date Time
            - `iso8601` string, required
          - `arriveAtLocal` DateTimeLocal — Local date and time in ISO 8601 format.
            - `iso8601` string, required
          - `departAtLocal` DateTimeLocal — Local date and time in ISO 8601 format.
            - `iso8601` string, required
          - `destination` string, required — Destination station name of the leg.
          - `distance` Length — Specifies the length or a distance.
            - `length` number, double, required — Distance from search point.
            - `unit` 'UNKNOWN_UNIT' | 'KM' | 'MILE' | 'CENTIMETER' | 'METER', required — Unit of measure being applied.
          - `duration` Duration — Represents a duration of time with specific units of time.
            - `iso8601` string — Durations define the amount of intervening time in a time interval and are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S. The [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced. P is the duration designator (for period) placed at the start of the duration representation. Y is the year designator. M is the month designator. W is the week designator. D is the day designator. T is the time designator. H is the hour designator. M is the minute designator. S is the second designator and can include decimal digits with arbitrary precision.
          - `fareType` string, required — Details of fare for this leg.
          - `origin` string, required — Originating station name of the leg.
          - `travelClass` 'FIRST' | 'STANDARD' | 'BUSINESS' | 'SLEEPER' | 'STANDARD_PREMIUM' | 'BUSINESS_PREMIUM' | 'COACH' | 'ROOM' | 'EXECUTIVE' — Travel class
          - `vehicle` RailVehicle, required — Information regarding the vehicle and operator.
            - `carrierName` string, required — Name of the carrier.
            - `route` string — Route taken by the vehicle.
            - `timetableId` string, required — Timetable ID
            - `transportName` string — Name of the transport.
            - `type` 'TRAIN' | 'BUS' | 'FERRY' | 'WALK' | 'TAXI' | 'TRAM' | 'METRO' | 'TUBE', required — Type of vehicle.
          - `originInfo` RailStationInfo — Details of the station.
            - `name` string, required — Name of the station
            - `code` string — Unique code of the station.
            - `cityCode` string — City Code for the Railway Station
            - `timeZone` string — TimeZone of the Railway Station
            - `countryCode` string — Unique Code of the Country of Railway Station
            - `latLong` Latlng — Latitude and Longitude for a Location
              - …
            - `localCode` string — Local code of the station.
            - `uicCodes` string[] — List of UIC codes of the station.
            - `sourceRefInfos` RailStationSourceRefInfo[] — Source Reference Info
              - …
            - `stationType` 'INDIVIDUAL' | 'STATION_GROUP' | 'METRO' | 'BUS_STOP' | 'FERRY_TERMINAL' — Status of the journey.
            - `cityName` string — City Name of the Railway Station
            - `stateCode` string — State code for the Railway Station
            - `continentCode` string — Unique Code of the Railway Station's Continent
            - `spotnanaRailStationId` integer — Canonical Spotnana rail station id.
            - `thirdPartyInfos` RailStationThirdPartyInfo[] — Per-supplier codes and inventories for this station.
              - …
          - `destinationInfo` RailStationInfo — Details of the station.
            - `name` string, required — Name of the station
            - `code` string — Unique code of the station.
            - `cityCode` string — City Code for the Railway Station
            - `timeZone` string — TimeZone of the Railway Station
            - `countryCode` string — Unique Code of the Country of Railway Station
            - `latLong` Latlng — Latitude and Longitude for a Location
              - …
            - `localCode` string — Local code of the station.
            - `uicCodes` string[] — List of UIC codes of the station.
            - `sourceRefInfos` RailStationSourceRefInfo[] — Source Reference Info
              - …
            - `stationType` 'INDIVIDUAL' | 'STATION_GROUP' | 'METRO' | 'BUS_STOP' | 'FERRY_TERMINAL' — Status of the journey.
            - `cityName` string — City Name of the Railway Station
            - `stateCode` string — State code for the Railway Station
            - `continentCode` string — Unique Code of the Railway Station's Continent
            - `spotnanaRailStationId` integer — Canonical Spotnana rail station id.
            - `thirdPartyInfos` RailStationThirdPartyInfo[] — Per-supplier codes and inventories for this station.
              - …
          - `railFareType` RailFareType — Type of fare.
            - `description` string, required — Description of this fare type.
            - `fareDetails` RailFareDetail[]
              - …
            - `fareSummary` string — Summary of the fare
          - `ticketNumber` string — ticket number
          - `carrierConfirmationNumber` string — carrier confirmation number for a segment
          - `seatPreferenceSelection` RailSeatPreferenceSelection — Selected Seat Preferences for the itinerary.
            - `carriageType` string — Seat Carriage Type
            - `deckType` string — Seat Carriage Type
            - `direction` string — Seat Direction.
            - `facilities` string[] — Seat Facilities.
            - `positionType` string — Seat Position Type.
            - `seatLocationType` string — Seat Location Type.
            - `seatType` string — Seat Type.
          - `legId` string — Leg Id.
          - `vendorName` string — Name of the vendor for which current leg is reserved
          - `co2EmissionGramsPerPassenger` integer — CO2 emission for the current leg in gram for a single passenger.
        - `outwardJourney` RailPnrJourneyInfo, required — Journey info
          - `journeyStatus` 'UNKNOWN' | 'INITIATED' | 'CANCELLED' | 'CONFIRMED' | 'GROUP_BOOKING_ON_REQUEST' | 'WAITLISTED' | 'PENDING' | 'AIRLINE_UPGRADE' | 'WAITLIST_CONFIRMED' | 'BOOKING_DENIED_CONTACT_SUPPORT' | 'NO_SHOW' | 'CONTACT_SUPPORT' | 'STATUS_CHANGED_CONTACT_SUPPORT' | 'SCHEDULE_CHANGE' | 'SEGMENT_REQUEST' | 'SCHEDULE_CHANGE_WAITLISTED_BOOKING' | 'REQUEST_PENDING' | 'WAITLISTED_NOT_CONFIRMED' | 'SCHEDULE_CHANGE_NOT_CONFIRMED' | 'SCHEDULE_CHANGE_PENDING_STATUS' | 'MIS_CONNECTION' | 'REQUESTED' | 'TICKETED' | 'VOIDED' | 'CANCELLED_BY_VENDOR' | 'CANCELLATION_IN_PROGRESS' | 'REINSTATED' | 'BOOKING_ON_HOLD' | 'AIRLINE_CONTROL' | 'MODIFIED' | 'PAYMENT_DECLINED' | 'INOPERATIVE' | 'UNCONFIRMED' — Status of PNR
          - `legs` integer[], required — List of indexes of legs covered in the journey.
          - `co2EmissionDetails` RailCo2EmissionDetails — CO2 emission info for rail
            - `co2EmissionKilograms` number, double, required — CO2 emission for the outward/inward leg in kilograms for a single passenger.
            - `isApproximate` boolean — Indicates whether the emissions value is approximate or not.
          - `sortingPriority` integer — Sort order of the rail journey on the trips page
          - `fareComposition` 'THROUGH' | 'DIRECT_SPLIT' | 'INTERCHANGE_SPLIT' — Rail Fare Composition
          - `userFacingStatus` 'UNKNOWN_STATUS' | 'PENDING_STATUS' | 'CONFIRMED_STATUS' | 'ACTIVE_STATUS' | 'COMPLETED_STATUS' | 'CANCELLED_STATUS' | 'REFUNDED_STATUS' | 'VOIDED_STATUS' | 'PROCESSING_STATUS' | 'UNCONFIRMED_STATUS' | 'AIRLINE_CONTROL_STATUS' | 'PAYMENT_DECLINED_STATUS' | 'SCHEDULE_CHANGE_STATUS' | 'HOLD_STATUS' | 'APPROVAL_REQUESTED_STATUS' | 'APPROVAL_DENIED_STATUS' | 'CANCELLATION_IN_PROGRESS_STATUS' | 'INOPERATIVE_STATUS' | 'FLIGHT_UNCONFIRMED_STATUS' — User facing booking status
        - `rate` Cost, required — Rate info for non-air pnr.
          - `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.
              - …
          - `extras` object[] — List of extras.
            - `type` string, required — Charge type.
            - `amount` Money, required — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
          - `refund` 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.
              - …
          - `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.
              - …
          - `commission` object — Commission
            - `amount` Money — Money object containing details such as the amount, the currency code, and the converted amount.
              - …
- … truncated; see the full OpenAPI document linked below

## Other responses

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

---

[API](https://skmtc.net/spotnana/apis/trip-api.md) · [All operations](https://skmtc.net/spotnana/apis/trip-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spotnana/trip-api/revisions/30e152290495/schema)
