Spotnana Trips API

APIs to manage trips.

Operations 11

POST /v2/trips Create trip #
GET /v2/trips/{tripId} Get trip #
PUT /v2/trips/{tripId} Update trip #
GET /v3/trips/{tripId}/detail Get trip details #
DELETE /v3/trips/{tripId} Delete trip #
POST /v3/trips/{tripId} Update trip details for trip Id #
POST /v3/trips/users/{userId}/list List trip summaries for a user #
POST /v3/trips/companies/{companyId}/list List trip summaries for a company #
POST /v2/list-organisation-trips List trips #
POST /v3/trips/arrangers/{arrangerId}/list List trip summaries for travelers managed by an arranger #
GET /v2/trips/{tripId}/booker-email/{bookerEmailId}/partner-info Get trip partner info #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/spotnana-trips-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

spotnana-trips-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Air Trips API
  version: v2
  description: APIs to perform search, checkout and book an air pnr
servers:
- url: https://api-ext-sboxmeta.partners.spotnana.com
  description: Sandbox URL
security:
- Bearer: []
tags:
- name: Trips
  description: APIs to manage trips.
paths:
  /v2/trips:
    post:
      tags:
      - Trips
      summary: Create trip
      description: "This endpoint creates a trip object. A trip is a container object for all related PNRs associated \nwith a trip.\n"
      operationId: createTrip
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTripRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityNonUUIDId'
                example:
                  id: 1234567890
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/trips/{tripId}:
    parameters:
    - name: tripId
      in: path
      description: Identifier for trip.
      required: true
      schema:
        type: string
      example: '2398199412'
    get:
      deprecated: true
      x-sunset: '2026-07-01'
      tags:
      - Trips
      summary: Get trip
      description: 'Retrieves trip info by ID.

        {% admonition type="warning" name="Deprecation notice" %}

        The **Get Trip** `/v2/trips/{tripId}` endpoint has been deprecated.

        Use the new **Get trip details** `/v3/trips/{tripId}/detail` endpoint instead.

        {% /admonition %}

        '
      operationId: readTrip
      x-draft: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicTripInfo'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      tags:
      - Trips
      summary: Update trip
      operationId: updateTrip
      description: This endpoint updates trip by ID.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTripRequest'
      responses:
        '204':
          description: Updated Successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v3/trips/{tripId}/detail:
    parameters:
    - name: tripId
      in: path
      description: Trip ID
      required: true
      schema:
        type: string
        example: '6926658168'
    - name: refreshType
      in: query
      description: Refresh Type
      schema:
        $ref: '#/components/schemas/RefreshType'
    - name: fetchMappedData
      in: query
      description: If true, fetch PNRs from already mapped data present in DB
      schema:
        type: boolean
        default: false
    get:
      tags:
      - Trips
      summary: Get trip details
      description: '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 %}

        '
      operationId: getTripDetailsV3
      x-pii-supported: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripV3DetailsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v3/trips/{tripId}:
    parameters:
    - name: tripId
      in: path
      description: Trip ID
      required: true
      schema:
        type: string
        example: '6926658168'
    delete:
      tags:
      - Trips
      summary: Delete trip
      description: This endpoint deletes a trip by ID.
      operationId: deleteTrip
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteTripRequest'
      responses:
        '204':
          description: Deleted Successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      tags:
      - Trips
      summary: Update trip details for trip Id
      operationId: updateTripV3
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTripV3Request'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v3/trips/users/{userId}/list:
    parameters:
    - name: userId
      in: path
      description: Identifier for the user whose trip summaries are requested.
      required: true
      schema:
        type: string
        format: uuid
        example: 4974a66b-7493-4f41-908c-58ba81093947
    post:
      tags:
      - Trips
      summary: List trip summaries for a user
      description: Retrieves the list of trip summaries associated with a user.
      operationId: getUserTripSummariesList
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetTripSummariesV3Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTripSummariesV3Response'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v3/trips/companies/{companyId}/list:
    parameters:
    - name: companyId
      in: path
      description: Identifier for the company whose trip summaries are requested.
      required: true
      schema:
        type: string
        format: uuid
        example: 4974a66b-7493-4f41-908c-58ba81093947
    post:
      tags:
      - Trips
      summary: List trip summaries for a company
      description: Retrieves the list of trip summaries associated with a company.
      operationId: getCompanyTripSummariesList
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetTripSummariesV3Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTripSummariesV3Response'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/list-organisation-trips:
    post:
      deprecated: true
      x-sunset: '2026-07-01'
      tags:
      - Trips
      summary: List trips
      description: 'Retrieves the list of trips associated with an organization.

        {% admonition type="warning" name="Deprecation notice" %}

        The **List Trips** `/v2/list-organisation-trips` endpoint has been deprecated.

        Use the new **List trip summaries for a company** `/v3/trips/companies/{companyId}/list` endpoint instead.

        {% /admonition %}

        '
      operationId: listOrganisationTrips
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListOrganisationTripsRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrganisationTripsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v3/trips/arrangers/{arrangerId}/list:
    parameters:
    - name: arrangerId
      in: path
      description: Identifier for the arranger whose managed travelers trip summaries are requested.
      required: true
      schema:
        type: string
        format: uuid
        example: 4974a66b-7493-4f41-908c-58ba81093947
    post:
      tags:
      - Trips
      summary: List trip summaries for travelers managed by an arranger
      description: 'Retrieves the list of trip summaries for all travelers managed by a specific arranger.

        This endpoint can be used for arrangers whose role types are `COMPANY_TRAVEL_ARRANGER` or `TRAVEL_ARRANGER`.

        '
      operationId: getArrangerManagedTripSummariesList
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetTripSummariesV3Request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTripSummariesV3Response'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/trips/{tripId}/booker-email/{bookerEmailId}/partner-info:
    parameters:
    - name: tripId
      in: path
      description: Identifier for trip.
      required: true
      schema:
        type: string
      example: '2398199412'
    - name: bookerEmailId
      in: path
      description: Booker Email Id for whom budget info will be fetched.
      required: true
      schema:
        type: string
      example: akanksha@spotnana.com
    - name: revealReason
      in: query
      description: Reason for revealing the budget card information.
      required: false
      schema:
        type: string
      example: Purchase a Flight
    get:
      tags:
      - Trips
      summary: Get trip partner info
      description: This endpoint provides info related to partner for the trip.
      operationId: fetchTripPartnerInfo
      x-draft: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TripPartnerInfoResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    AppliedWaiveOffInfo:
      type: object
      title: Applied Waive-Off Information
      description: Information about TMC fee waivers applied by an agent during checkout.
      properties:
        waiveOffAmount:
          description: The amount of TMC fee that has been waived
          $ref: '#/components/schemas/FareAmount'
        waiveOffReason:
          description: The reason provided by the agent for waiving the fee
          $ref: '#/components/schemas/WaiveOffFeeReason'
    Department:
      type: object
      title: Department
      description: Department details.
      required:
      - id
      - name
      properties:
        id:
          $ref: '#/components/schemas/DepartmentId'
        name:
          type: string
          example: IT Department
        externalId:
          type: string
          description: External id of the department
          example: department-ext-id
        employeeCount:
          type: integer
          format: int32
          description: Count of employees in the department
          example: 57
    TransactionFareType:
      type: string
      description: type of the fare in this transaction.
      enum:
      - 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
      x-ignoreBreakingChanges:
      - TransactionFareType->FLIGHT_PASS_ADDITIONAL_BASE
      example: BASE_AMOUNT
    NameSuffix:
      title: NameSuffix
      description: Suffix for name
      type: string
      enum:
      - NAME_SUFFIX_UNKNOWN
      - SR
      - JR
      - MD
      - PHD
      - II
      - III
      - IV
      - DO
      - ATTY
      - V
      - VI
      - ESQ
      - DC
      - DDS
      - VM
      - JD
      - SECOND
      - THIRD
      example: SR
    InlineQCInfo:
      description: A list of failed inline QC rules
      type: array
      items:
        $ref: '#/components/schemas/QcRuleType'
    TravelerEventSummary:
      title: TravelerEventSummary
      type: object
      description: Event summary for a traveler
      required:
      - id
      properties:
        id:
          type: string
          description: Event ID
          example: '12345'
        type:
          description: Event Type
          $ref: '#/components/schemas/EventType'
        name:
          type: string
          description: Name of the event
          example: My event
        description:
          type: string
          description: Description of the event
          example: This is an event description
        startDateTime:
          $ref: '#/components/schemas/DateTimeLocal'
        endDateTime:
          $ref: '#/components/schemas/DateTimeLocal'
        location:
          $ref: '#/components/schemas/EventLocation'
        contacts:
          type: array
          description: Event contacts for the traveler
          items:
            $ref: '#/components/schemas/UserId'
          deprecated: true
          x-sunset: '2026-07-01'
        documents:
          type: array
          description: List of documents associated with this event for the traveler
          items:
            $ref: '#/components/schemas/Document'
        bookingGuidelines:
          description: Booking details allowed for the event for the traveler
          type: array
          items:
            $ref: '#/components/schemas/EventBookingGuideline'
        allowedBookingTypes:
          type: array
          description: Allowed booking types for the event for the traveler
          items:
            $ref: '#/components/schemas/EventAllowedBookingType'
        eventUserRsvp:
          $ref: '#/components/schemas/EventUserRsvp'
        contactInfoList:
          type: array
          description: Event contacts for the traveler
          items:
            $ref: '#/components/schemas/EventUserInfo'
        companyId:
          $ref: '#/components/schemas/EntityId'
        runningStatus:
          $ref: '#/components/schemas/EventRunningStatus'
        status:
          $ref: '#/components/schemas/EventStatus'
        isRemovedParticipant:
          type: boolean
          description: Whether the traveler is part of the event.
        inviteEmailConfig:
          $ref: '#/components/schemas/InviteEmailConfig'
        parentEventId:
          type: string
          description: Optional parent event's id.
          example: '56789012'
        bookingStyle:
          description: Whether the event bookings will be self served by the traveler or would be arranged by an agent for the traveler.
          $ref: '#/components/schemas/EventBookingStyle'
        allowTravelersToRsvp:
          description: Allow travelers to rsvp for the event
          $ref: '#/components/schemas/AllowTravelersToRsvp'
    AgentAssistedTripFeeInfo:
      title: Agent Assisted Trip Fee Info
      type: object
      description: Trip Fees when Agent is booking for Traveler.
      required:
      - agentFeeType
      properties:
        agentFeeType:
          type: string
          example: AGENT_ASSISTED_TRIP_FEE
        calculatedAmount:
          $ref: '#/components/schemas/Money'
        chargeProcessorInfo:
          $ref: '#/components/schemas/ChargeProcessorInfo'
    CabinViewFareCategory:
      type: string
      enum:
      - UNKNOWN_CABIN_CATEGORY
      - BASIC
      - ECONOMY
      - PREMIUM_ECONOMY
      - ECONOMY_PLUS
      - BUSINESS
      - FIRST
      default: UNKNOWN_CABIN_CATEGORY
    MerchantFeeInfo:
      title: MerchantFeeInfo
      description: Describes the merchant fee applicable on the itinerary.
      required:
      - amount
      properties:
        amount:
          $ref: '#/components/schemas/FareAmount'
    RailItem:
      type: object
      title: RailItem
      description: This describes the railItem related to a particular itemGroup.
      required:
      - itemType
      properties:
        itemType:
          type: string
        legInfos:
          type: array
          items:
            $ref: '#/components/schemas/LegInfoRail'
        ancillaries:
          type: array
          items:
            $ref: '#/components/schemas/RailAncillary'
    SeatPref:
      type: object
      title: SeatPref
      description: Preference about seat of rail.
      properties:
        hasAccessibility:
          type: boolean
          description: Whether or not requires assistance for disability.
          default: false
          example: false
        seatTypes:
          type: array
          items:
            $ref: '#/components/schemas/SeatPrefType'
        seatLocations:
          type: array
          items:
            $ref: '#/components/schemas/SeatPrefLocation'
        deckLevels:
          type: array
          items:
            $ref: '#/components/schemas/DeckLevel'
        seatDirections:
          type: array
          items:
            $ref: '#/components/schemas/SeatPrefDirection'
    CompanyConfigSourceWrapper:
      type: object
      title: CompanyConfigSourceWrapper
      description: Wrapper for option source company config.
      properties:
        companyConfig:
          $ref: '#/components/schemas/CompanyConfigSource'
    ListOrganisationTripsRequest:
      title: ListOrganisationTripsRequest
      type: object
      description: Request for giving trips and associated Pnr's for a certain organisation that are updated after a certain time
      required:
      - organizationId
      - pnrType
      properties:
        organizationId:
          $ref: '#/components/schemas/OrganizationId'
        updatedAt:
          $ref: '#/components/schemas/DateTimeOffset'
        pnrType:
          type: string
          description: Type of PNR
          enum:
          - AIR
          - CAR
          - RAIL
          - HOTEL
          - LIMO
          - ALL
        customFieldIds:
          type: array
          description: List of custom field IDs to filter. This field is not in use and has been deprecated.
          deprecated: true
          x-sunset: '2026-07-01'
          items:
            $ref: '#/components/schemas/CustomFieldId'
    CardMetadata2:
      type: object
      title: CardMetadata
      description: Metadata for Card payment source.
      properties:
        card:
          $ref: '#/components/schemas/Card'
        accessType:
          $ref: '#/components/schemas/CreditCardAccess'
        isLodgeCard:
          type: boolean
          description: Whether the payment is made using a lodge card
          example: false
        bta:
          type: string
          description: Whether this is a BTA card. Possible values are 'Y' or 'N'. Relevant only for lodge cards.
          example: Y
    Preference:
      title: Preference
      type: object
      required:
      - preferredType
      properties:
        preferredType:
          $ref: '#/components/schemas/PreferredType'
        blockedReason:
          type: string
          description: Reason for blocking the leg, hotel or car.
        label:
          type: string
          description: The label assigned to a specific tier of preference.
    AircraftAmenity:
      type: object
      title: AircraftAmenity
      description: Aircraft Amenity properties
      properties:
        displayText:
          type: string
          example: 789 (widebody)
        aircraftType:
          type: string
          example: widebody
        aircraftModel:
          type: string
          example: '787'
    ApprovalDetail:
      type: object
      title: ApprovalDetail
      description: Policy
      properties:
        originalApprovalType:
          $ref: '#/components/schemas/ApprovalType'
        appliedApprovalType:
          $ref: '#/components/schemas/ApprovalType'
    Transmission:
      type: string
      title: Transmission
      description: Transmission types.
      enum:
      - UNKNOWN_TRANSMISSION
      - MANUAL_UNSPECIFIED_DRIVE
      - MANUAL_4WD
      - MANUAL_AWD
      - AUTO_UNSPECIFIED_DRIVE
      - AUTO_4WD
      - AUTO_AWD
      x-enum-varnames:
      - UNKNOWN_TRANSMISSION
      - MANUAL_UNSPECIFIED_DRIVE
      - MANUAL_4WD
      - MANUAL_AWD
      - AUTO_UNSPECIFIED_DRIVE
      - AUTO_4WD
      - AUTO_AWD
      example: MANUAL_4WD
    FareAttributes:
      type: object
      description: The rules and attributes related to the fare.
      properties:
        isVoidable:
          type: boolean
          description: Designates whether the fare is voidable or not.
        holdDeadline:
          description: Designates the dateTime until which the fare will be held (when a traveler places a hold on the fare).
          $ref: '#/components/schemas/DateTimeLocal'
        isNonVerifiedExchangeOffer:
          type: boolean
          description: "Designates whether the fare is a non-verified exchange offer. For these fares, the \nexchange price guarantee is not provided by the supplier.\n"
    HotelNightlyRate:
      title: HotelNightlyRate
      description: Contains nightly rate for the relevant hotel.
      properties:
        total:
          description: Nightly total rate.
          $ref: '#/components/schemas/Money'
        base:
          description: Nightly base rate.
          $ref: '#/components/schemas/Money'
        tax:
          description: Nightly tax rate.
          $ref: '#/components/schemas/Money'
    HotelAmenities:
      title: HotelAmenities
      type: object
      description: Type of hotel amenity
      properties:
        type:
          $ref: '#/components/schemas/HotelAmenityType'
        additionalInfo:
          type: string
          description: Amenity description
          example: Complimentary in-room coffee or tea
        complimentary:
          type: boolean
          description: Is Amenity complimentary
          example: true
    ServiceFee:
      title: ServiceFee
      description: Service Fee on the booking
      type: object
      required:
      - fare
      - ticketNumber
      - status
      properties:
        fare:
          $ref: '#/components/schemas/FareAmount'
          description: Amount charged for the service fee
        taxes:
          type: array
          description: List of applicable taxes
          items:
            $ref: '#/components/schemas/TaxAmount'
        ticketNumber:
          type: string
          description: Ticket Number
        status:
          type: string
          description: Status for the associated ticket
          enum:
          - ISSUED
          - VOIDED
          - PENDING
          - DELAYED_INVOICE
          - FAILED
          - NO_CHARGE
          - UNKNOWN
          - WAIVED_OFF
          example: ISSUED
        fop:
          $ref: '#/components/schemas/FormOfPayment'
          description: Form of payment for the above amount
        visibleToTraveler:
          type: boolean
          description: Show/hide service fee to traveler
          example: true
        paymentTransactionInfo:
          $ref: '#/components/schemas/PaymentTransactionInfo'
        tags:
          type: array
          description: List of key-value pairs for storing some tags related to service-fee.
          items:
            $ref: '#/components/schemas/KeyValue'
        feeInfo:
          $ref: '#/components/schemas/FeeInfo'
        waiveOffInfo:
          $ref: '#/components/schemas/AppliedWaiveOffInfo'
        chargeId:
          type: string
          description: Unique identifier for the charge associated with this service fee.
    CustomField:
      type: object
      title: CustomField
      description: The custom field containing type, externalId and description
      required:
      - id
      - type
      - description
      properties:
        id:
          type: string
          description: Meeting id or budget id based on custom field type.
        type:
          $ref: '#/components/schemas/CustomFieldType'
        description:
          type: string
          description: Description of the custom Field
          example: GLOBAL OFFSITE 2022
    DepartmentId:
      type: object
      title: DepartmentId
      description: Department id.
      required:
      - id
      properties:
        id:
          type: string
          example: 631ccbcf-9414-5fe0-c234-b324dfbe7422
    DisabledReason:
      type: string
      description: Reason why the trip is disabled if applicable.
      enum:
      - MAX_BOOKINGS_EXCEEDED
      - TRIP_EXPIRED
    FlightUpdates:
      type: object
      title: FlightUpdates
      description: Flight alerts like departure datetime change, gate change, etc.
      properties:
        previousDepartureDateTime:
          description: Departure date time before this alert
          $ref: '#/components/schemas/DateTimeLocal'
        previousArrivalDateTime:
          description: Arrival date time before this alert
          $ref: '#/components/schemas/DateTimeLocal'
        previousDepartureGate:
          description: Departure gate before this alert
          $ref: '#/components/schemas/Gate'
        previousArrivalGate:
          description: Arrival gate before this alert
          $ref: '#/components/schemas/Gate'
    AdhocUserInfo:
      type: object
      title: AdhocUserInfo
      description: Basic information related to ad-hoc traveler profile.
      required:
      - profileOwner
      properties:
        profileOwner:
          $ref: '#/components/schemas/ProfileOwner'
        isSaved:
          type: boolean
          description: "A boolean flag to show if ad-hoc traveler is visible in search. While updating the user \nif client tries to update this field, it will throw exception.\n"
          default: false
    TravelRegionType:
      type: string
      title: TravelRegionType
      description: Travel region Type
      enum:
      - DOMESTIC
      - INTERNATIONAL
      example: DOMESTIC
    DirectBillingWrapper2:
      type: object
      title: DirectBillingWrapper
      description: Wrapper for DirectBilling metadata
      required:
      - directBilling
      properties:
        directBilling:
          $ref: '#/components/schemas/DirectBilling2'
    BagWeightLimit:
      type: object
      description: This contains weight limit details of bag
      properties:
        weightLimit:
          type: array
          description: Weight limit in different units
          items:
            $ref: '#/components/schemas/WeightLimit'
        applicability:
          $ref: '#/components/schemas/BagPolicyApplicability'
    EventBookingGuideline:
      title: EventBookingGuideline
      description: Booking details allowed for the event
      type: object
      oneOf:
      - $ref: '#/components/schemas/AirBookingGuidelineWrapper'
      - $ref: '#/components/schemas/HotelBookingGuidelineWrapper'
      - $ref: '#/components/schemas/CarBookingGuidelineWrapper'
      - $ref: '#/components/schemas/RailBookingGuidelineWrapper'
      properties:
        numGuestsAllowed:
          type: integer
          description: Number of guests allowed to be booked for this booking
          example: 1
    BoardingPolicy:
      type: object
      description: Priority boarding information.
      required:
      - description
      properties:
        description:
          type: string
          description: Text describing the priority boarding policy.
          example: Priority boarding provided for free
    SeatTypePolicy:
      type: object
      title: SeatTypePolicy
      properties:
        seatTypePolicy:
          $ref: '#/components/schemas/AirPolicy'
    CarPnrSummaryWrapper:
      type: object
      title: CarPnrSummaryWrapper
      properties:
        carPnrSummary:
          $ref: '#/components/schemas/CarPnrSummary'
    BuyerInfo:
      type: object
      title: BuyerInfo
      description: Buyer of items mentioned in the invoice.
      required:
      - name
      - address
      properties:
        name:
          description: Name of buyer, usually a traveler.
          type: string
          example: John Doe
          x-pii: SENSITIVE
        address:
          description: Address of buyer. Could be office, legal entity or org address.
          type: string
          example: '115 Broadway Suite 04-101,

            New York, NY 10006'
          x-pii: SENSITIVE
        taxId:
          description: Tax number for the seller, for ex GSTN in India
          type: string
          example: TXG239023092
          deprecated: true
          x-sunset: '2026-07-01'
        idInfo:
          type: array
          description: The seller ID information.
          items:
            $ref: '#/components/schemas/IdInfo'
    SourceInfo:
      title: SourceInfo
      description: Information about the source of booking
      type: object
      required:
      - bookingSource
      properties:
        sourcePnrId:
          type: string
          description: The source PNR ID
          example: AEDAVF
        bookingSource:
          type: string
          description: The source of booking
          example: United.com
        thirdParty:
          type: string
          description: The known third party source of the booking.
          example: United.com
          readOnly: true
        bookingDateTime:
          description: Booking date time of the PNR
          $ref: '#/components/schemas/DateTimeOffset'
        posDescriptor:
          type: string
          description: Point of sale descriptor for this pnr from source
          example: LA5K
        iataNumber:
          type: string
          description: IATA number associated with this pnr
          example: '426666'
    RateMetadata:
      type: object
      description: Price Summary
      properties:
        negotiatedRateType:
          type: string
          enum:
          - NONE
          - CORPORATE_RATE
          - AGENCY_RATE
          example: CORPORATE_RATE
        publishedRate:
          $ref: '#/components/schemas/FareAmount'
          description: the non negotiated rate or the market rate.
        tmcNegotiatedRate:
          $ref: '#/components/schemas/FareAmount'
          description: the tmc negotiated rate.
        corporateNegotiatedRate:
          $ref: '#/components/schemas/FareAmount'
          description: the corporate negotiated rate.
    LegalEntityIdListWrapper:
      type: object
      title: LegalEntityIdListWrapper
      properties:
        legalEntityIdList:
          type: array
          items:
            $ref: '#/components/schemas/LegalEntityId'
    DateTimeOffset:
      title: DateTimeOffset
      description: ISO8601 UTC Date Time
      type: object
      required:
      - iso8601
      properties:
        iso8601:
          type: string
          pattern: ^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-4]):([0-5][0-9])(:([0-5][0-9]))?(Z|([+-](0[0-9]|1[0-4]):([0-5][0-9])))$
          example: 2017-07-21T17:32Z
    VirtualCardInfo:
      type: object
      title: VirtualCardInfo
      description: Virtual card information like maximum deployment amount, valid date range.
      properties:
        amount:
          description: Virtual card deployment 

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