API

Sections

Theme switcher

Selecting Seats

Carriers often allow users to select the precise seat in which they will sit during the journey. The Distribusion API supports surfacing the seat layout of the vehicle through the /connections/seats endpoint. The API returns a coordinate system based on which the seat map can be projected on the front end. This option is most commonly exposed to the user on or just before the checkout page.

Whether or not a carrier supports seat selection can be identified through the /marketing_carriers/{marketing_carrier_id} endpoint under the supports_seats field.

Seat map reservation as described here only work for selected bus carriers. We are in the process of upgrading our API to support it for rail carriers too, with Trenitalia being one of the first. Be aware that for additional rail carriers, the endpoint and flow may be subject to change. If you are interested in offering seat map reservation for rail carriers please contact your Partnership Manager to learn more.

Seat preferences (e.g. aisle or window seat) and paid seat reservation are supported within the scope of the Ancillaries functionality.

Creating the Seat Map

Retrieve and display the seat map for the specific trip using the /connections/seats endpoint. Distribusion is not able to return an image of the seat map, but it returns the coordinates of the seats which allow you to build the structure of the vehicle as your prefer.

Below is the first section of the /connections/seats endpoint response and it shows vacant false for the first seat on the bus. Therefore, in your seat map you should also represent an occupied seat on the front left of the bus. This can also be seen in the seat map sample below.

JSON
{ "id": "NBRA-BRLZSRDJ-BRSAOSPB-2024-08-29T00:05-2024-08-29T06:20-0-0-ES", "type": "seats", "attributes": { "code": "1", "label": "1", "fare_class": "FARE-1", "vacant": false, "coordinates": { "x": 1, "y": 0, "z": 1 }, "price": null } }

The coordinates indicate where the seat should be placed in relation to the other seats and will help you build your set map.

Aisle

The aisle can be found within the response by the y co-ordinate for which no seats are found. It means that if you never find a certain number within the y axis, it means this is an aisle. For example, in the seat map image below seat 04 can be found at the following co-ordinates, skipping over y: 2, which demonstrates an aisle between the seats.

JSON
{ "id": "NBRA-BRLZSRDJ-BRSAOSPB-2024-08-29T00:05-2024-08-29T06:20-0-0-04", "type": "seats", "attributes": { "code": "04", "label": "04", "fare_class": "FARE-2", "vacant": false, "coordinates": { "x": 1, "y": 3, "z": 1 }, "price": null } }

Staircase

The staircase can be found within the response by code: “ES” - the size of this for the diagram can also be determined by the missing seats provided in the response. In this scenario you can see four seats missing opposite 13-16 and the following referring to the staircase itself.

JSON
{
"id": "NBRA-BRLZSRDJ-BRSAOSPB-2024-08-29T00:05-2024-08-29T06:20-0-0-ES",
"type": "seats",
"attributes": {
"code": "ES",
"label": "ES",
"fare_class": "FARE-2",
"vacant": false,
"coordinates": {
"x": 5,
"y": 4,
"z": 1
},
"price": null
}
}

Cars/Coaches

Some vehicles, particularly trains, are composed of multiple cars (also known as coaches, carriages or wagons), while buses typically consist of a single section. The /connections/seats API response provides information to distinguish these individual cars and understand their layout.

Note that this is currently only supported for Trenitalia.

When you receive a response from /connections/seats for a multi-car vehicle, the included array will contain objects of type: "cars". Each of these objects represents a distinct car within the vehicle's composition.

Key attributes to identify and display cars are:

index: This is a zero-based positional index (e.g., 0, 1, 2). It's used for the internal ordering of the cars as they appear in the API response. label: This is an optional string that provides the actual displayable car number or label (e.g., "5", "Coach A") as sourced from the carrier. This is the identifier that passengers would typically use to locate the physical car on the train. It's important to use this label for display purposes, as the index might not correspond to the number visible to passengers.

Each cars object in the response will also have a relationships object that links to the specific seats contained within that particular car.

Plain text

By using the index for ordering and the label for display, you can accurately represent the train's composition and help users select seats in the correct car.

Other Elements

Some carriers might return other types of bus items besides staircase. The codes might differ from carrier to carrier. If you are not sure on how to handle a different code please contact your Partnership Manager for assistance.

Seat Map Sample

This seat map below is what Distribusion has built for our whitelabel solution and can be used as a reference when building yours.

Discount Cards for Seat Selection

