---
title: "Fetch seat maps for multiple cabin options in a single call."
method: POST
path: "/v2/air/seat-map-bulk"
tags: ["Air"]
---

# Fetch seat maps for multiple cabin options in a single call.

`POST /v2/air/seat-map-bulk`

## Request

- Base URL: `https://api-ext-sboxmeta.partners.spotnana.com`
- URL: `https://api-ext-sboxmeta.partners.spotnana.com/v2/air/seat-map-bulk`
- Auth: HTTP bearer

## Request body

- AirSeatMapBulkRequest: Request for fetching seat maps for multiple cabin options in a single call. All rate option IDs refer to the same itinerary (same flights/legs); only cabin/fare differs.
  - `searchId` string, required: Search identifier returned in the air search response.
  - `rateOptionIds` string[], required: Cabin rate option IDs to fetch seat maps for.
  - `travelerInfos` TravelerSeatInfo[], required: Information about the travelers on the itinerary.
    - `travelerType` 'UNKNOWN_PASSENGER_TYPE' | 'ADULT' | 'CHILD' | 'INFANT' | 'INFANT_ON_LAP' | 'YOUTH' | 'SENIOR' | 'TEEN': Type of passenger
    - `travelerAge` PassengerAge: Age of the traveler
      - `numYears` integer, required: Age of the passenger
    - `travelerInfo` union: The traveler identifiers. These can be either the Spotnana user IDs of the travelers or information regarding the adhoc travelers.
      - object: Wrapper over UserId object to be used as an identifier in a oneOf case
        - `userId` UserId: User identifier
          - `id` string, uuid, required
      - object: Wrapper over AdhocTravelerInfo object to be used as an identifier in a oneOf case.
        - `adhocTravelerInfo` AdhocTravelerInfo: Describes an adhoc traveler.
          - `registrarUserId` UserId: User identifier
            - `id` string, uuid, required
          - `externalId` string: External Id of user
    - `loyaltyInfos` SeatLoyaltyInfo[]: Information about the traveler's loyalty program memberships.
      - `flightId` string: The flight identifier for which this loyalty is being applied.
      - `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.
  - `indexes` SeatIndexes[]: Leg/flight filters. If not provided, all legs and flights will be considered.
    - `legIndex` integer, required: The leg index for which the seat map is requested.
    - `flightIndex` integer[]: The flight index for which the seat map is requested. It is optional and if it not present, then all the flights will be returned for this leg

## Response `200`

OK

- AirSeatMapBulkResponse: Response containing seat maps for multiple cabin options.
  - `cabinResults` AirSeatMapResponse[]: Per-cabin seat map results.
    - `seatMapResponseId` string: Unique identifier for this seat map response, which would need to be passed on in subsequent booking APIs.
    - `travelerSeatMaps` TravelerSeatMap[]: Seat maps for a flight for each traveler type.
      - `travelerId` UserId: User identifier
        - `id` string, uuid, required
      - `travelerInfo` union: The traveler identifiers. These can be either the Spotnana user IDs of the travelers or information regarding the adhoc travelers.
        - object: Wrapper over UserId object to be used as an identifier in a oneOf case
          - `userId` UserId: User identifier
            - `id` string, uuid, required
        - object: Wrapper over AdhocTravelerInfo object to be used as an identifier in a oneOf case.
          - `adhocTravelerInfo` AdhocTravelerInfo: Describes an adhoc traveler.
            - `registrarUserId` UserId: User identifier
              - …
            - `externalId` string: External Id of user
      - `flightSeatMapIds` string[]: Seat maps for the specified travelerId. Ids refer to the id in AirSeatMapResponse -> seatMaps.
    - `seatMaps` FlightSeatMap[]: The list of seat maps available in the response.
      - `seatMapId` string: Unique identifier for this flight seat map.
      - `wingRows` Int32Range
        - `min` integer: Minimum value - inclusive.
        - `max` integer: Maximum value - inclusive.
      - `cabinSections` CabinSection[]: Cabin sections available in the flight.
        - `cabin` 'UNKNOWN_CABIN' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST': Flight cabin
        - `bookingCode` string: Booking code associated with the cabin section.
        - `locations` SeatLocation[]: The list of locations associated with the cabin section.
        - `facilitySections` FacilitySection[]: The set of associated facility sections.
          - `location` 'FRONT' | 'MIDDLE' | 'REAR' | 'LEFT' | 'LEFT_CENTER' | 'RIGHT' | 'RIGHT_CENTER' | 'CENTER' | 'UPPER_DECK' | 'LOWER_DECK' | 'MAIN_DECK': Describes a location in the flight.
          - `facilities` Facility[]: List of facilities in this section.
            - `location` 'FRONT' | 'MIDDLE' | 'REAR' | 'LEFT' | 'LEFT_CENTER' | 'RIGHT' | 'RIGHT_CENTER' | 'CENTER' | 'UPPER_DECK' | 'LOWER_DECK' | 'MAIN_DECK': Describes a location in the flight.
            - `facilityType` 'BULKHEAD' | 'STAIRS' | 'TABLE' | 'LAVATORY' | 'BAR' | 'CLOSET' | 'AIR_PHONE' | 'EXIT_DOOR' | 'EMERGENCY_EXIT' | 'GALLEY' | 'LUGGAGE_STORAGE' | 'STORAGE_SPACE': Facility type is used to represent row facilities and cabin facilities.
        - `columnSections` ColumnSection[]: The columns associated with the cabin section.
          - `columns` Column[]: List of columns in this section.
            - `columnNumber` string: Column identifier.
            - `position` 'AISLE' | 'WINDOW' | 'WINDOW_AISLE' | 'CENTER': Represents the position of a column in a row.
        - `rowSections` RowSection[]: The rows associated with the cabin section.
          - `rowNumbers` Int32Range
            - `min` integer: Minimum value - inclusive.
            - `max` integer: Maximum value - inclusive.
          - `availableSeats` AvailableSeats[]: Available seats for each row in this Row Section.
            - `columnNumber` string[]: Column identifiers of the available seats.
          - `rowTypes` RowType[]: Types of the rows in this section.
          - `facilitySections` FacilitySection[]: Facility sections associated with this row section.
            - `location` 'FRONT' | 'MIDDLE' | 'REAR' | 'LEFT' | 'LEFT_CENTER' | 'RIGHT' | 'RIGHT_CENTER' | 'CENTER' | 'UPPER_DECK' | 'LOWER_DECK' | 'MAIN_DECK': Describes a location in the flight.
            - `facilities` Facility[]: List of facilities in this section.
              - …
          - `seatSections` SeatSection[]: Seat sections associated with this row section.
            - `columnNumbers` string[]: The seat columns present in the seat section.
            - `type` 'SEAT' | 'NO_SEAT' | 'BULKHEAD' | 'STAIRS' | 'LAVATORY' | 'BAR' | 'CLOSET' | 'AIR_PHONE' | 'EXIT_DOOR' | 'EMERGENCY_EXIT' | 'GALLEY' | 'LUGGAGE_STORAGE' | 'STORAGE_SPACE' | 'TABLE': Type of the seat section.
            - `limitations` string[]: Limitations associated with the seat section.
            - `facilities` string[]: Facilities available in the seat section.
            - `location` string[]: Location characteristics of the seat section.
            - `commercialName` string: Commercial name for this seat.
            - `price` Price: Price for a seat.
              - …
      - `operatingAirline` string: Operating airline code for this flight.
      - `isLoyaltyUsed` boolean: Whether loyalty program information was used for this seat map.
      - `warnings` SeatWarning[]: Warnings related to this seat map.
      - `unavailabilityReason` 'SEAT_UNAVAILABILITY_REASON_UNKNOWN' | 'AIRLINE_NOT_PROVIDED' | 'ALL_FLIGHTS_REQUIRED_FOR_SEATING' | 'SUPPLIER_ERROR': Reason why seat map is unavailable for a specific flight.
      - `cabinMetadata` SeatMapCabinMetadata[]: Cabin-level metadata populated regardless of seat map availability.
        - `cabin` 'UNKNOWN_CABIN' | 'ECONOMY' | 'PREMIUM_ECONOMY' | 'BUSINESS' | 'FIRST': Flight cabin
        - `bookingCode` string: Booking code associated with the cabin.
    - `itinerarySeatInformation` ItinerarySeatInformation: Seat information for the whole itinerary.
      - `flightSeatInformation` FlightSeatInformation[]: Seat information for each flight.
        - `flightIndex` integer: Index of the flight.
        - `seatType` SeatTypeDetail[]: Seat types available for this flight.
          - `commercialName` string: Commercial name of the seat type.
          - `urls` string[]: URLs associated with the seat type.
          - `description` string: Description of the seat type.
          - `tourUrls` string[]: 360 degree view URL associated with the seat type.
    - `planeFeatures` FlightPlaneFeatures[]: Plane features for each flight in the itinerary.
      - `flightId` string: Unique flight identifier.
      - `aircraft` AircraftInfo: Aircraft information.
        - `id` string: Unique identifier of the aircraft.
        - `manufacturer` string: Manufacturer of the aircraft.
        - `model` string: Model of the aircraft.
        - `summary` string: Summary description of the aircraft.
        - `name` string: Name of the aircraft.
        - `windowSize` string: Window size of the aircraft.
        - `isWideBody` boolean: Whether the aircraft is a wide-body aircraft.
        - `seatmapExists` boolean: Whether a seat map exists for this aircraft.
        - `noseType` string: Nose type of the aircraft.
      - `decks` DeckLayout[]: Per-deck layout.
        - `level` integer: Deck level number.
        - `rows` PlaneSeatRow[]: Rows of seats on this deck.
          - `classCode` string: Class code of the cabin this row belongs to.
          - `rowNumber` integer: Row number in the aircraft.
          - `cabinName` string: Name of the cabin this row belongs to.
          - `seatScheme` string: Seat arrangement scheme for the row.
          - `seatType` integer: Type identifier for seats in this row.
          - `topOffset` integer: Vertical offset of the row in the layout.
          - `seats` SeatLayoutItem[]: List of seats in this row.
            - `letter` string: Seat letter identifier.
            - `color` string: Color code for the seat.
            - `cabinName` string: Name of the cabin this seat belongs to.
            - `rotation` string: Rotation angle of the seat.
            - `leftOffset` integer: Horizontal offset of the seat in the layout.
            - `topOffset` integer: Vertical offset of the seat in the layout.
            - `seatType` integer: Type identifier for the seat.
            - `score` integer: Quality score of the seat.
        - `bulks` BulkElement[]: Non-seat elements on this deck.
          - `id` string: Unique identifier of the bulk element.
          - `position` string: Position of the element relative to the cabin.
          - `iconType` string: Icon type used to render the element.
          - `topOffset` integer: Vertical offset of the element in the layout.
          - `xOffset` integer: Horizontal offset of the element in the layout.
          - `width` integer: Width of the element in the layout.
          - `height` integer: Height of the element in the layout.
          - `align` string: Alignment of the element in the layout.
        - `exits` ExitPosition[]: Exit positions on this deck.
          - `side` string: Side of the aircraft where the exit is located.
          - `topOffset` integer: Vertical offset of the exit in the layout.
        - `wingsInfo` WingsInfo: Wings information for the aircraft.
          - `deckLevel` integer: Deck level where the wings are located.
          - `topOffset` integer: Vertical offset of the wings in the layout.
          - `height` integer: Height of the wings in the layout.
        - `exitRowsLeft` integer[]: Row numbers with exits on the left side.
        - `exitRowsRight` integer[]: Row numbers with exits on the right side.
      - `cabinDetails` CabinDetails[]: Per-cabin details.
        - `classCode` string: Class code of the cabin.
        - `pitch` string: Seat pitch measurement.
        - `recline` string: Seat recline measurement.
        - `width` string: Seat width measurement.
        - `flatness` string: Seat flatness level.
        - `legroomSummary` string: Summary of legroom available in the cabin.
        - `reclineSummary` string: Summary of recline available in the cabin.
        - `legroomType` string: Type of legroom in the cabin.
        - `rowLayout` string: Seat row layout pattern for the cabin.
        - `entertainment` CabinAmenity: Amenity information for a cabin.
          - `exists` boolean: Whether the amenity is available in the cabin.
          - `cost` string: Cost associated with the amenity.
          - `summary` string: Summary description of the amenity.
          - `deliveryType` string: Delivery type of the amenity.
          - `type` string: Type of the amenity.
          - `usbPort` boolean: Whether USB port is available.
          - `powerOutlet` boolean: Whether power outlet is available.
        - `wifi` CabinAmenity: Amenity information for a cabin.
          - `exists` boolean: Whether the amenity is available in the cabin.
          - `cost` string: Cost associated with the amenity.
          - `summary` string: Summary description of the amenity.
          - `deliveryType` string: Delivery type of the amenity.
          - `type` string: Type of the amenity.
          - `usbPort` boolean: Whether USB port is available.
          - `powerOutlet` boolean: Whether power outlet is available.
        - `power` CabinAmenity: Amenity information for a cabin.
          - `exists` boolean: Whether the amenity is available in the cabin.
          - `cost` string: Cost associated with the amenity.
          - `summary` string: Summary description of the amenity.
          - `deliveryType` string: Delivery type of the amenity.
          - `type` string: Type of the amenity.
          - `usbPort` boolean: Whether USB port is available.
          - `powerOutlet` boolean: Whether power outlet is available.
  - `planeFeatures` FlightPlaneFeatures[]: Per-flight plane features.
    - `flightId` string: Unique flight identifier.
    - `aircraft` AircraftInfo: Aircraft information.
      - `id` string: Unique identifier of the aircraft.
      - `manufacturer` string: Manufacturer of the aircraft.
      - `model` string: Model of the aircraft.
      - `summary` string: Summary description of the aircraft.
      - `name` string: Name of the aircraft.
      - `windowSize` string: Window size of the aircraft.
      - `isWideBody` boolean: Whether the aircraft is a wide-body aircraft.
      - `seatmapExists` boolean: Whether a seat map exists for this aircraft.
      - `noseType` string: Nose type of the aircraft.
    - `decks` DeckLayout[]: Per-deck layout.
      - `level` integer: Deck level number.
      - `rows` PlaneSeatRow[]: Rows of seats on this deck.
        - `classCode` string: Class code of the cabin this row belongs to.
        - `rowNumber` integer: Row number in the aircraft.
        - `cabinName` string: Name of the cabin this row belongs to.
        - `seatScheme` string: Seat arrangement scheme for the row.
        - `seatType` integer: Type identifier for seats in this row.
        - `topOffset` integer: Vertical offset of the row in the layout.
        - `seats` SeatLayoutItem[]: List of seats in this row.
          - `letter` string: Seat letter identifier.
          - `color` string: Color code for the seat.
          - `cabinName` string: Name of the cabin this seat belongs to.
          - `rotation` string: Rotation angle of the seat.
          - `leftOffset` integer: Horizontal offset of the seat in the layout.
          - `topOffset` integer: Vertical offset of the seat in the layout.
          - `seatType` integer: Type identifier for the seat.
          - `score` integer: Quality score of the seat.
      - `bulks` BulkElement[]: Non-seat elements on this deck.
        - `id` string: Unique identifier of the bulk element.
        - `position` string: Position of the element relative to the cabin.
        - `iconType` string: Icon type used to render the element.
        - `topOffset` integer: Vertical offset of the element in the layout.
        - `xOffset` integer: Horizontal offset of the element in the layout.
        - `width` integer: Width of the element in the layout.
        - `height` integer: Height of the element in the layout.
        - `align` string: Alignment of the element in the layout.
      - `exits` ExitPosition[]: Exit positions on this deck.
        - `side` string: Side of the aircraft where the exit is located.
        - `topOffset` integer: Vertical offset of the exit in the layout.
      - `wingsInfo` WingsInfo: Wings information for the aircraft.
        - `deckLevel` integer: Deck level where the wings are located.
        - `topOffset` integer: Vertical offset of the wings in the layout.
        - `height` integer: Height of the wings in the layout.
      - `exitRowsLeft` integer[]: Row numbers with exits on the left side.
      - `exitRowsRight` integer[]: Row numbers with exits on the right side.
    - `cabinDetails` CabinDetails[]: Per-cabin details.
      - `classCode` string: Class code of the cabin.
      - `pitch` string: Seat pitch measurement.
      - `recline` string: Seat recline measurement.
      - `width` string: Seat width measurement.
      - `flatness` string: Seat flatness level.
      - `legroomSummary` string: Summary of legroom available in the cabin.
      - `reclineSummary` string: Summary of recline available in the cabin.
      - `legroomType` string: Type of legroom in the cabin.
      - `rowLayout` string: Seat row layout pattern for the cabin.
      - `entertainment` CabinAmenity: Amenity information for a cabin.
        - `exists` boolean: Whether the amenity is available in the cabin.
        - `cost` string: Cost associated with the amenity.
        - `summary` string: Summary description of the amenity.
        - `deliveryType` string: Delivery type of the amenity.
        - `type` string: Type of the amenity.
        - `usbPort` boolean: Whether USB port is available.
        - `powerOutlet` boolean: Whether power outlet is available.
      - `wifi` CabinAmenity: Amenity information for a cabin.
        - `exists` boolean: Whether the amenity is available in the cabin.
        - `cost` string: Cost associated with the amenity.
        - `summary` string: Summary description of the amenity.
        - `deliveryType` string: Delivery type of the amenity.
        - `type` string: Type of the amenity.
        - `usbPort` boolean: Whether USB port is available.
        - `powerOutlet` boolean: Whether power outlet is available.
      - `power` CabinAmenity: Amenity information for a cabin.
        - `exists` boolean: Whether the amenity is available in the cabin.
        - `cost` string: Cost associated with the amenity.
        - `summary` string: Summary description of the amenity.
        - `deliveryType` string: Delivery type of the amenity.
        - `type` string: Type of the amenity.
        - `usbPort` boolean: Whether USB port is available.
        - `powerOutlet` boolean: Whether power outlet is available.
  - `resultSummary` ResultSummary: Summary of seat map data availability across cabins.
    - `isDataAvailable` boolean: Whether seat map data is available for at least one cabin.
    - `unavailabilityMessage` string: Reason when seat map data is unavailable.

## Other responses

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

## Changes

- **2026-11-13** `aafc7959114b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/spotnana/apis/air-api/changes/v2/air/seat-map-bulk/post.md)

---

[API](https://skmtc.dev/spotnana/apis/air-api.md) - [All operations](https://skmtc.dev/spotnana/apis/air-api/llms.txt) - [OpenAPI document](https://skmtc.dev/spotnana/apis/air-api/revisions/aafc7959114b?raw)