Some carriers, like Trenitalia, offer special fares that are only accessible when a passenger's discount card details are provided. To view and select seats for these specific fares, the same card information used in the previous steps of the Discount Card flow should be passed to the /connections/seats endpoint. While these card details might be initially captured during the trip search (e.g., in /connections/find), this enhancement allows them to be explicitly sent with the seat map request to ensure access to the correct seat availability for card-linked fares.

Note that this is currently only supported for Trenitalia.

Requesting Seats with Discount Cards

To request a seat map for a fare that requires a discount card, based on the response from the /cards endpoint you can establish the discount card content and understand whether details must be passed at booking or at passenger level.

For passenger level discounts, which is the case of CartaFRECCIA cards by Trenitalia, see an example below with all the parameters required:

HTTP
https://api.demo.distribusion.com/retailers/v4/connections/seats?marketing_carrier=TREN&departure_station=ITMILMIE&arrival_station=ITROMRAE&departure_time=2025-06-25T09%3A10&arrival_time=2025-06-25T12%3A49&retailer_partner_number=222222&currency=EUR&fare_class=FARE-408&passengers[][pax]=1&passengers[][type]=PNOS&cards[][name]=CartaFRECCIAXGO&cards[][code]=121829040

Identifying Applied Discount Cards in the Response

If discount cards were sent in the request and successfully applied by the carrier's system (via BOSI), the /connections/seats response will include information about these cards. This information can be found in two places:

Plain text
Plain text

This functionality was initially implemented to support carriers like Trenitalia (TREN, TTES, TSCO). For information on other carriers supporting discount cards with the /connections/seats endpoint, please consult your Partnership Manager.

Best Practices

  1. Include the aisle area in your seat map: We recommend to read the information in detail from our seat maps to include the aisle in your graphical representation of the seat map. This will help users understand better how to choose their seat.
  2. Use the correct seat code: For seat numbers from 1 to 9 the codes in the response might include a 0 before it e.g. 07. This varies from carrier to carrier. In this case, it is important to include the codes in the /reservations/create request exactly as received from the /connections/seats response.
  3. Cancel reservation when seats are aborted: When a user selects a seat and a reservation is created, in case the user later on aborts or cancel the process it is important to cancel the reservation using the /reservations/cancel endpoint. This is important to release the seats back to the carrier and allow the same user or another user to select them again if they restart the process. In this case, ensure to refresh the /connections/seats request when loading the seat map again.

Next Step

Once the user has selected the desired seat(s), specify the respective seat codes in the Creating a Reservation step. In case the journey is multi-segment, a seat code per segment must be specified.

 It is also possible to add the selected seat to the Confirming Reservation step, in case you decide to include the seat selection at a later stage of the flow.

API Examples

Sample Request to /connections/seats

HTTP
https://api.demo.distribusion.com/retailers/v4/connections/seats?marketing_carrier=UTIL&departure_station=BRBHZBHB&arrival_station=BRLZSRDJ&departure_time=2024-09-13T09:00&arrival_time=2024-09-13T16:35

Sample Response from /connections/seats

JSON
{
"data": [
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0",
"type": "seat_layouts",
"relationships": {
"segment": {
"data": {
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0",
"type": "segments"
}
},
"cars": {
"data": [
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0",
"type": "cars"
}
]
}
}
}
],
"jsonapi": {
"version": "1.0"
},
"included": [
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0",
"type": "segments",
"attributes": {
"index": 0,
"departure_time": "2024-09-13T09:00",
"arrival_time": "2024-09-13T16:35"
},
"relationships": {
"departure_station": {
"data": {
"id": "BRBHZBHB",
"type": "stations"
}
},
"arrival_station": {
"data": {
"id": "BRLZSRDJ",
"type": "stations"
}
}
}
},
{
"id": "BRBHZBHB",
"type": "stations",
"attributes": {
"code": "BRBHZBHB"
}
},
{
"id": "BRLZSRDJ",
"type": "stations",
"attributes": {
"code": "BRLZSRDJ"
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0",
"type": "cars",
"attributes": {
"index": 0
},
"relationships": {
"seats": {
"data": [
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-1",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-10",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-11",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-12",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-13",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-14",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-15",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-16",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-17",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-18",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-19",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-2",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-20",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-21",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-22",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-23",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-24",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-25",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-26",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-27",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-28",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-29",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-3",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-30",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-31",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-32",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-33",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-34",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-35",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-36",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-37",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-38",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-39",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-4",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-40",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-41",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-42",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-43",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-44",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-49",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-5",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-50",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-51",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-53",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-54",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-55",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-57",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-58",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-59",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-6",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-61",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-62",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-63",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-7",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-8",
"type": "seats"
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-9",
"type": "seats"
}
]
}
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-1",
"type": "seats",
"attributes": {
"code": "1",
"label": "1",
"fare_class": "FARE-9",
"vacant": true,
"coordinates": {
"x": 0,
"y": 0,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-10",
"type": "seats",
"attributes": {
"code": "10",
"label": "10",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 3,
"y": 1,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-11",
"type": "seats",
"attributes": {
"code": "11",
"label": "11",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 3,
"y": 4,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-12",
"type": "seats",
"attributes": {
"code": "12",
"label": "12",
"fare_class": "FARE-5",
"vacant": false,
"coordinates": {
"x": 3,
"y": 3,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-13",
"type": "seats",
"attributes": {
"code": "13",
"label": "13",
"fare_class": "FARE-5",
"vacant": false,
"coordinates": {
"x": 4,
"y": 0,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-14",
"type": "seats",
"attributes": {
"code": "14",
"label": "14",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 4,
"y": 1,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-15",
"type": "seats",
"attributes": {
"code": "15",
"label": "15",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 4,
"y": 4,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-16",
"type": "seats",
"attributes": {
"code": "16",
"label": "16",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 4,
"y": 3,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-17",
"type": "seats",
"attributes": {
"code": "17",
"label": "17",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 5,
"y": 0,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-18",
"type": "seats",
"attributes": {
"code": "18",
"label": "18",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 5,
"y": 1,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-19",
"type": "seats",
"attributes": {
"code": "19",
"label": "19",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 5,
"y": 4,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-2",
"type": "seats",
"attributes": {
"code": "2",
"label": "2",
"fare_class": "FARE-9",
"vacant": true,
"coordinates": {
"x": 0,
"y": 1,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-20",
"type": "seats",
"attributes": {
"code": "20",
"label": "20",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 5,
"y": 3,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-21",
"type": "seats",
"attributes": {
"code": "21",
"label": "21",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 6,
"y": 0,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-22",
"type": "seats",
"attributes": {
"code": "22",
"label": "22",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 6,
"y": 1,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-23",
"type": "seats",
"attributes": {
"code": "23",
"label": "23",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 6,
"y": 4,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-24",
"type": "seats",
"attributes": {
"code": "24",
"label": "24",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 6,
"y": 3,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-25",
"type": "seats",
"attributes": {
"code": "25",
"label": "25",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 7,
"y": 0,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-26",
"type": "seats",
"attributes": {
"code": "26",
"label": "26",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 7,
"y": 1,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-27",
"type": "seats",
"attributes": {
"code": "27",
"label": "27",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 7,
"y": 4,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-28",
"type": "seats",
"attributes": {
"code": "28",
"label": "28",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 7,
"y": 3,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-29",
"type": "seats",
"attributes": {
"code": "29",
"label": "29",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 8,
"y": 0,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-3",
"type": "seats",
"attributes": {
"code": "3",
"label": "3",
"fare_class": "FARE-9",
"vacant": true,
"coordinates": {
"x": 0,
"y": 4,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-30",
"type": "seats",
"attributes": {
"code": "30",
"label": "30",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 8,
"y": 1,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-31",
"type": "seats",
"attributes": {
"code": "31",
"label": "31",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 8,
"y": 4,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-32",
"type": "seats",
"attributes": {
"code": "32",
"label": "32",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 8,
"y": 3,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-33",
"type": "seats",
"attributes": {
"code": "33",
"label": "33",
"fare_class": "FARE-5",
"vacant": false,
"coordinates": {
"x": 9,
"y": 0,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-34",
"type": "seats",
"attributes": {
"code": "34",
"label": "34",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 9,
"y": 1,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-35",
"type": "seats",
"attributes": {
"code": "35",
"label": "35",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 9,
"y": 4,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-36",
"type": "seats",
"attributes": {
"code": "36",
"label": "36",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 9,
"y": 3,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-37",
"type": "seats",
"attributes": {
"code": "37",
"label": "37",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 10,
"y": 0,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-38",
"type": "seats",
"attributes": {
"code": "38",
"label": "38",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 10,
"y": 1,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-39",
"type": "seats",
"attributes": {
"code": "39",
"label": "39",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 10,
"y": 4,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-4",
"type": "seats",
"attributes": {
"code": "4",
"label": "4",
"fare_class": "FARE-9",
"vacant": false,
"coordinates": {
"x": 0,
"y": 3,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-40",
"type": "seats",
"attributes": {
"code": "40",
"label": "40",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 10,
"y": 3,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-41",
"type": "seats",
"attributes": {
"code": "41",
"label": "41",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 11,
"y": 0,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-42",
"type": "seats",
"attributes": {
"code": "42",
"label": "42",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 11,
"y": 1,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-43",
"type": "seats",
"attributes": {
"code": "43",
"label": "43",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 11,
"y": 4,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-44",
"type": "seats",
"attributes": {
"code": "44",
"label": "44",
"fare_class": "FARE-5",
"vacant": true,
"coordinates": {
"x": 11,
"y": 3,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-49",
"type": "seats",
"attributes": {
"code": "49",
"label": "49",
"fare_class": "FARE-3",
"vacant": true,
"coordinates": {
"x": 0,
"y": 0,
"z": 0
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-5",
"type": "seats",
"attributes": {
"code": "5",
"label": "5",
"fare_class": "FARE-9",
"vacant": false,
"coordinates": {
"x": 1,
"y": 0,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-50",
"type": "seats",
"attributes": {
"code": "50",
"label": "50",
"fare_class": "FARE-3",
"vacant": true,
"coordinates": {
"x": 0,
"y": 1,
"z": 0
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-51",
"type": "seats",
"attributes": {
"code": "51",
"label": "51",
"fare_class": "FARE-4",
"vacant": true,
"coordinates": {
"x": 0,
"y": 4,
"z": 0
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-53",
"type": "seats",
"attributes": {
"code": "53",
"label": "53",
"fare_class": "FARE-3",
"vacant": true,
"coordinates": {
"x": 1,
"y": 0,
"z": 0
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-54",
"type": "seats",
"attributes": {
"code": "54",
"label": "54",
"fare_class": "FARE-3",
"vacant": true,
"coordinates": {
"x": 1,
"y": 1,
"z": 0
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-55",
"type": "seats",
"attributes": {
"code": "55",
"label": "55",
"fare_class": "FARE-4",
"vacant": true,
"coordinates": {
"x": 1,
"y": 4,
"z": 0
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-57",
"type": "seats",
"attributes": {
"code": "57",
"label": "57",
"fare_class": "FARE-3",
"vacant": false,
"coordinates": {
"x": 2,
"y": 0,
"z": 0
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-58",
"type": "seats",
"attributes": {
"code": "58",
"label": "58",
"fare_class": "FARE-3",
"vacant": true,
"coordinates": {
"x": 2,
"y": 1,
"z": 0
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-59",
"type": "seats",
"attributes": {
"code": "59",
"label": "59",
"fare_class": "FARE-4",
"vacant": false,
"coordinates": {
"x": 2,
"y": 4,
"z": 0
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-6",
"type": "seats",
"attributes": {
"code": "6",
"label": "6",
"fare_class": "FARE-9",
"vacant": false,
"coordinates": {
"x": 1,
"y": 1,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-61",
"type": "seats",
"attributes": {
"code": "61",
"label": "61",
"fare_class": "FARE-3",
"vacant": false,
"coordinates": {
"x": 3,
"y": 0,
"z": 0
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-62",
"type": "seats",
"attributes": {
"code": "62",
"label": "62",
"fare_class": "FARE-3",
"vacant": false,
"coordinates": {
"x": 3,
"y": 1,
"z": 0
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-63",
"type": "seats",
"attributes": {
"code": "63",
"label": "63",
"fare_class": "FARE-4",
"vacant": true,
"coordinates": {
"x": 3,
"y": 4,
"z": 0
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-7",
"type": "seats",
"attributes": {
"code": "7",
"label": "7",
"fare_class": "FARE-9",
"vacant": true,
"coordinates": {
"x": 2,
"y": 0,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-8",
"type": "seats",
"attributes": {
"code": "8",
"label": "8",
"fare_class": "FARE-9",
"vacant": true,
"coordinates": {
"x": 2,
"y": 1,
"z": 1
},
"price": null
}
},
{
"id": "UTIL-BRBHZBHB-BRLZSRDJ-2024-09-13T09:00-2024-09-13T16:35-0-0-9",
"type": "seats",
"attributes": {
"code": "9",
"label": "9",
"fare_class": "FARE-5",
"vacant": false,
"coordinates": {
"x": 3,
"y": 0,
"z": 1
},
"price": null
}
}
]
}

For more samples responses, check the /connections/seats endpoint page.

Was this section helpful?

What made this section unhelpful for you?

On this page
  • Selecting Seats
View as Markdown

Ask an AI

Open in ChatGPTOpen in ClaudeOpen in Perplexity

Code with AI

Open in Copilot