NAV Navbar
HTTP

Introduction

Welcome to the Welltravel.API Documentation. Our API follows RESTful principle. Our API is predictable, has resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP verbs, which are understood by most HTTP clients. All API response is returned as JSON, including errors. You can use our API to:

Authentication

Welltravel.API uses the OAuth 2.0 protocol to authorize each request. OAuth is an industry standard that many companies use to provide secure access to protected resources. When you create an app in your dashboard, the system generates a client ID and a secret credential for your app. You pass these credentials in an access token request.

When you request the authorization server for access token, the server issues access tokens called bearer tokens. When you make REST API requests to our API endpoints, you need to use these tokens inside an Authorization header. A bearer token enables you to complete actions on behalf of, and with the approval of, the resource owner. We use the client credentials OAuth2 flow described in RFC6749 section 4.4. This means you have to request an access token which will be valid for a given amount of time. You need to reference this access token in every following request.

Creating the Access Token

After creating an OAuth application in your dashboard, you can create an access token by sending a POST request to /oauth/token.

Request Parameters
POST /oauth/token HTTP/1.1
Content-Type: application/json; charset=utf-8

{
  "client_id": "d78a6e4b62428e2e49e4ef4340596984a8473da5c4caf081dc135edce02f8e73",
  "client_secret": "06b469c40717794120bb1254a3a9fce225e4b8b8a51b60de262aa091efb0c35a",
  "grant_type": "client_credentials"
}
Parameter RQ Type Description
client_id String The Client ID of the application created on the Dashboard
client_secret String The Client Secret of the application created on the Dashboard
grant_type String This must be set to client_credentials
Response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "access_token": "c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6",
  "token_type": "bearer",
  "expires_in": 7200,
  "created_at": 1479991079
}
Parameter Type Description
access_token String The access token you need to use later on
token_type String The OAuth token type which has to be used when specifying the token
expires_in Integer The time within which the access token is valid
created_at String Timestamp when the token as been created

Using the Access Token

POST /api/flights/searches HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6

The access token has to be specified in every API call using the Authorization HTTP header.

Versioning

POST /api/flights/searches HTTP/1.1
Accept-Version: v1
POST /api/flights/searches HTTP/1.1
Accept-Version: v1.1

You are required to specify the version for each request. Requests without a version specified will result in a 404 - Not Found response.

Our API is currently available in v1 and v1.1. You have to specify the version you want to use. The version is specified via the HTTP header Accept-Version.

Pagination

Every API endpoint which returns multiple entities has pagination enabled.

Request
GET /api/entities?page=1&per_page=50 HTTP/1.1

The API consumer is able to specify how many entities and which page should be returned.

Parameter Description
per_page The number of elements that will be returned on one page (max: 250)
page The page which should be returned
Response
HTTP/1.1 200 OK
X-Total: 110
X-Per-Page: 50
X-Total-Pages: 3
X-Page: 1
X-Next-Page: 2

The pagination details are exposed as HTTP headers in the response.

Header Description
X-Total The total number of entities in this collection
X-Per-Page The number of elements per page
X-Total-Pages Based on X-Per-Page, the number pages that will be returned
X-Page The current page number returned
X-Next-Page The next page number, if available

Making Requests

POST /api/flights/searches HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

When writing your own Welltravel.TravelAPI client, please keep the following points in mind:

Any client library maintained by us should take care of these for you.

Version V1

This is the documentation of the enhancements done under API version v1.

Search & Book: Flight

After authentication, you are able to book a flight in three steps:

  1. Search: Search & fetch flight results
  2. Select: Confirm availability and fetch available ancillary services
  3. Reserve: Create a reservation

Every step is required. You can’t leave one out.

Besides the mandatory three steps, there is another optional step to know fare rules of a particular flight. This step must be done after Search Results are found.

Fare Rules: Fare Rules
Upsell Fare: Upsell Fare

Flight Search Flow

To create a flight search, send a POST request to /api/flights/searches. It will return the result ID of the created search. This ID can be used to fetch the results by sending a GET request to /api/flights/searches/:id/results.

Flight Search Examples

  1. Request with all parameters
  2. Request with minimum parameters
Search with all parameters
POST /api/flights/searches HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1
Content-Type: application/json; charset=utf-8

{
  "trips": [
    { 
      "origin": "FRA",
      "destination": "TXL",
      "date": "2017-12-29",
      "cabin_class": "economy",
      "departure_time": "10:20"
      "booking_class": [],
      "alliance_preferences: : [],
    },
    { 
      "origin": "TXL",
      "destination": "FRA",
      "date": "2017-12-30",
      "cabin_class": "economy",
      "departure_time": "15:40"
      "booking_class": [],
      "alliance_preferences: : [],
    }
  ],
  "adults": 1,
  "children": 0,
  "infants": 0,
  "currency": "USD",
  "flexible": true,
  "non_stop": true,
  "only_flexible_flight": false,
  "only_published_fare": false,
  "include_welltravel_results":"false",
  "accounts": {
    "amadeus": [
      {
        "identifier": "ACT1",
        "codes": ["1234", "CODE"],
      }
    ],
    "galileo": [
      {
        "identifier": "ACT2",
        "codes": ["1234"],
      }
    ],
    "sabre": [
      { "identifier": "ACT3" }
    ],
    "lh_group": [
      { "identifier": "ACT4" }
    ],
    "british_airways": [
      { "identifier": "ACT5" }
    ],
    "apollo": [
      { "identifier": "ACT6" }
    ],
    "worldspan": [
          { "identifier": "ACT6" }
        ],
  }
}

Below is a list of all available request parameters

Parameter RQ Type Description
trips Array An array of trips, supports up to 9 trips on certain suppliers. Please check your supplier specific details.
trips.origin String The origin for this trip. It is a 3 letter code. IATA airport code
trips.destination String The destination for this trip. It is a 3 letter IATA airport code
trips.date String Date of the trip, in ISO-8601 format
trips.cabin_class String The cabin class for this trip
trips.booking_class Array Please note this feature is only for Galileo. An array containing all the permitted booking classes. For valid values, please see Booking Class. If a booking class is specified, the flight result will show only flights from that booking class.
trips.alliance_preferences Array Please note this feature is only for Galileo. An array containing all the preferred alliance Preference. For valid values, please see Alliance Preferences
trips.departure_time String The starting departure time for this trip. Value should be between 00:01 to 23:59
adults Integer The number of adult passenger will be on this journey. Must be at-least one. The number of adults must be greater than number of infants.
children Integer The number of child passenger will be on this journey. The child has to be younger than 12 years at the start of journey.
infants Integer The number of infants (children without seat) will be on this journey . Infant has to be younger than 2 years at the start of journey.
currency String The currency in which the prices will be exposed, in ISO-4217 format. See All Supported Welltravel Currencies for details.
airline_preferences Object A hash of all preferred Airline Carrier Codes
airline_preferences.type String Type of airline preferences. Possible values are exclusive and preferred. If you want to get results from only mentioned carrier code(s), you should choose exclusive as type otherwise it is advised to choose preferred.
airline_preferences.carriers Array An Array of carrier Code of Preferences. Two-character IATA-assigned code that identifies a carrier on arrival/departure signs, baggage tags, Global Distribution System (GDS), tickets, etc. Usually it is an alpha code (such as AI for Air India, EI for Air Lingus, and WN for Southwest Airlines) but sometimes it is alphanumeric (such as F9 for Frontier Airlines, 7Z for Laker Airlines, and 5X United Parcel Service). For more information Carrier Code. For example, TP
only_published_fare Boolean true for only flights with published fares. false for all flights. Default is false. A published fare is an airfare that is available to all air vendors. This means you will be able to find this fare (if available) with any seller of travel, including the airline.
flexible Boolean Flexible of search dates. Please check your supplier specific details.
non_stop Boolean true for only non-stop flight. false for all flights.
only_flexible_flight Boolean Please note this feature is only for Galileo. True to get only flexible flights i.e flights with change or cancel penalty for the booking is zero. False will returns all flights. Default is false.
include_welltravel_results Boolean True to include flight results from Welltravel Suppliers. If include_welltravel_results is true and no other supplier is selected then only results from Welltravel Suppliers will be displayed. False otherwise. Default is false.

accounts

Object The accounts to use when searching
accounts.identifier String Account Identifier for suppliers. Generally IPCC for GDSs.
accounts.codes Array Discount or Corporate Codes for the specific supplier. For details, see Supplier Specific Maximum Corporate Code Support

Search with Minimum Parameters

This is an example for possible minimum request you can do in our system.

POST /api/flights/searches HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1
Content-Type: application/json; charset=utf-8

{
  "trips": [
    {
      "origin": "FRA",
      "destination": "TXL",
      "date": "2018-10-29",
      "cabin_class": "economy"
    }
  ],
  "adults": 1,
  "children": 0,
  "infants": 0,
  "currency": "USD",
  "accounts": {
    "galileo": [
      { "identifier": "ACT1" }
    ]
  }
}

Search Response

After creating the search the system will return an UUID which points to the search that you just created. You need to use this UUID in order to fetch the results returned in the search.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "d51d7770-3046-414a-81e8-2a148414a6db"
}
Parameter Type Description
id UUID The unique id of the search, use it to fetch the results

Fetch Search Results

Use the id from the search response to fetch the results. This endpoint supports pagination.

GET /api/flights/searches/d51d7770-3046-414a-81e8-2a148414a6db/results?page=1&per_page=50&order_by=segment_count&order_direction=asc HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1
Request Parameters
Parameter Required Description
order_by Order the results by departure, arrival, duration, segment_count or total_price, default: total_price
order_direction Order the results ascending (asc) or descending (desc), default: asc
include_duplicates Whether to include or exclude duplication result. Default is false
Response Parameters
HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 935
X-Total-Pages: 935
X-Per-Page: 1
X-Page: 1
X-Next-Page: 2

[
  {
    "id": "3537a351-076a-45b1-97d8-a7e354d58f8c",
    "instant_ticket": false,
    "source": { "supplier": "galileo", "account": "ACT2", "currency": "USD" },
    "fare_calculations": [
      { "passenger_type": "adult", "price": "100.0", "currency": "EUR" },
      { "passenger_type": "child", "price": "80.0", "currency": "EUR" },
      { "passenger_type": "infant", "price": "10.0", "currency": "EUR" }
    ],
    "pricing": {
      "flight_price": {
        "recommended_selling_price": { "amount": "190.0", "currency": "USD" },
        "purchase_price": { "amount": null, "currency": "USD" },
        "source": { "amount": null, "currency": null }
      },
      "tax": {
        "amount": "103.3",
        "currency": "USD",
        "source": { "amount": null, "currency": null }
      },
      "total_price": {
        "recommended_selling_price": { "amount": "293.3", "currency": "USD" },
        "purchase_price": { "amount": null, "currency": "USD" },
        "source": { "amount": null, "currency": null }
      }
    },
    "refundable": false,
    "penalties": {
      "change": { "amount": null, "currency": null },
      "cancel": { "amount": null, "currency": null }
    },
    "apis_data_required": "none",
    "reservation_manageable": true,
    "free_cancellation_duration_in_minutes": 4290,
    "trips": [
      {
        "ticket_selling_carrier_code": "AB",
        "trip_duration_in_minutes": 70,
        "origin_code": "FRA",
        "origin_timezone": "Europe/Berlin",
        "destination_timezone": "Europe/Berlin",
        "departure_localtime": "2017-12-29T15:00:00",
        "arrival_localtime": "2017-12-29T16:10:00",
        "destination_offset_in_days": 0,
        "destination_code": "TXL",
        "stopover_count": 0,
        "segments": [
          {
            "origin_code": "FRA",
            "origin_terminal": "2",
            "origin_timezone": "Europe/Berlin",
            "destination_code": "TXL",
            "destination_terminal": null,
            "destination_timezone": "Europe/Berlin",
            "departure_localtime": "2017-12-29T15:00:00",
            "arrival_localtime": "2017-12-29T16:10:00",
            "operating_carrier_code": "AB",
            "operating_flight_number": "6588",
            "aircraft_operated_by": "AB",
            "marketing_carrier_code": "AB",
            "marketing_flight_number": "6588",
            "aircraft_type": "320",
            "booking_class": "W",
            "flight_duration_in_minutes": 70,
            "catering": [],
            "cabin_class": "economy",
            "technical_stops": {
              "count": 2,
              "stop_details": [
                {
                  "airport_code": "DUS",
                  "arrival_localtime": "2021-12-29T15:10:00",
                  "departure_localtime": "2021-12-29T15:20:00",
                  "duration_in_minutes": 10
                },
                {
                  "airport_code": "MUC",
                  "arrival_localtime": "2021-12-29T15:25:00",
                  "departure_localtime": "2021-12-29T15:50:00",
                  "duration_in_minutes": 25
                }
              ]
            },
            "air_miles": null,
            "wifi": {
              "available": true,
              "packages": [
                { "amount": "10.0", "currency": "EUR", "volume_in_mbyte": 10 },
                { "amount": "14.0", "currency": "EUR", "volume_in_mbyte": 15 },
                { "amount": "90.0", "currency": "EUR", "volume_in_mbyte": 100 }
              ]
            },
            "on_time_in_percentage": 99.8,
            "baggage_pieces_included": { "count": 0, "kg_per_piece": null },
            "fare": {
              "brand": "ECONOMY LIGHT",
              "brand_identifier": "economy_light",
              "basis_code": "WNY05RT",
              "meta_brand_name": "Economy",
              "meta_brand_identifier": "83dd3e67-1e33-4893-8045-2f94b56487a4",
              "type": "published"
            }
          }
        ]
      },
      {
        "ticket_selling_carrier_code": "AB",
        "trip_duration_in_minutes": 75,
        "origin_code": "TXL",
        "origin_timezone": "Europe/Berlin",
        "destination_timezone": "Europe/Berlin",
        "departure_localtime": "2017-12-30T13:05:00",
        "arrival_localtime": "2017-12-30T14:20:00",
        "destination_offset_in_days": 0,
        "destination_code": "FRA",
        "stopover_count": 0,
        "segments": [
          {
            "origin_code": "TXL",
            "origin_terminal": null,
            "origin_timezone": "Europe/Berlin",
            "destination_code": "FRA",
            "destination_terminal": "2",
            "destination_timezone": "Europe/Berlin",
            "departure_localtime": "2017-12-30T13:05:00",
            "arrival_localtime": "2017-12-30T14:20:00",
            "operating_carrier_code": "AB",
            "operating_flight_number": "6585",
            "aircraft_operated_by": "AB",
            "marketing_carrier_code": "AB",
            "marketing_flight_number": "6585",
            "aircraft_type": "320",
            "booking_class": "W",
            "flight_duration_in_minutes": 75,
            "catering": [],
            "cabin_class": "economy",
            "technical_stops": {
              "count": 2,
              "stop_details": [
                {
                  "airport_code": "MUC",
                  "arrival_localtime": "2021-12-30T13:20:00",
                  "departure_localtime": "2021-12-30T13:30:00",
                  "duration_in_minutes": 10
                },
                {
                  "airport_code": "DUS",
                  "arrival_localtime": "2021-12-30T13:40:00",
                  "departure_localtime": "2021-12-30T13:55:00",
                  "duration_in_minutes": 15
                }
              ]
            },
            "air_miles": null,
            "wifi": { "available": null, "packages": null },
            "on_time_in_percentage": null,
            "baggage_pieces_included": { "count": 1, "kg_per_piece": 23 },
            "fare": {
              "brand": "ECONOMY LIGHT",
              "brand_identifier": "economy_light",
              "basis_code": "WNY05RT",
              "type": "published"
            }
          }
        ]
      }
    ]
  },
]
Key Type Description
id UUID The unique id of the search result, used for Select and Reserve
instant_ticket Boolean Indicates if the ticket is automatically issued at the time of booking the flight. Supported Supplier List
source Object Information about the source of the result
source.supplier String The supplier on which this result has been found
source.account String The account on which the result has been found
source.currency String The currency of the result returned from the supplier
fare_calculations Array Describes how the flight price (not the total price) has been calculated for ONE passenger
fare_calculations.passenger_type String Type of passenger. Example: adult , child or infant
fare_calculations.price String Price for one passenger for the specific type to make reservation
fare_calculations.currency String The currency in which the price is displayed
pricing Object Detailed Pricing Information
pricing.flight_price Object Detailed Flight Price Information
pricing.flight_price.recommended_selling_price Object Detailed information about the price of the room we recommend to use as selling price
pricing.flight_price.recommended_selling_price.amount String The price of the room/rooms we recommend to use as selling price
pricing.flight_price.recommended_selling_price.currency String The currency of the price of the room we recommend to use as selling price
pricing.flight_price.purchase_price Object Detailed information about the price of the trip you will have to pay
pricing.flight_price.purchase_price.amount String The price of the journey you will have to pay
pricing.flight_price.purchase_price.currency String The currency of the price of the trip you will have to pay
pricing.flight_price.source Object Detailed information about the price of the journey you will have to pay for the default currency of the IPCC
pricing.flight_price.source.amount String The price of the journey you will have to pay
pricing.flight_price.source.currency String Default currency in which the pricing is being exposed
pricing.tax Object Tax related Information
pricing.tax.amount String the amount of tax to be paid
pricing.tax.currency String Currency in which the tax has been exposed
pricing.tax.source Object Tax in IPCC’s default currency related information
pricing.tax.source.amount String The tax you have to pay in terms of default currency
pricing.tax.source.currency String Default Currency of the IPCC
pricing.total_price Object Information related to the total price of the Flight
pricing.total_price.recommended_selling_price Object Information related to the total price of the trip including tax we recommend you to use as selling price
pricing.total_price.recommended_selling_price.amount String The total price of the result we recommend you to use as selling price
pricing.total_price.recommended_selling_price.currency String Currency in which the pricing has been exposed
pricing.total_price.purchase_price Object Detailed information about the total purchase price
pricing.total_price.purchase_price.amount String The price of the journey including tax you will have to pay
pricing.total_price.purchase_price.currency String Currency in which the pricing has been exposed
pricing.total_price.source Object Detailed information about the total price of the journey you will have to pay for the default currency of the IPCC
pricing.total_price.source.amount String The total price of the journey you will have to pay for the default currency of the IPCC
pricing.total_price.source.currency String Default currency in which the pricing is being exposed
refundable Boolean Booking Refund Information
penalties Object The detailed information about penalties for cancelling the booking
penalties.change Object The information about the penalty for changing the flight booking. It can be changing the dates, destinations, or times.
penalties.change.amount String The penalty fee for changing the flight booking
penalties.change.currency String The currency in which the penalty fee is being exposed
penalties.cancel Object The information about the penalty for cancelling the flight booking
penalties.cancel.amount String Cancellation fee
penalties.cancel.currency String The currency in which the cancellation fee is being exposed
apis_data_required String Exposes if advanced passer information has to be required, see APIS data for more details
reservation_manageable Boolean Marks if it is possible to modify a reservation of this result from our API
fare_rule Boolean Marks if fare rules available or not for this flight.
free_cancellation_duration_in_minutes Integer Total duration of the time for free cancellation of the flight in minutes. For example, 75
trips Array All the trip information about the flight
trips.ticket_selling_carrier_code String Carrier Code of the ticket for the trip. It is two letter code. For example, BA
trips.trip_duration_in_minutes Integer Total duration of the flight trip expressed in minutes. For example, 75
trips.origin_code String The airport code of the origin of the trip. For example, for a flight from Madrid to NewYork, the origin code will be MAD
trips.origin_timezone String The timezone of the place where the flight trip will take off. For example, Europe/Berlin
trips.destination_timezone String The timezone of the place where the flight trip will land. For example, Europe/Berlin
trips.departure_localtime String The local time of the airport at the time of departure
trips.arrival_localtime String The local time of the airport at the time of arrival
trips.destination_offset_in_days Integer The number of days required to reach the destination
trips.destination_code String The airport code of the destination of the trip. For example, for a flight from Madrid to NewYork, the origin code will be JFK
trips.stopover_count Integer The number of stopovers for the whole trip
trips.segments String Information about the segments of the trip
trips.segments.origin_code String The origin airport code for the segment
trips.segments.origin_timezone String The local timezone of the origin airport of the segment
trips.segments.destination_code String The airport code of the destination for this segment
trips.segments.destination_timezone String The timezone of the destination airport
trips.segments.departure_localtime String The local time of the airport at the time of departure for this segment
trips.segments.arrival_localtime String The local time of the airport at the time of arrival
trips.segments.operating_carrier_code String Operating Carrier Code refers to the identifier used in flight schedule, generally the two-character IATA airline designator code
trips.segments.operating_flight_number String Refers to the identifier used in flight schedule, flight number of the operating carrier
trips.segments.aircraft_operated_by String Refer to the identifier for the aircraft operated by the operating carrier
trips.segments.marketing_carrier_code String Refers to the ticket selling carrier
trips.segments.aircraft_type String Type of the aircraft for this trip segment.
trips.segments.booking_class String Indicates Travel Class. Usually the first letter of the fare basis code. For example, ‘O’
trips.segments.flight_duration_in_minutes Integer Total duration of the flight trip expressed in minutes. For example, 75
trips.segments.catering Array The kind of catering that will be offered on this flight, see catering for more details
trips.segments.cabin_class String Refers to the quality of the cabin for this trip segment.See Cabin Class for more details
trips.segments.technical_stops Object The details information about technical stops. A technical stop most commonly used to refuel the aircraft, to make unexpected essential repairs or to respond to some emergency need to land the aircraft. No traffic is unloaded or loaded during a technical stop.
trips.segments.technical_stops.count Integer The number of the technical stops will be taken by the aircraft in the particular segment.
trips.segments.technical_stops.stop_details Array Details information about each stop of the airlines.
trips.segments.technical_stops.stop_details.airport_code String The airport code of technical stop. For example, for a flight from Singapore to San Francisco, Then the first stop could be Hong Kong HKG airport.
trips.segments.technical_stops.stop_details.arrival_localtime String The local time of the airport at the time of arrival.
trips.segments.technical_stops.stop_details.departure_localtime String The local time of the airport at the time of departure.
trips.segments.technical_stops.stop_details.duration_in_minutes Integer Total duration between flight arrival and departure, expressed in minutes. For example, 30
trips.segments.air_miles String A nautical mile used as a measure of distance flown by aircraft.
trips.segments.wifi Object Information related to the wifi connection for this trip segment
trips.segments.wifi.available Boolean The availability of wifi
trips.segments.wifi.packages Array Details about the wifi packages of this airline
trips.segments.wifi_packages.amount String The cost of the wifi package
trips.segments.wifi_packages.currency String The currency in which the cost of wifi package has ben exposed
trips.segments.wifi_packages.volume_in_mbyte String The volume in megabyte of wifi package is included
trips.segments.on_time_in_percentage String The percentage of punctuality of this flight of this trip segment
trips.segments.baggage_pieces_included Object The default included baggage, if not specified differently
trips.segments.baggage_pieces_included.count Integer The count of included baggage pieces
trips.segments.baggage_pieces_included.kg_per_piece Integer The weight allowed for the included baggage piece
trips.segments.fare String Information related to fare
trips.segments.fare.brand String The brand of the fare. For example, ECONOMY LIGHT
trips.segments.fare.brand_identifier String The brand identifier of the fare. For example, economy_light, euro_traveler, world_traveler, business, basic and so on
trips.segments.fare.meta_brand_name String The meta brand identifier of the fare which will come from meta. For example, Flex
trips.segments.fare.meta_brand_identifier UUID The meta fare brand unique identifier.
trips.segments.fare.basis_code String A fare basis code is an alphabetic or alpha-numeric code used by airlines to identify a fare type and allow airline staff and travel agents to find the rules applicable to that fare. For example, WNY05RT
trips.segments.fare.type String The fare type, see fare type for more details

Definitions

Cabin Class

The cabin class can be specified on a trip basis. See cabin class for more details about this key. Please use one of these values. Also please keep in mind that not all flights has all kinds of cabin. As a result the cabin class can drastically change the number of results for a specific search.

Infants

You have to make sure that the amount of infants is lower than the amount of adults. It is not possible to book more infants than adults.

This rule does not apply for children.

Flexible

If you want to see more results +/- 3 days beside the dates you searched for then please set the parameter flexible: true. Generally the suppliers exposes these dates so that one can find better deals on dates other than the searched dates. Default value is flexible: false for all suppliers.

Trips

A Trip generally means a travel from point A to point B. For example: If you search for JFK-LHR and LHR-JFK it constitute of two trips.

Segments

Generally a trip might constitute one or more segments. For example: suppose in a trip from point A to point B the flight goes to point A to point C and then point C to point B, this is a two segment trip.

Flight Search Rules

  1. The number of passenger has to be defined in such a way that total number of passengers/guests would not be more than 9
  2. The number of adults must be greater than number of infants.
  3. There must be at least one adult.
  4. The child has to be younger than 12 years at start of journey.
  5. The flight search supports nine trips at most.

Flight Select Flow

After a choosing flight result, use its id to confirm if it’s still available. The system will return Seat map and ancillary services in the same call if available for the selected flight.

Select Request

GET /api/flights/results/3537a351-076a-45b1-97d8-a7e354d58f8c HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

You may do this by sending a GET request to /api/flights/results/:id.

Select Response

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "3537a351-076a-45b1-97d8-a7e354d58f8c",
  "available": true,
  "instant_ticket": true,
  "price_changed": false,
  "fare_calculations": [
    { "passenger_type": "adult", "price": "100.0", "currency": "EUR" },
    { "passenger_type": "child", "price": "80.0", "currency": "EUR" },
    { "passenger_type": "infant", "price": "10.0", "currency": "EUR" }
  ],
  "pricing": {
    "flight_price": {
      "recommended_selling_price": { "amount": "190.0", "currency": "USD" },
      "purchase_price": { "amount": null, "currency": "USD" },
      "source": { "amount": null, "currency": null }
    },
    "tax": {
      "amount": "103.3",
      "currency": "USD",
      "source": { "amount": null, "currency": null }
    },
    "total_price": {
      "recommended_selling_price": { "amount": "293.3", "currency": "USD" },
      "purchase_price": { "amount": null, "currency": "USD" },
      "source": { "amount": null, "currency": null }
    }
  },
  "ancillary_services": {
    "services": [
      {
        "id": "4f8615d7-68af-4715-97ad-503071ee69b8",
        "meta_identifier": "d097d008-ff9a-4d49-8797-a1a4e322477c",
        "price": "0.0",
        "currency": "EUR",
        "refundable": null
      }
    ],
    "trips": [
      {
        "origin": "FRA",
        "destination": "TXL",
        "services": [
          {
            "id": "1f1f0173-a49d-43c1-b30e-5f715fce9a0e",
            "meta_identifier": "56df7ab6-2db2-4673-a749-d71760b615a5",
            "price": "21.5",
            "currency": "USD",
            "refundable": true,
            "maximum_per_group": null,
            "group": "ExcessBaggage",
            "maximum_scope": "traveler"
          },
        ],
        "segments": [
          {
            "origin": "FRA",
            "destination": "TXL",
            "operating_flight_number": "6572",
            "operating_carrier_code": "VS",
            "services": [
            {
              "id": "8e3ef92e-bdea-4f96-a138-09b6c0662f09",
              "meta_identifier": "7a709a5b-34c6-4d67-8a4a-8467d81fd626",
              "price": "70.0",
              "currency": "EUR",
              "refundable": null,
              "maximum_per_group": null,
              "group": "ExcessBaggage",
              "maximum_scope": "traveler"
            }
            ],
            "seat_map": [
              {
                "class": "economy",
                "rows": {
                  "2": {
                    "wing": false,
                    "exit": false,
                    "seats": {
                      "A": {
                        "id": "da451081-118a-4099-bad9-b7e257a002a4",
                        "seat_existence": true,
                        "occupied": false,
                        "chargeable": true,
                        "pricing_info": {
                          "seat_reservation_price": "21.5",
                          "currency_code": "CHF"
                        },
                        "recline_restricted": false,
                        "infant_restricted": false,
                        "aisle": false,
                        "window": true
                      },
                      "B": {
                        "id": "82b9295d-3fe1-493a-b05e-0c89390b7c7c",
                        "seat_existence": true,
                        "occupied": false,
                        "chargeable": true,
                        "pricing_info": {
                          "seat_reservation_price": "21.5",
                          "currency_code": "CHF"
                        },
                        "recline_restricted": false,
                        "infant_restricted": false,
                        "aisle": false,
                        "window": false
                      },
                      "C": {
                        "id": "da675bde-a0f4-4998-bce9-627a9b528e8c",
                        "seat_existence": true,
                        "occupied": false,
                        "chargeable": true,
                        "pricing_info": {
                          "seat_reservation_price": "21.5",
                          "currency_code": "CHF"
                        },
                        "recline_restricted": false,
                        "infant_restricted": false,
                        "aisle": true,
                        "window": false
                      },
                      "D": {
                        "id": "a2ef1ecf-b157-41ef-a552-a3efad45defa",
                        "seat_existence": true,
                        "occupied": false,
                        "chargeable": true,
                        "pricing_info": {
                          "seat_reservation_price": "21.5",
                          "currency_code": "CHF"
                        },
                        "recline_restricted": false,
                        "infant_restricted": false,
                        "aisle": true,
                        "window": false
                      },
                      "E": {
                        "id": "bbca9868-f5f7-4e3a-81f1-c0c89612df5e",
                        "seat_existence": true,
                        "occupied": false,
                        "chargeable": true,
                        "pricing_info": {
                          "seat_reservation_price": "21.5",
                          "currency_code": "CHF"
                        },
                        "recline_restricted": false,
                        "infant_restricted": false,
                        "aisle": false,
                        "window": false
                      },
                      "F": {
                        "id": "f858d39f-f67e-459a-a328-f4390342daa5",
                        "seat_existence": true,
                        "occupied": false,
                        "chargeable": true,
                        "pricing_info": {
                          "seat_reservation_price": "21.5",
                          "currency_code": "CHF"
                        },
                        "recline_restricted": false,
                        "infant_restricted": false,
                        "aisle": false,
                        "window": true
                      }
                    }
                  }
                }
              }
            ]
          },
          {
            "origin": "TXL",
            "destination": "FRA",
            "operating_flight_number": "6585",
            "operating_carrier_code": "VS",
            "services": [],
            "seat_map": []
          }
        ]
      }
    ],
   "form_of_payment": {
     "options": [
      "credit_card",
      "cash",
      "none"
    ],
    "required_fields": {
      "credit_card": {
        "name": true,
        "number": true,
        "type": true,
        "expiry_date": true,
        "code": true,
        "street": true,
        "city": true,
        "zip": true,
        "country": true
      }
    }
   },
    "queues": {
      "supported": false
    },
    "meal_requests": {
       "supported": false,
       "available_codes": []
    },
    "assistance_requests": {
      "supported": false,
       "available_codes": []
     },
    "documents": {
      "doca": {
        "supported": false,
        "required": false
      },
      "docs": {
        "supported": false,
        "required": false
      }
    },
    "frequent_flyer_numbers": {
       "supported": true
    },
    "accounting_remarks": {
       "supported": false,
       "available_codes": []
    },
    "general_remarks": {
       "supported": false,
       "available_codes": []
    },
    "payment_charge": [
      {
        "amount": "0.0",
        "currency": "GBP",
        "card_name": "Visa Personal",
        "card_type": "visa",
        "payment_type": "credit"
      },
      {
        "amount": "0.0",
        "currency": "GBP",
        "card_name": "Visa Delta/Debit",
        "card_type": "visa",
        "payment_type": "debit"
      },
      {
        "amount": "0.0",
         "currency": "GBP",
         "card_name": "MasterCard Personal",
         "card_type": "master_card",
         "payment_type": "credit"
      },
      {
        "amount": "0.0",
        "currency": "GBP",
        "card_name": "MasterCard Debit",
        "card_type": "master_card",
        "payment_type": "debit"
      },
      {
        "amount": "0.0",
        "currency": "GBP",
        "card_name": "Discover Personal",
        "card_type": "discover",
        "payment_type": "credit"
      },
      {
        "amount": "0.0",
        "currency": "GBP",
        "card_name": "Diners Club Personal",
        "card_type": "diners_club",
        "payment_type": "credit"
      },
      {
        "amount": "0.0",
        "currency": "GBP",
        "card_name": "American Express Personal",
        "card_type": "amex",
        "payment_type": "credit"
      },
      {
        "amount": "7.16",
        "currency": "GBP",
          "card_name": "Visa Corporate",
          "card_type": "visa_corporate",
          "payment_type": "credit"
        },
        {
          "amount": "6.89",
          "currency": "GBP",
          "card_name": "MasterCard Corporate",
          "card_type": "master_card_corporate",
          "payment_type": "credit"
        },
        {
          "amount": "7.95",
          "currency": "GBP",
          "card_name": "Discover Corporate",
          "card_type": "discover_corporate",
          "payment_type": "credit"
        },
        {
          "amount": "7.95",
          "currency": "GBP",
          "card_name": "Diners Club Corporate",
          "card_type": "diners_club_corporate",
          "payment_type": "credit"
        },
        {
          "amount": "6.36",
          "currency": "GBP",
          "card_name": "American Express Corporate",
          "card_type": "amex_corporate",
          "payment_type": "credit"
        },
        {
          "amount": "9.28",
          "currency": "GBP",
          "card_name": "Airplus/UATP",
          "card_type": "uatp",
          "payment_type": "credit"
        }
    }
  }
}
Key Type Description
id UUID The unique id of the select result, used for Reserve
available Boolean Availability of the flight
price_changed Boolean Return if the price changed after the select call
instant_ticket Boolean Indicates if the ticket is automatically issued at the time of booking the flight.
fare_calculations Array Describes how the flight price (not the total price) has been calculated for ONE passenger
fare_calculations.passenger_type String Type of passenger. Example: adult , child or infant
fare_calculations.price String Price for one passenger for the specific type to make reservation
fare_calculations.currency String The currency in which the price is displayed
pricing Object Detailed Pricing Information
pricing.flight_price Object Detailed Flight Price Information
pricing.flight_price.recommended_selling_price Object Detailed information about the price of the room we recommend to use as selling price
pricing.flight_price.recommended_selling_price.amount String The price of the room/rooms we recommend to use as selling price
pricing.flight_price.recommended_selling_price.currency String The currency of the price of the room we recommend to use as selling price
pricing.flight_price.purchase_price Object Detailed information about the price of the trip you will have to pay
pricing.flight_price.purchase_price.amount String The price of the journey you will have to pay
pricing.flight_price.purchase_price.currency String The currency of the price of the trip you will have to pay
pricing.flight_price.source Object Detailed information about the price of the journey you will have to pay for the default currency of the IPCC
pricing.flight_price.source.amount String The price of the journey you will have to pay
pricing.flight_price.source.currency String Default currency in which the pricing is being exposed
pricing.tax Object Tax related Information
pricing.tax.amount String the amount of tax to be paid
pricing.tax.currency String Currency in which the tax has been exposed
pricing.tax.source Object Tax in IPCC’s default currency related information
pricing.tax.source.amount String The tax you have to pay in terms of default currency
pricing.tax.source.currency String Default Currency of the IPCC
pricing.total_price Object Information related to the total price of the Flight
pricing.total_price.recommended_selling_price Object Information related to the total price of the trip including tax we recommend you to use as selling price
pricing.total_price.recommended_selling_price.amount String The total price of the result we recommend you to use as selling price
pricing.total_price.recommended_selling_price.currency String Currency in which the pricing has been exposed
pricing.total_price.purchase_price Object Detailed information about the total purchase price
pricing.total_price.purchase_price.amount String The price of the journey including tax you will have to pay
pricing.total_price.purchase_price.currency String Currency in which the pricing has been exposed
pricing.total_price.source Object Detailed information about the total price of the journey you will have to pay for the default currency of the IPCC
pricing.total_price.source.amount String The total price of the journey you will have to pay for the default currency of the IPCC
pricing.total_price.source.currency String Default currency in which the pricing is being exposed
ancillary_services Object ancillary services for the Flight
ancillary_services.services Array These services are available only for the whole journey
ancillary_services.services.id UUID Id of the Service
ancillary_services.services.meta_identifier UUID Unique Identifier of the service
ancillary_services.services.price String The cost of the service
ancillary_services.services.currency String The currency in which the service fee is being exposed
ancillary_services.services.refundable String Whether the service fee is refundable or not
ancillary_services.services.maximum_per_group String Indicates the maximum number services that can be availed per group
ancillary_services.services.group String Name of the Service Group
ancillary_services.services.maximum_scope String Indicates the scope of the service. If the value is traveler, then user can add one service from each group for each passenger. If the value is booking, then user can add one service from each group for whole booking. If the value is null, then user can add multiple service for each passenger.
ancillary_services.trips Array Information about ancillary services about individual trips
ancillary_services.trips.origin String Origin of the individual trips
ancillary_services.trips.destination String Destination of the individual trips
ancillary_services.trips.services Array These services are available for the current trip
ancillary_services.trips.services.id UUID Id of the Service
ancillary_services.trips.services.meta_identifier UUID Unique Identifier of the service
ancillary_services.trips.services.price String The cost of the service
ancillary_services.trips.services.currency String The currency in which the service fee is being exposed
ancillary_services.trips.services.refundable String Service Fee Refundable information. If it is true, then there will be a refund
ancillary_services.trips.services.maximum_per_group String Indicates the maximum number services that can be availed per group
ancillary_services.trips.services.group String Name of the Service Group
ancillary_services.trips.services.maximum_scope String Indicates the scope of the service. If the value is traveler, then user can add one service from each group for each passenger. If the value is booking, then user can add one service from each group for whole booking. If the value is null, then user can add multiple service for each passenger.
ancillary_services.trips.segments Array Information about trip segment of the ancillary services about individual trips
ancillary_services.trips.segments.origin String Origin airport code for the trip segment
ancillary_services.trips.segments.destination String Destination airport code for the trip segment
ancillary_services.trips.segments.operating_flight_number String Refers to the identifier used in flight schedule, flight number of the operating carrier
ancillary_services.trips.segments.operating_carrier_code String Operating Carrier Code refers to the identifier used in flight schedule, generally the two-character IATA airline designator code
ancillary_services.trips.segments.services Array These services are available for the current trip segment
ancillary_services.trips.segments.services.id UUID Id of the Service
ancillary_services.trips.segments.services.meta_identifier UUID Use this identifier to lookup the service details on Meta. Please refer to ancillary-services.
ancillary_services.trips.segments.services.price String The cost of the service
ancillary_services.trips.segments.services.currency String The currency in which the service fee is being exposed
ancillary_services.trips.segments.services.refundable String Indicates whether the service fee is refundable or not
ancillary_services.trips.segments.services.maximum_per_group String Indicates the maximum number services that can be availed per group
ancillary_services.trips.segments.services.group String Name of the Service Group
ancillary_services.trips.segments.services.maximum_scope String Indicates the scope of the service. If the value is traveler, then user can add one service from each group for each passenger. If the value is booking, then user can add one service from each group for whole booking. If the value is null, then user can add multiple service for each passenger.
ancillary_services.trips.segments.seat_map Array Information related to the seat map of this trip segment
ancillary_services.trips.segments.seat_map.class String Class in which the seat belongs to
ancillary_services.trips.segments.seat_map.rows Object Details of the rows in the seat map
ancillary_services.trips.segments.seat_map.rows.[:row_number] Integer Row number
ancillary_services.trips.segments.seat_map.rows.[:row_number].wing Boolean The value is true if it is a wing seat and vice versa
ancillary_services.trips.segments.seat_map.rows.[:row_number].exit Boolean The value is true if it is a exit seat and vice versa
ancillary_services.trips.segments.seat_map.rows.[:row_number].[:seat_letter] String Column in which the row belongs to
ancillary_services.trips.segments.seat_map.rows.[:row_number].[:seat_letter].id UUID ID of the seat, use it to book this seat on third step
ancillary_services.trips.segments.seat_map.rows.[:row_number].[:seat_letter].seat_existence Boolean The value is true if there is a seat and vice versa
ancillary_services.trips.segments.seat_map.rows.[:row_number].[:seat_letter].occupied Boolean The value is true if the seat is not available
ancillary_services.trips.segments.seat_map.rows.[:row_number].[:seat_letter].chargeable Boolean The value is true if the seat is not free and you have to pay seat reservation fee.
ancillary_services.trips.segments.seat_map.rows.[:row_number].[:seat_letter].pricing_info Object The details about seat reservation fee
ancillary_services.trips.segments.seat_map.rows.[:row_number].[:seat_letter].pricing_info.seat_reservation_price String Price to reserve the seat
ancillary_services.trips.segments.seat_map.rows.[:row_number].[:seat_letter].pricing_info.currency_code String Currency in which seat price is exposed
ancillary_services.trips.segments.seat_map.rows.[:row_number].[:seat_letter].recline _restricted Boolean The value is true if the seat is recline restricted and vice versa
ancillary_services.trips.segments.seat_map.rows.[:row_number].[:seat_letter].infant_restricted Boolean The value is true if the seat is infant restricted and vice versa
ancillary_services.trips.segments.seat_map.rows.[:row_number].[:seat_letter].aisle Boolean The value is true if the seat is an aisle seat and vice versa
ancillary_services.trips.segments.seat_map.rows.[:row_number].[:seat_letter].window Boolean The value is true if the seat is a window seat and vice versa
form_of_payment Object Form of payments details
form_of_payment.options Array Supported Form of Payment List. Welltravel Supported Payment options are cash, none, credit_card, iata, counter
form_of_payment.required_fields Object Required fields for the credit card payment
form_of_payment.required_fields.credit_card Object Credit card related information
form_of_payment.required_fields.credit_card.name Boolean Card holder’s name is required or not
form_of_payment.required_fields.credit_card.number Boolean Card number is required or not
form_of_payment.required_fields.credit_card.type Boolean Card type is required or not
form_of_payment.required_fields.credit_card.expiry_date Boolean Card expiry date is required or not
form_of_payment.required_fields.credit_card.code Boolean Code is required or not
form_of_payment.required_fields.credit_card.street Boolean Street is required or not
form_of_payment.required_fields.credit_card.city Boolean City is required or not
form_of_payment.required_fieldscredit_card.country Boolean Country is required or not
queues Object Queue related information for booking
queues.supported Boolean Queue supported or not
meal_requests Object Meal requests related information for booking
meal_requests.supported Boolean Meal request is supported or not
meal_requests.available_codes Array Available meal codes
assistance_requests Object Assistance requests related information for booking
assistance_requests.supported Boolean Assistance requests are supported or not
assistance_requests.available_codes Array Available Assistance codes
documents Object Details of support information related to document needed for the booking
documents.doca Object Details of support information related to Passenger Address Information
documents.doca.supported Boolean Indicates whether Passenger Address Information is supported or not
documents.doca.required Boolean Indicates whether Passenger Address Information is required or not
documents.docs Object Details of support information related to Passenger Other Travel Related Information
documents.docs.supported Boolean Indicates whether Passenger Other Travel Related Information is supported or not
documents.docs.required Boolean Indicates whether Passenger Other Travel Related Information is required or not
frequent_flyer_numbers Object Frequent flyer numbers related information for booking
frequent_flyer_numbers.supported Boolean Indicates whether frequent flyer numbers are supported or not
accounting_remarks Object Accounting remarks related information for booking
accounting_remarks.supported Boolean Indicates whether adding accounting remarks are supported or not
accounting_remarks.available_codes Array Available accounting remark types
general_remarks Object General remarks related information for booking
general_remarks.supported Boolean Indicates whether adding general remarks are supported or not
general_remarks.available_codes Array Available general remark types
payment_charge Object Extra fees for credit card form of payment i.e OB fees details related information for booking
payment_charge.amount String Amount to be paid if the form of payment is credit card
payment_charge.currency String Currency code of the OB Fee
payment_charge.card_name String Name of the credit card
payment_charge.card_type String Credit card type
payment_charge.payment_type String Type of payment. Indicats whether it is credit card or debit card. Possible values: debit, credit,

Flight Fare Rule Flow

After we get search results, we can fetch the Fare Rules for the flight using the id.

Fare Rule Request

GET /api/flights/results/3537a351-076a-45b1-97d8-a7e354d58f8c/rules HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

You may do this by sending a GET request to /api/flights/results/:id/rules.

Here id is the id of the search result

Fare Rule Response

HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "fare_basis_code": "WRCSOWSG",
    "fare_rules": [
      {
        "category": "4",
        "category_description": "Flight Application",
        "text": "TYPE: GENERAL-RULE IF THE FARE COMPONENT INCLUDES TRAVEL BETWEEN FRA AND DEL THEN THAT TRAVEL MUST NOT BE ON ONE OR MORE OF THE FOLLOWING ANY AI FLIGHT OPERATED BY AI ANY LH FLIGHT OPERATED BY AI."
      },
      {
        "category": "8",
        "category_description": "Stopovers",
        "text": "TYPE: RULE 1 STOPOVER PERMITTED IN EACH DIRECTION AT SGD 130.00 EACH. CHILD/INFANT DISCOUNTS APPLY."
      },
      {
        "category": "9",
        "category_description": "Transfers",
        "text": "TYPE: RULE UNLIMITED TRANSFERS PERMITTED ON THE FARE COMPONENT FARE BREAK SURFACE SECTORS NOT PERMITTED AND EMBEDDED SURFACE SECTORS PERMITTED ON THE FARE COMPONENT."
      },
      {
        "category": "17",
        "category_description": "Higher Intermediate Point",
        "text": "TYPE: RULE THE HIGHER INTERMEDIATE POINT RULE DOES NOT APPLY FOR STOPOVERS."
      },
      {
        "category": "18",
        "category_description": "Ticket Endorsement",
        "text": "TYPE: RULE THE ORIGINAL AND THE REISSUED TICKET MUST BE ANNOTATED - FARE RESTRICTION MAY APPLY - IN THE ENDORSEMENT BOX."
      },
      {
        "category": "19",
        "category_description": "Children and Infant Discounts",
        "text": "TYPE: GENERAL-RULE ACCOMPANIED CHILD 2-11 - CHARGE 75 PERCENT OF THE FARE. TICKET DESIGNATOR - CH AND PERCENT OF DISCOUNT. NOTE - FOR CHILDREN TURNING 12 YEARS ENROUTE - CHILDREN FARE HAS TO BE USED FOR THE ENTIRE JOURNEY OR - INFANT UNDER 2 WITH A SEAT - CHARGE 75 PERCENT OF THE FARE. TICKET DESIGNATOR - CH AND PERCENT OF DISCOUNT OR - INFANT UNDER 2 WITHOUT A SEAT - CHARGE 10 PERCENT OF THE FARE. TICKET DESIGNATOR - IN AND PERCENT OF DISCOUNT. NOTE - FOR INFANTS TURNING 2 YEARS ENROUTE - DUE TO SAFETY REGULATIONS - A BOOKED SEAT WILL BE REQUIRED FOR THE REMAINING PORTIONS OF THE JOURNEY. WHEN A SEPARATE SEAT IS REQUIRED ON A PORTION OF THE JOURNEY - CHILD FARE HAS TO BE USED FOR THE ENTIRE JOURNEY. OR - UNACCOMPANIED CHILD 5-11. ID REQUIRED - CHARGE 75 PERCENT OF THE FARE. TICKET DESIGNATOR - CH AND PERCENT OF DISCOUNT. NOTE - UNACCOMPANIED CHILD UNDER 5 YEARS OF AGE WILL NOT BE ACCEPTED FOR CARRIAGE. SERVICE CHARGE FOR UNACCOMPANIED CHILD APPLIES."
      },
      {
        "category": "52",
        "category_description": "Rule Application",
        "text": "TYPE: RULE LUFTHANSA RESTRICTED FARE APPLICATION AREA THESE FARES APPLY FROM AREA 3 TO AREA 2. CLASS OF SERVICE THESE FARES APPLY FOR ECONOMY CLASS SERVICE. CAPACITY LIMITATIONS THE CARRIER SHALL LIMIT THE NUMBER OF PASSENGERS CARRIED ON ANY ONE FLIGHT AT FARES GOVERNED BY THIS RULE AND SUCH FARES WILL NOT NECESSARILY BE AVAILABLE ON ALL FLIGHTS. THE NUMBER OF SEATS WHICH THE CARRIER SHALL MAKE AVAILABLE ON A GIVEN FLIGHT WILL BE DETERMINED BY THE CARRIERS BEST JUDGMENT OTHER CONDITIONS SEQUENTIAL USE OF FLIGHT COUPONS - THIS FARE IS ONLY VALID IF THE FLIGHTS ARE TAKEN IN THE BOOKED SEQUENCE. OTHERWISE THE FARE WILL BE RECALCULATED BASED ON THE ACTUAL FLIGHT ROUTING."
      },
    ]
  }
  {
    "fare_basis_code": "YFF77WW",
      "fare_rules": [
        {
          "category": "7",
          "category_description": "Maximum Stay",
          "text": "TYPE: RULE TRAVEL FROM LAST STOPOVER MUST COMMENCE NO LATER THAN 12 MONTHS AFTER DEPARTURE FROM FARE ORIGIN."
        },
        {
          "category": "7",
          "category_description": "Maximum Stay",
          "text": "TYPE: RULE TRAVEL FROM LAST STOPOVER MUST COMMENCE NO LATER THAN 12 MONTHS AFTER DEPARTURE FROM FARE ORIGIN."
        },
        {
          "category": "8",
          "category_description": "Stopovers",
          "text": "TYPE: RULE UNLIMITED STOPOVERS PERMITTED IN EACH DIRECTION."
        },
        {
          "category": "8",
          "category_description": "Stopovers",
          "text": "TYPE: RULE UNLIMITED STOPOVERS PERMITTED IN EACH DIRECTION."
        },
        {
          "category": "9",
          "category_description": "Transfers",
          "text": "TYPE: RULE UNLIMITED TRANSFERS PERMITTED ON THE FARE COMPONENT FARE BREAK SURFACE SECTORS NOT PERMITTED AND EMBEDDED SURFACE SECTORS PERMITTED ON THE FARE COMPONENT."
        },
        {
          "category": "9",
          "category_description": "Transfers",
          "text": "TYPE: RULE UNLIMITED TRANSFERS PERMITTED ON THE FARE COMPONENT FARE BREAK SURFACE SECTORS NOT PERMITTED AND EMBEDDED SURFACE SECTORS PERMITTED ON THE FARE COMPONENT."
        },
        {
          "category": "15",
          "category_description": "Sales Restrictions",
          "text": "TYPE: RULE TICKETS MAY NOT BE SOLD IN VENEZUELA/ANGOLA/SOUTH SUDAN/ LEBANON/ZIMBABWE/SUDAN/IRAN,ISLAMIC REPUBLIC OF/JORDAN. TICKETS MAY ONLY BE SOLD IN AREA 1/AREA 2/AREA 3. NOTE - SALES RESTRICTIONS/ SEQUENTIAL USE OF FLIGHT COUPONS OTHER CONDITIONS SEQUENTIAL USE OF FLIGHT COUPONS - THIS FARE IS ONLY VALID IF THE FLIGHTS ARE TAKEN IN THE BOOKED SEQUENCE. OTHERWISE THE FARE WILL BE RECALCULATED BASED ON THE ACTUAL FLIGHT ROUTING."
        },
        {
          "category": "15",
          "category_description": "Sales Restrictions",
          "text": "TYPE: RULE TICKETS MAY NOT BE SOLD IN VENEZUELA/ANGOLA/SOUTH SUDAN/ LEBANON/ZIMBABWE/SUDAN/IRAN,ISLAMIC REPUBLIC OF/JORDAN. TICKETS MAY ONLY BE SOLD IN AREA 1/AREA 2/AREA 3. NOTE - SALES RESTRICTIONS/ SEQUENTIAL USE OF FLIGHT COUPONS OTHER CONDITIONS SEQUENTIAL USE OF FLIGHT COUPONS - THIS FARE IS ONLY VALID IF THE FLIGHTS ARE TAKEN IN THE BOOKED SEQUENCE. OTHERWISE THE FARE WILL BE RECALCULATED BASED ON THE ACTUAL FLIGHT ROUTING."
        }
  }
]
Key Type Description
fare_basis_code String A fare basis code is an alphabetic or alpha-numeric code used by airlines to identify a fare type and allow airline staff and travel agents to find the rules applicable to that fare. For details, please see Fare Basis Code. We get this fare basis code from the search result.
fare_rules Array An Array of all fare rules to the specified fare basis code.
fare_rules.category Integer An integer indicating the fare rule category. For details, please see Fare Rule Categories
fare_rules.category_description String Description of the fare rule category
fare_rules.text String The details of the fare rule. It will be a free text from supplier.

Flight Upsell Fare Flow

After we get search results, we can fetch the Upsell Fares for the flight using the id.

Currently upsell is not supported by any supplier.

Upsell Fare Request

GET /api/flights/results/3537a351-076a-45b1-97d8-a7e354d58f8c/upsell_fares HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

You may do this by sending a GET request to /api/flights/results/:id/upsell_fares.

Here id is the id of the search result

Upsell Fare Response

HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 935
X-Total-Pages: 935
X-Per-Page: 1
X-Page: 1
X-Next-Page: 2

[
  {
    "id": "3537a351-076a-45b1-97d8-a7e354d58f8c",
    "instant_ticket": false,
    "source": { "supplier": "galileo", "account": "ACT2", "currency": "USD" },
    "fare_calculations": [
      { "passenger_type": "adult", "price": "100.0", "currency": "EUR" },
      { "passenger_type": "child", "price": "80.0", "currency": "EUR" },
      { "passenger_type": "infant", "price": "10.0", "currency": "EUR" }
    ],
    "pricing": {
      "flight_price": {
        "recommended_selling_price": { "amount": "190.0", "currency": "USD" },
        "purchase_price": { "amount": null, "currency": "USD" },
        "source": { "amount": null, "currency": null }
      },
      "tax": {
        "amount": "103.3",
        "currency": "USD",
        "source": { "amount": null, "currency": null }
      },
      "total_price": {
        "recommended_selling_price": { "amount": "293.3", "currency": "USD" },
        "purchase_price": { "amount": null, "currency": "USD" },
        "source": { "amount": null, "currency": null }
      }
    },
    "refundable": false,
    "penalties": {
      "change": { "amount": null, "currency": null },
      "cancel": { "amount": null, "currency": null }
    },
    "apis_data_required": "none",
    "reservation_manageable": true,
    "free_cancellation_duration_in_minutes": 4290,
    "trips": [
      {
        "ticket_selling_carrier_code": "AB",
        "trip_duration_in_minutes": 70,
        "origin_code": "FRA",
        "origin_timezone": "Europe/Berlin",
        "destination_timezone": "Europe/Berlin",
        "departure_localtime": "2017-12-29T15:00:00",
        "arrival_localtime": "2017-12-29T16:10:00",
        "destination_offset_in_days": 0,
        "destination_code": "TXL",
        "stopover_count": 0,
        "segments": [
          {
            "origin_code": "FRA",
            "origin_terminal": "2",
            "origin_timezone": "Europe/Berlin",
            "destination_code": "TXL",
            "destination_terminal": null,
            "destination_timezone": "Europe/Berlin",
            "departure_localtime": "2017-12-29T15:00:00",
            "arrival_localtime": "2017-12-29T16:10:00",
            "operating_carrier_code": "AB",
            "operating_flight_number": "6588",
            "aircraft_operated_by": "AB",
            "marketing_carrier_code": "AB",
            "marketing_flight_number": "6588",
            "aircraft_type": "320",
            "booking_class": "W",
            "flight_duration_in_minutes": 70,
            "catering": [],
            "cabin_class": "economy",
            "technical_stops": {
              "count": 2,
              "stop_details": [
                {
                  "airport_code": "DUS",
                  "arrival_localtime": "2021-12-29T15:10:00",
                  "departure_localtime": "2021-12-29T15:20:00",
                  "duration_in_minutes": 10
                },
                {
                  "airport_code": "MUC",
                  "arrival_localtime": "2021-12-29T15:25:00",
                  "departure_localtime": "2021-12-29T15:50:00",
                  "duration_in_minutes": 25
                }
              ]
            },
            "air_miles": null,
            "wifi": {
              "available": true,
              "packages": [
                { "amount": "10.0", "currency": "EUR", "volume_in_mbyte": 10 },
                { "amount": "14.0", "currency": "EUR", "volume_in_mbyte": 15 },
                { "amount": "90.0", "currency": "EUR", "volume_in_mbyte": 100 }
              ]
            },
            "on_time_in_percentage": 99.8,
            "baggage_pieces_included": { "count": 0, "kg_per_piece": null },
            "fare": {
              "brand": "ECONOMY LIGHT",
              "brand_identifier": "economy_light",
              "basis_code": "WNY05RT",
              "meta_brand_name": "Economy",
              "meta_brand_identifier": "83dd3e67-1e33-4893-8045-2f94b56487a4",
              "type": "published"
            }
          }
        ]
      },
      {
        "ticket_selling_carrier_code": "AB",
        "trip_duration_in_minutes": 75,
        "origin_code": "TXL",
        "origin_timezone": "Europe/Berlin",
        "destination_timezone": "Europe/Berlin",
        "departure_localtime": "2017-12-30T13:05:00",
        "arrival_localtime": "2017-12-30T14:20:00",
        "destination_offset_in_days": 0,
        "destination_code": "FRA",
        "stopover_count": 0,
        "segments": [
          {
            "origin_code": "TXL",
            "origin_terminal": null,
            "origin_timezone": "Europe/Berlin",
            "destination_code": "FRA",
            "destination_terminal": "2",
            "destination_timezone": "Europe/Berlin",
            "departure_localtime": "2017-12-30T13:05:00",
            "arrival_localtime": "2017-12-30T14:20:00",
            "operating_carrier_code": "AB",
            "operating_flight_number": "6585",
            "aircraft_operated_by": "AB",
            "marketing_carrier_code": "AB",
            "marketing_flight_number": "6585",
            "aircraft_type": "320",
            "booking_class": "W",
            "flight_duration_in_minutes": 75,
            "catering": [],
            "cabin_class": "economy",
            "technical_stops": {
              "count": 2,
              "stop_details": [
                {
                  "airport_code": "MUC",
                  "arrival_localtime": "2021-12-30T13:20:00",
                  "departure_localtime": "2021-12-30T13:30:00",
                  "duration_in_minutes": 10
                },
                {
                  "airport_code": "DUS",
                  "arrival_localtime": "2021-12-30T13:40:00",
                  "departure_localtime": "2021-12-30T13:55:00",
                  "duration_in_minutes": 15
                }
              ]
            },
            "air_miles": null,
            "wifi": { "available": null, "packages": null },
            "on_time_in_percentage": null,
            "baggage_pieces_included": { "count": 1, "kg_per_piece": 23 },
            "fare": {
              "brand": "ECONOMY LIGHT",
              "brand_identifier": "economy_light",
              "basis_code": "WNY05RT",
              "type": "published"
            }
          }
        ]
      }
    ]
  },
]
Key Type Description
id UUID The unique id of the search result, used for Select and Reserve
instant_ticket Boolean Indicates if the ticket is automatically issued at the time of booking the flight. Supported Supplier List
source Object Information about the source of the result
source.supplier String The supplier on which this result has been found
source.account String The account on which the result has been found
source.currency String The currency of the result returned from the supplier
fare_calculations Array Describes how the flight price (not the total price) has been calculated for ONE passenger
fare_calculations.passenger_type String Type of passenger. Example: adult , child or infant
fare_calculations.price String Price for one passenger for the specific type to make reservation
fare_calculations.currency String The currency in which the price is displayed
pricing Object Detailed Pricing Information
pricing.flight_price Object Detailed Flight Price Information
pricing.flight_price.recommended_selling_price Object Detailed information about the price of the room we recommend to use as selling price
pricing.flight_price.recommended_selling_price.amount String The price of the room/rooms we recommend to use as selling price
pricing.flight_price.recommended_selling_price.currency String The currency of the price of the room we recommend to use as selling price
pricing.flight_price.purchase_price Object Detailed information about the price of the trip you will have to pay
pricing.flight_price.purchase_price.amount String The price of the journey you will have to pay
pricing.flight_price.purchase_price.currency String The currency of the price of the trip you will have to pay
pricing.flight_price.source Object Detailed information about the price of the journey you will have to pay for the default currency of the IPCC
pricing.flight_price.source.amount String The price of the journey you will have to pay
pricing.flight_price.source.currency String Default currency in which the pricing is being exposed
pricing.tax Object Tax related Information
pricing.tax.amount String the amount of tax to be paid
pricing.tax.currency String Currency in which the tax has been exposed
pricing.tax.source Object Tax in IPCC’s default currency related information
pricing.tax.source.amount String The tax you have to pay in terms of default currency
pricing.tax.source.currency String Default Currency of the IPCC
pricing.total_price Object Information related to the total price of the Flight
pricing.total_price.recommended_selling_price Object Information related to the total price of the trip including tax we recommend you to use as selling price
pricing.total_price.recommended_selling_price.amount String The total price of the result we recommend you to use as selling price
pricing.total_price.recommended_selling_price.currency String Currency in which the pricing has been exposed
pricing.total_price.purchase_price Object Detailed information about the total purchase price
pricing.total_price.purchase_price.amount String The price of the journey including tax you will have to pay
pricing.total_price.purchase_price.currency String Currency in which the pricing has been exposed
pricing.total_price.source Object Detailed information about the total price of the journey you will have to pay for the default currency of the IPCC
pricing.total_price.source.amount String The total price of the journey you will have to pay for the default currency of the IPCC
pricing.total_price.source.currency String Default currency in which the pricing is being exposed
refundable Boolean Booking Refund Information
penalties Object The detailed information about penalties for cancelling the booking
penalties.change Object The information about the penalty for changing the flight booking. It can be changing the dates, destinations, or times.
penalties.change.amount String The penalty fee for changing the flight booking
penalties.change.currency String The currency in which the penalty fee is being exposed
penalties.cancel Object The information about the penalty for cancelling the flight booking
penalties.cancel.amount String Cancellation fee
penalties.cancel.currency String The currency in which the cancellation fee is being exposed
apis_data_required String Exposes if advanced passer information has to be required, see APIS data for more details
reservation_manageable Boolean Marks if it is possible to modify a reservation of this result from our API
fare_rule Boolean Marks if fare rules available or not for this flight.
free_cancellation_duration_in_minutes Integer Total duration of the time for free cancellation of the flight in minutes. For example, 75
trips Array All the trip information about the flight
trips.ticket_selling_carrier_code String Carrier Code of the ticket for the trip. It is two letter code. For example, BA
trips.trip_duration_in_minutes Integer Total duration of the flight trip expressed in minutes. For example, 75
trips.origin_code String The airport code of the origin of the trip. For example, for a flight from Madrid to NewYork, the origin code will be MAD
trips.origin_timezone String The timezone of the place where the flight trip will take off. For example, Europe/Berlin
trips.destination_timezone String The timezone of the place where the flight trip will land. For example, Europe/Berlin
trips.departure_localtime String The local time of the airport at the time of departure
trips.arrival_localtime String The local time of the airport at the time of arrival
trips.destination_offset_in_days Integer The number of days required to reach the destination
trips.destination_code String The airport code of the destination of the trip. For example, for a flight from Madrid to NewYork, the origin code will be JFK
trips.stopover_count Integer The number of stopovers for the whole trip
trips.segments String Information about the segments of the trip
trips.segments.origin_code String The origin airport code for the segment
trips.segments.origin_timezone String The local timezone of the origin airport of the segment
trips.segments.destination_code String The airport code of the destination for this segment
trips.segments.destination_timezone String The timezone of the destination airport
trips.segments.departure_localtime String The local time of the airport at the time of departure for this segment
trips.segments.arrival_localtime String The local time of the airport at the time of arrival
trips.segments.operating_carrier_code String Operating Carrier Code refers to the identifier used in flight schedule, generally the two-character IATA airline designator code
trips.segments.operating_flight_number String Refers to the identifier used in flight schedule, flight number of the operating carrier
trips.segments.aircraft_operated_by String Refer to the identifier for the aircraft operated by the operating carrier
trips.segments.marketing_carrier_code String Refers to the ticket selling carrier
trips.segments.aircraft_type String Type of the aircraft for this trip segment.
trips.segments.booking_class String Indicates Travel Class. Usually the first letter of the fare basis code. For example, ‘O’
trips.segments.flight_duration_in_minutes Integer Total duration of the flight trip expressed in minutes. For example, 75
trips.segments.catering Array The kind of catering that will be offered on this flight, see catering for more details
trips.segments.cabin_class String Refers to the quality of the cabin for this trip segment.See Cabin Class for more details
trips.segments.technical_stops Object The details information about technical stops. A technical stop most commonly used to refuel the aircraft, to make unexpected essential repairs or to respond to some emergency need to land the aircraft. No traffic is unloaded or loaded during a technical stop.
trips.segments.technical_stops.count Integer The number of the technical stops will be taken by the aircraft in the particular segment.
trips.segments.technical_stops.stop_details Array Details information about each stop of the airlines.
trips.segments.technical_stops.stop_details.airport_code String The airport code of technical stop. For example, for a flight from Singapore to San Francisco, Then the first stop could be Hong Kong HKG airport.
trips.segments.technical_stops.stop_details.arrival_localtime String The local time of the airport at the time of arrival.
trips.segments.technical_stops.stop_details.departure_localtime String The local time of the airport at the time of departure.
trips.segments.technical_stops.stop_details.duration_in_minutes Integer Total duration between flight arrival and departure, expressed in minutes. For example, 30
trips.segments.air_miles String A nautical mile used as a measure of distance flown by aircraft.
trips.segments.wifi Object Information related to the wifi connection for this trip segment
trips.segments.wifi.available Boolean The availability of wifi
trips.segments.wifi.packages Array Details about the wifi packages of this airline
trips.segments.wifi_packages.amount String The cost of the wifi package
trips.segments.wifi_packages.currency String The currency in which the cost of wifi package has ben exposed
trips.segments.wifi_packages.volume_in_mbyte String The volume in megabyte of wifi package is included
trips.segments.on_time_in_percentage String The percentage of punctuality of this flight of this trip segment
trips.segments.baggage_pieces_included Object The default included baggage, if not specified differently
trips.segments.baggage_pieces_included.count Integer The count of included baggage pieces
trips.segments.baggage_pieces_included.kg_per_piece Integer The weight allowed for the included baggage piece
trips.segments.fare String Information related to fare
trips.segments.fare.brand String The brand of the fare. For example, ECONOMY LIGHT
trips.segments.fare.brand_identifier String The brand identifier of the fare. For example, economy_light, euro_traveler, world_traveler, business, basic and so on
trips.segments.fare.meta_brand_name String The meta brand identifier of the fare which will come from meta. For example, Flex
trips.segments.fare.meta_brand_identifier UUID The meta fare brand unique identifier.
trips.segments.fare.basis_code String A fare basis code is an alphabetic or alpha-numeric code used by airlines to identify a fare type and allow airline staff and travel agents to find the rules applicable to that fare. For example, WNY05RT
trips.segments.fare.type String The fare type, see fare type for more details

Flight Reserve Flow

If a flight is available, you may book it by sending a POST request to /api/flights/reservations and referencing the id.

Please be aware that for some bookings you need to issue a ticket in a specified period of time. After completing the Reserve step, you may fetch the booking details and see if this is the case.

If a ticket has to be issued depends on the supplier. A general rule of thumb is that only bookings created on a GDS require a ticket issuance.

Please refer to the reservation management for information about managing your bookings.

Reserve Request

POST /api/flights/reservations HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Content-Type: application/json; charset=utf-8

{
  "result_id": "3537a351-076a-45b1-97d8-a7e354d58f8c",
  "travelers": [
    {
      "first_name": "Jane",
      "middle_name": "Pamela",
      "last_name": "Doe",
      "name_prefix": "mrs",
      "email": "jane.doe@example.org",
      "birthday": "1967-11-23",
      "type": "adult",
      "assistance_requests": [
        { "code": "BLND" }
      ],
      "meal_requests": [
        {
          "operating_carrier_code": "AB",
          "operating_flight_number": "6572",
          "code": "AVML"
        }
      ],
      "addresses": [
        {
          "type": "destination",
          "name": "Fisher",
          "street": "Somewhere 1",
          "city": "Berlin",
          "zip": "1234",
          "country": "DE"
        }
      ],
      "document": {
        "type": "passport",
        "number": "F1235533",
        "nationality": "CH",
        "validity": "2018-01-09",
        "issuing_country": "CH"
      },
      "seat_reservations": [ "82b9295d-3fe1-493a-b05e-0c89390b7c7c" ],
      "services": [
        "1f1f0173-a49d-43c1-b30e-5f715fce9a0e",
        "8e3ef92e-bdea-4f96-a138-09b6c0662f09"
      ],
      "frequent_flyer_number": {
        "carrier": "AB",
        "number": "992001234413445"
      }
    }
  ],
  "agency_phone_number": "+41 43 550 77 00",
  "destination_account": "ACT2",
  "queue": 70,
  "remarks": [
    { "type": "alpha", "content": "Hey There!" }
  ],
  "form_of_payment": "cash",
  "card_details": {
    "name": "Davy Jones",
    "number": "5275009999993833",
    "type": "master_card",
    "expiry_date": "12/17",
    "code": "111",
    "cardholder_address": {
      "street": "Some Street",
      "city": "Some City",
      "zip": "1337",
      "country": "SE"
    }
  }
}
Parameter RQ Type Description
result_id UUID The search result which should be booked
travelers Array An array of the travelers, must have to match the initial number of the search
travelers.first_name String The first name of this traveler
travelers.middle_name String The middle name of this traveler
travelers.last_name String The last name of this traveler
travelers.name_prefix String The name prefix of this traveler. Possible values: mr, mrs, ms
travelers.email ✔/✘ String The email address of the traveler.
travelers.pass_email_to_airline Boolean If set to true, Reservation will send traveler email to Airline.
travelers.phone_number ✔/✘ String The phone number of the traveler.
travelers.pass_phone_to_airline Boolean If set to true, Reservation will send traveler phone number to Airline.
travelers.birthday String The birthday of this traveler, in ISO-8601 format
travelers.type String The type of this traveler, either adult, child or infant
travelers.frequent_flyer_number Object Frequent Flyer Number Information
travelers.frequent_flyer_number.carrier String Carrier/Airline Code of the Frequent Flyer Number
travelers.frequent_flyer_number.number String Frequent Flyer Number of this traveler
travelers.services Array All the ancillary services the traveler would like to book as well. The traveler has to provide the service id from the select response. For eg. 94db71c7-32fe-47a5-a34d-1e9490d7ee41. Possible services are: baggage service and on-board food services.
travelers.seat_reservations Array All the seat reservations for this traveler. To book preferred seats, traveler has to provide with seat identifiers for example 9fcfe42f-2736-432e-8f71-985c2157fca9
travelers.assistance_requests Array The assistance requests of this traveler.
travelers.assistance_requests.code String IATA Code of Assistance, see assistance requests for the possible values
travelers.assistance_requests.text String Additional textual information about the assistance service.
travelers.meal_requests Array The meal requests of this traveler.
travelers.meal_requests.operating_carrier_code String Two Letter Airlines IATA code. Please refer to your select response for this code. This should be a valid operating carrier code otherwise exception will be raised.
travelers.meal_requests.operating_flight_number String Flight number from Airline. Please refer to your select response for this code. This should be a valid operating flight number otherwise exception will be raised
travelers.meal_requests.code String The meal requests of this traveler, see meal requests for the possible values
travelers.document Object The travelers document, used for DOCS
travelers.document.type String Type of the document, check document type for the possible values
travelers.document.number String ID to identify the Document.
travelers.document.issuing_country String Issuing Country of the Document. Has to be a ISO 3166-1 alpha-2 country code.
travelers.document.nationality String Nationality of the document holder
travelers.document.validity String Validity of the document. You must provide validity for a certain document types. For details, please see Validity Information
travelers.addresses Array The addresses of the traveler, used for DOCA SSR generation
travelers.addresses.type String Please use One of the following destination, residence or office
travelers.addresses.contact_name String Traveller Address Name. Like: Johnson Residence.
travelers.addresses.street String Street Address. Like: 4676 Palmer Road
travelers.addresses.city String City of the Address.
travelers.addresses.zip String Zip Code or Postal Code
travelers.addresses.country String Has to be a ISO 3166-1 alpha-2 country code.
agency_phone_number String The phone number of the main contact for the travel agency. For example: 111-11-111.
remarks Array Remarks related to this bookings. Generally travel agencies use this field to write notes about a booking.
remarks.type String Remarks type. It is different for each supplier. Please refer to your supplier.
remarks.content String Remark text content.
accounting_remarks Array Accounting Remarks related to this bookings. Might be used for accounting related notes.
accounting_remarks.type String Accounting Remarks type. It is different for each supplier. Please refer to your supplier.
accounting_remarks.content String Accounting Remark text content.
queue Integer If given, the created PNR will be placed on a queue
destination_account String If given, the PNR will be placed on the queue of this account

form_of_payment

String Form of Payment. Welltravel Supported Payment options are cash, none, credit_card, iata. Default is cash. Please note that some supplies might only support a certain payment method, supplying otherwise will give you a HTTP 422 unprocessable entity error.
card_details ✘/✔ Object Card details, required if form_of_payment is credit_card
card_details.name String Card Holder Name
card_details.number String Credit Card Number. Please enter the number as in the card. No space or special character is allowed.
card_details.type String Credit Card Type. Possible values: visa, master_card, amex.
card_details.expiry_date String Credit Card Expiry Date. Format is: MM/YY. example: 01/19 .
card_details.code String Credit Card Code/CVV/CVC
card_details.bank_name ✘/✔ String The name of the bank.
card_details.bank_country_code ✘/✔ String The country code of the country in which the bank is located. Usually it is a two or three letters code.
card_details.cardholder_address Object Card Holder Address Details
card_details.cardholder_address.address_name String Card Holder Address Name. Like: Family Doe
card_details.cardholder_address.street String Card Holder Street Name
card_details.cardholder_address.city String Card Holder City Code
card_details.cardholder_address.state String Card Holder State Name
card_details.cardholder_address.zip String Card Holder ZIP Code or Post Code
card_details.cardholder_address.country String ISO 3166-1 alpha-2 Issuing Country Code

Reserve Response

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "49c031e0-cfbc-4d2a-8f03-b844885e6353",
  "bookings": [
    {
      "id": "4FJ996",
      "supplier": "galileo",
      "account": "ACT2",
      "free_cancellation_period_ends": "2016-11-27T14:12:45Z"
    }
  ]
}
Attributes

See Reservation.

Services

As services are booked asynchronous and may be confirmed by the airline, make sure to check the state of the booking by using Fetch Booking.

Flight Direct Select Flow

To create a direct flight select, send a POST request to /api/flights/save_query. It will return the unique id of the search result, used for Select and Reserve. This ID can be used to confirm it’s availability by sending a GET request to /api/flights/results/:id.

Direct Select Examples

  1. Request with all parameters
  2. Request with minimum parameters
Direct select with all parameters
POST /api/flights/save_query HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1
Content-Type: application/json; charset=utf-8

{
  "trips": [
    {
      "origin_code": "ZRH",
      "destination_code": "LHR",
      "date": "2022-10-01",
      "segments":[
        {
          "origin_code": "ZRH",
          "destination_code": "LHR",
          "departure_localtime": "2022-10-01T07:05:00",
          "arrival_localtime": "2022-10-01T09:45:00",
          "operating_flight_number": "1091",
          "operating_carrier_code": "UX",
          "marketing_carrier_code": "UX",
          "cabin_class": "economy",
          "marketing_flight_number": "8764",
          "booking_class": "O",
          "fare_basis_code": "WRCSOWSG"
        }
      ]
    }
  ],
  "adults": 1,
  "children": 0,
  "infants": 0,
  "currency": "GBP",
  "accounts": {
    "amadeus": [
      { "identifier": "ACTX" }
    ]
  }
}

Below is a list of all available request parameters

Parameter RQ Type Description
trips Array An array of trips, supports up to 9 trips on certain suppliers. Please check your supplier specific details.
trips.origin_code String The origin for this trip. It is a 3 letter code. IATA airport code
trips.destination_code String The destination for this trip. It is a 3 letter IATA airport code
trips.date String Date of the trip, in ISO-8601 format
trips.segments String Information about the segments of the trip
trips.segments.origin_code String The origin airport code for the segment
trips.segments.destination_code String The airport code of the destination for this segment
trips.segments.departure_localtime String The local time of the airport at the time of departure for this segment
trips.segments.arrival_localtime String The local time of the airport at the time of arrival
trips.segments.operating_flight_number String Refers to the identifier used in flight schedule, flight number of the operating carrier
trips.segments.operating_carrier_code String Operating Carrier Code refers to the identifier used in flight schedule, generally the two-character IATA airline designator code
trips.segments.marketing_carrier_code String Refers to the ticket selling carrier
trips.segments.cabin_class String Refers to the quality of the cabin for this trip segment.See Cabin Class for more details
trips.segments.booking_class String Indicates Travel Class. Usually the first letter of the fare basis code. For example, ‘O’
trips.segments.fare_basis_code String A fare basis code is an alphabetic or alpha-numeric code used by airlines to identify a fare type and allow airline staff and travel agents to find the rules applicable to that fare. For details, please see Fare Basis Code. We get this fare basis code from the search result.
adults Integer The number of adult passenger will be on this journey. Must be at-least one. The number of adults must be greater than number of infants.
children Integer The number of child passenger will be on this journey. The child has to be younger than 12 years at the start of journey.
infants Integer The number of infants (children without seat) will be on this journey . Infant has to be younger than 2 years at the start of journey.
currency String The currency in which the prices will be exposed, in ISO-4217 format. See All Supported Welltravel Currencies for details.

accounts

Object The accounts to use when searching
accounts.identifier String Account Identifier for suppliers. Generally IPCC for GDSs.
accounts.codes Array Discount or Corporate Codes for the specific supplier. For details, see Supplier Specific Maximum Corporate Code Support

Direct Select with Minimum Parameters

This is an example for possible minimum request you can do in our system.

POST /api/flights/save_query HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1
Content-Type: application/json; charset=utf-8

{
  "trips": [
    {
      "origin_code": "ZRH",
      "destination_code": "LHR",
      "date": "2022-10-01",
      "segments":[
        {
          "origin_code": "ZRH",
          "destination_code": "LHR",
          "departure_localtime": "2022-10-01T07:05:00",
          "arrival_localtime": "2022-10-01T09:45:00",
          "operating_flight_number": "1091",
          "operating_carrier_code": "UX",
          "marketing_carrier_code": "UX",
          "cabin_class": "economy",
          "marketing_flight_number": "8764"
        }
      ]
    }
  ],
  "adults": 1,
  "children": 0,
  "infants": 0,
  "currency": "GBP",
  "accounts": {
    "amadeus": [
      { "identifier": "ACTX" }
    ]
  }
}

Direct Select Response

After processing the direct select request, the system will return an UUID which points to the search result that you just created. You need to use this UUID in order to select and reserve the flight returned in the search result.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "d51d7770-3046-414a-81e8-2a148414a6db"
}
Parameter Type Description
id UUID The unique id of the search result, used for Select and Reserve

Select and Reserve After Direct Select

After receiving the uuid from Direct Select response, you are able to book a flight in following two steps:

  1. Select: Confirm availability and fetch available ancillary services
  2. Reserve: Create a reservation

Search & Book: Hotel

After authentication, you are able to book a Hotel in three steps:

  1. Search: Search & fetch Hotel results
  2. Select: Confirm availability and Fetch the room prices
  3. Reserve: Create a reservation

Every step is required. You can’t leave one out.

Hotel Search Flow

To create a hotel search, send a POST request to /api/hotels/searches. It will return the ID of the created search. This ID can be used to fetch the results by sending a GET request to /api/hotels/searches/:id/results

POST /api/hotels/searches HTTP/1.1
content-type: application/json
Accept-Version: v1
Authorization: Bearer b7e6e755d6123fb74653fac618c88bd3f67bf965fd2ba90b7132769ec6050c94

{
  "check_in": "2017-12-15",
  "check_out": "2017-12-20",
  "place_id": "11253",
  "number_of_rooms": 1,
  "adults": 1,
  "children": [
    {  "age": "9" },
    {  "age": "2" },
  ],
  "currency": "USD",
  "accounts": {
    "xml_bookings": [
      {
        "identifier": "xy-travel-agency",
        "codes": [
          "ABCD"
        ]
      }
    ],
    "totalstay": [
      {
        "identifier": "xy-travel-agency"
      }
    ],
    "travelport_rooms_and_more": [
      {
        "identifier": "xy-travel-agency"
      }
    ],
    "amadeus": [
      {
        "identifier": "xy-travel-agency"
      }
    ]
  }
}
Sample Request for Hotel Search with geolocation
POST /api/hotels/searches HTTP/1.1
content-type: application/json
Accept-Version: v1
Authorization: Bearer b7e6e755d6123fb74653fac618c88bd3f67bf965fd2ba90b7132769ec6050c94

{
   "check_in":"2019-08-09",
   "check_out":"2019-08-10",
   "number_of_rooms":1,
   "adults":1,
   "children":[ ],
   "currency":"ZAR",
   "accounts":{
      "amadeus":[
         {
            "identifier":"account_identifier",
            "codes": [
              "AB-B56***"
            ]
         }
      ]
   },
   "geo_location":{
      "latitude":"-33.929162",
      "longitude":"18.425136"
   }
}

All Possible Request Parameters

Parameter RQ Type Description
check_in Date Check in date, in ISO-8601 format
check_out Date Check out date, in ISO-8601 format
place_id String Welltravel city id. Please Check Meta Place Codes and Meta Airports for this value.
number_of_rooms Integer Number of rooms needed. This should not be zero(0) or negative and must be less than adults number.
adults Integer Number of adults
children Array An array containing the number of children along with age of them. Default is []
children.age Integer The age of the child guest. The range must be 0 to 17 years
currency String Which currency the search result will be shown. Not all suppliers support this.
geo_location Object A hash containing Geo location Details
geo_location.latitude String Latitude of the location. The range is -90.00 to 90.00. For example, 61.3232
geo_location.longitude String Longitude of the location The range is -180.00 to 180.00. For example, 61.3232
geo_location.radius_in_km Integer Radius in kilometres

accounts

Object The accounts to use when searching
accounts.identifier String Account Identifier for suppliers. Generally IPCC for GDSs.
accounts.codes Array Discount or Corporate Codes for the specific supplier. For details, see Supplier Specific Maximum Corporate Code Support

Search Response

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "d51d7770-3046-414a-81e8-2a148414a6db"
}
Parameter Type Description
id UUID The UUID of the search, use it to fetch the results

Fetch Seach Results

GET /api/hotels/searches/d51d7770-3046-414a-81e8-2a148414a6db/results?per_page=250&page=1 HTTP/1.1
Authorization: Bearer d96149e72d675122a6e30b8e349f5e1744a72b20c79cb9826dc20cfb99338c12
Accept-Version: v1

GET /hotels/searches/:id/results(.json)

Use the id from the search response to fetch the results. This endpoint supports Pagination.

Request Parameters
Parameter RQ Type Description
order_by String Sort/Order hotel search results using keys. Please use one of these keys `“rating”, “total_price”. Default is “total_price”.
order_direction String Order direction of car search results. Please use one of these "asc", "desc"
include_duplicates Boolean Whether to include or exclude duplication result. Default is false
Response Parameters
HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 10
X-Total-Pages: 1
X-Per-Page: 300
X-Page: 1

[
 {
    "id": "c48cff48-cd9a-47a4-b802-abb1b24abb6f",
    "source": {
      "supplier": "travelport_rooms_and_more",
      "account": "P7033971",
      "currency": "USD"
    },
    "name": "PubLove @ The Great Eastern - Hostel",
    "address": {
      "street": "1 Glenaffric Avenue London,",
      "city": "London",
      "state": null,
      "zip": "E143BW",
      "country": null
    },
    "longitude": "-0.005795806755",
    "latitude": "51.488641304072",
    "stars": 0.0,
    "rating": 2.0,
    "rating_source": "trm",
    "check_in": "2017-12-15",
    "check_out": "2017-12-20",
    "picture_url": "http://media-atl-tram.pp.travelport.com/hotel-thumbnails/90x90/GBLON@/004469/hs_8800378_12_b.jpg",
    "refundable": null,
    "corporate_deal": false,
    "pricing": {
      "room_rate": {
        "total": {
          "recommended_selling_price": {
            "amount": "63.5",
            "currency": "USD"
          },
          "purchase_price": {
            "amount": null,
            "currency": null
          },
          "source": {
            "amount": "63.5",
            "currency": "USD"
          }
        },
        "per_night": [
          {
            "recommended_selling_price": {
              "amount": "12.7",
              "currency": "USD"
            },
            "purchase_price": {
              "amount": null,
              "currency": null
            },
            "source": {
              "amount": "12.7",
              "currency": "USD"
            },
            "date": "2017-12-15"
          },
          {
            "recommended_selling_price": {
              "amount": "12.7",
              "currency": "USD"
            },
            "purchase_price": {
              "amount": null,
              "currency": null
            },
            "source": {
              "amount": "12.7",
              "currency": "USD"
            },
            "date": "2017-12-16"
          },
        ]
      },
      "taxes": {
        "amount": "0.0",
        "currency": "USD",
        "source": {
          "amount": "0.0",
          "currency": "USD"
        }
      },
      "total": {
        "recommended_selling_price": {
          "amount": "63.5",
          "currency": "USD"
        },
        "purchase_price": {
          "amount": "60.01",
          "currency": "USD"
        },
        "source": {
          "amount": "63.5",
          "currency": "USD"
        }
      }
    }
  }
]
Parameter Type Description
id UUID ID for specific the hotel
source Object Detailed Information about the supplier
source.supplier Object Name of the hotel supplier. Our API supports the following hotel suppliers : Totalstay , Amadeus, TravelportRoomsAndMore, Galileo and XmlBookings
source.account Object Name of the account
source.currency Object Currency of the pricing provided by the supplier
name String Name of the Hotel
address Object Detailed Address of the Hotel
address.street String Street address of the Hotel
address.city String City in which the Hotel is located
address.state String State in which the Hotel is located
address.zip String Zip address of the Hotel location
address.country String Country in which the Hotel is located
longitude String Longitude of the Hotel location
latitude String Latitude of the Hotel location
stars Number Star rating system is a system aims to rate hotels based on the quality and amount of amenities it provides its customers. For supplier specific, hotel star rating details, see Amadeus. Totalstay, XmlBookings and TravelportRoomsAndMore
rating String Rating of the hotel. For supplier specific, hotel rating details, see Amadeus. Totalstay, XmlBookings and TravelportRoomsAndMore
rating_source String Rating Source. For supplier specific, hotel rating source details, see Amadeus. Totalstay, XmlBookings and TravelportRoomsAndMore
check_in String Check In Time
check_out String Check Out Time
picture_url String Picture URL
refundable Boolean Booking Refund Information. It indicates whether the hotel booking is refundable or not
corporate_deal Boolean Indicate the rate is under corporate deal or not
pricing Object Detailed Pricing Information
pricing.room_rate Object Room rate pricing details
pricing.room_rate.total Object Total room rate pricing details
pricing.room_rate.total.recommended_selling_price Object Total room rate recommended selling pricing details
pricing.room_rate.total.recommended_selling_price.amount String Amount of recommended selling price
pricing.room_rate.total.recommended_selling_price.currency String Currency of recommended selling price
pricing.room_rate.total.purchase_price Object Total room rate purchase pricing details
pricing.room_rate.total.purchase_price.amount String Amount of the purchase price
pricing.room_rate.total.purchase_price.currency String Currency of the purchase price
pricing.room_rate.total.source Object Total room rate source pricing details
pricing.room_rate.total.source.amount String Amount of the Source Price
pricing.room_rate.total.source.currency String Currency of the Source Price
pricing.room_rate.per_night Array Per night room rate Information
pricing.room_rate.per_night.recommended_selling_price Object Per night room rate recommended selling pricing details
pricing.room_rate.per_night.recommended_selling_price.amount String Amount of the recommended selling price
pricing.room_rate.per_night.recommended_selling_price.currency String Currency of the recommended selling price
pricing.room_rate.per_night.purchase_price Object Per night room rate purchase pricing details
pricing.room_rate.per_night.purchase_price.amount String Amount of purchase price
pricing.room_rate.per_night.purchase_price.currency String Currency of the purchase price
pricing.room_rate.per_night.source Object Total Per night room rate source pricing details
pricing.room_rate.per_night.source.amount String Amount of the Source Price
pricing.room_rate.per_night.source.currency String Currency of the Source Price
pricing.room_rate.per_night.date String Date on which the per night pricing information is valid
pricing.taxes Object Pricing Tax Information
pricing.taxes.amount String Amount of Pricing Tax
pricing.taxes.currency String Currency of Pricing Tax
pricing.taxes.source Object Source Pricing Tax Information
pricing.taxes.source.amount String Amount of Source Pricing Tax
pricing.taxes.source.currency String Currency of Source Pricing Tax
pricing.total Object Total Pricing Information
pricing.total.recommended_selling_price Object Total recommended selling pricing details
pricing.total.recommended_selling_price.amount String Amount of the recommended selling price
pricing.total.recommended_selling_price.currency String Currency of the recommended selling price
pricing.total.purchase_price Object Total Purchase pricing details
pricing.total.purchase_price.amount String Amount of purchase price
pricing.total.purchase_price.currency String Currency of the purchase price
pricing.total.source Object Total Source Pricing details
pricing.total.source.amount String Amount of the Source Price
pricing.total.source.currency String Currency of the Source Price

Definitions

Refundable

This parameter indicates whether the hotel booking payment will be paid back to you in certain circumstances if it is cancelled. But whether you will get the refund or not depends on certain conditions. It varies from hotels to hotels. If refundable is true, it means the payment for booking will be refunded upon cancellation. It if is otherwise i.e false then is the payment is non-refundable. In the Select step, there will be detailed information about cancellation like cancellation fee, start date of cancellation and last date of cancellation for each room of the hotel available for booking.

Children

You have to make sure that the number of children is less than the number of adults. A guest will be considered as child only if his/her age is below twelve.

Hotel Search Rules

  1. The number of passenger has to be defined in such a way that total number of passengers/guests would not be more than nine(9)
  2. The number of adults must be greater than number of children.
  3. Total number of rooms should less than or equals to adults
  4. The check-out date must not be before the check-in date
  5. The currency provided in the search may not be supported by some supplier. In that case, the supplier will provide the pricing in the default currency of the supplier.
  6. The check-out date and check-in date must be future dates

Hotel Select Flow

After a hotel result has been selected, use its id to confirm if it’s still available.

Select Request

 GET /api/hotels/results/449483a8-d028-4dab-951d-6e81e2d8a85a HTTP/1.1
 Authorization: Bearer f29aeba8aee1ee11b84dda150eac2a61f50aeb068468a8a88c176b95f5a89e03
 Accept-Version: v1

GET /hotels/results/:id(.json)

Select Response

HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": "c48cff48-cd9a-47a4-b802-abb1b24abb6f",
    "available": true,
    "price_changed": false,
    "hotel_information": {
      "number_of_rooms": 4,
      "number_of_floors": null,
      "check_in_time": "4:00",
      "check_out_time": "14:00",
      "description": "Located in Canary Wharf, PubLove @ The Great Eastern Greenwich is a perfect starting point from which to explore London. The property features a wide range of facilities to make your stay a pleasant experience. To be found at the hotel are free Wi-Fi in all rooms, 24-hour front desk, Wi-Fi in public areas, restaurant, coffee shop. Guestrooms are fitted with all the amenities you need for a good night's sleep. In some of the rooms, guests can find linens, wooden/parqueted flooring, internet access – wireless (complimentary), non smoking rooms, heating. The hotel offers various recreational opportunities. A welcoming atmosphere and excellent service are what you can expect during your stay at PubLove @ The Great Eastern Greenwich.\u003c/p\u003e",
      "hotel_policies": null,
      "check_in_instructions": null,
      "preparations": null
    },
    "hotel_facilities": {
      "meals_included": "breakfast",
      "airport_shuttle": {
        "pick_up": "complimentary",
        "drop_off": "non_complimentary",
       },
      "wifi": "complimentary",
      "others": [
        "credit_card",
        "24hr_reception",
        "laundry_facilities",
        "elevator",
        "gym_fitness_centre",
        "car_parking",
        "multilingual_staff",
        "meeting_room_facilities",
        "outdoor_pool",
        "spa_beauty_facilities"
      ],
      "conditions": [
        "no_infant_beds",
        "no_extra_bed",
        "no_pet_allowed",
        "non_smoking_property"
      ]
    },
    "picture_urls": [
      {
        "url": "http://media.expedia.com/hotels/2000000/1550000/1545200/1545164/1545164_69_b.jpg",
        "thumbnail_url": "http://media.expedia.com/hotels/2000000/1550000/1545200/1545164/1545164_69_b1.jpg"
      }
    ],
    "rooms": [
      {
        "id": 1,
        "pricing": {
          "room_rate": {
            "total": {
              "recommended_selling_price": {
                "amount": "63.5",
                "currency": "USD"
              },
              "purchase_price": {
                "amount": null,
                "currency": null
              },
              "source": {
                "amount": "63.5",
                "currency": "USD"
              }
            },
            "per_night": [
              {
                "recommended_selling_price": {
                  "amount": "12.7",
                  "currency": "USD"
                },
                "purchase_price": {
                  "amount": null,
                  "currency": null
                },
                "source": {
                  "amount": "12.7",
                  "currency": "USD"
                },
                "date": "2017-12-15"
              },
              {
                "recommended_selling_price": {
                  "amount": "12.7",
                  "currency": "USD"
                },
                "purchase_price": {
                  "amount": null,
                  "currency": null
                },
                "source": {
                  "amount": "12.7",
                  "currency": "USD"
                },
                "date": "2017-12-16"
              },
            ]
          },
          "taxes": {
            "amount": "0.0",
            "currency": "USD",
            "source": {
              "amount": "0.0",
              "currency": "USD"
            }
          },
          "total": {
            "recommended_selling_price": {
              "amount": "63.5",
              "currency": "USD"
            },
            "purchase_price": {
              "amount": null,
              "currency": null
            },
            "source": {
              "amount": "63.5",
              "currency": "USD"
            }
          },
        },
        "corporate_deal": false,
        "rate_type": null,
        "rate_code": "BAR",
        "rate_type_description": "BEST RATE INCL. WIFI",
        "commissions":
          {
            "status": true,
            "amount": null,
            "currency": "EUR",
            "percentage": "10.0"
          },
        "cancellation_policies": [
          {
            "start_date": "2017-12-01",
            "end_date": "2017-12-07",
            "fee": "0.0",
            "currency": "USD"
          },
          {
            "start_date": "2017-12-08",
            "end_date": "2017-12-12",
            "fee": "10.50",
            "currency": "USD"
          }
        ],
        "room_types": [
          {
            "no_of_rooms": 1,
            "type": "1 KING BED",
            "description": "1 KING BED, MOBILITY ACC, COMMASSIST, BATHTUB,  NOSMOKING",
            "meals_included": null,
            "board_type": null
          }
        ]
      },
      {
        "id": 2,
        "pricing": {
          "room_rate": {
            "total": {
              "recommended_selling_price": {
                "amount": "63.5",
                "currency": "USD"
              },
              "purchase_price": {
                "amount": null,
                "currency": null
              },
              "source": {
                "amount": "63.5",
                "currency": "USD"
              }
            },
            "per_night": [
              {
                "recommended_selling_price": {
                  "amount": "12.7",
                  "currency": "USD"
                },
                "purchase_price": {
                  "amount": null,
                  "currency": null
                },
                "source": {
                  "amount": "12.7",
                  "currency": "USD"
                },
                "date": "2017-12-15"
              },
              {
                "recommended_selling_price": {
                  "amount": "12.7",
                  "currency": "USD"
                },
                "purchase_price": {
                  "amount": null,
                  "currency": null
                },
                "source": {
                  "amount": "12.7",
                  "currency": "USD"
                },
                "date": "2017-12-16"
              },
            ]
          },
          "taxes": {
            "amount": "0.0",
            "currency": "USD",
            "source": {
              "amount": null,
              "currency": null
            }
          },
          "total": {
            "recommended_selling_price": {
              "amount": "63.5",
              "currency": "USD"
            },
            "purchase_price": {
              "amount": null,
              "currency": null
            },
            "source": {
              "amount": "63.5",
              "currency": "USD"
            }
          }
        },
        "corporate_deal": false,
        "rate_type": null,
        "rate_code": "BAR",
        "rate_type_description": "BEST RATE INCL. WIFI",
        "commissions":
          {
            "status": true,
            "amount": null,
            "currency": "EUR",
            "percentage": "10.0"
          },
        "cancellation_policies": [
          {
            "start_date": "2017-12-01",
            "end_date": "2017-12-07",
            "fee": "0.0",
            "currency": "USD"
          },
          {
            "start_date": "2017-12-08",
            "end_date": "2017-12-12",
            "fee": "10.00",
            "currency": "USD"
          }
        ],
        "room_types": [
          {
            "no_of_rooms": 1,
            "type": "1 REGULAR BED",
            "description": "1 Person in 15-Bed Dormitory with Shared Bathroom - Mixed - Max Occupancy: 1",
            "meals_included": null,
            "board_type": null
          }
        ]
      }
    ],
    "form_of_payment": {
     "options": [
      "credit_card",
      "cash",
      "none",
      "iata",
      "counter"
    ],
    "required_fields": {
      "credit_card": {
        "name": true,
        "number": true,
        "type": true,
        "expiry_date": true,
        "code": true,
        "street": true,
        "city": true,
        "zip": true,
        "country": true
      }
     }
    },
    "queues": {
      "supported": false
    },
    "accounting_remarks": {
      "supported": false,
      "available_codes": []
    },
    "general_remarks": {
      "supported": false,
      "available_codes": []
    }
  }
Information about Hotel
Parameter Type Description
id UUID ID for specific the hotel
available Boolean Availability of the Hotel
price_changed Boolean Return if the price changed after the select call
hotel_information Object Detailed Information about the Hotel
hotel_information.number_of_rooms Integer Total number of rooms of the hotel
hotel_information.number_of_floors Integer Total number of floors of the hotel
hotel_information.check_in_time String Possible values: 00:00 to 23:59 or full_day_check_in
hotel_information.check_out_time String Possible values: 00:00 to 23:59
hotel_information.description String Description about the hotel
hotel_information.hotel_policies String Detailed information about the hotel policies
hotel_information.check_in_instructions String Instruction about the check-in
hotel_information.preparations String The kind of preparations should be taken before check-in, like packing list, documents that needed to be submitted, passport mandatory or not etc
hotel_facilities Object Detailed information about the facilities provided by the hotel
hotel_facilities.meals_included String Details of complimentary meals. See Board Type for details
hotel_facilities.airport_shuttle Object Detailed information about airport shuttle facility
hotel_facilities.airport_shuttle.pick_up String Airport pickup information. See Hotel Facility Availabilities for the details
hotel_facilities.airport_shuttle.drop_off String Airport drop-off information. See Hotel Facility Availabilities for the details
hotel_facilities.wifi String Wifi related information. This information tells us whether Wifi is complimentary or not. See Hotel Facility Availabilities for the details
hotel_facilities.others Object All the facilities provided by this hotel. See Hotel Facilities for details
hotel_facilities.conditions String Conditions of this hotel. See Hotel Conditions for details
picture_urls Array Array of Picture URLs of the Specific Hotel
picture_urls.url String Picture URL of the Specific Hotel
picture_urls.thumbnail_url String Thumbnail Picture URL of the Specific Hotel
rooms Array Room Information Array. For more details, see Information about Individual Rooms
form_of_payment Object Form of payments details
form_of_payment.options Array Supported Form of Payment List. Welltravel Supported Payment options are cash, none, credit_card, iata, counter
form_of_payment.required_fields Object Required fields for the credit card payment
form_of_payment.required_fields.credit_card Object credit_card related information
form_of_payment.required_fields.credit_card.name Boolean Card holder’s name is required or not
form_of_payment.required_fields.credit_card.number Boolean Card number is required or not
form_of_payment.required_fields.credit_card.type Boolean Card type is required or not
form_of_payment.required_fields.credit_card.expiry_date Boolean Card expiry date is required or not
form_of_payment.required_fields.credit_card.code Boolean Code is required or not
form_of_payment.required_fields.credit_card.street Boolean Street is required or not
form_of_payment.required_fields.credit_card.city Boolean City is required or not
form_of_payment..required_fieldscredit_card.country Boolean Country is required or not
queue Object Queue related information for booking
queue.supported Boolean Queue supported or not
accounting_remarks Object Detailed information of accounting remarks
accounting_remarks.supported Boolean Indicates if the accounting_remarks supported or not
accounting_remarks.available_codes Array Available codes for accounting remarks
general_remarks Object Detailed information of general remarks. For supplier specifi
general_remarks.supported Boolean Indicates if the general supported or not
general_remarks.available_codes Array Available codes for general remarks
Information about individual rooms
Parameter Type Description
rooms.id Integer ID for specific the room of the Hotel
rooms.pricing Object Detailed Information about the Hotel Room Pricing
rooms.pricing.room_rate Object Room Rate Pricing Information
rooms.pricing.room_rate.total Object Rate for Room for all nights
rooms.pricing.room_rate.total.recommended_selling_price Object Detailed information about the price of the room we recommend to use as selling price
rooms.pricing.room_rate.total.recommended_selling_price.amount String The price of the room/rooms we recommend to use as selling price
rooms.pricing.room_rate.total.recommended_selling_price.currency String The currency of the price of the room we recommend to use as selling price
rooms.pricing.room_rate.total.purchase_price Object Detailed information about the price you have to pay to book the room
rooms.pricing.room_rate.total.purchase_price.amount String The price of the room/rooms you will have to pay
rooms.pricing.room_rate.total.purchase_price.currency String The currency of the price of the room you will have to pay
rooms.pricing.room_rate.total.source Object Detailed information about the room/rooms pricing for the default currency of the IPCC
rooms.pricing.room_rate.total.source.amount String The price of the room we recommend to use as selling price in terms of default currency
rooms.pricing.room_rate.total.source.currency String Default currency of the IPCC
rooms.pricing.room_rate.per_night Array Rate for Room as per night basis
rooms.pricing.room_rate.per_night.recommended_selling_price Object Per Night Recommended Selling Price Related Information
rooms.pricing.room_rate.per_night.recommended_selling_price.amount String Rate for Room as per night basis we recommend to use as selling price
rooms.pricing.room_rate.per_night.recommended_selling_price.currency String Currency of Per Night Recommended Selling Price
rooms.pricing.room_rate.per_night.purchase_price Object Detailed information about the price of per room per night you have to pay to book it
rooms.pricing.room_rate.per_night.purchase_price.amount String The price of per room per night you will have to pay
rooms.pricing.room_rate.per_night.purchase_price.currency String Currency in which the pricing is being exposed
rooms.pricing.room_rate.per_night.source Array Detailed Information about the Per Night Per Room Pricing in IPCC’s Default Currency
rooms.pricing.room_rate.per_night.source.amount String The price of per room per night you will have to pay in terms of default currency
rooms.pricing.room_rate.per_night.source.currency String Default currency in which the pricing is being exposed
rooms.pricing.room_rate.per_night.date String The date in which the pricing is valid
rooms.pricing.taxes Object Tax Related Information
rooms.pricing.taxes.amount String The tax imposed on the Hotel Room Pricing
rooms.pricing.taxes.currency String The currency of the tax imposed on the Hotel Room Pricing
rooms.pricing.taxes.source Object Detailed Information about the tax imposed on the Hotel Room Pricing in IPCC’s currency
rooms.pricing.taxes.source.amount String The tax imposed on the Hotel Room Pricing in terms of default currency
rooms.pricing.taxes.source.currency String Default currency in which the pricing is being exposed
rooms.pricing.total Object Rate for Room for all nights including tax details
rooms.pricing.total.recommended_selling_price Object Details about the Rate for Room for all nights we recommend to use as selling price
rooms.pricing.total.recommended_selling_price.amount String Rate for Room for all nights we recommend to use as selling price
rooms.pricing.total.recommended_selling_price.currency String Currency of Total Recommended Selling Price
rooms.pricing.total.purchase_price Object Details Related to the total amount you will pay for booking
rooms.pricing.total.purchase_price.amount String The total price amount you have to pay
rooms.pricing.total.purchase_price.currency String Currency of Total Purchase Price
rooms.pricing.total.source Object Details related to the total price amount you have to pay in IPCC’s Default Currency
rooms.pricing.total.source.amount String The price of all rooms you will have to pay in terms of default currency
rooms.pricing.total.source.currency String Default currency in which the pricing is being exposed
rooms.corporate_deal Boolean Indicate the rate is under corporate deal or not
rooms.rate_type String Rate type of the room rate
rooms.rate_code String Rate code of the room rate
rooms.rate_type_description String Description about the rate type of the room rate
rooms.commissions Object Details about the commissions for this room
rooms.commissions.status Boolean Indicates whether there is a commission for this room
rooms.commissions.amount String Amount of the commissions for this room
rooms.commissions.currency Object Currency in which the amount of the commissions for this room is being exposed
rooms.commissions.currency Object What percentage of the booking is the commissions for this room
rooms.cancellation_policies Object Details about the cancellation policies for this room
rooms.cancellation_policies.start_date Object Date from which the booking can be cancelled
rooms.cancellation_policies.end_date Object The last date of cancellation
rooms.cancellation_policies.fee Object Penalty Fee for booking cancellation
rooms.cancellation_policies.currency Object The currency in which the penalty fee is being exposed
rooms.room_types Array Detailed room information based on the room availability of the hotel, adults and room numbers from the search request. For example if adult count is 3 and room number is 2, it may contain two objects, one is for Single Bedroom and another for Double-Bedroom
rooms.room_types.no_of_rooms Integer Number of the same type of rooms available
rooms.room_types.type String Type of the room. Possible values: Standard Twin, Double-Bedroom, Single Bedroom etc
rooms.room_types.description String Description of a particular room type hotel information
rooms.room_types.meals_included String Meals that is included in the room rate
rooms.room_types.board_type String Meals that is included in the room rate.

Hotel Reserve Flow

If a hotel is available, you may book it by sending a POST request to /api/hotels/reservations and referencing the id.

Reserve Request

send a POST request to /api/hotels/reservations.

POST /api/hotels/reservations HTTP/1.1
Content-Type: application/json; charset=utf-8
Accept-Version: v1
Authorization: Bearer cf3fa478510bab8e9fd451c57be85a06b3da2bbbccc5c7b8f7dcc8a44fdeef5b

{
  "result_id": "449483a8-d028-4dab-951d-6e81e2d8a85a",
  "room_id": "1",
  "guests": [
    {
      "first_name": "Martin",
      "middle_name": "Devian",
      "last_name": "Freeman",
      "name_prefix": "mr",
      "birthday": "1980-07-01",
      "addresses": [
        {
          "type": "destination",
          "contact_name": "Bruce",
          "street": "Somewhere 1",
          "city": "Sin city",
          "zip": "1234",
          "state": "CA",
          "country": "CH"
        }
      ],
      "phone_number": "+41 43 550 77 00",
      "email": "freeman@martin.com"
    }
  ],
  "agency_phone_number": "+880 1714739871",
  "form_of_payment": "cash",
  "card_details": {
    "name": "Davy Jones",
    "number": "5275009999993833",
    "type": "master_card",
    "expiry_date": "12/17",
    "code": "111",
    "bank_name": "Standard Chartered Bangladesh",
    "bank_country_code": "BD",
    "cardholder_address": {
      "street": "Some Street",
      "city": "Some City",
      "zip": "1337",
      "country": "SE"
    }
  }
}
Request Parameters
Parameter RQ Type Description
result_id UUID Unique ID for a specific hotel search result
room_id Integer Room ID from select resposne
guests Array An array of the guests, must have to match the initial number of the search
guests.first_name String The first name of this guest
guests.middle_name String The middle name of this guest
guests.last_name String The last name of this guest
guests.name_prefix String The name prefix of this guest. Possible values: mr, mrs, ms
guests.email String The mail of this guest
guests.phone_number String The phone number of this guest
guests.birthday String The birthday of this guest, in ISO-8601 format
guests.addresses Array The addresses of the guest.
guests.addresses.type String Use one of the following destination, residence or office
guests.addresses.contact_name String Traveller Address Name. Like: Johnson Residence.
guests.addresses.street String Street Address. Like: 4676 Palmer Road
guests.addresses.city String City of the Address.
guests.addresses.zip String Zip Code or Postal Code
guests.addresses.country String Has to be a ISO 3166-1 alpha-2 country code.
guests.phone_number String Phone number of the guest.Example: 111-11-111
guests.email String Email of the Guest
agency_phone_number String Phone Number of the booking agency.Example: 111-11-111
remarks Array Remarks related to this bookings. Generally travel agencies use this field to write notes about a booking.
remarks.type String Remarks type. It is different for each supplier. Please refer to your supplier.
remarks.content String Remark text content.
accounting_remarks Array Accounting Remarks related to this bookings. Might be used for accounting related notes.
accounting_remarks.type String Accounting Remarks type. It is different for each supplier. Please refer to your supplier.
accounting_remarks.content String Accounting Remark text content.
queue Integer Queue to place the created PNR (e.g. 80)
destination_account String Account to place the created PNR (e.g. A59P)

form_of_payment

String Form of Payment. Welltravel Supported Payment options are cash, none, credit_card, iata. Default is cash. Please note that some supplies might only support a certain payment method, supplying otherwise will give you a HTTP 422 unprocessable entity error.
card_details ✘/✔ Object Card details, required if form_of_payment is credit_card
card_details.name String Card Holder Name
card_details.number String Credit Card Number. Please enter the number as in the card. No space or special character is allowed.
card_details.type String Credit Card Type. Possible values: visa, master_card, amex.
card_details.expiry_date String Credit Card Expiry Date. Format is: MM/YY. example: 01/19 .
card_details.code String Credit Card Code/CVV/CVC
card_details.bank_name ✘/✔ String The name of the bank.
card_details.bank_country_code ✘/✔ String The country code of the country in which the bank is located. Usually it is a two or three letters code.
card_details.cardholder_address Object Card Holder Address Details
card_details.cardholder_address.address_name String Card Holder Address Name. Like: Family Doe
card_details.cardholder_address.street String Card Holder Street Name
card_details.cardholder_address.city String Card Holder City Code
card_details.cardholder_address.state String Card Holder State Name
card_details.cardholder_address.zip String Card Holder ZIP Code or Post Code
card_details.cardholder_address.country String ISO 3166-1 alpha-2 Issuing Country Code

Reserve Response

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "a470369c-5b80-4e24-93ae-bbcf6af1c105",
  "bookings": [
    {
      "id": "1552891",
      "supplier": "totalstay",
      "account": "welltravel",
      "free_cancellation_period_ends": "2017-12-13T12:53:44.273Z"
    }
  ]
}
Attributes

See Reservation.

Services

As services are booked asynchronous and may be confirmed by the airline, make sure to check the state of the booking by using Fetch Booking.

Search & Book: Car Rental

After authentication, you are able to book a Car Rental in two steps:

  1. Search: Search & fetch the car rental results
  2. Select: Confirm availability and fetch available services
  3. Reserve : Create a reservation

Every step is required. You can’t leave one out.

Car Rental Search Flow

To create a car search, send a POST request to /api/car_rentals/searches. It will return the ID of the created search. This ID can be used to fetch the results by sending a GET request to /api/car_rentals/searches/:id/results

All Possible Request Parameters
POST /api/car_rentals/searches HTTP/1.1
Content-Type: application/json
Authorization: Bearer c58258c2b75a47d1c62832f32796a0729a7d376c6d4c55f0ec85e69597a0b89c
Accept-Version: v1

{
  "airport_search": true,
  "pick_up_location_id": "CPT",
  "drop_off_location_id": "CPT",
  "pick_up_geo_location": {},
  "drop_off_geo_location": {},
  "pick_up_time": "2018-01-27T23:59",
  "drop_off_time": "2018-01-29T08:50",
  "car_class": "middle",
  "driver_age": 32,
  "vendor_preferences": {
          "type":  'exclusive',
         "vendor_code": ["EP"],
  },
  "currency": "CHF",
  "accounts": {
    "galileo": [
      { "identifier": "6KN8" }
    ]
  }
}
Parameter RQ Type Description
pick_up_location_id String The pick up location code. It is a 3 letter code. IATA airport code. This will be only sent if airport_search is true
drop_off_location_id String The Drop off location code. It is a 3 letter code. IATA airport code. This will be only sent if airport_search is true
pick_up_geo_location Object Geolocation information of pick up point.This will be only sent if airport_search is false
pick_up_geo_location.latitude String Latitude value in Decimal Degree(DD) format of the pick up point
pick_up_geo_location.longitude String Longitude value in Decimal Degree(DD) format of the pick up point
pick_up_geo_location.radius_in_km Integer Distance in kilometer from the pickup point. Default value is 200
drop_off_geo_location Object Geolocation information of drop off point
drop_off_geo_location.latitude String Latitude value in Decimal Degree(DD) format of the drop off point
drop_off_geo_location.longitude String Longitude value in Decimal Degree(DD) format of the drop off point
drop_off_geo_location.radius_in_km Integer Distance in kilometer from the drop off point. Default value is 200
pick_up_time String Pickup Date & Time, in ISO-8601 format
drop_off_time String Drop Date & Time, in ISO-8601 format
vendor_preferences Hash A hash containing vendor specific search informations. For all car rental vendor list, please see Vendor list
vendor_preferences.type String It indicates the type of vendor specific search. Possible values are exclusive and preferred. exclusive will return only the search results from the mentioned vendors. preferred will return search results from the other vendors along with the specified vendor. For Galileo, at maximum, four vendors can be specified. Galileo doesn not support preferred vendor specific search.
vendor_preferences.vendor_code Array An array containing the vendors codes from which we wanted to get search results. Vendor Code must be a two-lettered upper case String. Every rental company has a unique code and this code is called vendor code
airport_search Boolean This will differentiate between geo_location search and IATA Airport Code Search. If this value is true, user have to provide pick_up_location_id and drop_off_location_id in the request. If this value is false, user have to provide pick_up_geo_location and drop_off_geo_location information in the request. Providing incorrect value will give a validation error.
full_waiver_insurance Boolean Full Waiver Insurance car.
car_class String Class of the Car. Use one of these values middle, high.
car_type String Type of the Car. Use one of these values small, sport, family_van.
driver_age Integer Age of the Driver
currency String The currency in which the prices should be exposed, in ISO-4217 format

accounts

Object The accounts to use when searching
accounts.identifier String Account Identifier for suppliers. Generally IPCC for GDSs.
accounts.codes Array Discount or Corporate Codes for the specific supplier. For details, see Supplier Specific Maximum Corporate Code Support

A Sample Request With Geolocation
POST /api/car_rentals/searches HTTP/1.1
Content-Type: application/json
Authorization: Bearer c58258c2b75a47d1c62832f32796a0729a7d376c6d4c55f0ec85e69597a0b89c
Accept-Version: v1

{
  "pick_up_time": "2019-12-23T13:00",
  "drop_off_time": "2019-12-30T11:00",
  "driver_age": 32,
  "currency": "ZAR",
  "accounts": {
    "galileo": [
      {
        "identifier": "6KN8",
        "codes": [
          "AB-Z44***"
        ]
      }
    ]
  },
  "airport_search": false,
  "pick_up_geo_location": {
    "latitude": "51.51422",
    "longitude": "-0.17821804"
  },
  "drop_off_geo_location": {
    "latitude": "51.51422",
    "longitude": "-0.17821804"
  }
}

Fetch Search Results

GET /api/car_rentals/searches/15/results?per_page=250 HTTP/1.1
Authorization: Bearer 3bfb293e5e50a91fdf170f4b1c3a595def5fde6fb5ab917712fbf90494fc4a06
Accept-Version: v1

GET /car_rentals/searches/:id/results(.json)

Request Parameters
Parameter RQ Type Description
order_by String Sort/Order car search results using keys. Please use one of these keys "seats", "doors", "fuel_policy", "total_gross_price"
order_direction String Order direction of car search results. Please use one of these "asc", "desc"
include_duplicates Boolean Whether to include or exclude duplication result. Default is false
Response Parameters
HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 8
X-Total-Pages: 1
X-Per-Page: 250
X-Page: 1

  {
    "id": "ba0004c9-1c32-4145-b242-3170c09fa118",
    "source": {
      "supplier": "galileo",
      "account": "6KN8",
      "currency": "USD"
    },
    "vendor": {
      "vendor_name": "AVIS RENT A CAR SYSTEM, INC.",
      "vendor_code": "ZI",
      "image_url": {
        "url": "https://meta-staging.welltravel.com/media/W1siZiIsIjIwMTkvMDEvMzAvMDMvMzMvMmQwYWUxY2EtZjhmMS00OWE2LWE2OTQtZTQzYzI0YTc3YWY3Il1d?sha=a4db7e682d38ed8e",
        "thumbnail_url": "https://meta-staging.welltravel.com/media/W1siZiIsIjIwMTkvMDEvMzAvMDMvMzMvZGJlMDMzOTUtMmUzYi00ZTM2LTk2YjctNzAyY2MyNzM5NGY4Il1d?sha=2fb0b1d34350e78c"
      }
    }
    "car": {
      "acriss_code": "CDMR",
      "category": "compact",
      "type": "4-5_doors",
      "driven_wheel": "unspecified",
      "make": "fiat",
      "name": "500",
      "condition": "exact",
      "description": null,
      "rating": null,
      "image_url": {
        "url": "https://multimedia.amadeus.com/mdc/retrieveCarItem?ctg=VEHICLE\u0026prov=SX\u0026cnt=GB\u0026vehcat=CDMR\u0026item=0\u0026stamp=VEHICLE_0_0_1496238302633\u0026file=9.JPEG",
        "thumbnail_url": "https://multimedia.amadeus.com/mdc/retrieveCarItem?ctg=VEHICLE\u0026prov=SX\u0026cnt=GB\u0026vehcat=CDMR\u0026item=0\u0026stamp=VEHICLE_0_0_1496238302633\u0026file=0.JPEG"
      }
    },
    "facilities": {
      "is_automatic": true,
      "air_conditioned": true,
      "air_bag": null,
      "fuel_type": "unspecified",
      "fuel_policy": null,
      "doors": "5",
      "seats": "5",
      "insurance": ["general_coverage"],
      "liability": [
        {
          "type": "glass_tyre_waiver",
          "amount": "9.93",
          "currency": "CHF",
          "modifier": null
        },
        {
          "type": "roadside_service_plan",
          "amount": "5.51",
          "currency": "CHF",
          "modifier": null
        }
      ],
      "mileage": [
        {
          "type": "free_miles",
          "amount": null,
          "currency": null,
          "modifier": "200"
        },
        {
          "type": "per_mile",
          "amount": "0.27",
          "currency": null,
          "modifier": null
        }
      ],
      "other_facilities": [
        {
          "type": "child_seat_for_infant",
          "amount": "11.04",
          "currency": "CHF",
          "modifier": "per_rental"
        },
        {
          "type": "child_seat_for_baby",
          "amount": "11.04",
          "currency": "CHF",
          "modifier": "per_rental"
        }
      ]
    },
    "conditions": [
      {
        "type": "general_surcharge",
        "amount": null,
        "currency": null,
        "modifier": null
      }
    ],
    "pricing": {
      "car_rate": {
        "recommended_selling_price": {
          "amount": "74.55",
          "currency": "CHF"
        },
        "purchase_price": {
          "amount": null,
          "currency": "CHF"
        },
        "source": {
          "amount": "57.49",
          "currency": "GBP"
        }
      },
      "taxes": {
        "amount": "14.91",
        "currency": "CHF",
        "source": {
          "amount": "11.5",
          "currency": "GBP"
        }
      },
      "total_price": {
        "recommended_selling_price": {
          "amount": "89.46",
          "currency": "CHF"
        },
        "purchase_price": {
          "amount": null,
          "currency": "CHF"
        },
        "source": {
          "amount": "68.99",
          "currency": "GBP"
        }
      }
    },
    "corporate_deal": true,
    "pick_up": {
      "location": "14-146 HAMERSMITH ROAD, LONDON,",
      "latitude": "51.49340",
      "longitude": "-.21849",
      "is_airport": false,
      "localtime": "2019-05-26T10:00:00"
    },
    "drop_off": {
      "location": "14-146 HAMERSMITH ROAD, LONDON,",
      "latitude": "51.49340",
      "longitude": "-.21849",
      "is_airport": false,
      "localtime": "2019-05-27T10:00:00"
    },
   "form_of_payment": {
     "options": [
      "credit_card"
    ],
    "required_fields": {
      "credit_card": {
        "name": true,
        "number": true,
        "type": true,
        "expiry_date": true,
        "code": true,
        "street": true,
        "city": true,
        "zip": true,
        "country": true
      }
    }
   },
  }
Parameter Type Description
id UUID ID for specific the car_rental
source Object Detailed Information about the supplier
source.supplier String Supplier Name
source.account String Account used for search
source.currency String Currency used for search
vendor object Car rental company related information
vendor.vendor_name String Name of the car rental company. See CarRental Vendor list for all vendor name
vendor.vendor_code String Unique car rental company code. See CarRental Vendor List for all vendor code 
vendor.image_url Object Logo of the car rental company
vendor.image_url.url String URL of the large logo
vendor.image_url.thumbnail_url String URL of the thumbnail logo
car Object Detailed Car information
car.acriss_code String ACRISS Code of the car
car.category String Category of the car. See Car Category for the list of all possible value
car.type String Type of the Car.See Car Type for the list
car.driven_wheel String Car driven wheel type. See Driven Wheel for the list
car.make String Car Brand name
car.name String Car model name
car.condition String Car condition. Check car condition type for the possible values car condition type
car.description String Car description
car.image_url Object Car Image URL
car.image_url.url String URL of the large car picture
car.image_url.thumbnail_url String URL of the thumbnail car picture
facilities.is_automatic Boolean Returns true or false if automatic or not
facilities.air_conditioned Boolean Returns true or false if air conditioned or not
facilities.air_bag Boolean Returns true or false if has airbag or not
facilities.fuel_type String Type of fuel used by car. See Car Fuel for all the fuel type
facilities.fuel_policy String This indicates whether you have to return the car with full or empty fuel tank. Type of fuel policy for the car. See Car Fuel Policy for all the fuel policies
facilities.doors String Number of doors in the car. For eg. 4/5. It means there can be four minimum doors and five maximum doors
facilities.seats String Total seat in the car
facilities.insurance Array Information of car insurance. See Car Liability and insurance to see all the possible insurances
facilities.liability Array Information of car liability.
facilities.liability.type String Type of the car liability. Car Liability and insurance contains all the possible liabilities
facilities.liability.modifier String Any number or value from Car Facility Modifiers that modifies liability.type
facilities.liability.amount String Pricing amount of the liability
facilities.liability.currency String The currency for the amount
facilities.mileage Array Information of car mileage
facilities.mileage.type String Car mileage type. See Car Mileage for details
facilities.mileage.modifier String Any number or value from Car Facility Modifiers list that modifies mileage.type
facilities.mileage.amount String The amount need to pay per kilometer or per mile if mileage type is not unlimited or free
facilities.mileage.currency String The currency for the amount
facilities.other_facilities Array Information of others facilities that come with the car booking
facilities.other_facilities.type String Type of the other facilities. See Car Other Facilities for the list
facilities.other_facilities.modifier String Any number or value from Car Facility Modifiers that modifies other_facilities.type
facilities.other_facilities.amount String Pricing amount need to pay for this facility
facilities.other_facilities.currency String The currency for the amount
facilities.conditions Array Information of the special conditions if applicable for this car service. See Car Conditions for the list
facilities.conditions.type String Type of the condition. See Car Conditions for the list
facilities.conditions.modifier String Any number or value from Car Facility Modifiers that modifies conditions.type
facilities.conditions.amount String Pricing amount for the condition
facilities.conditions.currency String The currency for the amount
pricing Object Detailed Pricing Information
pricing.car_rate Object Car Rate Information
pricing.taxes Object Tax Pricing Information
pricing.total_price Object Total Pricing Information
corporate_deal Boolean Indicate the rate is under corporate deal or not
pick_up Object Pick Up related information
pick_up.location String Pick Up Location
pick_up.latitude String Latitude of the pickup location in Decimal Degree(DD) format
pick_up.longitude String Longitude of the pickup location in Decimal Degree(DD) format
pick_up.is_airport Boolean Returns true or false if the pick-up location is airport or not
pick_up.localtime String Pick Up Time and Date
drop_off Object Drop off related information
drop_off.location String Drop off Location
drop_off.latitude String Latitude of the drop off location in Decimal Degree(DD) format
drop_off.longitude String Longitude of the drop off location in Decimal Degree(DD) format
drop_off.is_airport Boolean Returns true or false if the drop_off location is airport or not
drop_off.localtime String Drop off Time and Date
form_of_payment Object Form of payments details
form_of_payment.options Array Supported Form of Payment List. Welltravel Supported Payment options are cash, none, credit_card, iata, counter
form_of_payment.required_fields Object Required fields for the credit card payment
form_of_payment.required_fields.credit_card Object credit_card related information
form_of_payment.required_fields.credit_card.name Boolean Card holder’s name is required or not
form_of_payment.required_fields.credit_card.number Boolean Card number is required or not
form_of_payment.required_fields.credit_card.type Boolean Card type is required or not
form_of_payment.required_fields.credit_card.expiry_date Boolean Card expiry date is required or not
form_of_payment.required_fields.credit_card.code Boolean Code is required or not
form_of_payment.required_fields.credit_card.street Boolean Street is required or not
form_of_payment.required_fields.credit_card.city Boolean City is required or not
form_of_payment.required_fieldscredit_card.country Boolean Country is required or not

Car Rental Select Flow

After a choosing a car rental result, use its id to confirm if it’s still available. This action is OPTIONAL. You can ignore this API call from your Booking Flow if you want.

Select Request

GET /api/car_rentals/results/3537a351-076a-45b1-97d8-a7e354d58f8c HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

You may do this by sending a GET request to /api/car_rentals/results/:id.

Select Response

HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 8
X-Total-Pages: 1
X-Per-Page: 250
X-Page: 1

  {
  "id": "51993db5-bf13-47d5-800a-4fd951c6e010",
  "available": true,
  "price_changed": false,
  "vendor": {
    "name": "BIDVEST CAR RENTAL",
    "code": "BV",
    "image_url": {
       "url": "https://cdn2.rcstatic.com/images/suppliers/flat/bidvest_logo_400.jpg",
       "thumbnail_url": "https://cdn2.rcstatic.com/images/suppliers/flat/bidvest_logo_400.jpg"
    }
  },
  "car": {
    "acriss_code": "MDMR",
    "category": "mini",
    "type": "4-5_doors",
    "driven_wheel": "unspecified",
    "make": "fiat",
    "name": "500",
    "condition": "exact",
    "description": " User can cancel reservation without any fee if the pickup time is more than 3 days after the booking time.",
    "rating": 3,
    "image_url": {
       "url": "https://multimedia.amadeus.com/mdc/retrieveCarItem?ctg=VEHICLE\u0026prov=SX\u0026cnt=GB\u0026vehcat=CDMR\u0026item=0\u0026stamp=VEHICLE_0_0_1496238302633\u0026file=9.JPEG",
       "thumbnail_url": "https://multimedia.amadeus.com/mdc/retrieveCarItem?ctg=VEHICLE\u0026prov=SX\u0026cnt=GB\u0026vehcat=CDMR\u0026item=0\u0026stamp=VEHICLE_0_0_1496238302633\u0026file=0.JPEG"
    }
  },
  "pick_up": {
    "location": "CAPE TOWN INT APT, CAPE TOWN, ZA",
    "latitude": "-33.96667",
    "longitude": "18.60000",
    "is_airport": true,
    "localtime": "2022-06-20T11:08:00"
  },
  "drop_off": {
    "location": "CAPE TOWN INT APT, CAPE TOWN, ZA",
    "latitude": "-33.96667",
    "longitude": "18.60000",
    "is_airport": true,
    "localtime": "2022-06-21T12:08:00"
  },
  "rate_type": "Standard",
  "rate_code": "7LO6MEBXRWQGGNLTGQJU",
  "rate_type_description": null,
  "corporate_deal": false,
  "pricing": {
    "car_rate": {
      "recommended_selling_price": {
        "amount": "20.89",
        "currency": "EUR"
      },
      "purchase_price": {
        "amount": null,
        "currency": "EUR"
      },
      "source": {
        "amount": "337.0",
        "currency": "ZAR"
      }
    },
    "taxes": {
      "amount": "0.0",
      "currency": "EUR",
      "source": {
        "amount": "0.0",
        "currency": "ZAR"
      }
    },
    "total_price": {
      "recommended_selling_price": {
        "amount": "20.89",
        "currency": "EUR"
      },
      "purchase_price": {
        "amount": null,
        "currency": "EUR"
      },
      "source": {
        "amount": "337.0",
        "currency": "ZAR"
      }
    }
  },
  "mileage": [
    {
      "type": "free_kilometers",
      "amount": null,
      "currency": null,
      "modifier": "per_rental",
      "package_size": "200"
    },
    {
      "type": "per_kilometer",
      "amount": "0.18",
      "currency": "EUR",
      "modifier": "per_rental",
      "package_size": null
    }
  ],
  "insurance": [
    {
      "id": "89fc4e06-77ff-49ad-a5c1-9457f69c8492-general-coverage",
      "type": "general_coverage"
      "amount": "20.00",
      "currency": "CHF",
      "modifier": "per_rental"
    }
  ],
  "liability": [
    {
      "type": "theft_damage_liability",
      "amount": "9.93",
      "currency": "CHF",
      "modifier": "per_rental"
    },
  ],
  "services": [
    {
      "id": "89fc4e06-77ff-49ad-a5c1-9457f69c8492-additional-driver",
      "type": "additional_driver",
      "amount": "410.0",
      "currency": "ZAR",
      "modifier": "per_rental",
      "bookable": true
    },
  ],
  "facilities": {
    "is_automatic": false,
    "air_conditioned": true,
    "air_bag": false,
    "fuel_type": "unspecified",
    "fuel_policy": "full_full",
    "doors": "4-5",
    "seats": "4"
  },
  "conditions": [
    {
      "type": "one_way_charge",
      "amount": "27.41",
      "currency": "EUR",
      "modifier": null
     }
   ],
  "form_of_payment": {
    "options": [
      "cash",
      "none",
      "credit_card"
    ],
    "required_fields": {
      "credit_card": {
        "name": true,
        "number": true,
        "type": true,
        "expiry_date": true,
        "code": true,
        "street": false,
        "city": false,
        "zip": false,
        "country": false
      }
    }
  },
  "payment_charge": [
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "VISA",
      "card_type": "visa",
      "payment_type": "credit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "VISA CORPORATE",
      "card_type": "visa_corporate",
      "payment_type": "credit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "MASTER CARD",
      "card_type": "master_card",
      "payment_type": "credit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "MASTER CARD CORPORATE",
      "card_type": "master_card_corporate",
      "payment_type": "credit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "AMEX",
      "card_type": "amex",
      "payment_type": "credit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "AMEX CORPORATE",
      "card_type": "amex_corporate",
      "payment_type": "credit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "DINERS CLUB",
      "card_type": "diners_club",
      "payment_type": "credit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "DINERS CLUB CORPORATE",
      "card_type": "diners_club_corporate",
      "payment_type": "credit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "UATP",
      "card_type": "uatp",
      "payment_type": "credit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "DISCOVER",
      "card_type": "discover",
      "payment_type": "credit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "DISCOVER CORPORATE",
      "card_type": "discover_corporate",
      "payment_type": "credit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "JCB",
      "card_type": "jcb",
      "payment_type": "credit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "VISA",
      "card_type": "visa",
      "payment_type": "debit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "VISA CORPORATE",
      "card_type": "visa_corporate",
      "payment_type": "debit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "MASTER CARD",
      "card_type": "master_card",
      "payment_type": "debit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "MASTER CARD CORPORATE",
      "card_type": "master_card_corporate",
      "payment_type": "debit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "AMEX",
      "card_type": "amex",
      "payment_type": "debit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "AMEX CORPORATE",
      "card_type": "amex_corporate",
      "payment_type": "debit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "DINERS CLUB",
      "card_type": "diners_club",
      "payment_type": "debit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "DINERS CLUB CORPORATE",
      "card_type": "diners_club_corporate",
      "payment_type": "debit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "UATP",
      "card_type": "uatp",
      "payment_type": "debit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "DISCOVER",
      "card_type": "discover",
      "payment_type": "debit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "DISCOVER CORPORATE",
      "card_type": "discover_corporate",
      "payment_type": "debit"
    },
    {
      "amount": "0.0",
      "currency": "GBP",
      "card_name": "JCB",
      "card_type": "jcb",
      "payment_type": "debit"
    }
  ]
}
Parameter Type Description
id UUID ID for specific the car_rental
available Boolean Availability of the Car
price_changed String Return if the price changed after the select call
vendor object Car rental company related information
vendor.name String Name of the car rental company. See CarRental Vendor list for all vendor name
vendor.code String Unique car rental company code. See CarRental Vendor List for all vendor code 
vendor.image_url Object Logo of the car rental company
vendor.image_url.url String URL of the large logo
vendor.image_url.thumbnail_url String URL of the thumbnail logo
car Object Detailed Car information
car.acriss_code String ACRISS Code of the car
car.category String Category of the car. See Car Category for the list of all possible value
car.type String Type of the Car.See Car Type for the list
car.driven_wheel String Car driven wheel type. See Driven Wheel for the list
car.make String Car Brand name
car.name String Car model name
car.condition String Car condition. Check car condition type for the possible values car condition type
car.description String Car description
car.image_url Object Car Image URL
car.image_url.url String URL of the large car picture
car.image_url.thumbnail_url String URL of the thumbnail car picture
facilities.is_automatic Boolean Returns true or false if automatic or not
facilities.air_conditioned Boolean Returns true or false if air conditioned or not
facilities.air_bag Boolean Returns true or false if has airbag or not
facilities.fuel_type String Type of fuel used by car. See Car Fuel for all the fuel type
facilities.fuel_policy String This indicates whether you have to return the car with full or empty fuel tank. Type of fuel policy for the car. See Car Fuel Policy for all the fuel policies
facilities.doors String Number of doors in the car. For eg. 4/5. It means there can be four minimum doors and five maximum doors
facilities.seats String Total seat in the car
insurance Array Information of car insurance. See Car Liability and insurance to see all the possible insurances
liability Array Information of car liability.
liability.type String Type of the car liability. Car Liability and insurance contains all the possible liabilities
liability.modifier String Any number or value from Car Facility Modifiers that modifies liability.type
liability.amount String Pricing amount of the liability
liability.currency String The currency for the amount
mileage Array Information of car mileage
fmileage.type String Car mileage type. See Car Mileage for details
mileage.modifier String Any number or value from Car Facility Modifiers list that modifies mileage.type
mileage.amount String The amount need to pay per kilometer or per mile if mileage type is not unlimited or free
mileage.currency String The currency for the amount
facilities.other_facilities Array Information of others facilities that come with the car booking
facilities.other_facilities.type String Type of the other facilities. See Car Other Facilities for the list
facilities.other_facilities.modifier String Any number or value from Car Facility Modifiers that modifies other_facilities.type
facilities.other_facilities.amount String Pricing amount need to pay for this facility
facilities.other_facilities.currency String The currency for the amount
facilities.conditions Array Information of the special conditions if applicable for this car service. See Car Conditions for the list
facilities.conditions.type String Type of the condition. See Car Conditions for the list
facilities.conditions.modifier String Any number or value from Car Facility Modifiers that modifies conditions.type
facilities.conditions.amount String Pricing amount for the condition
facilities.conditions.currency String The currency for the amount
conditions Array Information of the special conditions if applicable for this car service. See Car Conditions for the list
insurance Array Information of car insurance. See Car Liability and insurance to see all the possible insurances
services Array Information of car services which are available for booking in reserve step
pricing Object Detailed Pricing Information
pricing.car_rate Object Car Rate Information
pricing.car_rate.recommended_selling_price Object Recommended Selling Price Related Information
pricing.car_rate.recommended_selling_price.amount String Rate we recommend to use as selling price
pricing.car_rate.recommended_selling_price.currency String Currency of Recommended Selling Price
pricing.car_rate.purchase_price Object Detailed information about the price you have to pay to book it
pricing.car_rate.purchase_price.amount String The price you will have to pay
pricing.car_rate.purchase_price.currency String Currency in which the pricing is being exposed
pricing.car_rate.source Object Detailed Information about Pricing in IPCC’s currency
pricing.car_rate.source.amount String The tax imposed on the Pricing in terms of default currency
pricing.car_rate.source.currency String Default currency in which the pricing is being exposed
pricing.taxes Object Tax Related Information
pricing.taxes.amount String The tax imposed on the Pricing
pricing.taxes.currency String The currency of the tax imposed on the Pricing
pricing.taxes.source Object Detailed Information about the tax imposed on the Pricing in IPCC’s currency
pricing.taxes.source.amount String The tax imposed on the Pricing in terms of default currency
pricing.taxes.source.currency String Default currency in which the pricing is being exposed
pricing.total_price Object Total Pricing Information
pricing.total_price.recommended_selling_price Object Recommended Selling Price Related Information
pricing.total_price.recommended_selling_price.amount String Rate we recommend to use as selling price
pricing.total_price.recommended_selling_price.currency String Currency of Recommended Selling Price
pricing.total_price.purchase_price Object Detailed information about the price you have to pay to book it
pricing.total_price.purchase_price.amount String The price you will have to pay
pricing.total_price.purchase_price.currency String Currency in which the pricing is being exposed
pricing.total_price.source Object Detailed Information about Pricing in IPCC’s currency
pricing.total_price.source.amount String The tax imposed on the Pricing in terms of default currency
pricing.total_price.source.currency String Default currency in which the pricing is being exposed
corporate_deal Boolean Indicate the rate is under corporate deal or not
pick_up Object Pick Up related information
pick_up.location String Pick Up Location
pick_up.latitude String Latitude of the pickup location in Decimal Degree(DD) format
pick_up.longitude String Longitude of the pickup location in Decimal Degree(DD) format
pick_up.is_airport Boolean Returns true or false if the pick-up location is airport or not
pick_up.localtime String Pick Up Time and Date
drop_off Object Drop off related information
drop_off.location String Drop off Location
drop_off.latitude String Latitude of the drop off location in Decimal Degree(DD) format
drop_off.longitude String Longitude of the drop off location in Decimal Degree(DD) format
drop_off.is_airport Boolean Returns true or false if the drop_off location is airport or not
drop_off.localtime String Drop off Time and Date
rate_type String Rate type of the car rental
rate_code String Rate code of the car rental
rate_type_description String Description about the rate type of the car rental
form_of_payment Object Form of payments details
form_of_payment.options Array Supported Form of Payment List. Welltravel Supported Payment options are cash, none, credit_card, iata, counter
form_of_payment.required_fields Object Required fields for the credit card payment
form_of_payment.required_fields.credit_card Object credit_card related information
form_of_payment.required_fields.credit_card.name Boolean Card holder’s name is required or not
form_of_payment.required_fields.credit_card.number Boolean Card number is required or not
form_of_payment.required_fields.credit_card.type Boolean Card type is required or not
form_of_payment.required_fields.credit_card.expiry_date Boolean Card expiry date is required or not
form_of_payment.required_fields.credit_card.code Boolean Code is required or not
form_of_payment.required_fields.credit_card.street Boolean Street is required or not
form_of_payment.required_fields.credit_card.city Boolean City is required or not
form_of_payment.required_fieldscredit_card.country Boolean Country is required or not
payment_charge Object Extra fees for credit card form of payment i.e OB fees details related information for booking
payment_charge.amount String Amount to be paid if the form of payment is credit card
payment_charge.currency String Currency code of the OB Fee
payment_charge.card_name String Name of the credit card
payment_charge.card_type String Credit card type
payment_charge.payment_type String Type of payment. Indicats whether it is credit card or debit card. Possible values: debit, credit

Car Rental Reserve Flow

If a car is available, you may book it by sending a POST request to /api/car_rentals/reservations by referencing the id.

Reserve Request

Send a POST request to /api/car_rentals/reservations.

POST /api/car_rentals/reservations HTTP/1.1
Content-Type: application/json
Authorization: Bearer fb95dcf702a314a608818f098366979ef74e0d55963b807e4fd759a1839e042d
Accept-Version: v1

{
  "travelers": [
    {
      "first_name": "Simon",
      "last_name": "Busby",
      "name_prefix": "mr",
      "email": "martha.merana@beans.com",
      "birthday": "1967-11-23",
      "addresses": [
        {
          "type": "destination",
          "name": "Fisher",
          "street": "Somwhere 1",
          "city": "Somecity",
          "zip": "1234",
          "country": "CH"
        }
      ]
    }
  ],
  "agency_phone_number": "+41 43 550 77 00",
  "result_id": "d51d7770-3046-414a-81e8-2a148414a6db",
  "form_of_payment": "cash",
  "card_details": {
    "name": "Davy Jones",
    "number": "5275009999993833",
    "type": "master_card",
    "expiry_date": "12/17",
    "code": "111",
    "cardholder_address": {
      "street": "Some Street",
      "city": "Some City",
      "zip": "1337",
      "country": "SE"
    }
  }
}
Request Parameters
Parameter RQ Type Description
result_id UUID Unique ID for a specific Car Rental search result
travelers Array An array of the travelers, must have to match the initial number of the search
travelers.first_name String First Name of the driver. Example: Johnny.
travelers.middle_name String Middle Name of the driver. Example: Depp.
travelers.last_name String Last Name of the driver. Example: Kobir.
travelers.name_prefix String Name prefix of the driver. Example mr. Possible values: mr, mrs, ms
travelers.email String Email of the driver
travelers.birthday String Date of birth of the driver. Format is ISO-8601 which is YY-mm-dd. Example: 1975-11-23. This date of birth must match with the driver_age(+/- 1 year) given in the search step.
travelers.phone_number String Phone number of the guest. Example: 111-11-111
travelers.addresses Array The addresses of the traveler.
travelers.addresses.type String Address type. Possible values: destination, residence, office
travelers.addresses.name String Address Name. Example: Johnson Residence.
travelers.addresses.street String Street Address. Example: 4676 Palmer Road
travelers.addresses.city String City of the Address.
travelers.addresses.state String State Province Code of the driver
travelers.addresses.zip String Zip Code or Postal Code
travelers.addresses.country String ISO 3166-1 alpha-2 Issuing Country Code. Example: GB.
agency_phone_number String Phone Number of the booking agency.Example: 111-11-111
remarks Array Remarks related to this bookings. Generally travel agencies use this field to write notes about a booking.
remarks.type String Remarks type. It is different for each supplier. Please refer to your supplier. Possible values: alpha, basic, historical, invoice, itinerary,vendor, confidential, hidden, ticket, air, car, hotel and free_flow. Default is general.
remarks.content String Content of this Remark.
additional_info Object Additional Information about this reservation
additional_info.comments String Comments about this booking
additional_info.pick_up_service String Any pick_up services if needed
additional_info.drop_off_service String Any pick_off services if needed
queue Integer Queue to place the created PNR (e.g. 80)
destination_account String Account to place the created PNR (e.g. A59P)

form_of_payment

String Form of Payment. Welltravel Supported Payment options are cash, none, credit_card, iata. Default is cash. Please note that some supplies might only support a certain payment method, supplying otherwise will give you a HTTP 422 unprocessable entity error.
card_details ✘/✔ Object Card details, required if form_of_payment is credit_card
card_details.name String Card Holder Name
card_details.number String Credit Card Number. Please enter the number as in the card. No space or special character is allowed.
card_details.type String Credit Card Type. Possible values: visa, master_card, amex.
card_details.expiry_date String Credit Card Expiry Date. Format is: MM/YY. example: 01/19 .
card_details.code String Credit Card Code/CVV/CVC
card_details.bank_name ✘/✔ String The name of the bank.
card_details.bank_country_code ✘/✔ String The country code of the country in which the bank is located. Usually it is a two or three letters code.
card_details.cardholder_address Object Card Holder Address Details
card_details.cardholder_address.address_name String Card Holder Address Name. Like: Family Doe
card_details.cardholder_address.street String Card Holder Street Name
card_details.cardholder_address.city String Card Holder City Code
card_details.cardholder_address.state String Card Holder State Name
card_details.cardholder_address.zip String Card Holder ZIP Code or Post Code
card_details.cardholder_address.country String ISO 3166-1 alpha-2 Issuing Country Code

Response

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "6640d2e4-4523-4629-ac9d-43aa7c8a55d3",
  "bookings": [
    {
      "id": "7R3ZBS",
      "supplier": "galileo",
      "account": "6KN8",
      "free_cancellation_period_ends": "2017-12-17T12:21:03.000Z"
    }
  ]
}
Attribute Type Description
id UUID The unique id of this Reservation
bookings Array Holds all the bookings related to this reservation
bookings.id String The ID of the booking. This ID is only unique in the scope of the same supplier.
bookings.supplier String Supplier where the booking has been created
bookings.account String The account which has been used to create the booking
bookings.free_cancellation_period_ends String End of the free cancellation period, in ISO-8601 format
Attributes

See Reservation.

Services

As services are booked asynchronous and may be confirmed by the airline, make sure to check the state of the booking by using Fetch Booking.

Reservation Management API

Using our ReservationManagement, you are able to modify and cancel an existing reservation. The reservation can either be made via our Search & Book API or a native client.

Reservation

The Reservation entity contains one or more bookings on one or more suppliers.

Attributes

GET /api/reservations?page=1&per_page=250 HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1
HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 20
X-Total-Pages: 1
X-Per-Page: 250
X-Page: 1

[
  {
    "id": "62965b29-14bd-4d59-965f-94af882c3459",
    "bookings": [
      {
        "id": "ABC123",
        "supplier": "galileo",
        "account": "ACT1",
        "free_cancellation_period_ends": "2017-02-26T15:03:26.000Z"
      },
      {
        "id": "12344512",
        "supplier": "expedia",
        "account": "ACT5",
        "free_cancellation_period_ends": "2017-02-23T15:33:28.389Z"
      }
    ]
  },
  {
    "id": "9e71365c-6f1f-4116-bb8a-6f15fcddf331",
    "bookings": [
      {
        "id": "DFA155",
        "supplier": "galileo",
        "account": "ACT1",
        "free_cancellation_period_ends": "2017-03-10T11:11:14.000Z"
      }
    ]
  }
]
Attribute Description
id The ID of this Reservation
bookings Holds all the bookings related to this reservation
bookings.id The ID of the booking. This ID is only unique in the scope of the same supplier.
bookings.supplier Supplier where the booking has been created
bookings.account The account which has been used to create the booking
bookings.free_cancellation_period_ends End of the free cancellation period, in ISO-8601 format

List Reservations

GET /api/reservations?page=1&per_page=250

GET /api/reservations?per_page=250 HTTP/1.1
Authorization: Bearer f26ef60fa588389d07d344ea4b0d4527da1389405250bb765e986efc89854128
Accept-Version: v1

This API endpoint allows you to list all your welltravel reservations and supports Pagination.

Fetch Reservation

GET /api/reservations/:id

GET /api/reservations/8dcbeb45-ef72-42f9-9ad5-e65148dc682c HTTP/1.1
Authorization: Bearer 2f85505337c5003b7c69caeaa76c53edca5a592d248d022a776ad042865469b3
Accept-Version: v1

This API endpoint allows you to fetch one specific Reservation.

Fetch Reservation id

GET api/reservation?booking_id=booking_id

GET /api/reservation?booking_id=f7c77ae0-6436-4ce4-89e6-245c32a41072 HTTP/1.1
Authorization: Bearer c2923889aeca3a5520ef8719e23aec3b69be94b8791ce7c103b20a2f10075043
Accept-Version: v1
HTTP/1.1 200 OK
Content-Type: application/json
{
  "reservation_id": "95704139-cc91-4f01-bcd1-ab553e266613",
  "booking_id": "f7c77ae0-6436-4ce4-89e6-245c32a41072"
}

After create an Order user can add new Booking into that order. To add a new booking in an existing PNR, It is required to know the reservation_id of corresponding booking. This API endpoint allows you to fetch Reservation id by specific Booking Id.

Queue

With the Queue API endpoints it’s possible to manage your queues on a supplier. It allows you to list a queue and remove/add bookings to a queue.

Attributes

GET /api/galileo/ACT1/queues/70/bookings HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1
HTTP/1.1 200 OK
Content-Type: application/json

[
  { "id": "ABC123" },
  { "id": "DFA155" }
]
Attribute Description
id The ID of a Booking

List Bookings

GET /api/:supplier/:account/queues/:id/bookings

GET /api/amadeus/sadasdd/queues/70/bookings?per_page=250 HTTP/1.1
Authorization: Bearer a0e757535d5503c1a71be33b5759918b417ed877e401734c68e0910dce55b4ed
Accept-Version: v1

This API endpoint allows you to list all the bookings on a queue. Eventhough it returns a collection of entities, it does not support pagination.

Place Booking on Queue

POST /api/:supplier/:account/queues/:queue_id/bookings/:id

POST /api/amadeus/asdasd/queues/80/bookings/IUUUKH HTTP/1.1
Authorization: Bearer bf225e110b7be64358cb4a98a11d33c14de47e157f9bacf6eeeb1014d971c7df
Accept-Version: v1

This API endpoint allows you to place a booking on a queue.

Remove Booking from Queue

DELETE /api/:supplier/:account/queues/:queue_id/bookings/:id

DELETE /api/amadeus/asadsd/queues/80/bookings/MBBMN HTTP/1.1
Authorization: Bearer d5cc5be4b59c971f6460cd36bb88ce106da4c855a9e9d5bc39c369751b561740
Accept-Version: v1

This API endpoint allows you to remove a booking from a queue. It doesn’t cancel the booking.

Bookings

The Booking API endpoints allow you to fetch or modify a booking.

Fetch Booking

GET /api/:supplier/:account/bookings/:id

Returns the details of a booking.

GET /api/galileo/ACT1/bookings/ABC123 HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:   v1 
Response Attributes
Query Parameters
Parameter Type Required Description
id String ID of the booking
Response
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "ABC123",
  "supplier": "galileo",
  "account": "ACT1",
  "creator": "ACT1",
  "created_at": "2017-03-01T11:31:31.176+00:00",
  "travelers": [
    {
      "id": "K1JBNmNCRGhUNjZJQnFQN2xxTTgzQT09",
      "type": "adult",
      "name_prefix":"mr",
      "first_name": "Peter",
      "middle_name": null,
      "last_name": "Smith",
      "seats" : [
        {
          "segment_id": "941d987f-186d-492e-8be4-0189a89916b0",
          "row": 26,
          "column": "J",
          "amount": "51.0",
          "currency": "EUR"
        }
      ],
      "seats" : [
        {
          "segment_id": "941d987f-186d-492e-8be4-0189a89916b0",
          "row": 26,
          "column": "J",
          "amount": "51.0",
          "currency": "EUR"
        }
      ],
      "services":
        {
          "id": "service_1_id",
          "type": "ABAG",
          "text": "Paid Associated Baggage",
          "amount": "150.0",
          "currency": "EUR",
          "segment_ids": ["9676aaef-e76e-4110-b339-30c9e6d835ff"],
          "hotel_ids": ["9535322c-f543-4179-87eb-d9fd740c98ce"],
          "car_ids": ["b03a0940-b650-4a13-a5df-57ec22e03119"],
          "ssr_code": "ABAG",
          "description": "UPTO50LB 23KG AND62LI 158LCM",
          "description_human": "Additional bag up to 23 kilogramm",
          "service_type": "Baggage",
          "category": "bag",
          "image_urls":  {
            "small": "/media/W1siZiIsIjIwMTcvMDEvMTYvOThxM3N2ejZjNV9wdWcuanBnIl1d?sha=87535f0efb7bc55e",
            "medium": "/media/W1siZiIsIjIwMTcvMDEvMTYvMzNrNjg3MnMzNV9wdWcuanBnIl1d?sha=86400b5e1115a328",
            "large": "/media/W1siZiIsIjIwMTcvMDEvMTYvMThrcXNiYzg0Zl9wdWcuanBnIl1d?sha=3d4e705297aba62a",
          },
          "refundable_until": null,
         }
      "frequent_flyer_number": [
         {
           "id": "19fbc878-63ce-488d-8988-66145a0eed81",
           "carrier": "LX",
           "number": "88888888888"
         }
      ],
      "phone_numbers": [
        { "type": null, "number": "0041435508800" }
      ],
      "email_addresses": [],
      "postal_addresses": []
    }
  ],
  "flight_bookings": [
    {
      "id": "TENRNFhE",
      "ticket_selling_carrier_code": "BA",
      "apis_data_required": "none",
      "flight_pricing": {
        "flight_price": {
          "recommended_selling_price": { "amount": "52.0", "currency": "EUR" },
          "purchase_price": { "amount": null, "currency": "EUR" },
          "source": { "amount": "55.0", "currency": "CHF" }
        },
        "tax": {
          "amount": "32.79",
          "currency": "EUR",
          "source": { "amount": null, "currency": null }
        },
        "total_price": {
          "recommended_selling_price": { "amount": "84.79", "currency": "EUR" },
          "purchase_price": { "amount": null, "currency": "EUR" },
          "source": { "amount": "90.54", "currency": "CHF" }
        }
      },
      "refundable": null,
      "penalties": {
        "change": { "amount": null, "currency": null },
        "cancel": { "amount": null, "currency": null }
      },
      "segments": [
        {
          "id": "9e1df0e1-44cd-4e7b-8e01-19659ce0be46",
          "status": "confirmed",
          "technical_stops": {
             "count": 1,
             "stop_details": [
                {
                   "airport_code": "BKK",
                   "arrival_localtime": "2017-03-17T06:50:00",
                   "departure_localtime": "2017-03-17T15:50:00",
                   "duration_in_minutes": 540
                },
             ]
          },
          "origin_code": "ZRH",
          "origin_terminal": null,
          "origin_timezone": "Europe/Zurich",
          "destination_code": "SYD",
          "destination_terminal": null,
          "destination_timezone": "Australia/Sydney",
          "departure_localtime": "2017-03-16T13:55:00",
          "arrival_localtime": "2017-03-18T07:30:00",
          "operating_carrier_code": "TG",
          "operating_flight_number": "477",
          "aircraft_operated_by": "TG",
          "marketing_carrier_code": "TG",
          "marketing_flight_number": "477",
          "aircraft_type": "77W",
          "booking_class": "V",
          "flight_duration_in_minutes": 1355,
          "catering": [],
          "technical_stop_count": 1,
          "air_miles": "478",
          "cabin_class": "economy",
          "wifi_packages": [],
          "on_time_in_percentage": null,
          "baggage_pieces_included": { "count": 1, "kg_per_piece": "23" },
          "fare": { "brand": null, "basis_code": "OV2CO", "type": "published" },
          "carrier": { "reservation_id": "POPOM9", "eticket_id": null }
        }
      ]
    },
  ],
  "train_bookings": [],
  "hotel_bookings": [
    {
     "id": "8dc144ce-74ca-4526-8eb9-4569457de0ec",
      "status": "pending",
      "accomodation_id": null,
      "pricing": {
        "room_rate": {
          "total": {
            "recommended_selling_price": { "amount": "106.0",  "currency": "USD" },
            "purchase_price": { "amount": null, "currency": "USD" },
            "source": { "amount": "106.0", "currency": null }
          },
          "per_night": [
            {
              "date": "2018-10-10",
              "recommended_selling_price": { "amount": "106.0", "currency": "USD" },
              "purchase_price": { "amount": null,  "currency": "USD" },
              "source": {  "amount": "106.0", "currency": "USD" }
            }
          ]
        },
        "taxes": {
          "amount": null,
          "currency": "USD",
          "source": { "amount": null, "currency": null },
          "details": []
        },
        "total_price": {
          "recommended_selling_price": { "amount": "106.0",  "currency": "USD" },
          "purchase_price": { "amount": null, "currency": "USD" },
          "source": { "amount": "106.0", "currency": null }
        }
      },
      "name": "La Quinta Inn and Suites LAX",
      "code": "92447",
      "address": {
        "street": "5249 West Century Blvd.",
        "city": "Los Angeles",
        "state": null,
        "zip": "USA",
        "country": "US"
      },
      "longitude": "-118.37261",
      "latitude": "33.9456",
      "stars": null,
      "rating": "3",
      "rating_source": "galileo",
      "description": "\u003cp\u003eOverview\u003cbr\u003eConveniently located less than a mile from one of the world\u0026#39;s busiest airports and within five miles of Manhattan Beach, the ten-story La Quinta Inn \u0026amp; Suites LAX is a welcoming oasis for travel weary guests. The spacious guest rooms and suites feature convenient amenities like free wireless high-speed Internet access and premium cable TV channels. The hotel also features an outdoor swimming pool as well as an on-site restaurant and cocktail lounge.\u003cbr\u003e\u003cbr\u003eLocation\u003cbr\u003eThe hotel is conveniently located less than a mile from LAX Airport and within five miles of Manhattan Beach. Hollywood, Beverly Hills, and downtown Los Angeles are also easily accessible via the 405. Universal Studios is less than 14 miles away, while Disneyland is a short 27-mile drive from the hotel. \u003cbr\u003e\u003cbr\u003eRooms\u003cbr\u003eThe spacious guest rooms and suites feature convenient amenities pillow-top mattresses, like free wireless high-speed Internet access, a coffee maker, free local calls, voicemail, and premium cable TV channels. \u003cbr\u003e\u003cbr\u003eFeatures\u003cbr\u003eThis full-service hotel features an outdoor pool with sundeck, fitness center, and meeting/banquet facilities for up to 300 guests. Wireless high-speed Internet access is available throughout the hotel as well. \u003cbr\u003e\u003cbr\u003eFood \u0026amp; Drink\u003cbr\u003eThe onsite Restaurant serves American cuisine.\u003cbr\u003e\u003cbr\u003eTourist information\u003cbr\u003e3.4 km ti Los Angeles International Airport LAX\u003cbr\u003e22.4 km to Universal Studios\u003cbr\u003e43.2 km to Disneyland\u003c/p\u003e\u003cbr\u003e",
      "hotel_facilities": {
        "meals_included": "none",
        "airport_shuttle": {
          "pick_up": null,
          "drop_off": null
        },
        "wifi": null,
        "others": [
          "bar",
          "wired_internet",
          "restaurant",
          "gym_fitness_centre",
          "laundry_facilities",
          "indoor_pool",
          "telephone",
          "television",
          "car_parking",
          "iron_facilities",
          "electric_kettle",
          "meeting_room_facilities",
          "travel_agency_facilities"
        ],
        "conditions": []
       },
       "picture_url": "http://ivectortestadmin.jactravel.com/Content/DataObjects/ThirdPartyProperty/Image/ext398/image_397191_v1.jpg",
      "room_types": [
        {
          "no_of_rooms": 1,
          "type": "King Double",
          "description": null
        }
      ],
      "check_in": "2018-10-10",
      "check_out": "2018-10-11",
      "nights": 1
    },
  ],
  "car_bookings": [
    {
      "id": "51642f29-69ee-4dcb-8654-0412b62fa9af",
      "status": "waitlisted",
      "pricing": {
        "rate": {
          "per_day": {
            "recommended_selling_price": {
              "amount": null,
              "currency": "USD"
            },
            "purchase_price": {
              "amount": null,
              "currency": "USD"
            },
            "source": {
              "amount": null,
              "currency": "USD"
            }
          },
          "total": {
            "recommended_selling_price": {
              "amount": "28.92",
              "currency": "USD"
            },
            "purchase_price": {
              "amount": null,
              "currency": "USD"
            },
            "source": {
              "amount": null,
              "currency": null
            }
          }
        },
        "tax": {
          "amount": null,
          "currency": "USD",
          "source": {
            "amount": null,
            "currency": "USD"
          },
          "details": []
        },
        "total_price": {
          "recommended_selling_price": {
            "amount": "28.92",
            "currency": "USD"
          },
          "purchase_price": {
            "amount": null,
            "currency": "USD"
          },
          "source": {
            "amount": null,
            "currency": null
          }
        }
      },
      "refundable": null,
      "company_code": "ZI",
      "car_code": "Mini",
      "pick_up": {
        "location": "10 12 SEMLEY PLACE, LONDON VICTORIA,",
        "latitude": "51.49198",
        "longitude": "-.14977",
        "is_airport": false,
        "localtime": "2019-06-16T15:00:00"
      },
      "drop_off": {
        "location": "10 12 SEMLEY PLACE, LONDON VICTORIA,",
        "latitude": "51.49198",
        "longitude": "-.14977",
        "is_airport": false,
        "localtime": "2019-06-18T15:00:00"
      },
      "days": 2,
      "vendor": {
      "vendor_name": "EUROPCAR",
      "vendor_name": "EP",
      "image_url": {
        "url": "vendor full url from meta",
        "thumbnail_url": "vendor thumbnail url from meta"
            },
          },
  ],
  "comments": [],
  "post_booking_services": {
    "cancel_booking": true,
    "seat": false,
    "queue": {
      "place": true,
      "remove": true
    },
    "add_remarks": {
      "general": false,
      "accounting": true
    },
    "add_services": {
      "associated": false,
      "standalone": false
    },
    "update_travelers": {
      "first_name": false,
      "last_name": false,
      "phone_number": false,
      "email_address": false,
      "postal_address": false
    },
    "ticket_issuance": {
      "required": false,
      "issued_at": "2020-01-20T12:17:00+00:00",
      "until": null
    },
    "emd": {
      "supported": false,
      "required": false,
      "available": false,
      "possible_until": null,
      "style": "unavailable"
    },
    "refund": {
      "supported": true,
      "available": true,
      "possible_until": "2020-03-16T19:20:00.000+00:00",
      "style": "with_quote"
    },
    "exchange": {
      "supported": false,
      "available": false,
      "possible_until": null,
      "style": "unavailable"
    },
    "ticket_void": {
      "supported": true,
      "available": true,
      "possible_until": "2020-01-20T23:59:00+00:00"
    },
    "form_of_payment": {
      "add": [
        {
         "booking_item_id": "496887e8-b240-4725-b9a0-2fdc54a9c378",
         "booking_item_type": "flight",
         "supported": true,
         "available": true,
         "required": true,
         "until": "2022-12-13T23:59:00+00:00",
        },
        {
         "booking_item_id": "536967d0-f7fe-418c-a555-3d3b6f2a1d45",
         "booking_item_type": "car",
         "supported": true,
         "available": true,
         "required": true,
         "until": "2022-12-13T23:59:00+00:00",
        },
        {
         "booking_item_id": "bd9b3a53-b81f-4615-b5b0-a092eaa8bf40",
         "booking_item_type": "hotel",
         "supported": true,
         "available": true,
         "required": true,
         "until": "2022-12-13T23:59:00+00:00",
        }
      ],
       "update":  [
        {
         "fop_id": "deaf3fca-71e7-4d48-91fb-c0b72a2b83a6",
         "supported": true,
         "available": true,
        },
        {
         "fop_id": "43548465-edb3-4941-b8f2-c5fef23a64db",
         "supported": true,
         "available": true,
        },
        {
         "fop_id": "2ad3729e-d121-44cf-93df-8d0271631878",
         "supported": true,
         "available": true,
        },
      ],
       "delete":  [
        {
         "fop_id": "deaf3fca-71e7-4d48-91fb-c0b72a2b83a6",
         "supported": true,
         "available": true,
        },
        {
         "fop_id": "43548465-edb3-4941-b8f2-c5fef23a64db",
         "supported": true,
         "available": true,
        },
        {
         "fop_id": "2ad3729e-d121-44cf-93df-8d0271631878",
         "supported": true,
         "available": true,
        },
      ]
    }
  }
}
Attribute Description
id The ID of a Booking
booking_id Unique ID for the booking
version Version of the booking
supplier Supplier name
account Account used for booking
creator Username used by the agency
created_at Timestamp when booking was created
travelers Detailed information about the travelers
travelers.id Unique ID of a traveler
travelers.type The type of this traveler, see Traveler Type for more details
travelers.name_prefix Name prefix of the traveler. Example Mr
travelers.first_name First Name of the traveler. Example: John
travelers.middle_name Middle Name of the driver. Example: Ahmed
travelers.last_name Last Name of the driver. Example: Kabir
travelers.ticket_number Travelers ticket number
travelers.seats Seat Reservation Information about the Traveler
travelers.seats.segment_id Segment Identifier of the Reserved Seat
travelers.seats.row Row Number of the Reserved Seat
travelers.seats.column Column Number of the Reserved Seat
travelers.seats.amount Price of the seat. For free seat, it will be 0.0. For no seat price provided by the supplier, it will be nil.
travelers.seats.currency Currency of the Price of the seat
travelers.tickets Ticket Information about the Traveler
travelers.tickets.segment_id Segment Identifier of the Issued Ticket Eg. d2205966-f506-4fe1-872e-3bdb1207eb6e
travelers.tickets.number Ticket Number of the Issued Ticket. Eg. 082-6384180863
travelers.services Service Information about the Traveler
travelers.services.id Service Identifier
travelers.services.type Type of the service
travelers.services.text Description of the service from the supplier
travelers.services.amount Price of the service
travelers.services.currency Currency of the Price of the services
travelers.services.segment_ids An Array containing all the segments identifiers related to the service
travelers.services.hotel_ids Hotel Reservation Information of the Traveler. It contains the hotel segments identifiers
travelers.services.car_ids Vehicle Reservation Information of the Traveler. It contains the vehicle segments identifiers
travelers.services.ssr_code Special Service Request (SSR) code of the service.A Special Service Request (SSR) is a message sent directly to suppliers to communicate traveler preferences, special services needed by a traveler, or of a procedural requirement necessary of the carrier. SSRs include information such as meal preference or special assistance required the traveler. In addition, the SSR can send an alert message back to the agency or travel provider. SSRs can originate with the travel provider asking for service from the carrier or from the carrier asking for information (like a ticket number) from the travel provider. Each SSR uses a four-character IATA code that specifies the type of service requested. These codes and their recommended use are pre-defined by IATA, however, not all suppliers or providers support the use of all SSR codes.
travelers.services.description Description of the service as given by the supplier
travelers.services.description_human Human readable description of the service
travelers.services.service_type Type of the service. For example, Pets, Baggage etc.
travelers.services.category Category of the service
travelers.services.image_urls Holds the URLs to different sizes of the main image. See Images.
travelers.services.refundable_until The date up to which the service can be cancelled free of cost
travelers.frequent_flyer_number Frequent flyer number of traveler
travelers.frequent_flyer_number.id Unique ID for Frequent Flyer Number of traveler
travelers.frequent_flyer_number.carrier Carrier Code for Frequent Flyer Number
travelers.frequent_flyer_number.number Frequent Flyer Number which is a loyalty program offered by an airline
travelers.phone_numbers Traveler’s phone number details
travelers.phone_numbers.id Unique ID of traveler’s phone number
travelers.phone_numbers.type Type of the phone number
travelers.phone_numbers.number Traveler’s phone number
travelers.email_addresses Traveler’s email address
travelers.email_addresses.id Unique ID of traveler’s phone number
travelers.email_addresses.type Type of the phone number
travelers.email_addresses.address Traveler’s phone number
travelers.postal_addresses Details about traveler’s postal code
travelers.postal_addresses.id Unique ID of traveler’s postal code
travelers.postal_addresses.type Travelers postal code types
travelers.postal_addresses.lines Travelers postal code lines
flight_bookings Detailed information about the flight booking
flight_bookings.id Unique ID for flight booking
flight_bookings.ticket_selling_carrier_code Ticket selling carrier code for the booking flight
flight_bookings.apis_data_required Exposes if advanced passer information has to be required, see APIS Data for mor details
flight_bookings.flight_pricing All the information about the cost of the flight
flight_bookings.flight_pricing.flight_price Information related to the price of the the flight
flight_bookings.flight_pricing.flight_price.recommended_selling_price Information about the price of the journey we recommend to use as selling price
flight_bookings.flight_pricing.flight_price.recommended_selling_price.amount The price of the journey we recommend to use as selling price without tax
flight_bookings.flight_pricing.flight_price.recommended_selling_price.currency The currency in which the price of the journey we recommend to use as selling price
flight_bookings.flight_pricing.flight_price.purchase_price Detailed information about the price of the journey you will have to pay
flight_bookings.flight_pricing.flight_price.purchase_price.amount The price of the journey you will have to pay with tax
flight_bookings.flight_pricing.flight_price.purchase_price.currency The currency in which the price of the journey you will have to pay
flight_bookings.flight_pricing.flight_price.source The price of the journey you will have to pay in the IPCC’s default currency
flight_bookings.flight_pricing.flight_price.source.amount The price of the journey you will have to pay in the IPCC’s default currency
flight_bookings.flight_pricing.flight_price.source.currency The currency in which the price of the journey you will have to pay
flight_bookings.flight_pricing.tax Tax Related Information
flight_bookings.flight_pricing.tax.amount The amount of tax you have to pay
flight_bookings.flight_pricing.tax.currency The currency in which the tax is being exposed
flight_bookings.flight_pricing.tax.source Tax Related Information in the IPCC’s default currency
flight_bookings.flight_pricing.tax.source.amount The amount of tax you have to pay in the IPCC’s default currency
flight_bookings.flight_pricing.tax.source.currency The currency in which the tax is being exposed
flight_bookings.flight_pricing.details An Array containing the tax break down of total tax amount
flight_bookings.flight_pricing.details.code Tax Code representing the tax category.It is unique two-lettered code in all caps.
flight_bookings.flight_pricing.details.amount The tax amount for the tax category
flight_bookings.flight_pricing.details.currency The currency of the tax amount
flight_bookings.flight_pricing.details.description Human Readable Description of the tax code representing the tax category as given by the supplier
flight_bookings.flight_pricing.total_price.recommended_selling_price The total price of the flight we recommend you to use as selling price without tax i.e gross price of the flight
flight_bookings.flight_pricing.total_price.recommended_selling_price.amount The price of the journey we recommend to use as selling price without tax
flight_bookings.flight_pricing.total_price.recommended_selling_price.currency The currency in which the price of the journey we recommend to use as selling price
flight_bookings.flight_pricing.total_price.purchase_price The total net price of the flight you will have to pay
flight_bookings.flight_pricing.total_price.purchase_price.amount The price of the journey you will have to pay with tax
flight_bookings.flight_pricing.total_price.purchase_price.currency The currency in which the price of the journey you will have to pay
flight_bookings.refundable Refundable is possible or not. If value is true then possible and if false refundable is not possible.
flight_bookings.segments Detailed information about flight segment
flight_bookings.segments.status Booking Status. Possible values are: confirmed, unconfirmed, pending, closed, not_processed, new, denied, canceled, no_need_status, duplicate, waitlisted, unknown and null
flight_bookings.segments.catering The information about the catering services on this flight segment, see Catering for more details
flight_bookings.penalties Penalty related information of the flight
flight_bookings.segments.cabin_class The cabin class of this trip, see Cabin Class for more details
flight_bookings.segments.fare.type The fare type, see Fare Type for more details
train_bookings Detailed information about the train booking
hotel_bookings.id Unique ID for hotel bookings
hotel_bookings.status Booking Status. Possible values are: confirmed, closed, unconfirmed, pending, not_processed, new, denied, canceled, no_need_status, duplicate, waitlisted, unknown and null
hotel_bookings.accomodation_id Accommodation ID fo the hotel
hotel_bookings.pricing Detailed information of hotel booking pricing
hotel_bookings.room_rate Room Rate Pricing Information
hotel_bookings.room_rate.total Rate for Room for all nights
hotel_bookings.room_rate.per_night Rate for Room as per night basis
hotel_bookings.taxes Tax Related Information
hotel_bookings.total_price.recommended_selling_price Total Recommended Selling Price
hotel_bookings.total_price.purchase_price Total Purchase Price
hotel_bookings.total_price.source Total Source Price
hotel_bookings.name Name of the hotel
hotel_bookings.code The unique code to identify the hotel i.e Hotel Code
hotel_bookings.address The address of the hotel
hotel_bookings.address.street The name of the street of the hotel location
hotel_bookings.address.city The name of the city of the hotel location
hotel_bookings.address.state State name of the hotel
hotel_bookings.address.zip Zip code of the hotel
hotel_bookings.address.country Country code of the hotel
hotel_bookings.longitude Longitude of the hotel
hotel_bookings.latitude Latitude of the hotel
hotel_bookings.stars Star rating system is a system aims to rate hotels based on the quality and amount of amenities it provides its customers.
hotel_bookings.rating Rating of the hotel
hotel_bookings.rating_source Rating source
hotel_bookings.description Description of the hotel property
hotel_bookings.hotel_facilities Detailed facilities provided by the hotel
hotel_bookings.hotel_facilities.meals_included The list of meals that are complimentary with the hotel booking. See Board Type for details for details
hotel_bookings.hotel_facilities.airport_shuttle Detailed information about airport shuttle facility
hotel_bookings.hotel_facilities.airport_shuttle.pick_up Airport pickup information. See Hotel Facility Availabilities for the details
hotel_bookings.hotel_facilities.airport_shuttle.drop_off Airport drop-off information. See Hotel Facility Availabilities for the details
hotel_bookings.hotel_facilities.wifi Wifi related information. See Hotel Facility Availabilities for the details
hotel_bookings.hotel_facilities.others Others facilities provided by this hotel. See Hotel Facilities for details
hotel_bookings.hotel_facilities.condition Conditions for this hotel. See Hotel Conditions for details
hotel_bookings.picture_urls Picture URLs of the Specific Hotel
hotel_bookings.room_types Detailed information about the particular type of room
hotel_bookings.room_types.no_of_rooms Number of rooms of the same room type
hotel_bookings.room_types.description Description of a particular room type
hotel_bookings.check_in Check in time as per hotel policy. Value could be anything from 00:00 to 23:59 or full_day_check_in
hotel_bookings.check_out Check out time as per hotel policy. Value could be anything from 00:00 to 23:59
hotel_bookings.nights Total number of nights to stay in the hotel
car_bookings Details about the car booking
car_bookings.id Unique ID for car bookings
car_bookings.status Booking Status. Possible values are: confirmed, closed, unconfirmed, pending, not_processed, new, denied, canceled, no_need_status, duplicate, waitlisted, unknown and null
car_bookings.vendor.image_url Image of the specific car
car_bookings.pricing Detailed information of hotel booking pricing
car_bookings.vendor Detailed information of car booking vendor
car_bookings.vendor.vendor_name Name of the vendor. Example EUROPCAR
car_bookings.vendor.vendor_code Code of the corresponding vendor. Example EP
car_bookings.rate Car Rental Rate Pricing Information
car_bookings.rate.per_day Car Rental Rate Pricing Per Day Details
car_bookings.rate.per_day.recommended_selling_pric Information about the cost of car rental we recommend to use as selling price per day
car_bookings.rate.per_day.recommended_selling_price.amount Recommended Car Rental Cost Per Day
car_bookings.rate.per_day.recommended_selling_price.currency Currency of the recommended car rental cost per day
car_bookings.rate.per_day.purchase_price Detailed information about the car rental cost you will have to pay per day
car_bookings.rate.per_day.purchase_price.amount The car rental price with tax per day
car_bookings.rate.per_day.purchase_price.currency The currency of the car rental price with tax per day
car_bookings.rate.per_day.source Detailed information about the car rental cost you will have to pay per day in the IPCC’s default currency
car_bookings.rate.per_day.source.amount The car rental price per day in the IPCC’s default currency
car_bookings.rate.per_day.source.currency The currency of the car rental price per day in the IPCC’s default currency
car_bookings.rate.total Total Car Rental Rate Pricing Details
car_bookings.rate.total.recommended_selling_price Information about the total cost of car rental we recommend to use as selling price
car_bookings.rate.total.recommended_selling_price.amount Recommended Total Car Rental Cost
car_bookings.rate.total.recommended_selling_price.currency Currency of the total recommended car rental cost
car_bookings.rate.total.purchase_price Detailed information about the total car rental cost you will have to pay
car_bookings.rate.total.purchase_price.amount The total car rental price with tax
car_bookings.rate.total.purchase_price.currency The currency of the car rental price with tax per day
car_bookings.rate.total.source Detailed information about the total car rental cost you will have to pay in the IPCC’s default currency
car_bookings.rate.total.source.amount The total car rental price in the IPCC’s default currency
car_bookings.rate.total.source.currency The IPCC’s default currency
car_bookings.tax Tax Related Information
car_bookings.tax.amount Tax amount
car_bookings.tax.currency Currency of the Tax amount
car_bookings.tax.source Tax Related Information in the IPCC’s default currency
car_bookings.tax.source.amount Tax amount in the IPCC’s default currency
car_bookings.tax.source.currency The IPCC’s default currency
car_bookings.total_price.recommended_selling_price Total Recommended Selling Price
car_bookings.total_price.recommended_selling_price.amount Total amount we recommended as selling price
car_bookings.total_price.recommended_selling_price.currency Currency of the Total Recommended Selling Price
car_bookings.total_price.purchase_price Details about total Price of car rental you actually have to pay
car_bookings.total_price.purchase_price.amount Total Price of car rental you actually have to pay
car_bookings.total_price.purchase_price.currency Currency of the Total Purchase Price
car_bookings.total_price.source Information about total price in the IPCC’s default currency
car_bookings.total_price.source.amount Total Price in the IPCC’s default currency
car_bookings.total_price.source.currency IPCC’s default currency
car_bookings.refundable Indicator of whether the car booking is refundable or not. If true, it is refundable otherwise it is non-refundable. If it is null, then there is no information about refund. See Possible Values for more details.
car_bookings.company_code The unique code to identify the car company i.e Company Code
car_bookings.car_code The unique code to identify the car i.e Car Code
car_bookings.pick_up Pick Up related information
car_bookings.pick_up.location Pick Up Location
car_bookings.pick_up.latitude Latitude of the pickup location in Decimal Degree(DD) format
car_bookings.pick_up.longitude Longitude of the pickup location in Decimal Degree(DD) format
car_bookings.pick_up.is_airport Returns true or false if the pick-up location is airport or not. See Possible Values for more details.
car_bookings.pick_up.localtime Pick Up Time and Date
car_bookings.drop_off Drop off related information
car_bookings.drop_off.location Drop off Location
car_bookings.drop_off.latitude Latitude of the drop-off location in Decimal Degree(DD) format
car_bookings.drop_off.longitude Longitude of the drop-off location in Decimal Degree(DD) format
car_bookings.drop_off.is_airport Returns true or false if the drop-off location is airport or not. See Possible Values for more details.
car_bookings.drop_off.localtime Drop off Time and Date
car_bookings.days The number of days for which the car is being rented
post_booking_services Details about the post booking services supported by Welltravel.
post_booking_services.cancel_booking Specifies whether the booking can be cancelled or not by Welltravel. See Possible Values for more details.
post_booking_services.add_seat Specifies whether seat can be added to a PNR in the post booking is supported by Welltravel for the PNR. See Possible Values for more details.
post_booking_services.queue Details about whether placing or removing a PNR into/from a queue in the post booking is supported by Welltravel or not for the PNR.
post_booking_services.queue.place Specifies whether placing a PNR into a queue in the post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.queue.remove Specifies whether removing a PNR from a queue in the post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.add_remarks Details about whether remarks can be added to a PNR in post booking is supported by Welltravel or not for the PNR.
post_booking_services.add_remarks.general Specifies about whether general remark can be added to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.add_remarks.accounting Specifies about whether accounting remarks can be added to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.add_services Ancillary Services are optional services that a passenger can purchase in combination with an airline ticket. All the information about whether ancillary services can be added to a PNR in post booking is supported by Welltravel or not for the PNR.
post_booking_services.add_services.associated An associated service is issued for the collection of miscellaneous charges and excess baggage charges. For example, sports equipment, pets in cabin or animal in hold, excess baggage, and so on. Specifies whether associated ancillary services of the booking can be added to a PNR in post booking is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.add_services.standalone A standalone service is issued for a residual value or the collection of miscellaneous charges that are not lifted with an e-ticket coupon. For example vouchers, group deposits, change fees, and so on. Standalone Services are other ancillary services that can be purchased within or not within a flight reservation. For example lounge access or a promotional item (t-shirt, mug, etc). Specifies whether standalone ancillary services can be added to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.update_travelers Details about whether the traveler details in post booking services can be updated is supported by Welltravel or not.
post_booking_services.update_travelers.first_name Specifies whether first name of the travelers can be updated. See Possible Values for more details.
post_booking_services.update_travelers.last_name Specifies whether last name of the travelers can be updated. See Possible Values for more details.
post_booking_services.update_travelers.phone_number Specifies whether phone number of the travelers can be updated. See Possible Values for more details.
post_booking_services.update_travelers.email_address Specifies whether email address of the travelers can be updated. See Possible Values for more details.
post_booking_services.update_travelers.postal_address Specifies whether postal address of the travelers can be updated. See Possible Values for more details.
post_booking_services.ticket_issuance Detailed information about the ticket issuance
post_booking_services.ticket_issuance.required Ticket issuance is required or not. See Possible Values for more details.
post_booking_services.ticket_issuance.issued_at Timestamp when ticket issuance was done
post_booking_services.ticket_issuance.until Ticket issuance is possible until this date
post_booking_services.emd Details about whether the traveler can issue an EMD is supported by Welltravel or not.
post_booking_services.emd.supported Specifies whether issuance of EMD is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.emd.required Specifies whether it is mandatory to issue the EMD. See Possible Values for more details.
post_booking_services.emd.available Specifies whether the EMD is already issued or not. See Possible Values for more details.
post_booking_services.emd.possible_until The date until which EMD issuance is possible for the booking
post_booking_services.emd.style Specifies whether the EMD can be issued with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Style for more details
post_booking_services.refund Details about whether the booking can be refunded is supported by Welltravel or not.
post_booking_services.refund.supported Specifies whether refund of booking is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.refund.required Specifies whether it is mandatory to refund the booking for cancellation. See Possible Values for more details.
post_booking_services.refund.available Specifies whether the booking is already refunded or not. See Possible Values for more details.
post_booking_services.refund.possible_until The date until which refund is possible for the booking
post_booking_services.refund.style Specifies whether the booking fee can be refunded with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Exchange/ Refund Style for more details.
post_booking_services.exchange Details about whether the flight(s) can be exchanged in post booking is supported by Welltravel or not.
post_booking_services.exchange.supported Specifies whether flight(s) exchange is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.exchange.available Specifies whether the ticket is already exchanged or not. See Possible Values for more details.
post_booking_services.exchange.possible_until The date until which exchange is possible for the flight(s)
post_booking_services.exchange.style Specifies whether the flight can be exchanged with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Exchange/ Refund Style for more details.
post_booking_services.ticket_void Voiding any ticket means invalidating the ticket. Usually, a ticket can be voided within 24 hours of document issuance, however, the period during which a ticket can be voided may vary. The period of time during which a void can occur is handled by the provider. Details about whether the flight ticket can be voided in post booking is supported by Welltravel or not.
post_booking_services.ticket_void.supported Specifies whether voiding ticket is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.ticket_void.available Specifies whether the ticket is already voided or not. See Possible Values for more details.
post_booking_services.ticket_void.possible_until The date until which voiding ticket is possible for the booking
post_booking_services.ticket_void.style Specifies whether the ticket can be voided with or without issuing ticket and if no information is available regarding the matter the value will be unavailable. See Style for more details
post_booking_services.form_of_payment Details about whether add, update and delete of form of payment of the booking in the post booking is supported by Welltravel or not.
post_booking_services.form_of_payment.add Specifies whether a form of payment can be added to the booking. It is possible to add a form of payment to the booking, only if it is not cancelled or issued, or the operation is supported by the supplier. It is an array of hashes containing all the supported add form of payment information for each booking.
post_booking_services.form_of_payment.add.booking_item_id Specifies one of flight booking or hotel booking or car booking id for which a form of payment is added
post_booking_services.form_of_payment.add.booking_item_type Specifies the booking item. It should flight or car or hotel
post_booking_services.form_of_payment.add.supported Specify whether an addition of form of payment is supported or not for the booking. See Possible Values for more details.
post_booking_services.form_of_payment.add.available Specify whether an addition of form of payment is available or not for the booking. See Possible Values for more details.
post_booking_services.form_of_payment.add.required Specify whether an addition of form of payment is required or not for the booking. If form of payment is already added then required should be false otherwise true. See Possible Values for more details.
post_booking_services.form_of_payment.add.until The last or final date of adding form of payment for the hold booking. Indicates payment will be added later upto the final date.
post_booking_services.form_of_payment.update Specifies whether a form of payment of the booking can be updated. It is possible to update the form of payment to the booking, only if it exists and the booking is not cancelled or issued or the operation is supported by the supplier. It is a an array of hashes containing all the supported update form of payment information for each booking.
post_booking_services.form_of_payment.update.fop_id Specifies form of payment id which needs to be updated
post_booking_services.form_of_payment.update.supported Specify whether an updating of form of payment is supported or not for the booking. See Possible Values for more details.
post_booking_services.form_of_payment.update.available Specify whether an updating of form of payment is available or not for the booking. See Possible Values for more details.
post_booking_services.form_of_payment.delete Specifies whether a form of payment of the booking can be deleted. It is possible to delete the form of payment of a booking, only if it exists, and the booking is not cancelled, or issued, or the delete operation is supported by the supplier. It is an array of hashes containing all the supported add form of payment information for each booking.
post_booking_services.form_of_payment.delete.fop_id Specifies form of payment id which needs to be deleted
post_booking_services.form_of_payment.delete.supported Specify whether an deletion of form of payment is supported or not for the booking. See Possible Values for more details.
post_booking_services.form_of_payment.delete.available Specify whether an deletion of form of payment is available or not for the booking. See Possible Values for more details.

Cancel a Booking

DELETE /api/sabre/6ZQH/bookings/YRURQU HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1

DELETE /api/:supplier/:account/bookings/:id?item[]=item_1_id&item[]=item_2_id

Cancel a booking. With most suppliers this will remove any flight, hotel or car bookings but the main booking will still be available.

If no item is provided the whole booking will be cancelled. Otherwise only the selected items provided by the endpoint will be canceled from the booking.

Here items are the item ids of flight, hotel or car bookings in the booking.

Cancel Booking Response
HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 81024a46-71dc-4222-b2c3-025e1c03e2b6
X-Runtime: 12.150931
Vary: Origin
Connection: close

In the response, No Content is returned.

Cancel a Booking

DELETE /api/bookings/08488879-1023-4eaa-a4e3-ba9dd2e5282f?items%5B%5D=6e624f2f-1d0b-4148-9f1b-04ef7e4822ab HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1

DELETE api/bookings/:booking_id?items[]=:item_id

With most suppliers this will remove any flight, hotel or car bookings.

If no item is provided the whole booking will be canceled. Otherwise only the selected items provided by the endpoint will be canceled from the booking.

Here items are the item ids of flight, hotel or car bookings in the booking.

Cancel Booking Response
HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "S3IXWX",
  "booking_id": "08488879-1023-4eaa-a4e3-ba9dd2e5282f",
  "requested_items": [
    "6e624f2f-1d0b-4148-9f1b-04ef7e4822ab"
  ],
  "cancelled_items": [
    "6e624f2f-1d0b-4148-9f1b-04ef7e4822ab"
  ],
  "active_items": []
}

Attribute Type Description
id String Record Locator or PNR
booking_id UUID Id of the corresponding booking for the PNR
requested_items Array Items that are requested for cancellation
cancelled_items Array Items that are successfully cancelled in a booking
active_items Array Items that are still active in a booking

Issue a Ticket

You should consume the new endpoint because this old endpoint will be deprecated soon.

POST /api/sabre/6ZZZ/bookings/ABCD12/ticket HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:   v1 

POST /api/:supplier/:account/bookings/:record_locator/ticket

Issues a ticket for the given booking.

Query Parameters
Parameter Type Required Description
item Array Item Ids that you want to issue a ticket of a PNR. This feature is only available for Amadeus. Galileo and Sabre.
Issue Ticket Response
HTTP/1.1 201 Created
Content-Type: application/json

[
  {
    "id": "123456578",
  }
]

Attribute Type Description
Array An array of issued ticket
id String Issued Ticket Number

Issue a Ticket (NEW)

POST /api/bookings/680203d2-3ddd-4ea1-a97a-cbfbcb72f550/issue HTTP/1.1

{
  "items": ["120203d2-3ddd-4ea1-a97a-cbfbcb72f551"],
}
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:   v1 

POST api/bookings/:booking_id/issue

Issues a ticket for the given booking.

Query Parameters
Parameter Type Required Description
items Array Item Ids that you want to issue ticket of PNR
Issue Ticket Response
HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "ABCD12",
  "booking_id": "680203d2-3ddd-4ea1-a97a-cbfbcb72f550",
  "requested_items": ["120203d2-3ddd-4ea1-a97a-cbfbcb72f551"],
  "issued_items": [
    {
      "id": "6e624f2f-1d0b-4148-9f1b-04ef7e4822ab",
      "tickets": [
        "1234512341"
      ]
    }
  ],
  "unissued_items": []
}

Attribute Type Description
id String Record Locator or PNR
booking_id UUID Id of the booking
requested_items Array Requested Items for issuance
issued_items Array Details of the Issued Items
issued_items.id UUID Id of the issued item
issued_items.tickets Array Ticket Number
unissued_items Array Details of the Unissued Items
unissued_items.id UUID Id of the unissued item
unissued_items.tickets Array Ticket Number

Void Tickets

POST /api/bookings/680203d2-3ddd-4ea1-a97a-cbfbcb72f550/void HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:   v1 

POST /api/bookings/:booking_id/void

If there are any issued tickets that you want to void, you can void the ticket with this endpoint.

Query Parameters
Parameter Type Required Description
items Array Item Ids that you want to void ticket of PNR
Void Ticket Response
HTTP/1.1 201 Created
Content-Type: application/json

{
  "voided": [
    "7246502573858",
    "7246502573859"
  ],
  "active": []
}

Attribute Type Description
voided Array Array of voided tickets
active Array Array of still active tickets

Issue EMDs (NEW)

POST /api/bookings/:booking_id/emds

EMDs are instantly issued in our flow. But if for some reason instant EMD issuance fails for a specific seats or services in a booking, you may issue the EMDs with this endpoint.

Query Parameters
POST /api/bookings/:booking_id/emds HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

{
  "services": [ "2e2d08a9-8f3c-4e58-981a-f1d6c049a00a" ],
  "seats": [ "2e2d08a9-8f3c-4e58-981a-f1d6c049a001" ],
  form_of_payment: "credit_card",
    card_details: {
      name: "Davy Jones",
      number: "5275009999993833",
      type: "master_card",
      expiry_date: "12/22",
      code: "111",
      cardholder_address": {
        street: "Schaffhauserstrasse 4",
        city: "Winterthur",
        zip: "8400",
        country: "CH"
      }
   }
}


Parameter Required Type Description
services Array Service Ids that you want to Issue EMD of PNR
seats Array Seat Ids that you want to Issue EMD of PNR

form_of_payment

String Form of Payment. Welltravel Supported Payment options are cash, none, credit_card, iata. Default is cash. Please note that some supplies might only support a certain payment method, supplying otherwise will give you a HTTP 422 unprocessable entity error.
card_details ✘/✔ Object Card details, required if form_of_payment is credit_card
card_details.name String Card Holder Name
card_details.number String Credit Card Number. Please enter the number as in the card. No space or special character is allowed.
card_details.type String Credit Card Type. Possible values: visa, master_card, amex.
card_details.expiry_date String Credit Card Expiry Date. Format is: MM/YY. example: 01/19 .
card_details.code String Credit Card Code/CVV/CVC
card_details.bank_name ✘/✔ String The name of the bank.
card_details.bank_country_code ✘/✔ String The country code of the country in which the bank is located. Usually it is a two or three letters code.
card_details.cardholder_address Object Card Holder Address Details
card_details.cardholder_address.address_name String Card Holder Address Name. Like: Family Doe
card_details.cardholder_address.street String Card Holder Street Name
card_details.cardholder_address.city String Card Holder City Code
card_details.cardholder_address.state String Card Holder State Name
card_details.cardholder_address.zip String Card Holder ZIP Code or Post Code
card_details.cardholder_address.country String ISO 3166-1 alpha-2 Issuing Country Code
Response Parameters
Attribute Type Description
seats Array An array of Seats object with EMD identifier details
seats.status String Status of the specific seat. It can be either ‘confirmed’ or ‘pending’.
seats.emd_identifier String EMD Identifier of the specific seat
services Array An array of Service object with EMD identifier details
services.status String Status of the specific service. It can be either ‘confirmed’ or ‘pending’.
services.segment_ids Array Array of segment ids the specific service belongs to
services.segment_ids.segment_id UUID Segment Id of the specific service
services.segment_ids.emd_identifier String EMD Identifier of specific service on specific segment

Refund Quote

You should consume the new endpoint because this old endpoint will be deprecated soon.

GET /api/lh_group/ACT5/bookings/5RHJEU/refund HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1

GET api/:backend/:account_identifier/bookings/record_locator/refund

This endpoint returns the Quote for the refund amount for the given booking.

Query Parameters
Parameter Type Required Description
traveler_ids Array Traveler Ids of Passenger that you want to quote refund for.
Refund Quote Response
HTTP/1.1 200 OK
Content-Type: application/json

{
  "backend": "lh_group",
  "account_identifier": "ACT5",
  "reservation_id": "5RHJEU",
  "currency": "CHF",
  "price": "126.45",
  "validity": "2021-10-27T07:30:33",
  "timezone": "+00:00"
}

Attribute Type Description
backend String Name of the supplier
account_identifier String Account identifier of the supplier
reservation_id String Record locator or PNR
currency String Currency of the refunded amount
price String Total refunded amount
validity String Validity of the refunded amount. Format: YYYY-MM-DDThh:mm:ss
timezone String Timezone

Refund Quote (NEW)

GET /api/bookings/:booking_id/refund HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1

GET api/bookings/:booking_id/refund

This endpoint returns the Quote for the refund amount for the given booking.

Query Parameters
Parameter Type Required Description
traveler_ids Array Traveler Ids of Passenger that you want to quote refund for. Traveler ids are given for partial refund. Partial refund is supported suppliers are listed here Partial Refund Supported Suppliers.
items Array Item Ids that you want to refund of PNR. Currently itemwise refund is not supported from our side. So passing item ids will not bear any effect.
Refund Quote Response
HTTP/1.1 200 OK
Content-Type: application/json

{
  "backend": "lh_group",
  "account_identifier": "ACT5",
  "reservation_id": "5RHJEU",
  "currency": "CHF",
  "price": "126.45",
  "validity": "2022-10-27T07:30:33",
  "timezone": "+00:00"
}

Attribute Type Description
backend String Name of the supplier
account_identifier String Account identifier of the supplier
reservation_id String Record locator or PNR
currency String Currency of the refunded amount
price String Total refunded amount
validity String Validity of the refunded amount. Format: YYYY-MM-DDThh:mm:ss
timezone String Timezone

Refund

You should consume the new endpoint because this old endpoint will be deprecated soon.

DELETE /api/amadeus/NCFPE123/bookings/5RHJEU/refund HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1

{
  "expected_refund_amount": "126.45",
  "currency": "CHF",
  "traveler_ids": "f1d388a4-5826-4914-9237-8df7bc49bf75",
}

DELETE api/:backend/:account_identifier/bookings/record_locator/refund

This endpoint returns the Quote for the refund amount for the given booking.

Query Parameters
Parameter Type Required Description
expected_refund_amount String Expected refund amount
currency String Currency of refund amount.
traveler_ids Array Traveler Ids of Passenger that you want to quote refund for. Traveler ids are given for partial refund. Partial refund is supported suppliers are listed here Partial Refund Supported Suppliers.
Refund Response
HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 7ea80f9e-1a8a-4e6c-9058-c54c0fefbc62
X-Runtime: 17.898201
Vary: Origin
Connection: close

In the response, No Content is returned.

Refund (NEW)

DELETE /api/bookings/:booking_id/refund HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1

{
  "expected_refund_amount": "126.45",
  "currency": "CHF",
  "traveler_ids": "fe93e8de-7ae9-495b-a821-241f18f568eb",
  "items": "357bb941-ec5b-4552-a745-4c1762426056",
}

DELETE api/bookings/:booking_id/refund

Query Parameters
Parameter Type Required Description
expected_refund_amount String Expected refund amount
currency String Currency of refund amount.
traveler_ids Array Traveler Ids of Passenger that you want to quote refund for. Traveler ids are given for partial refund. Partial refund is supported suppliers are listed here Partial Refund Supported Suppliers.
items Array Item Ids that you want to refund of PNR. Currently itemwise refund is not supported from our side. So passing item ids will not bear any effect.
Refund Response
HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 7ea80f9e-1a8a-4e6c-9058-c54c0fefbc62
X-Runtime: 17.898201
Vary: Origin
Connection: close

In the response, No Content is returned.

Partial Refund Supported Suppliers

Suppliers
Amadeus
British Airways

Post Booking Transactions Overview

After booking, the following workflow demonstrates how to avail post booking service over an existing passenger name record(PNR) through our system:

  1. Seat Map : Post Booking Seat Map services
  2. Frequent Flyer Number : Post Booking Frequent Flyer Number
  3. Services : Post Booking Services
  4. Form of Payment : Add/Update/Delete Form of Payment
  5. Flight Exchange : Exchange a Flight
  6. Phone Number : Add/Update/Delete Phone number of a passenger
  7. Email : Add/Update/Delete Email of a passenger
  8. Document : Add/Update/Delete Document of a passenger
  9. Postal Address : Add/Update/Delete Postal Address of a passenger
  10. Meal : Add/Update/Delete Meal of a passenger
  11. Assistance Request : Add/Update/Delete Assistance Request of a passenger
  12. Remarks : Add/Update/Delete remarks
  13. Traveler Name Correction : correct a traveler name

Seat Map

The Seat Map Service in post booking transaction provides support to fetch the seat map for a particular flight segment and to add a seat to a particular flight segment for a particular traveler.

Get Seat Map

The Get Seat Map Entity returns the seat map for a particular flight segment after booking has been made.

Get Seat Map Request
GET /api/segments/4e49f208-1922-4055-bd80-4387406a7785/seat_map HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

This API endpoint allows you to get seat map for a particular flight segment.

You may do this by sending a GET request to api/segments/:segment_id/seat_map.

Get Seat Map Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 20
X-Total-Pages: 1
X-Per-Page: 250
X-Page: 1

{
  "origin": "LHR",
  "destination": "ZRH",
  "seat_map": {
    "class": "economy",
    "rows": {
      "6": {
        "wing": false,
        "exit": false,
        "seats": {
          "A": {
            "id": "92908939-5c0d-47e9-8618-32c361300d2e",
            "chargeable": true,
            "infant_restricted": true,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": false,
            "window": true,
            "child_restricted": null,
          },
          "B": {
            "id": "bb86fe69-f41c-4a7d-b519-8546a29dfa4d",
            "chargeable": true,
            "infant_restricted": true,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": false,
            "window": false,
            "child_restricted": false,
          },
          "C": {
            "id": "e0da2e49-6137-4aeb-bce5-324d4517e061",
            "chargeable": true,
            "infant_restricted": true,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": true,
            "window": false,
            "child_restricted": false
          },
          "D": {
            "id": "90b77ba3-9278-49c1-ab17-a63f927e32c9",
            "chargeable": true,
            "infant_restricted": false,
            "occupied": true,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": true,
            "window": false,
            "child_restricted": false
          },
          "E": {
            "id": "977d8094-cfc9-4e7d-88ae-0c9f76c9ae69",
            "chargeable": true,
            "infant_restricted": false,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": false,
            "window": false,
            "child_restricted": false
          },
          "F": {
            "id": "c941d14a-3c4b-45d5-9f80-1a0a868991a0",
            "chargeable": true,
            "infant_restricted": false,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": false,
            "window": true,
            "child_restricted": true
          }
        }
      },
      "7": {
        "wing": false,
        "exit": false,
        "seats": {
          "A": {
            "id": "c664b233-8c4d-4de0-b814-f3b46e3e4ac7",
            "chargeable": true,
            "infant_restricted": true,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": false,
            "window": true,
            "child_restricted": true
          },
          "B": {
            "id": "792ca73d-55c4-4e02-abe0-de7235075681",
            "chargeable": true,
            "infant_restricted": true,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": false,
            "window": false,
            "child_restricted": true
          },
          "C": {
            "id": "5f2ec530-4896-4391-82d4-50a56bd18b6d",
            "chargeable": true,
            "infant_restricted": true,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": true,
            "window": false,
            "child_restricted": false
          },
          "D": {
            "id": "d2a2a948-303f-4dc7-9d52-3c676eeb4174",
            "chargeable": true,
            "infant_restricted": false,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": true,
            "window": false,
            "child_restricted": true,
          },
          "E": {
            "id": "3f0d8d6a-0e07-46a4-96e8-8f8b7b3df223",
            "chargeable": true,
            "infant_restricted": false,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": false,
            "window": false,
            "child_restricted": false
          },
          "F": {
            "id": "8b79860a-2c38-419c-a14b-550a5b922037",
            "chargeable": true,
            "infant_restricted": false,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": false,
            "window": true,
            "child_restricted": true
          }
        }
      },
      "8": {
        "wing": false,
        "exit": false,
        "seats": {
          "A": {
            "id": "510b34da-cdbf-455c-ac66-31bbd6aa1ff8",
            "chargeable": true,
            "infant_restricted": true,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": false,
            "window": true,
            "child_restricted": true
          },
          "B": {
            "id": "6fe066bc-be1d-488a-9e2a-7c785ff0fb54",
            "chargeable": true,
            "infant_restricted": true,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": false,
            "window": false,
            "child_restricted": false
          },
          "C": {
            "id": "57f69640-4888-47c9-bb96-7710a95205da",
            "chargeable": true,
            "infant_restricted": true,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": true,
            "window": false,
            "child_restricted": false,
          },
          "D": {
            "id": "cfc0c5dd-b894-4b1b-9704-3a534ce44b31",
            "chargeable": true,
            "infant_restricted": false,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": true,
            "window": false,
            "child_restricted": false,
          },
          "E": {
            "id": "5860bf94-4130-4ea6-86ec-f978ebaf34d5",
            "chargeable": true,
            "infant_restricted": false,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": false,
            "window": false,
            "child_restricted": false
          },
          "F": {
            "id": "170ccb75-8e4a-455e-8b85-ee345370cf9b",
            "chargeable": true,
            "infant_restricted": false,
            "occupied": false,
            "pricing_info": {
              "currency_code": "CHF",
              "seat_reservation_price": "25.0"
            },
            "recline_restricted": false,
            "seat_existence": true,
            "aisle": false,
            "window": true,
            "child_restricted": true
          }
        }
      }
    }
  }
}
Attribute Type Description
origin String Origin of the flight segment for which the seat map is requested for
destination String Destination of the flight segment for which the seat map is requested for
seat_map Object Information related to the seat map of this trip
seat_map.class String Class of the Seat map
seat_map.rows Object Row of the seat map, all the details of specific row.
seat_map.rows.[:row_number] Integer Row number
seat_map.rows.[:row_number].wing Boolean The value is true if it is a wing seat and vice versa
seat_map.rows.[:row_number].exit Boolean The value is true if it is a exit seat and vice versa
seat_map.rows.[:row_number].[:seats] Object The details about the seats of all the column in the row
seat_map.rows.[:row_number].[:seats][:seat_letter] String The seat number
seat_map.rows.[:row_number].[:seats][:seat_letter].id String ID of the seat, use it to book this seat on third step
seat_map.rows.[:row_number].[:seats][:seat_letter].chargeable Boolean The value is true if the seat is not free and you have to pay seat reservation fee.
seat_map.rows.[:row_number].[:seats][:seat_letter].infant_restricted Boolean The value is true if the seat is infant restricted and vice versa
seat_map.rows.[:row_number].[:seats][:seat_letter].occupied Boolean The value is true if the seat is not available
seat_map.rows.[:row_number].[:seats][:seat_letter].pricing_info Object The details about seat reservation fee
seat_map.rows.[:row_number].[:seats][:seat_letter].pricing_info.currency_code String Currency in which seat price is exposed
seat_map.rows.[:row_number].[:seats][:seat_letter].pricing_info.seat_reservation_price String Price to reserve the seat
seat_map.rows.[:row_number].[:seats][:seat_letter].recline _restricted Boolean The value is true if the seat is recline restricted and vice versa
seat_map.rows.[:row_number].[:seats][:seat_letter].seat_existence Boolean The value is true if there is a seat and vice versa
seat_map.rows.[:row_number].[:seats][:seat_letter].aisle Boolean The value is true if the seat is an aisle seat and vice versa
seat_map.rows.[:row_number].[:seats][:seat_letter].window Boolean The value is true if the seat is a window seat and vice versa
seat_map.rows.[:row_number].[:seats][:seat_letter].child_restricted Boolean The value is true if the seat restricted for child and vice versa

Add Seat

The Add Seat Map Entity avails us to add a seat, by requesting with row and column number of the seat with a traveller id from the PNR, to a particular flight segment for a particular traveler after booking has been made. Now, we can add multiple seats. Form of payment is an optional field to add a seat and required field for the EMD issue.

Add Seat Request

POST /api/segments/52f6d464-a293-4d75-b0a9-94cd76431974/seat_map

POST /api/segments/52f6d464-a293-4d75-b0a9-94cd76431974/seat_map HTTP/1.1
Authorization: Bearer f26ef60fa588389d07d344ea4b0d4527da1389405250bb765e986efc89854128
Accept-Version: v1
Authorization: Bearer b34d2de5bbd5f727a0fae5d555a58fc5fc7cb44349e7a8fabc59ae54118892ec
Content-Type: text/plain; charset=utf-8
{
  seats: [
    {
      "traveler_id": "aeee8d46-9f26-45bb-827b-5220abdf208b",
      "seat": "B",
      "row": "6"
    },
  ],
  form_of_payment: "credit_card",
  card_details: {
    name: "Davy Jones",
    number: "5275009999993833",
    type: "master_card",
    expiry_date: "12/22",
    code: "111",
    cardholder_address": {
      street: "Some Street",
      city: "Some City",
      zip: "1337",
      country: "SE"
    }
  }
}
Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
seats Array An array of seats which can take multiple values of traveler_id, seat and row.
traveler_id UUID Traveler ID is the unique identifier of the traveler for whom this service will be booked.
seat String Seat Column. Example, A
row String Seat Row. Example, 4

form_of_payment

String Form of Payment. Welltravel Supported Payment options are cash, none, credit_card, iata. Default is cash. Please note that some supplies might only support a certain payment method, supplying otherwise will give you a HTTP 422 unprocessable entity error.
card_details ✘/✔ Object Card details, required if form_of_payment is credit_card
card_details.name String Card Holder Name
card_details.number String Credit Card Number. Please enter the number as in the card. No space or special character is allowed.
card_details.type String Credit Card Type. Possible values: visa, master_card, amex.
card_details.expiry_date String Credit Card Expiry Date. Format is: MM/YY. example: 01/19 .
card_details.code String Credit Card Code/CVV/CVC
card_details.bank_name ✘/✔ String The name of the bank.
card_details.bank_country_code ✘/✔ String The country code of the country in which the bank is located. Usually it is a two or three letters code.
card_details.cardholder_address Object Card Holder Address Details
card_details.cardholder_address.address_name String Card Holder Address Name. Like: Family Doe
card_details.cardholder_address.street String Card Holder Street Name
card_details.cardholder_address.city String Card Holder City Code
card_details.cardholder_address.state String Card Holder State Name
card_details.cardholder_address.zip String Card Holder ZIP Code or Post Code
card_details.cardholder_address.country String ISO 3166-1 alpha-2 Issuing Country Code
Add Seat Response

After requesting for the seat, the seat if available will be reserved for the traveller and will be added to the PNR.

POST /api/segments/:segment_id/seat_map

This API endpoint allows you to reserve a particular seat for a particular traveler after booking has been made.

HTTP/1.1 201 OK
Content-Type: application/json
X-Total: 20
X-Total-Pages: 1
X-Per-Page: 250
X-Page: 1
[
  {
    "id": "LT6TKT",
    "version": null,
    "flight_segment_id": "4e49f208-1922-4055-bd80-4387406a7785",
    "traveler_id": "81cfc605-2ab9-4683-8aa4-2eca00d5ba98",
    "seat": {
      "id": "bb86fe69-f41c-4a7d-b519-8546a29dfa4d",
      "chargeable": true,
      "infant_restricted": true,
      "occupied": true,
      "currency_code": "CHF",
      "seat_reservation_price": "25.0",
      "recline_restricted": false,
      "seat_existence": true,
      "row": "6",
      "column": "B"
    }
  },
]
Response Parameters
Key Type Description
id UUID The unique id of the select result, used for Reserve
version String Version number.
flight_segment_id UUID Id of the segment the specific seat belongs to
traveller_id UUID Id of the traveler the specific seat belongs to.
seat Object Details of the seat
seat[:id] UUID ID of the seat
seat[:chargeable] Boolean The value is true if the seat is not free and you have to pay seat reservation fee.
seat[:infant_restricted] Boolean The value is true if the seat is infant restricted and vice versa
seat[:occupied] Boolean The value is true if the seat is not available
seat[:currency_code] String Currency in which seat price is exposed
seat[:seat_reservation_price] String Price to reserve the seat
seat[:recline _restricted] Boolean The value is true if the seat is recline restricted and vice versa
seat[:seat_existence] Boolean The value is true if there is a seat and vice versa
seat_map[:row] String Row number of the reserved seat
seat_map[:column] String Column number of the reserved seat

Update Seat

The Update Seat Entity avails us to update a seat, by requesting with row and column number of the seat. You need to provide the id of the seat which you want to update in the endpoint. The seat id can be found in the retrieve response.

Update Seat Request

PATCH /api/seat_map/:seat_id

PATCH /api/seat_map/52f6d464-a293-4d75-b0a9-94cd76431974 HTTP/1.1
Authorization: Bearer f26ef60fa588389d07d344ea4b0d4527da1389405250bb765e986efc89854128
Accept-Version: v1
Authorization: Bearer b34d2de5bbd5f727a0fae5d555a58fc5fc7cb44349e7a8fabc59ae54118892ec
Content-Type: text/plain; charset=utf-8
{
  seat: "A",
  row: "8",
  form_of_payment: "credit_card",
  card_details: {
    name: "Davy Jones",
    number: "5275009999993833",
    type: "master_card",
    expiry_date: "12/22",
    code: "111",
    cardholder_address": {
      street: "Some Street",
      city: "Some City",
      zip: "1337",
      country: "SE"
    }
  }
}
Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
seat String Seat Column. Example, A
row String Seat Row. Example, 4

form_of_payment

String Form of Payment. Welltravel Supported Payment options are cash, none, credit_card, iata. Default is cash. Please note that some supplies might only support a certain payment method, supplying otherwise will give you a HTTP 422 unprocessable entity error.
card_details ✘/✔ Object Card details, required if form_of_payment is credit_card
card_details.name String Card Holder Name
card_details.number String Credit Card Number. Please enter the number as in the card. No space or special character is allowed.
card_details.type String Credit Card Type. Possible values: visa, master_card, amex.
card_details.expiry_date String Credit Card Expiry Date. Format is: MM/YY. example: 01/19 .
card_details.code String Credit Card Code/CVV/CVC
card_details.bank_name ✘/✔ String The name of the bank.
card_details.bank_country_code ✘/✔ String The country code of the country in which the bank is located. Usually it is a two or three letters code.
card_details.cardholder_address Object Card Holder Address Details
card_details.cardholder_address.address_name String Card Holder Address Name. Like: Family Doe
card_details.cardholder_address.street String Card Holder Street Name
card_details.cardholder_address.city String Card Holder City Code
card_details.cardholder_address.state String Card Holder State Name
card_details.cardholder_address.zip String Card Holder ZIP Code or Post Code
card_details.cardholder_address.country String ISO 3166-1 alpha-2 Issuing Country Code
Update Seat Response

After requesting for the specific seat, the seat if available will be updated for the traveller.

HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 20
X-Total-Pages: 1
X-Per-Page: 250
X-Page: 1
[
  {
    "id": "RDTBXU",
    "version": null,
    "flight_segment_id": "0a7d38b4-6f86-423e-bb1a-cbb18556b01f",
    "traveler_id": "77c547d2-7c5b-4ef9-b7f5-41cd6575be7c",
    "seat": {
      "id": "DXBJNB-EK761-8A",
      "chargeable": false,
      "infant_restricted": false,
      "occupied": true,
      "currency_code": null,
      "seat_reservation_price": "0.0",
      "recline_restricted": false,
      "seat_existence": true,
      "row": "8",
      "column": "A"
    }
  }
]
Response Parameters
Key Type Description
id UUID The unique id of the select result, used for Reserve
version String Version number.
flight_segment_id UUID Id of the segment the specific seat belongs to
traveller_id UUID Id of the traveler the specific seat belongs to.
seat Object Details of the seat
seat[:id] UUID ID of the seat
seat[:chargeable] Boolean The value is true if the seat is not free and you have to pay seat reservation fee.
seat[:infant_restricted] Boolean The value is true if the seat is infant restricted and vice versa
seat[:occupied] Boolean The value is true if the seat is not available
seat[:currency_code] String Currency in which seat price is exposed
seat[:seat_reservation_price] String Price to reserve the seat
seat[:recline _restricted] Boolean The value is true if the seat is recline restricted and vice versa
seat[:seat_existence] Boolean The value is true if there is a seat and vice versa
seat_map[:row] String Row number of the reserved seat
seat_map[:column] String Column number of the reserved seat

Delete Seat

The Delete Seat Entity avails us to delete a seat. You need to provide the id of the seat which you want to delete in the endpoint. The seat id can be found in the retrieve response.

Delete Seat Request

DELETE /api/seat_map/:seat_id

DELETE /api/seat_map/56df59e8-c7b1-4110-aa23-859cc62cc7df HTTP/1.1
Authorization: Bearer f26ef60fa588389d07d344ea4b0d4527da1389405250bb765e986efc89854128
Accept-Version: v1
Content-Type: text/plain; charset=utf-8
Delete Seat Response

After requesting for the deletion of specific seat, the seat will be deleted for the traveller.

HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 81024a46-71dc-4222-b2c3-025e1c03e2b6
X-Runtime: 12.150931
Vary: Origin
Connection: close

We get status 204 No Content in the response.

Frequent Flyer Number

This service provides the functionality to add, update and delete a frequent flyer number(ffn) to a passenger in a PNR in Post Booking.

Add Frequent Flyer Number

POST /api/travelers/dadf3841-2977-403e-99bd-5d9b00f5712f/frequent_flyer_number HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

This API endpoint allows you to add a frequent flyer number to a passenger in a PNR.

You may do this by sending a POST request to:

api/travelers/:traveler_id/frequent_flyer_number.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
carrier String Carrier code for which frequent flyer number is valid. i.e ‘BA’, ‘LX’ etc`
number String Frequent Flyer Number
Add Frequent Flyer Number Response
HTTP/1.1 201 Created
Content-Type: application/json
ETag: W/"f446d2939ceb13f39c9ccb30b328be76"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: d28f96e5-a6ed-491c-bf46-c87218bab138
X-Runtime: 4.966928
Vary: Origin
Connection: close
Content-Length: 87


{
  "id": "19fbc878-63ce-488d-8988-66145a0eed81",
  "carrier": "LX",
  "number": "88888888888"
}

Response Parameters Type Description
id UUID Unique ID for Frequent Flyer Number of traveler
carrier String Carrier Code for Frequent Flyer Number
number String Frequent Flyer Number which is a loyalty program offered by an airline

Update Frequent Flyer Number

PATCH api/frequent_flyer_number/12c87c10-fc2c-4e2e-bc5d-7a5a08af441c HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

This API endpoint allows you to update a frequent flyer number to a passenger in a PNR.

You may do this by sending a PATCH request to:

api/frequent_flyer_number/:frequent_flyer_number_id.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
carrier String Carrier code for which frequent flyer number is valid. i.e ‘BA’, ‘LX’ etc`
number String Frequent Flyer Number
Update Frequent Flyer Number Response
HTTP/1.1 200 OK
Content-Type: application/json


{
  "carrier": "LX",
  "number": "88888888812"
}

Attribute Type Description
carrier String Carrier Code for Frequent Flyer number
number String Frequent Flyer Number which is a loyalty program offered by an airline..

Delete Frequent Flyer Number

This API endpoint allows you to Delete a frequent flyer number to a passenger in a PNR.

You may do this by sending a DELETE request to:

/api/frequent_flyer_number/:frequent_flyer_number_id

DELETE /api/frequent_flyer_number/56df59e8-c7b1-4110-aa23-859cc62cc7df HTTP/1.1
Authorization: Bearer f26ef60fa588389d07d344ea4b0d4527da1389405250bb765e986efc89854128
Accept-Version: v1
Authorization: Bearer b34d2de5bbd5f727a0fae5d555a58fc5fc7cb44349e7a8fabc59ae54118892ec
Content-Type: text/plain; charset=utf-8
Delete Frequent Flyer Number Response

After requesting the deletion of a specific frequent flyer number, the frequent flyer number will be deleted for the traveler.

HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 81024a46-71dc-4222-b2c3-025e1c03e2b6
X-Runtime: 12.150931
Vary: Origin
Connection: close

You’ll get status 204 No Content in the response.

Post Booking Services

The Services Entity returns all the services for a particular flight trip or segment and to add a service to a flight trip or segment for a particular traveller after a booking has been made.

Available Services

The Available Services Entity returns all the services for a particular flight trip or segment after a booking has been made.

Available Services Request
GET /api/bookings/8d37de16-ba8d-4689-87cc-3747b06f2788/flight_bookings/ecbcd32e-c24d-44aa-bd79-9343d33bdc04/services HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

This API endpoint allows you to get details about available services for a particular flight.

You may do this by sending a GET request to api/bookings/:booking_id/flight_bookings/:flight_booking_id/services.

Available Services Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 20
X-Total-Pages: 1
X-Per-Page: 250
X-Page: 1

  {
  "services": [],
  "trips": [
    {
      "origin": "LHR",
      "destination": "NRT",
      "services": [
        {
          "id": "54de915f-60aa-4c1a-93d7-27077a4cb5ae",
          "meta_identifier": null,
          "price": "140.0",
          "currency": "CHF",
          "refundable": null,
          "maximum_per_group": null,
          "group": "Baggage",
          "maximum_scope": "traveler",
          "traveler_id": "81cfc605-2ab9-4683-8aa4-2eca00d5ba98",
          "name": "UPTO50LB 23KG AND62LI 158LCM"
        },
        {
          "id": "8a07e934-f327-4697-b75d-fbec68b7c180",
          "meta_identifier": null,
          "price": "140.0",
          "currency": "CHF",
          "refundable": null,
          "maximum_per_group": null,
          "group": "Baggage",
          "maximum_scope": "traveler",
          "traveler_id": "aeee8d46-9f26-45bb-827b-5220abdf208b",
          "name": "UPTO50LB 23KG AND62LI 158LCM"
        }
      ],
      "segments": [
        {
          "origin": "LHR",
          "destination": "ZRH",
          "operating_flight_number": "317",
          "operating_carrier_code": "LX",
          "services": [
            {
              "id": "d002bfef-8fa9-4622-bafd-c173cd05456f",
              "meta_identifier": null,
              "price": "140.0",
              "currency": "CHF",
              "refundable": null,
              "maximum_per_group": null,
              "group": "Baggage",
              "maximum_scope": "traveler",
              "traveler_id": "81cfc605-2ab9-4683-8aa4-2eca00d5ba98",
              "name": "UPTO50LB 23KG AND62LI 158LCM"
            },
            {
              "id": "6bfa7fa2-cbcd-4426-a566-97e6276ca7cc",
              "meta_identifier": null,
              "price": "140.0",
              "currency": "CHF",
              "refundable": null,
              "maximum_per_group": null,
              "group": "Baggage",
              "maximum_scope": "traveler",
              "traveler_id": "aeee8d46-9f26-45bb-827b-5220abdf208b",
              "name": "UPTO50LB 23KG AND62LI 158LCM"
            }
          ]
        },
        {
          "origin": "ZRH",
          "destination": "NRT",
          "operating_flight_number": "160",
          "operating_carrier_code": "LX",
          "services": [
            {
              "id": "d84efdf8-fdc2-4831-bd31-5c6b1821563e",
              "meta_identifier": null,
              "price": "140.0",
              "currency": "CHF",
              "refundable": null,
              "maximum_per_group": null,
              "group": "Baggage",
              "maximum_scope": "traveler",
              "traveler_id": "81cfc605-2ab9-4683-8aa4-2eca00d5ba98",
              "name": "UPTO50LB 23KG AND62LI 158LCM"
            },
            {
              "id": "ea3e0840-db8d-4cd6-b880-3d821db89b06",
              "meta_identifier": null,
              "price": "140.0",
              "currency": "CHF",
              "refundable": null,
              "maximum_per_group": null,
              "group": "Baggage",
              "maximum_scope": "traveler",
              "traveler_id": "aeee8d46-9f26-45bb-827b-5220abdf208b",
              "name": "UPTO50LB 23KG AND62LI 158LCM"
            },
            {
              "id": "50713e7c-42db-4a74-9c7f-c1930d9eccae",
              "meta_identifier": null,
              "price": "39.0",
              "currency": "CHF",
              "refundable": null,
              "maximum_per_group": null,
              "group": "Baggage",
              "maximum_scope": "traveler",
              "traveler_id": "81cfc605-2ab9-4683-8aa4-2eca00d5ba98",
              "name": "LOUNGE ACCESS"
            },
            {
              "id": "92c125e2-215b-43cf-bbfd-b5b5e605713e",
              "meta_identifier": null,
              "price": "39.0",
              "currency": "CHF",
              "refundable": null,
              "maximum_per_group": null,
              "group": "Baggage",
              "maximum_scope": "traveler",
              "traveler_id": "aeee8d46-9f26-45bb-827b-5220abdf208b",
              "name": "LOUNGE ACCESS"
            },
            {
              "id": "9e85cc26-3f8e-456c-9531-14bf07f464e0",
              "meta_identifier": null,
              "price": "39.0",
              "currency": "CHF",
              "refundable": null,
              "maximum_per_group": null,
              "group": "Baggage",
              "maximum_scope": "traveler",
              "traveler_id": "dfd17670-4daa-4d9a-9616-74011465a7b3",
              "name": "LOUNGE ACCESS"
            }
          ]
        }
      ]
    }
  ]
}
Response Parameters
Key Type Description
services Array These services are available only for the particular booking id
services.id UUID Id of the Service
services.meta_identifier UUID Unique Identifier of the service
services.price String The cost of the service
services.currency String The currency in which the service fee is being exposed
services.refundable String Indicator of the service fee is refundable or not
services.maximum_per_group String Indicates the maximum number services that can be availed per group
services.group String Name of the Service Group
services.maximum_scope String Indicates the scope of the service. If the value is traveler, then user can add one service from each group for each passenger. If the value is booking, then user can add one service from each group for whole booking. If the value is null, then user can add multiple service for each passenger.
trips Array Information about ancillary services about the trips for the particular booking
trips.origin String Origin of the trips
trips.destination String Destination of the trips
trips.services Array These services are available for the current trip
trips.services.id UUID Id of the Service
trips.services.meta_identifier UUID Unique Identifier of the service
trips.services.price String The cost of the service
trips.services.currency String The currency in which the service fee is being exposed
trips.services.refundable String Service Fee Refundable information. If it is true, then there will be a refund
trips.maximum_per_group String Indicates the maximum number services that can be availed per group
trips.group String Name of the Service Group
trips.maximum_scope String Indicates the scope of the service. If the value is traveler, then user can add one service from each group for each passenger. If the value is booking, then user can add one service from each group for whole booking. If the value is null, then user can add multiple service for each passenger.
travelers.id UUID Unique ID of a traveler
travelers.name String Name of the traveler. Example: John
trips.segments Array Information about trip segment of the ancillary services about the trips
trips.segments Array Information about trip segment of the ancillary services about the trips
trips.segments.origin String Origin airport code for the trip segment
trips.segments.destination String Destination airport code for the trip segment
trips.segments.operating_flight_number String Refers to the identifier used in flight schedule, flight number of the operating carrier
trips.segments.operating_carrier_code String Operating Carrier Code refers to the identifier used in flight schedule, generally the two-character IATA airline designator code
trips.segments.services Array These services are available for the current trip segment
trips.segments.services.id UUID Id of the Service
trips.segments.services.meta_identifier UUID Use this identifier to lookup the service details on Meta. Please refer to ancillary-services.
trips.segments.services.price String The cost of the service
trips.segments.services.currency String The currency in which the service fee is being exposed
trips.segments.services.refundable String Whether the service fee is refundable or not
trips.segments.maximum_per_group String Indicates the maximum number services that can be availed per group
trips.segments.group String Name of the Service Group
trips.segments.maximum_scope String Indicates the scope of the service. If the value is traveler, then user can add one service from each group for each passenger. If the value is booking, then user can add one service from each group for whole booking. If the value is null, then user can add multiple service for each passenger.

Add Services

The Add Services Entity lets us add multiple services to a flight trip or segment for a particular traveler/travelers after a booking has been made. Now, we can add multiple services. Form of payment is an optional field to add a service and required field for the EMD issue.

Add Services Request
POST /api/bookings/e0e13eb9-233a-4ba2-91de-48a2170d9983/services HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

{
    "services":
      [
        {
          "traveler_id": "6daffd37-f8eb-4055-945e-7f8aaedae729",
          "service_id": "c4d1964f-e57c-4284-9ccc-dcbf951f6666"
        }
      ],
    form_of_payment: "credit_card",
    card_details: {
      name: "Davy Jones",
      number: "5275009999993833",
      type: "master_card",
      expiry_date: "12/22",
      code: "111",
      cardholder_address": {
        street: "Some Street",
        city: "Some City",
        zip: "1337",
        country: "SE"
      }
   }
}

This API endpoint allows you to add services to a particular booking.

You may do this by sending a POST request to api/bookings/:booking_id/services.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
services Array Details of Service Requested
traveler_id UUID Traveler ID is the unique identifier of the traveler for whom this service will be booked
service_id UUID Id of the Service

form_of_payment

String Form of Payment. Welltravel Supported Payment options are cash, none, credit_card, iata. Default is cash. Please note that some supplies might only support a certain payment method, supplying otherwise will give you a HTTP 422 unprocessable entity error.
card_details ✘/✔ Object Card details, required if form_of_payment is credit_card
card_details.name String Card Holder Name
card_details.number String Credit Card Number. Please enter the number as in the card. No space or special character is allowed.
card_details.type String Credit Card Type. Possible values: visa, master_card, amex.
card_details.expiry_date String Credit Card Expiry Date. Format is: MM/YY. example: 01/19 .
card_details.code String Credit Card Code/CVV/CVC
card_details.bank_name ✘/✔ String The name of the bank.
card_details.bank_country_code ✘/✔ String The country code of the country in which the bank is located. Usually it is a two or three letters code.
card_details.cardholder_address Object Card Holder Address Details
card_details.cardholder_address.address_name String Card Holder Address Name. Like: Family Doe
card_details.cardholder_address.street String Card Holder Street Name
card_details.cardholder_address.city String Card Holder City Code
card_details.cardholder_address.state String Card Holder State Name
card_details.cardholder_address.zip String Card Holder ZIP Code or Post Code
card_details.cardholder_address.country String ISO 3166-1 alpha-2 Issuing Country Code
Add Services Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 20
X-Total-Pages: 1
X-Per-Page: 250
X-Page: 1

[
  {
    "id": "e916e086-89df-4660-88d7-24319645da95",
    "meta_identifier": null,
    "price": "140.0",
    "currency": "CHF",
    "refundable": null,
    "maximum_per_group": null,
    "group": "BG",
    "maximum_scope": "booking",
    "traveler_id": "81cfc605-2ab9-4683-8aa4-2eca00d5ba98",
    "name": "UPTO50LB 23KG AND62LI 158LCM"
  }
]
Response Parameters
Key Type Description
id UUID Id of the Service
meta_identifier UUID Unique Identifier of the service
price String The cost of the service
currency String The currency in which the service fee is being exposed
refundable String Service Fee Refundable information. If it is true, then there will be a refund
maximum_per_group String Indicates the maximum number services that can be availed per group
group String Name of the Service Group
maximum_scope String Indicates the scope of the service. If the value is traveler, then user can add one service from each group for each passenger. If the value is booking, then user can add one service from each group for whole booking. If the value is null, then user can add multiple service for each passenger.
traveler_id UUID Unique ID of a traveler
name String Name of the service.

Update Services

PATCH /api/services/05c6b485-7deb-4a4b-9bd5-eb5a30477085 HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "new_service_id": “05c6b485-7deb-4a4b-9bd5-eb5a30477081”,
  "form_of_payment": "cash",
}

This API endpoint allows you to update service of a passenger in a booking.

You may do this by sending a PATCH request to:

api/services/:service_id.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
new_service_id Array Details of Service Requested

form_of_payment

String Form of Payment. Welltravel Supported Payment options are cash, none, credit_card, iata. Default is cash. Please note that some supplies might only support a certain payment method, supplying otherwise will give you a HTTP 422 unprocessable entity error.
card_details ✘/✔ Object Card details, required if form_of_payment is credit_card
card_details.name String Card Holder Name
card_details.number String Credit Card Number. Please enter the number as in the card. No space or special character is allowed.
card_details.type String Credit Card Type. Possible values: visa, master_card, amex.
card_details.expiry_date String Credit Card Expiry Date. Format is: MM/YY. example: 01/19 .
card_details.code String Credit Card Code/CVV/CVC
card_details.bank_name ✘/✔ String The name of the bank.
card_details.bank_country_code ✘/✔ String The country code of the country in which the bank is located. Usually it is a two or three letters code.
card_details.cardholder_address Object Card Holder Address Details
card_details.cardholder_address.address_name String Card Holder Address Name. Like: Family Doe
card_details.cardholder_address.street String Card Holder Street Name
card_details.cardholder_address.city String Card Holder City Code
card_details.cardholder_address.state String Card Holder State Name
card_details.cardholder_address.zip String Card Holder ZIP Code or Post Code
card_details.cardholder_address.country String ISO 3166-1 alpha-2 Issuing Country Code
Update Service Response Parameters
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "id": "e916e086-89df-4660-88d7-24319645da95",
    "meta_identifier": null,
    "price": "140.0",
    "currency": "CHF",
    "refundable": null,
    "maximum_per_group": null,
    "group": null,
    "maximum_scope": null,
    "traveler_id": "81cfc605-2ab9-4683-8aa4-2eca00d5ba98",
    "name": "UPTO50LB 23KG AND62LI 158LCM"
  }
]
Key Type Description
id UUID Id of the Service
meta_identifier UUID Unique Identifier of the service
price String The cost of the service
currency String The currency in which the service fee is being exposed
refundable String Service Fee Refundable information. If it is true, then there will be a refund
maximum_per_group String Indicates the maximum number services that can be availed per group
group String Name of the Service Group
maximum_scope String Indicates the scope of the service. If the value is traveler, then user can add one service from each group for each passenger. If the value is booking, then user can add one service from each group for whole booking. If the value is null, then user can add multiple service for each passenger.
traveler_id UUID Unique ID of a traveler
name String Name of the service.

Delete Services

This API endpoint allows you to Delete services of a passenger in a PNR.

You may do this by sending a DELETE request to:

api/services/:service_id

DELETE /api/services/05c6b485-7deb-4a4b-9bd5-eb5a30477085 HTTP/1.1
Authorization: Bearer f26ef60fa588389d07d344ea4b0d4527da1389405250bb765e986efc89854128
Accept-Version: v1
Authorization: Bearer b34d2de5bbd5f727a0fae5d555a58fc5fc7cb44349e7a8fabc59ae54118892ec
Content-Type: text/plain; charset=utf-8
Delete Service Response

After requesting for the deletion of specific service, the service will be deleted for the traveler.

HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 81024a46-71dc-4222-b2c3-025e1c03e2b6
X-Runtime: 12.150931
Vary: Origin
Connection: close

You’ll get status 204 No Content in the response.

Form of Payment

This service allows us to create, update or delete form of payment of a booking in post booking. FOP add/ delete/ update only possible before issue a ticket.

Create Form of Payment

POST api/flight_bookings/:flight_booking_id/form_of_payments

POST api/hotel_bookings/:hotel_booking_id/form_of_payments

POST api/car_bookings/:car_booking_id/form_of_payments

This API endpoint allows us to add form of payment of a particular segment of a booking. Please check FOP Create Supported Suppliers to find out which suppliers support creation of form of payment.

Create FOP Request
POST api/flight_bookings/:flight_booking_id/form_of_payments/ HTTP/1.1
Authorization: Bearer 91153c5cf855f5e814087c6456fcfd48e5cc1f845649759f77ee02a51351a75f
Accept-Version: v1
{
  "form_of_payment": "credit_card",
  "card_details": {
    "name": "Davy Jones",
    "number": "5275009999993833",
    "type": "master_card",
    "expiry_date": "12/20",
    "code": "111",
    "cardholder_address": {
      "address_name": "Some Address",
      "street": "Some Street",
      "city": "Some City",
      "state": "Some State"
      "zip": "1337",
      "country": "SE"
    }
  }
}
POST /api/hotel_bookings/:hotel_booking_id/form_of_payments/ HTTP/1.1
Authorization: Bearer 91153c5cf855f5e814087c6456fcfd48e5cc1f845649759f77ee02a51351a75f
Accept-Version: v1
{
  "form_of_payment": "credit_card",
  "card_details": {
    "name": "Davy Jones",
    "number": "5275009999993833",
    "type": "master_card",
    "expiry_date": "12/20",
    "code": "111",
    "cardholder_address": {
      "address_name": "Some Address",
      "street": "Some Street",
      "city": "Some City",
      "state": "Some State"
      "zip": "1337",
      "country": "SE"
    }
  }
}
POST /api/car_bookings/:car_booking_id/form_of_payments/ HTTP/1.1
Authorization: Bearer 91153c5cf855f5e814087c6456fcfd48e5cc1f845649759f77ee02a51351a75f
Accept-Version: v1
{
  "form_of_payment": "credit_card",
  "card_details": {
    "name": "Davy Jones",
    "number": "5275009999993833",
    "type": "master_card",
    "expiry_date": "12/20",
    "code": "111",
    "cardholder_address": {
      "address_name": "Some Address",
      "street": "Some Street",
      "city": "Some City",
      "state": "Some State",
      "zip": "1337",
      "country": "SE"
    }
  }
}
Request Parameters
Parameter RQ Type Description
form_of_payment String Form of Payment. valid values are listed here: Supported Payment Forms
card_details ✘/✔ Object Card details, required if form_of_payment is credit_card
card_details.name String Card Holder Name
card_details.number String Credit Card Number. Please enter the number as in the card. No space or special character is allowed.
card_details.type String Credit Card Type. Possible values are listed in Supported Cards.
card_details.expiry_date String Credit Card Expiry Date. Format is: MM/YY. example: 01/19 .
card_details.code String Credit Card Code/CVV/CVC
card_details.cardholder_address Object Card Holder Address Details
card_details.cardholder_address.address_name String Card Holder Address Name. Like: Family Doe
card_details.cardholder_address.street String Card Holder Street Name
card_details.cardholder_address.city String Card Holder City Code
card_details.cardholder_address.state String Card Holder State Name
card_details.cardholder_address.zip String Card Holder ZIP Code or Post Code
card_details.cardholder_address.country String ISO 3166-1 alpha-2 Issuing Country Code
Create FOP Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 20
X-Total-Pages: 1
X-Per-Page: 250
X-Page: 1

[
  {
    "type": "credit_card",
    "details": "Davy Jones-5275009999993833-master_card-2020/12"
  }
]
Response Parameters
Key Type Description
type String Form of payment type. It can be cash / credit_card/counter.
details String Details about the form of payment.

Update Form of Payment

PATCH /api/form_of_payments/:id HTTP/1.1 This API endpoint allows you to update an existing form of payment of a particular item of a booking. Here id is the id of that particular form of payment. Please check FOP Update Supported Suppliers to find out which suppliers support form of payment update.

Update FOP Request
PATCH /api/form_of_payments/6fb5ac7b-879f-49bd-9658-f60ad81bcf62 HTTP/1.1
Authorization: Bearer 91153c5cf855f5e814087c6456fcfd48e5cc1f845649759f77ee02a51351a75f
Accept-Version: v1
{
  "form_of_payment": "credit_card",
  "card_details": {
    "name": "Davy Jones",
    "number": "5275009999993833",
    "type": "master_card",
    "expiry_date": "12/20",
    "code": "111",
    "cardholder_address": {
      "address_name": "Some Address",
      "street": "Some Street",
      "city": "Some City",
      "state": "Sone state",
      "zip": "1337",
      "country": "SE"
    }
  }
}
Request Parameters
Parameter RQ Type Description
form_of_payment String Form of Payment. valid values are listed here: Supported Payment Forms.
card_details ✘/✔ Object Card details, required if form_of_payment is credit_card
card_details.name String Card Holder Name
card_details.number String Credit Card Number. Please enter the number as in the card. No space or special character is allowed.
card_details.type String Credit Card Type. Possible values are listed in Supported Cards.
card_details.expiry_date String Credit Card Expiry Date. Format is: MM/YY. example: 01/19 .
card_details.code String Credit Card Code/CVV/CVC
card_details.cardholder_address Object Card Holder Address Details
card_details.cardholder_address.address_name String Card Holder Address Name. Like: Family Doe
card_details.cardholder_address.street String Card Holder Street Name
card_details.cardholder_address.city String Card Holder City Code
card_details.cardholder_address.state String Card Holder State Name
card_details.cardholder_address.zip String Card Holder ZIP Code or Post Code
card_details.cardholder_address.country String ISO 3166-1 alpha-2 Issuing Country Code
Update FOP Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 20
X-Total-Pages: 1
X-Per-Page: 250
X-Page: 1

[
   {
    "type": "cash",
    "details": "cash"
   },
  {
    "type": "credit_card",
    "details": "Davy Jones-5275009999993833-master_card-2020/12"
  }
]
Response Parameters
Key Type Description
type String Form of payment type. It can be cash / credit_card/ counter
details String Details about the form of payment.

Delete Form of Payment

DELETE /api/form_of_payments/:id HTTP/1.1

This API endpoint allows us to delete a form of payment of a particular booking(flight booking, hotel booking or car booking of a booking. Here id is the unique identifier of that particular form of payment. Please check FOP Delete Supported Suppliers to find out which suppliers support deletion of form of payment.

Delete FOP Request
PATCH /api/form_of_payments/6fb5ac7b-879f-49bd-9658-f60ad81bcf62 HTTP/1.1
Authorization: Bearer 91153c5cf855f5e814087c6456fcfd48e5cc1f845649759f77ee02a51351a75f
Accept-Version: v1

Delete FOP Response

We will get status 204 in response

HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 0c632a65-1017-4414-b5bf-4f24044249ab
X-Runtime: 13.006583
Vary: Origin
Server: WEBrick/1.3.1 (Ruby/2.3.6/2017-12-14)
Date: Mon, 17 Feb 2020 13:33:08 GMT
Connection: close

Supported cards

The available card types for form of payment are as follows.

Card Types
visa
visa_corporate
master_card
master_card_corporate
amex
amex_corporate
diners_club
diners_club_corporate
uatp
discover
discover_corporate
jcb

Payment Forms

Please note that some supplies might only support a certain payment method, supplying otherwise will give you a HTTP 422 unprocessable entity error.

Payment forms
cash
credit_card
iata
counter

Exchange

Flight Exchange workflow allows us to exchange a ticketed PNR with trips with different dates, booking class or origin destination. For this a PNR must be ticketed before performing this operation. This service allows us to exchange a flight booking in post booking.

  1. Search: Search & fetch flight results for exchange
  2. Quote: Confirm availability and fetch exchange information
  3. Exchange: Create a exchange

Every step is required. You can’t leave one out.

Exchange Search Flow

To create a exchange flight search, send a POST request to /api/bookings/:booking_id/exchange/flight/searches. We have to provide full trips in the request for exchange search. It will return the result ID of the created search. This ID can be used to fetch the results by sending a GET request to /api/flights/searches/:id/results.

Exchange Search Examples
  1. Request with all parameters
  2. Request with minimum parameters
Exchange Search with all parameters
POST /api/bookings/007639e4-49f8-48e4-b2a1-9c6a23431d4a/exchange/flight/searches HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1 
Content-Type: application/json; charset=utf-8

{
  "trips": [
    {
      "origin": "FRA",
      "destination": "TXL",
      "date": "2017-12-29",
      "cabin_class": "economy",
      "departure_time": "10:20"
    },
    {
      "origin": "TXL",
      "destination": "FRA",
      "date": "2017-12-30",
      "cabin_class": "economy",
      "departure_time": "15:40"
    }
  ],
  "airline_preferences": {
    "type": "exclusive",
    "carriers": ["EI"]
  }
  "flexible": true,
  "non_stop": true,
  "codes": ["EXEL"],
}

Below is a list of all available request parameters

Parameter RQ Type Description
trips Array An array of trips, supports up to 9 trips on certain suppliers. Please check your supplier specific details.
trips.origin String The origin for this trip. It is a 3 letter code. IATA airport code
trips.destination String The destination for this trip. It is a 3 letter IATA airport code
trips.date String Date of the trip, in ISO-8601 format
trips.cabin_class String The cabin class for this trip
trips.departure_time String The starting departure time for this trip. Value should be between 00:01 to 23:59
airline_preferences Object A hash of all preferred Airline Carrier Codes
airline_preferences.type String Type of airline preferences. Possible values are exclusive and preferred. If you want to get results from only mentioned carrier code(s), you should choose exclusive as type otherwise it is advised to choose preferred.
airline_preferences.carriers Array An Array of carrier Code of Preferences. Two-character IATA-assigned code that identifies a carrier on arrival/departure signs, baggage tags, Global Distribution System (GDS), tickets, etc. Usually it is an alpha code (such as AI for Air India, EI for Air Lingus, and WN for Southwest Airlines) but sometimes it is alphanumeric (such as F9 for Frontier Airlines, 7Z for Laker Airlines, and 5X United Parcel Service). For more information Carrier Code. For example, TP
flexible Boolean Flexible of search dates. Please check your supplier specific details.
non_stop Boolean true for only non-stop flight. false for all flights.
codes Array An array of corporate codes.
Exchange Search with Minimum Parameters

This is an example for possible minimum request you can do in our system.

POST /api/bookings/007639e4-49f8-48e4-b2a1-9c6a23431d4a/exchange/flight/searches HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1 
Content-Type: application/json; charset=utf-8

{
  "trips": [
    {
      "origin": "FRA",
      "destination": "TXL",
      "date": "2018-10-29",
      "cabin_class": "economy"
    }
  ],
}
Search Response

After creating the search the system will return an UUID which points to the search that you just created. You need to use this UUID in order to fetch the results returned in the search.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "d51d7770-3046-414a-81e8-2a148414a6db"
}
Parameter Type Description
id UUID The unique id of the search, use it to fetch the results
Fetch Search Results

Use the id from the search response to fetch the results. This endpoint supports pagination.

GET /api/flights/searches/d51d7770-3046-414a-81e8-2a148414a6db/results?page=1&per_page=50&order_by=segment_count&order_direction=asc HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1 
Request Parameters
Parameter Required Description
order_by Order the results by departure, arrival, duration, segment_count or total_price, default: total_price
order_direction Order the results ascending (asc) or descending (desc), default: asc
include_duplicates Whether to include or exclude duplication result. Default is false
Response Parameters
HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 935
X-Total-Pages: 935
X-Per-Page: 1
X-Page: 1
X-Next-Page: 2

[
  {
    "id": "3537a351-076a-45b1-97d8-a7e354d58f8c",
    "source": { "supplier": "galileo", "account": "ACT2", "currency": "USD" },
    "fare_calculations": [
      { "passenger_type": "adult", "price": "100.0", "currency": "EUR" },
      { "passenger_type": "child", "price": "80.0", "currency": "EUR" },
      { "passenger_type": "infant", "price": "10.0", "currency": "EUR" }
    ],
    "pricing": {
      "flight_price": {
        "recommended_selling_price": { "amount": "190.0", "currency": "USD" },
        "purchase_price": { "amount": null, "currency": "USD" },
        "source": { "amount": null, "currency": null }
      },
      "tax": {
        "amount": "103.3",
        "currency": "USD",
        "source": { "amount": null, "currency": null }
      },
      "total_price": {
        "recommended_selling_price": { "amount": "293.3", "currency": "USD" },
        "purchase_price": { "amount": null, "currency": "USD" },
        "source": { "amount": null, "currency": null }
      }
    },
    "refundable": false,
    "penalties": {
      "change": { "amount": null, "currency": null },
      "cancel": { "amount": null, "currency": null }
    },
    "apis_data_required": "none",
    "reservation_manageable": true,
    "free_cancellation_duration_in_minutes": 4290,
    "trips": [
      {
        "ticket_selling_carrier_code": "AB",
        "trip_duration_in_minutes": 70,
        "origin_code": "FRA",
        "origin_timezone": "Europe/Berlin",
        "destination_timezone": "Europe/Berlin",
        "departure_localtime": "2017-12-29T15:00:00",
        "arrival_localtime": "2017-12-29T16:10:00",
        "destination_offset_in_days": 0,
        "destination_code": "TXL",
        "stopover_count": 0,
        "segments": [
          {
            "origin_code": "FRA",
            "origin_terminal": "2",
            "origin_timezone": "Europe/Berlin",
            "destination_code": "TXL",
            "destination_terminal": null,
            "destination_timezone": "Europe/Berlin",
            "departure_localtime": "2017-12-29T15:00:00",
            "arrival_localtime": "2017-12-29T16:10:00",
            "operating_carrier_code": "AB",
            "operating_flight_number": "6588",
            "aircraft_operated_by": "AB",
            "marketing_carrier_code": "AB",
            "marketing_flight_number": "6588",
            "aircraft_type": "320",
            "booking_class": "W",
            "flight_duration_in_minutes": 70,
            "catering": [],
            "cabin_class": "economy",
            "technical_stop_count": 0,
            "air_miles": null,
            "wifi": {
              "available": true,
              "packages": [
                { "amount": "10.0", "currency": "EUR", "volume_in_mbyte": 10 },
                { "amount": "14.0", "currency": "EUR", "volume_in_mbyte": 15 },
                { "amount": "90.0", "currency": "EUR", "volume_in_mbyte": 100 }
              ]
            },
            "on_time_in_percentage": 99.8,
            "baggage_pieces_included": { "count": 0, "kg_per_piece": null },
            "fare": { "brand": "ECONOMY LIGHT", "basis_code": "WNY05RT", "type": "published" }
          }
        ]
      },
      {
        "ticket_selling_carrier_code": "AB",
        "trip_duration_in_minutes": 75,
        "origin_code": "TXL",
        "origin_timezone": "Europe/Berlin",
        "destination_timezone": "Europe/Berlin",
        "departure_localtime": "2017-12-30T13:05:00",
        "arrival_localtime": "2017-12-30T14:20:00",
        "destination_offset_in_days": 0,
        "destination_code": "FRA",
        "stopover_count": 0,
        "segments": [
          {
            "origin_code": "TXL",
            "origin_terminal": null,
            "origin_timezone": "Europe/Berlin",
            "destination_code": "FRA",
            "destination_terminal": "2",
            "destination_timezone": "Europe/Berlin",
            "departure_localtime": "2017-12-30T13:05:00",
            "arrival_localtime": "2017-12-30T14:20:00",
            "operating_carrier_code": "AB",
            "operating_flight_number": "6585",
            "aircraft_operated_by": "AB",
            "marketing_carrier_code": "AB",
            "marketing_flight_number": "6585",
            "aircraft_type": "320",
            "booking_class": "W",
            "flight_duration_in_minutes": 75,
            "catering": [],
            "cabin_class": "economy",
            "technical_stop_count": 0,
            "air_miles": null,
            "wifi": { "available": null, "packages": null },
            "on_time_in_percentage": null,
            "baggage_pieces_included": { "count": 1, "kg_per_piece": 23 },
            "fare": { "brand": "ECONOMY LIGHT", "basis_code": "WNY05RT", "type": "published" }
          }
        ]
      }
    ]
  },
]
Key Type Description
id UUID The unique id of the search result, used for Select and Reserve
source Object Information about the source of the result
source.supplier String The supplier on which this result has been found
source.account String The account on which the result has been found
source.currency String The currency of the result returned from the supplier
fare_calculations Array Describes how the flight price (not the total price) has been calculated for ONE passenger
fare_calculations.passenger_type String Type of passenger. Example: adult , child or infant
fare_calculations.price String Price for one passenger for the specific type to make reservation
fare_calculations.currency String The currency in which the price is displayed
pricing Object Detailed Pricing Information
pricing.flight_price Object Detailed Flight Price Information
pricing.flight_price.recommended_selling_price Object Detailed information about the price of the room we recommend to use as selling price
pricing.flight_price.recommended_selling_price.amount String The price of the room/rooms we recommend to use as selling price
pricing.flight_price.recommended_selling_price.currency String The currency of the price of the room we recommend to use as selling price
pricing.flight_price.purchase_price Object Detailed information about the price of the trip you will have to pay
pricing.flight_price.purchase_price.amount String The price of the journey you will have to pay
pricing.flight_price.purchase_price.currency String The currency of the price of the trip you will have to pay
pricing.flight_price.source Object Detailed information about the price of the journey you will have to pay for the default currency of the IPCC
pricing.flight_price.source.amount String The price of the journey you will have to pay
pricing.flight_price.source.currency String Default currency in which the pricing is being exposed
pricing.tax Object Tax related Information
pricing.tax.amount String the amount of tax to be paid
pricing.tax.currency String Currency in which the tax has been exposed
pricing.tax.source Object Tax in IPCC’s default currency related information
pricing.tax.source.amount String The tax you have to pay in terms of default currency
pricing.tax.source.currency String Default Currency of the IPCC
pricing.total_price Object Information related to the total price of the Flight
pricing.total_price.recommended_selling_price Object Information related to the total price of the trip including tax we recommend you to use as selling price
pricing.total_price.recommended_selling_price.amount String The total price of the result we recommend you to use as selling price
pricing.total_price.recommended_selling_price.currency String Currency in which the pricing has been exposed
pricing.total_price.purchase_price Object Detailed information about the total purchase price
pricing.total_price.purchase_price.amount String The price of the journey including tax you will have to pay
pricing.total_price.purchase_price.currency String Currency in which the pricing has been exposed
pricing.total_price.source Object Detailed information about the total price of the journey you will have to pay for the default currency of the IPCC
pricing.total_price.source.amount String The total price of the journey you will have to pay for the default currency of the IPCC
pricing.total_price.source.currency String Default currency in which the pricing is being exposed
refundable Boolean Booking Refund Information
penalties Object The detailed information about penalties for cancelling the booking
penalties.change Object The information about the penalty for changing the flight booking. It can be changing the dates, destinations, or times.
penalties.change.amount String The penalty fee for changing the flight booking
penalties.change.currency String The currency in which the penalty fee is being exposed
penalties.cancel Object The information about the penalty for cancelling the flight booking
penalties.cancel.amount String Cancellation fee
penalties.cancel.currency String The currency in which the cancellation fee is being exposed
apis_data_required String Exposes if advanced passer information has to be required, see APIS data for more details
reservation_manageable Boolean Marks if it is possible to modify a reservation of this result from our API
fare_rule Boolean Marks if fare rules available or not for this flight.
free_cancellation_duration_in_minutes Integer Total duration of the time for free cancellation of the flight in minutes. For example, 75
trips Array All the trip information about the flight
trips.ticket_selling_carrier_code String Carrier Code of the ticket for the trip. It is two letter code. For example, BA
trips.trip_duration_in_minutes Integer Total duration of the flight trip expressed in minutes. For example, 75
trips.origin_code String The airport code of the origin of the trip. For example, for a flight from Madrid to NewYork, the origin code will be MAD
trips.origin_timezone String The timezone of the place where the flight trip will take off. For example, Europe/Berlin
trips.destination_timezone String The timezone of the place where the flight trip will land. For example, Europe/Berlin
trips.departure_localtime String The local time of the airport at the time of departure
trips.arrival_localtime String The local time of the airport at the time of arrival
trips.destination_offset_in_days Integer The number of days required to reach the destination
trips.destination_code String The airport code of the destination of the trip. For example, for a flight from Madrid to NewYork, the origin code will be JFK
trips.stopover_count Integer The number of stopovers for the whole trip
trips.segments String Information about the segments of the trip
trips.segments.origin_code String The origin airport code for the segment
trips.segments.origin_timezone String The local timezone of the origin airport of the segment
trips.segments.destination_code String The airport code of the destination for this segment
trips.segments.destination_timezone String The timezone of the destination airport
trips.segments.departure_localtime String The local time of the airport at the time of departure for this segment
trips.segments.arrival_localtime String The local time of the airport at the time of arrival
trips.segments.operating_carrier_code String Operating Carrier Code refers to the identifier used in flight schedule, generally the two-character IATA airline designator code
trips.segments.operating_flight_number String Refers to the identifier used in flight schedule, flight number of the operating carrier
trips.segments.aircraft_operated_by String Refer to the identifier for the aircraft operated by the operating carrier
trips.segments.marketing_carrier_code String Refers to the ticket selling carrier
trips.segments.aircraft_type String Type of the aircraft for this trip segment.
trips.segments.booking_class String Indicates Travel Class. Usually the first letter of the fare basis code. For example, ‘O’
trips.segments.flight_duration_in_minutes Integer Total duration of the flight trip expressed in minutes. For example, 75
trips.segments.catering Array The kind of catering that will be offered on this flight, see catering for more details
trips.segments.cabin_class String Refers to the quality of the cabin for this trip segment.See Cabin Class for more details
trips.segments.technical_stop_count Integer The number of technical stop will be taken by the aircraft. A technical stop most commonly used to refuel the aircraft, to make unexpected essential repairs or to respond to some emergency need to land the aircraft. No traffic is unloaded or loaded during a technical stop.
trips.segments.air_miles String A nautical mile used as a measure of distance flown by aircraft.
trips.segments.wifi Object Information related to the wifi connection for this trip segment
trips.segments.wifi.available Boolean The availability of wifi
trips.segments.wifi.packages Array Details about the wifi packages of this airline
trips.segments.wifi_packages.amount String The cost of the wifi package
trips.segments.wifi_packages.currency String The currency in which the cost of wifi package has ben exposed
trips.segments.wifi_packages.volume_in_mbyte String The volume in megabyte of wifi package is included
trips.segments.on_time_in_percentage String The percentage of punctuality of this flight of this trip segment
trips.segments.baggage_pieces_included Object The default included baggage, if not specified differently
trips.segments.baggage_pieces_included.count Integer The count of included baggage pieces
trips.segments.baggage_pieces_included.kg_per_piece Integer The weight allowed for the included baggage piece
trips.segments.fare String Information related to fare
trips.segments.fare.brand String The brand of the fare. For example, ECONOMY LIGHT
trips.segments.fare.basis_code String A fare basis code is an alphabetic or alpha-numeric code used by airlines to identify a fare type and allow airline staff and travel agents to find the rules applicable to that fare. For example, WNY05RT
trips.segments.fare.type String The fare type, see fare type for more details

Exchange Quote

This API endpoint allows you to get details about exchanging the existing flight booking with a particular flight from exchange search results.

You may do this by sending a GET request to api/bookings/:booking_id/exchange/flight/results/:result_id/quote.

Exchange Quote Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 20
X-Total-Pages: 1
X-Per-Page: 250
X-Page: 1
  {
    "booking_id": "007639e4-49f8-48e4-b2a1-9c6a23431d4a",
    "result_id": "94bbe4fc-9ebe-4b2b-b3b2-baec2663bd19",
    "quote_id": "4b91a9de-cd24-4dda-97e4-406c50b8571b",
    "supplier": "lh_group",
    "account": "ACT5",
    "passengers": {
      "adults": 1,
      "children": 0,
      "infants": 0
    },
    "pricing": {
      "flight_price": {
        "recommended_selling_price": {
          "amount": "61.0",
          "currency": "CHF"
        },
        "purchase_price": {
          "amount": null,
          "currency": null
        },
        "source": {
          "amount": "61.0",
          "currency": "CHF"
        }
      },
      "tax": {
        "amount": "44.0",
        "currency": "CHF",
        "source": {
          "amount": "44.0",
          "currency": "CHF"
        }
      },
      "total_price_without_penalty": {
        "recommended_selling_price": {
          "amount": "105.0",
          "currency": "CHF"
        },
        "purchase_price": {
          "amount": null,
          "currency": null
        },
        "source": {
          "amount": "105.0",
          "currency": "CHF"
        }
      },
      "penalty": {
        "amount": "80.0",
        "currency": "CHF"
      },
      "total_price_with_penalty": {
        "recommended_selling_price": {
          "amount": "185.0",
          "currency": "CHF"
        },
        "purchase_price": {
          "amount": null,
          "currency": null
        },
        "source": {
          "amount": "185.0",
          "currency": "CHF"
        }
      },
      "already_paid_amount": {
        "amount": null,
        "currency": null
      },
      "payable_amount": {
        "amount": null,
        "currency": null
      }
    },
    "trips": [
      {
        "origin": "ZRH",
        "destination": "LHR",
        "departure_localtime": "2020-07-26T15:30:00",
        "arrival_localtime": "2020-07-26T16:20:00",
        "segments": [
          {
            "origin": "ZRH",
            "destination": "LHR",
            "departure_localtime": "2020-07-26T15:30:00",
            "arrival_localtime": "2020-07-26T16:20:00",
            "operating_flight_number": "324",
            "operating_carrier_code": "LX",
            "marketing_flight_number": "324",
            "marketing_carrier_code": "LX"
          }
        ]
      }
    ],
Response Parameters
Key Type Description
booking_id UUID Unique ID for the booking
result_id UUID Unique ID for the search result
quote_id UUID Unique ID for the exchange
supplier String Supplier name
account String Account used for booking
passengers Object Passenger count information
passengers.adults Integer Number of adults
passengers.children Integer Number of children
passengers.infants Integer Number of infants
pricing Object Detailed Pricing Information
pricing.flight_price Object Detailed Flight Price Information
pricing.flight_price.recommended_selling_price Object Detailed information about the price of the flight we recommend to use as selling price
pricing.flight_price.recommended_selling_price.amount String The price of the flight we recommend to use as selling price
pricing.flight_price.recommended_selling_price.currency String The currency of the price of the flight we recommend to use as selling price
pricing.flight_price.purchase_price Object Detailed information about the price of the trip you will have to pay
pricing.flight_price.purchase_price.amount String The price of the journey you will have to pay
pricing.flight_price.purchase_price.currency String The currency of the price of the trip you will have to pay
pricing.flight_price.source Object Detailed information about the price of the journey you will have to pay for the default currency of the IPCC
pricing.flight_price.source.amount String The price of the journey you will have to pay
pricing.flight_price.source.currency String Default currency in which the pricing is being exposed
pricing.tax Object Tax related Information
pricing.tax.amount String the amount of tax to be paid
pricing.tax.currency String Currency in which the tax has been exposed
pricing.tax.source Object Tax in IPCC’s default currency related information
pricing.tax.source.amount String The tax you have to pay in terms of default currency
pricing.tax.source.currency String Default Currency of the IPCC
pricing.total_price_without_penalty Object Information related to the total price of the Flight without penalty for exchange
pricing.total_price_without_penalty.recommended_selling_price Object Information related to the total price of the trip including tax without penalty we recommend you to use as selling price
pricing.total_price_without_penalty.recommended_selling_price.amount String The total price without penalty of the result we recommend you to use as selling price
pricing.total_price_without_penalty.recommended_selling_price.currency String Currency in which the pricing has been exposed
pricing.total_price_without_penalty.purchase_price Object Detailed information about the total purchase price without penalty
pricing.total_price_without_penalty.purchase_price.amount String The price of the journey including tax you will have to pay without penalty
pricing.total_price_without_penalty.purchase_price.currency String Currency in which the pricing has been exposed
pricing.total_price_without_penalty.source Object Detailed information about the total price of the journey you will have to pay without penalty for the default currency of the IPCC
pricing.total_price_without_penalty.source.amount String The total price of the journey you will have to pay without penalty for the default currency of the IPCC
pricing.total_price_without_penalty.source.currency String Default currency in which the pricing is being exposed
pricing.penalty Object Detailed information about the penalty for exchange
pricing.penalty.amount String The amount of penalty for exchange
pricing.penalty.currency String The currency of penalty for exchange
pricing.total_price_with_penalty Object Information related to the total price of the Flight with penalty for exchange
pricing.total_price_with_penalty.recommended_selling_price Object Information related to the total price of the trip including tax with penalty we recommend you to use as selling price
pricing.total_price_with_penalty.recommended_selling_price.amount String The total price with penalty of the result we recommend you to use as selling price
pricing.total_price_with_penalty.recommended_selling_price.currency String Currency in which the pricing has been exposed
pricing.total_price_with_penalty.purchase_price Object Detailed information about the total purchase price with penalty
pricing.total_price_with_penalty.purchase_price.amount String The price of the journey including tax you will have to pay with penalty
pricing.total_price_with_penalty.purchase_price.currency String Currency in which the pricing has been exposed
pricing.total_price_with_penalty.source Object Detailed information about the total price of the journey you will have to pay with penalty for the default currency of the IPCC
pricing.total_price_with_penalty.source.amount String The total price of the journey you will have to pay with penalty for the default currency of the IPCC
pricing.total_price_with_penalty.source.currency String Default currency in which the pricing is being exposed
pricing.already_paid_amount Object Detailed information about the amount already paid
pricing.already_paid_amount.amount String The total price already paid
pricing.already_paid_amount.currency String Currency of the price already paid
pricing.payable_amount Object Detailed information about payment amount requirement
pricing.payable_amount.amount String The total additional price need to pay
pricing.payable_amount.currency String Currency of the additional price
trips Array Information about trips for the exchanged booking
trips.origin String Origin of the trips
trips.destination String Destination of the trips
trips.departure_localtime String The local time of the airport at the time of departure for this trip
trips.arrival_localtime String The local time of the airport at the time of arrival for this trip
trips.segments Array Information about trip segment of the trips
trips.segments.origin String Origin airport code for the trip segment
trips.segments.destination String Destination airport code for the trip segment
trips.segments.departure_localtime String The local time of the airport at the time of departure for this segment
trips.segments.arrival_localtime String The local time of the airport at the time of arrival for this segment
trips.segments.operating_flight_number String Refers to the identifier used in flight schedule, flight number of the operating carrier
trips.segments.operating_carrier_code String Operating Carrier Code refers to the identifier used in flight schedule, generally the two-character IATA airline designator code
trips.segments.marketing_flight_number String Refers to the identifier used in flight schedule, flight number of the marketing carrier
trips.segments.marketing_carrier_code String Refers to the ticket selling carrier

Exchange

Finally, to perform the exchange, send a PATCH request to /api/bookings/:booking_id. It returns the details of exchanged booking.

PATCH /api/bookings/:booking_id HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1 

{
  "quote_id": "8b19c5c1-e26b-428b-a655-1c2d01cb0e31",
  "form_of_payment": "credit_card",
  "card_details":
     {
        "name": "Davy Jones",
        "number": "5275009999993833",
        "type": "master_card",
        "expiry_date": "12/20",
        "code": "111",
        "cardholder_address":
           {
              "street": "Some Street",
              "city": "Some City",
              "zip": "1337",
              "country": "SE"
           }
     }
  }
Request Parameters
Parameter Required Description
quote_id quote_id got from exchange quote API

form_of_payment

String
card_details ✘/✔ Object
card_details.name String
card_details.number String
card_details.type String
card_details.expiry_date String
card_details.code String
card_details.bank_name ✘/✔ String
card_details.bank_country_code ✘/✔ String
card_details.cardholder_address Object
card_details.cardholder_address.address_name String
card_details.cardholder_address.street String
card_details.cardholder_address.city String
card_details.cardholder_address.state String
card_details.cardholder_address.zip String
card_details.cardholder_address.country String
Response
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "ABC123",
  "supplier": "galileo",
  "account": "ACT1",
  "creator": "ACT1",
  "created_at": "2017-03-01T11:31:31.176+00:00",
  "travelers": [
    {
      "id": "K1JBNmNCRGhUNjZJQnFQN2xxTTgzQT09",
      "type": "adult",
      "name_prefix": "mr",
      "first_name": "Peter",
      "middle_name": null,
      "last_name": "Smith",
      "seats" : [
        {
          "segment_id": "941d987f-186d-492e-8be4-0189a89916b0",
          "row": 26,
          "column": "J",
          "amount": "51.0",
          "currency": "EUR"
        }
      ],
      "services":
        {
          "id": "service_1_id",
          "type": "ABAG",
          "text": "Paid Associated Baggage",
          "amount": "150.0",
          "currency": "EUR",
          "segment_ids": ["9676aaef-e76e-4110-b339-30c9e6d835ff"],
          "hotel_ids": ["9535322c-f543-4179-87eb-d9fd740c98ce"],
          "car_ids": ["b03a0940-b650-4a13-a5df-57ec22e03119"],
          "ssr_code": "ABAG",
          "description": "UPTO50LB 23KG AND62LI 158LCM",
          "description_human": "Additional bag up to 23 kilogramm",
          "service_type": "Baggage",
          "category": "bag",
          "image_urls":
                {
                  "small": "/media/W1siZiIsIjIwMTcvMDEvMTYvOThxM3N2ejZjNV9wdWcuanBnIl1d?sha=87535f0efb7bc55e",
                  "medium": "/media/W1siZiIsIjIwMTcvMDEvMTYvMzNrNjg3MnMzNV9wdWcuanBnIl1d?sha=86400b5e1115a328",
                  "large": "/media/W1siZiIsIjIwMTcvMDEvMTYvMThrcXNiYzg0Zl9wdWcuanBnIl1d?sha=3d4e705297aba62a",
                },
              "refundable_until": nil,
            }
      "frequent_flyer_number": [],
      "phone_numbers": [
        { "type": null, "number": "0041435508800" }
      ],
      "email_addresses": [],
      "postal_addresses": []
    }
  ],
  "flight_bookings": [
    {
      "id": "TENRNFhE",
      "ticket_selling_carrier_code": "BA",
      "apis_data_required": "none",
      "flight_pricing": {
        "flight_price": {
          "recommended_selling_price": { "amount": "52.0", "currency": "EUR" },
          "purchase_price": { "amount": null, "currency": "EUR" },
          "source": { "amount": "55.0", "currency": "CHF" }
        },
        "tax": {
          "amount": "32.79",
          "currency": "EUR",
          "source": { "amount": null, "currency": null }
        },
        "total_price": {
          "recommended_selling_price": { "amount": "84.79", "currency": "EUR" },
          "purchase_price": { "amount": null, "currency": "EUR" },
          "source": { "amount": "90.54", "currency": "CHF" }
        }
      },
      "refundable": null,
      "penalties": {
        "change": { "amount": null, "currency": null },
        "cancel": { "amount": null, "currency": null }
      },
      "segments": [
        {
          "id": "9e1df0e1-44cd-4e7b-8e01-19659ce0be46",
          "status": "confirmed",
          "origin_code": "ZRH",
          "origin_terminal": null,
          "origin_timezone": "Europe/Zurich",
          "destination_code": "LCY",
          "destination_terminal": null,
          "destination_timezone": "Europe/London",
          "departure_localtime": "2017-05-15T10:05",
          "arrival_localtime": "2017-05-15T10:45",
          "operating_carrier_code": "BA",
          "operating_flight_number": "8764",
          "aircraft_operated_by": "BA",
          "marketing_carrier_code": "BA",
          "marketing_flight_number": "8764",
          "aircraft_type": "E70",
          "booking_class": "O",
          "flight_duration_in_minutes": 100,
          "catering": [],
          "technical_stop_count": 0,
          "air_miles": "478",
          "cabin_class": "economy",
          "wifi_packages": [],
          "on_time_in_percentage": null,
          "baggage_pieces_included": { "count": 1, "kg_per_piece": "23" },
          "fare": { "brand": null, "basis_code": "OV2CO", "type": "published" },
          "carrier": { "reservation_id": "POPOM9", "eticket_id": null }
        }
      ]
    }
  ],
  "train_bookings": [],
  "hotel_bookings": [
    {
     "id": "8dc144ce-74ca-4526-8eb9-4569457de0ec",
     "status": "pending",
      "accomodation_id": null,
      "pricing": {
        "room_rate": {
          "total": {
            "recommended_selling_price": { "amount": "106.0",  "currency": "USD" },
            "purchase_price": { "amount": null, "currency": "USD" },
            "source": { "amount": "106.0", "currency": null }
          },
          "per_night": [
            {
              "date": "2018-10-10",
              "recommended_selling_price": { "amount": "106.0", "currency": "USD" },
              "purchase_price": { "amount": null,  "currency": "USD" },
              "source": {  "amount": "106.0", "currency": "USD" }
            }
          ]
        },
        "taxes": {
          "amount": null,
          "currency": "USD",
          "source": { "amount": null, "currency": null },
          "details": []
        },
        "total_price": {
          "recommended_selling_price": { "amount": "106.0",  "currency": "USD" },
          "purchase_price": { "amount": null, "currency": "USD" },
          "source": { "amount": "106.0", "currency": null }
        }
      },
      "name": "La Quinta Inn and Suites LAX",
      "code": "92447",
      "address": {
        "street": "5249 West Century Blvd.",
        "city": "Los Angeles",
        "state": null,
        "zip": "USA",
        "country": "US"
      },
      "longitude": "-118.37261",
      "latitude": "33.9456",
      "stars": null,
      "rating": "3",
      "rating_source": "galileo",
      "description": "\u003cp\u003eOverview\u003cbr\u003eConveniently located less than a mile from one of the world\u0026#39;s busiest airports and within five miles of Manhattan Beach, the ten-story La Quinta Inn \u0026amp; Suites LAX is a welcoming oasis for travel weary guests. The spacious guest rooms and suites feature convenient amenities like free wireless high-speed Internet access and premium cable TV channels. The hotel also features an outdoor swimming pool as well as an on-site restaurant and cocktail lounge.\u003cbr\u003e\u003cbr\u003eLocation\u003cbr\u003eThe hotel is conveniently located less than a mile from LAX Airport and within five miles of Manhattan Beach. Hollywood, Beverly Hills, and downtown Los Angeles are also easily accessible via the 405. Universal Studios is less than 14 miles away, while Disneyland is a short 27-mile drive from the hotel. \u003cbr\u003e\u003cbr\u003eRooms\u003cbr\u003eThe spacious guest rooms and suites feature convenient amenities pillow-top mattresses, like free wireless high-speed Internet access, a coffee maker, free local calls, voicemail, and premium cable TV channels. \u003cbr\u003e\u003cbr\u003eFeatures\u003cbr\u003eThis full-service hotel features an outdoor pool with sundeck, fitness center, and meeting/banquet facilities for up to 300 guests. Wireless high-speed Internet access is available throughout the hotel as well. \u003cbr\u003e\u003cbr\u003eFood \u0026amp; Drink\u003cbr\u003eThe onsite Restaurant serves American cuisine.\u003cbr\u003e\u003cbr\u003eTourist information\u003cbr\u003e3.4 km ti Los Angeles International Airport LAX\u003cbr\u003e22.4 km to Universal Studios\u003cbr\u003e43.2 km to Disneyland\u003c/p\u003e\u003cbr\u003e",
      "hotel_facilities": {
        "meals_included": "none",
        "airport_shuttle": {
          "pick_up": null,
          "drop_off": null
        },
        "wifi": null,
        "others": [
          "bar",
          "wired_internet",
          "restaurant",
          "gym_fitness_centre",
          "laundry_facilities",
          "indoor_pool",
          "telephone",
          "television",
          "car_parking",
          "iron_facilities",
          "electric_kettle",
          "meeting_room_facilities",
          "travel_agency_facilities"
        ],
        "conditions": []
      },
      "picture_url": "http://ivectortestadmin.jactravel.com/Content/DataObjects/ThirdPartyProperty/Image/ext398/image_397191_v1.jpg",
      "room_types": [
        {
          "no_of_rooms": 1,
          "type": "King Double",
          "description": null
        }
      ],
      "check_in": "2018-10-10",
      "check_out": "2018-10-11",
      "nights": 1
    },
  ],
  "car_bookings": [
    {
      "id": "51642f29-69ee-4dcb-8654-0412b62fa9af",
      "status": 'waitlisted',
      "pricing": {
        "rate": {
          "per_day": {
            "recommended_selling_price": {
              "amount": null,
              "currency": "USD"
            },
            "purchase_price": {
              "amount": null,
              "currency": "USD"
            },
            "source": {
              "amount": null,
              "currency": "USD"
            }
          },
          "total": {
            "recommended_selling_price": {
              "amount": "28.92",
              "currency": "USD"
            },
            "purchase_price": {
              "amount": null,
              "currency": "USD"
            },
            "source": {
              "amount": null,
              "currency": null
            }
          }
        },
        "tax": {
          "amount": null,
          "currency": "USD",
          "source": {
            "amount": null,
            "currency": "USD"
          },
          "details": []
        },
        "total_price": {
          "recommended_selling_price": {
            "amount": "28.92",
            "currency": "USD"
          },
          "purchase_price": {
            "amount": null,
            "currency": "USD"
          },
          "source": {
            "amount": null,
            "currency": null
          }
        }
      },
      "refundable": null,
      "company_code": "ZI",
      "car_code": "Mini",
      "pick_up": {
        "location": "10 12 SEMLEY PLACE, LONDON VICTORIA,",
        "latitude": "51.49198",
        "longitude": "-.14977",
        "is_airport": false,
        "localtime": "2019-06-16T15:00:00"
      },
      "drop_off": {
        "location": "10 12 SEMLEY PLACE, LONDON VICTORIA,",
        "latitude": "51.49198",
        "longitude": "-.14977",
        "is_airport": false,
        "localtime": "2019-06-18T15:00:00"
      },
      "days": 2
    }
  ],
  "comments": [],
  "post_booking_services": {
    "cancel_booking": true,
    "add_seat": false,
    "queue": {
      "place": true,
      "remove": true
    },
    "add_remarks": {
      "general": false,
      "accounting": true
    },
    "add_services": {
      "associated": false,
      "standalone": false
    },
    "update_travelers": {
      "first_name": false,
      "last_name": false,
      "phone_number": false,
      "email_address": false,
      "postal_address": false
    },
    "ticket_issuance": {
      "required": false,
      "issued_at": "2020-01-20T12:17:00+00:00",
      "until": null
    },
    "emd": {
      "supported": false,
      "required": false,
      "available": false,
      "possible_until": null,
      "style": "unavailable"
    },
    "refund": {
      "supported": true,
      "available": true,
      "possible_until": "2020-03-16T19:20:00.000+00:00",
      "style": "with_quote"
    },
    "exchange": {
      "supported": false,
      "available": false,
      "possible_until": null,
      "style": "unavailable"
    },
    "ticket_void": {
      "supported": true,
      "available": true,
      "possible_until": "2020-01-20T23:59:00+00:00"
    },
    "form_of_payment": {
      "add": {
         "9e1df0e1-44cd-4e7b-8e01-19659ce0be46": true,
          "8dc144ce-74ca-4526-8eb9-4569457de0ec": false,
          "51642f29-69ee-4dcb-8654-0412b62fa9af": true,
       },
       "update": {
          "9e1df0e1-44cd-4e7b-8e01-19659ce0be46": false,
           "8dc144ce-74ca-4526-8eb9-4569457de0ec": true,
           "51642f29-69ee-4dcb-8654-0412b62fa9af": true,
        },
        "delete": {}
      }
  }
}
Attribute Description
id The ID of a Booking
booking_id Unique ID for the booking
version Version of the booking
supplier Supplier name
account Account used for booking
creator Username used by the agency
created_at Timestamp when booking was created
travelers Detailed information about the travelers
travelers.id Unique ID of a traveler
travelers.type The type of this traveler, see Traveler Type for more details
travelers.name_prefix Name prefix of the traveler. Example mr
travelers.first_name First Name of the traveler. Example: John
travelers.middle_name Middle Name of the driver. Example: Ahmed
travelers.last_name Last Name of the driver. Example: Kabir
travelers.ticket_number Travelers ticket number
travelers.seats Seat Reservation Information about the Traveler
travelers.seats.segment_id Segment Identifier of the Reserved Seat
travelers.seats.row Row Number of the Reserved Seat
travelers.seats.column Column Number of the Reserved Seat
travelers.seats.amount Price of the seat. For free seat, it will be 0.0. For no seat price provided by the supplier, it will be nil.
travelers.seats.currency Currency of the Price of the seat
travelers.services Service Information about the Traveler
travelers.services.id Service Identifier
travelers.services.type Type of the service
travelers.services.text Description of the service from the supplier
travelers.services.amount Price of the service
travelers.services.currency Currency of the Price of the services
travelers.services.segment_ids An Array containing all the segments identifiers related to the service
travelers.services.hotel_ids Hotel Reservation Information of the Traveler. It contains the hotel segments identifiers
travelers.services.car_ids Vehicle Reservation Information of the Traveler. It contains the vehicle segments identifiers
travelers.services.ssr_code Special Service Request (SSR) code of the service.A Special Service Request (SSR) is a message sent directly to suppliers to communicate traveler preferences, special services needed by a traveler, or of a procedural requirement necessary of the carrier. SSRs include information such as meal preference or special assistance required the traveler. In addition, the SSR can send an alert message back to the agency or travel provider. SSRs can originate with the travel provider asking for service from the carrier or from the carrier asking for information (like a ticket number) from the travel provider. Each SSR uses a four-character IATA code that specifies the type of service requested. These codes and their recommended use are pre-defined by IATA, however, not all suppliers or providers support the use of all SSR codes.
travelers.services.description Description of the service as given by the supplier
travelers.services.description_human Human readable description of the service
travelers.services.service_type Type of the service. For example, Pets, Baggage etc.
travelers.services.category Category of the service
travelers.services.image_urls Holds the URLs to different sizes of the main image. See Images.
travelers.services.refundable_until The date up to which the service can be cancelled free of cost
travelers.frequent_flyer_number Frequent flyer number of traveler
travelers.phone_numbers Traveler’s phone number details
travelers.phone_numbers.id Unique ID of traveler’s phone number
travelers.phone_numbers.type Type of the phone number
travelers.phone_numbers.number Traveler’s phone number
travelers.email_addresses Traveler’s email address
travelers.email_addresses.id Unique ID of traveler’s phone number
travelers.email_addresses.type Type of the phone number
travelers.email_addresses.address Traveler’s phone number
travelers.postal_addresses Details about traveler’s postal code
travelers.postal_addresses.id Unique ID of traveler’s postal code
travelers.postal_addresses.type Travelers postal code types
travelers.postal_addresses.lines Travelers postal code lines
flight_bookings Detailed information about the flight booking
flight_bookings.id Unique ID for flight booking
flight_bookings.ticket_selling_carrier_code Ticket selling carrier code for the booking flight
flight_bookings.apis_data_required Exposes if advanced passer information has to be required, see APIS Data for mor details
flight_bookings.flight_pricing All the information about the cost of the flight
flight_bookings.flight_pricing.flight_price Information related to the price of the the flight
flight_bookings.flight_pricing.flight_price.recommended_selling_price Information about the price of the journey we recommend to use as selling price
flight_bookings.flight_pricing.flight_price.recommended_selling_price.amount The price of the journey we recommend to use as selling price without tax
flight_bookings.flight_pricing.flight_price.recommended_selling_price.currency The currency in which the price of the journey we recommend to use as selling price
flight_bookings.flight_pricing.flight_price.purchase_price Detailed information about the price of the journey you will have to pay
flight_bookings.flight_pricing.flight_price.purchase_price.amount The price of the journey you will have to pay with tax
flight_bookings.flight_pricing.flight_price.purchase_price.currency The currency in which the price of the journey you will have to pay
flight_bookings.flight_pricing.flight_price.source The price of the journey you will have to pay in the IPCC’s default currency
flight_bookings.flight_pricing.flight_price.source.amount The price of the journey you will have to pay in the IPCC’s default currency
flight_bookings.flight_pricing.flight_price.source.currency The currency in which the price of the journey you will have to pay
flight_bookings.flight_pricing.tax Tax Related Information
flight_bookings.flight_pricing.tax.amount The amount of tax you have to pay
flight_bookings.flight_pricing.tax.currency The currency in which the tax is being exposed
flight_bookings.flight_pricing.tax.source Tax Related Information in the IPCC’s default currency
flight_bookings.flight_pricing.tax.source.amount The amount of tax you have to pay in the IPCC’s default currency
flight_bookings.flight_pricing.tax.source.currency The currency in which the tax is being exposed
flight_bookings.flight_pricing.details An Array containing the tax break down of total tax amount
flight_bookings.flight_pricing.details.code Tax Code representing the tax category.It is unique two-lettered code in all caps.
flight_bookings.flight_pricing.details.amount The tax amount for the tax category
flight_bookings.flight_pricing.details.currency The currency of the tax amount
flight_bookings.flight_pricing.details.description Human Readable Description of the tax code representing the tax category as given by the supplier
flight_bookings.flight_pricing.total_price.recommended_selling_price The total price of the flight we recommend you to use as selling price without tax i.e gross price of the flight
flight_bookings.flight_pricing.total_price.recommended_selling_price.amount The price of the journey we recommend to use as selling price without tax
flight_bookings.flight_pricing.total_price.recommended_selling_price.currency The currency in which the price of the journey we recommend to use as selling price
flight_bookings.flight_pricing.total_price.purchase_price The total net price of the flight you will have to pay
flight_bookings.flight_pricing.total_price.purchase_price.amount The price of the journey you will have to pay with tax
flight_bookings.flight_pricing.total_price.purchase_price.currency The currency in which the price of the journey you will have to pay
flight_bookings.refundable Refundable is possible or not. If value is true then possible and if false refundable is not possible.
flight_bookings.segments Detailed information about flight segment
flight_bookings.segments.status Booking Status. Possible values are: confirmed, unconfirmed, pending, closed, not_processed, new, denied, canceled, no_need_status, duplicate, waitlisted, unknown and null
flight_bookings.segments.catering The information about the catering services on this flight segment, see Catering for more details
flight_bookings.penalties Penalty related information of the flight
flight_bookings.segments.cabin_class The cabin class of this trip, see Cabin Class for more details
flight_bookings.segments.fare.type The fare type, see Fare Type for more details
train_bookings Detailed information about the train booking
hotel_bookings.id Unique ID for hotel bookings
hotel_bookings.status Booking Status. Possible values are: confirmed, closed, unconfirmed, pending, not_processed, new, denied, canceled, no_need_status, duplicate, waitlisted, unknown and null
hotel_bookings.accomodation_id Accommodation ID fo the hotel
hotel_bookings.pricing Detailed information of hotel booking pricing
hotel_bookings.room_rate Room Rate Pricing Information
hotel_bookings.room_rate.total Rate for Room for all nights
hotel_bookings.room_rate.per_night Rate for Room as per night basis
hotel_bookings.taxes Tax Related Information
hotel_bookings.total_price.recommended_selling_price Total Recommended Selling Price
hotel_bookings.total_price.purchase_price Total Purchase Price
hotel_bookings.total_price.source Total Source Price
hotel_bookings.name Name of the hotel
hotel_bookings.code The unique code to identify the hotel i.e Hotel Code
hotel_bookings.address The address of the hotel
hotel_bookings.address.street The name of the street of the hotel location
hotel_bookings.address.city The name of the city of the hotel location
hotel_bookings.address.state State name of the hotel
hotel_bookings.address.zip Zip code of the hotel
hotel_bookings.address.country Country code of the hotel
hotel_bookings.longitude Longitude of the hotel
hotel_bookings.latitude Latitude of the hotel
hotel_bookings.stars Star rating system is a system aims to rate hotels based on the quality and amount of amenities it provides its customers.
hotel_bookings.rating Rating of the hotel
hotel_bookings.rating_source Rating source
hotel_bookings.description Description of the hotel property
hotel_bookings.hotel_facilities Detailed facilities provided by the hotel
hotel_bookings.hotel_facilities.meals_included The list of meals that are complimentary with the hotel booking. See Board Type for details for details
hotel_bookings.hotel_facilities.airport_shuttle Detailed information about airport shuttle facility
hotel_bookings.hotel_facilities.airport_shuttle.pick_up Airport pickup information. See Hotel Facility Availabilities for the details
hotel_bookings.hotel_facilities.airport_shuttle.drop_off Airport drop-off information. See Hotel Facility Availabilities for the details
hotel_bookings.hotel_facilities.wifi Wifi related information. See Hotel Facility Availabilities for the details
hotel_bookings.hotel_facilities.others Others facilities provided by this hotel. See Hotel Facilities for details
hotel_bookings.hotel_facilities.condition Conditions for this hotel. See Hotel Conditions for details
hotel_bookings.picture_urls Picture URLs of the Specific Hotel
hotel_bookings.room_types Detailed information about the particular type of room
hotel_bookings.room_types.no_of_rooms Number of rooms of the same room type
hotel_bookings.room_types.description Description of a particular room type
hotel_bookings.check_in Check in time as per hotel policy. Value could be anything from 00:00 to 23:59 or full_day_check_in
hotel_bookings.check_out Check out time as per hotel policy. Value could be anything from 00:00 to 23:59
hotel_bookings.nights Total number of nights to stay in the hotel
car_bookings Details about the car booking
car_bookings.id Unique ID for car bookings
car_bookings.status Booking Status. Possible values are: confirmed, closed, unconfirmed, pending, not_processed, new, denied, canceled, no_need_status, duplicate, waitlisted, unknown and null
car_bookings.pricing Detailed information of hotel booking pricing
car_bookings.rate Car Rental Rate Pricing Information
car_bookings.rate.per_day Car Rental Rate Pricing Per Day Details
car_bookings.rate.per_day.recommended_selling_pric Information about the cost of car rental we recommend to use as selling price per day
car_bookings.rate.per_day.recommended_selling_price.amount Recommended Car Rental Cost Per Day
car_bookings.rate.per_day.recommended_selling_price.currency Currency of the recommended car rental cost per day
car_bookings.rate.per_day.purchase_price Detailed information about the car rental cost you will have to pay per day
car_bookings.rate.per_day.purchase_price.amount The car rental price with tax per day
car_bookings.rate.per_day.purchase_price.currency The currency of the car rental price with tax per day
car_bookings.rate.per_day.source Detailed information about the car rental cost you will have to pay per day in the IPCC’s default currency
car_bookings.rate.per_day.source.amount The car rental price per day in the IPCC’s default currency
car_bookings.rate.per_day.source.currency The currency of the car rental price per day in the IPCC’s default currency
car_bookings.rate.total Total Car Rental Rate Pricing Details
car_bookings.rate.total.recommended_selling_price Information about the total cost of car rental we recommend to use as selling price
car_bookings.rate.total.recommended_selling_price.amount Recommended Total Car Rental Cost
car_bookings.rate.total.recommended_selling_price.currency Currency of the total recommended car rental cost
car_bookings.rate.total.purchase_price Detailed information about the total car rental cost you will have to pay
car_bookings.rate.total.purchase_price.amount The total car rental price with tax
car_bookings.rate.total.purchase_price.currency The currency of the car rental price with tax per day
car_bookings.rate.total.source Detailed information about the total car rental cost you will have to pay in the IPCC’s default currency
car_bookings.rate.total.source.amount The total car rental price in the IPCC’s default currency
car_bookings.rate.total.source.currency The IPCC’s default currency
car_bookings.tax Tax Related Information
car_bookings.tax.amount Tax amount
car_bookings.tax.currency Currency of the Tax amount
car_bookings.tax.source Tax Related Information in the IPCC’s default currency
car_bookings.tax.source.amount Tax amount in the IPCC’s default currency
car_bookings.tax.source.currency The IPCC’s default currency
car_bookings.total_price.recommended_selling_price Total Recommended Selling Price
car_bookings.total_price.recommended_selling_price.amount Total amount we recommended as selling price
car_bookings.total_price.recommended_selling_price.currency Currency of the Total Recommended Selling Price
car_bookings.total_price.purchase_price Details about total Price of car rental you actually have to pay
car_bookings.total_price.purchase_price.amount Total Price of car rental you actually have to pay
car_bookings.total_price.purchase_price.currency Currency of the Total Purchase Price
car_bookings.total_price.source Information about total price in the IPCC’s default currency
car_bookings.total_price.source.amount Total Price in the IPCC’s default currency
car_bookings.total_price.source.currency IPCC’s default currency
car_bookings.refundable Indicator of whether the car booking is refundable or not. If true, it is refundable otherwise it is non-refundable. If it is null, then there is no information about refund. See Possible Values for more details.
car_bookings.company_code The unique code to identify the car company i.e Company Code
car_bookings.car_code The unique code to identify the car i.e Car Code
car_bookings.pick_up Pick Up related information
car_bookings.pick_up.location Pick Up Location
car_bookings.pick_up.latitude Latitude of the pickup location in Decimal Degree(DD) format
car_bookings.pick_up.longitude Longitude of the pickup location in Decimal Degree(DD) format
car_bookings.pick_up.is_airport Returns true or false if the pick-up location is airport or not. See Possible Values for more details.
car_bookings.pick_up.localtime Pick Up Time and Date
car_bookings.drop_off Drop off related information
car_bookings.drop_off.location Drop off Location
car_bookings.drop_off.latitude Latitude of the drop-off location in Decimal Degree(DD) format
car_bookings.drop_off.longitude Longitude of the drop-off location in Decimal Degree(DD) format
car_bookings.drop_off.is_airport Returns true or false if the drop-off location is airport or not. See Possible Values for more details.
car_bookings.drop_off.localtime Drop off Time and Date
car_bookings.days The number of days for which the car is being rented
post_booking_services Details about the post booking services supported by Welltravel.
post_booking_services.cancel_booking Specifies whether the booking can be cancelled or not by Welltravel. See Possible Values for more details.
post_booking_services.add_seat Specifies whether seat can be added to a PNR in the post booking is supported by Welltravel for the PNR. See Possible Values for more details.
post_booking_services.queue Details about whether placing or removing a PNR into/from a queue in the post booking is supported by Welltravel or not for the PNR.
post_booking_services.queue.place Specifies whether placing a PNR into a queue in the post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.queue.remove Specifies whether removing a PNR from a queue in the post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.add_remarks Details about whether remarks can be added to a PNR in post booking is supported by Welltravel or not for the PNR.
post_booking_services.add_remarks.general Specifies about whether general remark can be added to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.add_remarks.accounting Specifies about whether accounting remarks can be added to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.add_services Ancillary Services are optional services that a passenger can purchase in combination with an airline ticket. All the information about whether ancillary services can be added to a PNR in post booking is supported by Welltravel or not for the PNR.
post_booking_services.add_services.associated An associated service is issued for the collection of miscellaneous charges and excess baggage charges. For example, sports equipment, pets in cabin or animal in hold, excess baggage, and so on. Specifies whether associated ancillary services of the booking can be added to a PNR in post booking is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.add_services.standalone A standalone service is issued for a residual value or the collection of miscellaneous charges that are not lifted with an e-ticket coupon. For example vouchers, group deposits, change fees, and so on. Standalone Services are other ancillary services that can be purchased within or not within a flight reservation. For example lounge access or a promotional item (t-shirt, mug, etc). Specifies whether standalone ancillary services can be added to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.update_travelers Details about whether the traveler details in post booking services can be updated is supported by Welltravel or not.
post_booking_services.update_travelers.first_name Specifies whether first name of the travelers can be updated. See Possible Values for more details.
post_booking_services.update_travelers.last_name Specifies whether last name of the travelers can be updated. See Possible Values for more details.
post_booking_services.update_travelers.phone_number Specifies whether phone number of the travelers can be updated. See Possible Values for more details.
post_booking_services.update_travelers.email_address Specifies whether email address of the travelers can be updated. See Possible Values for more details.
post_booking_services.update_travelers.postal_address Specifies whether postal address of the travelers can be updated. See Possible Values for more details.
post_booking_services.ticket_issuance Detailed information about the ticket issuance
post_booking_services.ticket_issuance.required Ticket issuance is required or not. See Possible Values for more details.
post_booking_services.ticket_issuance.issued_at Timestamp when ticket issuance was done
post_booking_services.ticket_issuance.until Ticket issuance is possible until this date
post_booking_services.emd Details about whether the traveler can issue an EMD is supported by Welltravel or not.
post_booking_services.emd.supported Specifies whether issuance of EMD is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.emd.required Specifies whether it is mandatory to issue the EMD. See Possible Values for more details.
post_booking_services.emd.available Specifies whether the EMD is already issued or not. See Possible Values for more details.
post_booking_services.emd.possible_until The date until which EMD issuance is possible for the booking
post_booking_services.emd.style Specifies whether the EMD can be issued with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Style for more details
post_booking_services.refund Details about whether the booking can be refunded is supported by Welltravel or not.
post_booking_services.refund.supported Specifies whether refund of booking is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.refund.required Specifies whether it is mandatory to refund the booking for cancellation. See Possible Values for more details.
post_booking_services.refund.available Specifies whether the booking is already refunded or not. See Possible Values for more details.
post_booking_services.refund.possible_until The date until which refund is possible for the booking
post_booking_services.refund.style Specifies whether the booking fee can be refunded with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Style for more details.
post_booking_services.exchange Details about whether the flight(s) can be exchanged in post booking is supported by Welltravel or not.
post_booking_services.exchange.supported Specifies whether flight(s) exchange is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.exchange.available Specifies whether the ticket is already exchanged or not. See Possible Values for more details.
post_booking_services.exchange.possible_until The date until which exchange is possible for the flight(s)
post_booking_services.exchange.style Specifies whether the flight can be exchanged with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Style for more details.
post_booking_services.ticket_void Voiding any ticket means invalidating the ticket. Usually, a ticket can be voided within 24 hours of document issuance, however, the period during which a ticket can be voided may vary. The period of time during which a void can occur is handled by the provider. Details about whether the flight ticket can be voided in post booking is supported by Welltravel or not.
post_booking_services.ticket_void.supported Specifies whether voiding ticket is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.ticket_void.available Specifies whether the ticket is already voided or not. See Possible Values for more details.
post_booking_services.ticket_void.possible_until The date until which voiding ticket is possible for the booking
post_booking_services.ticket_void.style Specifies whether the ticket can be voided with or without issuing ticket and if no information is available regarding the matter the value will be unavailable. See Style for more details
post_booking_services.form_of_payment Details about whether add, update and delete of form of payment of the booking in the post booking is supported by Welltravel or not.
post_booking_services.form_of_payment.add Specifies whether a form of payment can be added to the booking. It is possible to add a form of payment to the booking, only if it is not cancelled or issued, or the operation is supported by the supplier. It is a hash containing all the supported add form of payment information for each booking. See Possible Values for more details.
post_booking_services.form_of_payment.update Specifies whether a form of payment of the booking can be updated. It is possible to update the form of payment to the booking, only if it exists and the booking is not cancelled or issued or the operation is supported by the supplier. It is a hash containing all the supported update form of payment information for each booking. See Possible Values for more details.
post_booking_services.form_of_payment.delete Specifies whether a form of payment of the booking can be deleted. It is possible to delete the form of payment of a booking, only if it exists, and the booking is not cancelled, or issued, or the delete operation is supported by the supplier. It is a hash containing all the supported add form of payment information for each booking. See Possible Values for more details. .

Phone Number

This service provides the functionality to add, update and delete phone numbers to a passenger in a PNR in Post Booking.

Add Phone Number

POST /api/travelers/05c6b485-7deb-4a4b-9bd5-eb5a30477085/phone_number HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "type": "mobile",
  "number": "41444396031"
}

This API endpoint allows you to add a phone number to a passenger in a PNR.

You may do this by sending a POST request to:

api/travelers/:traveler_id/phone_number.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
type String The types of phone number. See the types
number String Phone Number
Add Phone Number Response
HTTP/1.1 201 Created
Content-Type: application/json
ETag: W/"f446d2939ceb13f39c9ccb30b328be76"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: d28f96e5-a6ed-491c-bf46-c87218bab138
X-Runtime: 4.966928
Vary: Origin
Connection: close
Content-Length: 87


{
  "id": "f9db15a7-b6f8-4595-88c4-5fb733e00c78",
  "type": "mobile",
  "number": "41444396031",
  "traveler_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085",
  "booking_id": "32df1773-1b94-4484-9a77-d3b12e7abf88",
}

Response Parameters Type Description
id UUID Id of the added phone number
type String Type of the phone number
number String Phone number
traveler_id UUID Id of the corresponding traveler
booking_id UUID Id of the corresponding booking

Update Phone Number

PATCH api/phone_numbers/12c87c10-fc2c-4e2e-bc5d-7a5a08af441c HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

{
  "type": "mobile",
  "number": "41444396022"
}

This API endpoint allows you to update a phone number to a passenger in a PNR.

You may do this by sending a PATCH request to:

api/phone_numbers/:phone_numbers_id.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
type String The types of phone number. See the types
number String Phone Number
Update Phone Number Response
HTTP/1.1 200 OK
Content-Type: application/json


{
  "id": "f9db15a7-b6f8-4595-88c4-5fb733e00c78",
  "type": "mobile",
  "number": "41444396022",
  "traveler_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085",
  "booking_id": "32df1773-1b94-4484-9a77-d3b12e7abf88",
}

Response Parameters Type Description
id UUID Id of the added phone number
type String Type of the phone number
number String Phone number
traveler_id UUID Id of the corresponding traveler
booking_id UUID Id of the corresponding booking

Delete Phone Number

This API endpoint allows you to Delete a phone number to a passenger in a PNR.

You may do this by sending a DELETE request to:

/api/phone_number/:phone_number_id

DELETE /api/phone_number/56df59e8-c7b1-4110-aa23-859cc62cc7df HTTP/1.1
Authorization: Bearer f26ef60fa588389d07d344ea4b0d4527da1389405250bb765e986efc89854128
Accept-Version: v1
Authorization: Bearer b34d2de5bbd5f727a0fae5d555a58fc5fc7cb44349e7a8fabc59ae54118892ec
Content-Type: text/plain; charset=utf-8
Delete Phone Number Response

After requesting for the deletion of specific phone number, the phone number will be deleted for the traveler.

HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 81024a46-71dc-4222-b2c3-025e1c03e2b6
X-Runtime: 12.150931
Vary: Origin
Connection: close

You’ll get status 204 No Content in the response.

Email

This service provides the functionality to add, update and delete email to a passenger in a PNR in Post Booking.

Add Email

POST /api/travelers/05c6b485-7deb-4a4b-9bd5-eb5a30477085/email_address HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "type": "home",
  "email": "imtiaz@welltravel.com"
}

This API endpoint allows you to add an email to a passenger in a PNR.

You may do this by sending a POST request to:

api/travelers/:traveler_id/email_address.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
type String The types of email. See the types
email String Email
Add Email Response
HTTP/1.1 201 Created
Content-Type: application/json
ETag: W/"f446d2939ceb13f39c9ccb30b328be76"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: d28f96e5-a6ed-491c-bf46-c87218bab138
X-Runtime: 4.966928
Vary: Origin
Connection: close
Content-Length: 87


{
  "id": "f9db15a7-b6f8-4595-88c4-5fb733e00c78",
  "type": "home",
  "address": "imtiaz@welltravel.com",
  "traveler_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085",
  "booking_id": "32df1773-1b94-4484-9a77-d3b12e7abf88",
}

Response Parameters Type Description
id UUID Id of the added email
type String Type of the email
address String Email address
traveler_id UUID Id of the corresponding traveler
booking_id UUID Id of the corresponding booking

Update Email

PATCH api/email_addresses/12c87c10-fc2c-4e2e-bc5d-7a5a08af441c HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

{
  "type": "home",
  "email": "imtiaz@welltravel.com"
}

This API endpoint allows you to update an email of a passenger in a PNR.

You may do this by sending a PATCH request to:

api/email_addresses/:email_address_id.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
type String The types of email. See the types
email String Email
Update Email address Response
HTTP/1.1 200 OK
Content-Type: application/json


{
  "id": "f9db15a7-b6f8-4595-88c4-5fb733e00c78",
  "type": "home",
  "address": "imtiaz@welltravel.com",
  "traveler_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085",
  "booking_id": "32df1773-1b94-4484-9a77-d3b12e7abf88",
}

Response Parameters Type Description
id UUID Id of the added email
type String Type of the email
address String Email address
traveler_id UUID Id of the corresponding traveler
booking_id UUID Id of the corresponding booking

Delete Email

This API endpoint allows you to Delete an email of a passenger in a PNR.

You may do this by sending a DELETE request to:

/api/email_addresses/:email_address_id

DELETE /api/email_addresses/56df59e8-c7b1-4110-aa23-859cc62cc7df HTTP/1.1
Authorization: Bearer f26ef60fa588389d07d344ea4b0d4527da1389405250bb765e986efc89854128
Accept-Version: v1
Authorization: Bearer b34d2de5bbd5f727a0fae5d555a58fc5fc7cb44349e7a8fabc59ae54118892ec
Content-Type: text/plain; charset=utf-8
Delete Email Address Response

After requesting for the deletion of specific email address, the email address will be deleted for the traveler.

HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 81024a46-71dc-4222-b2c3-025e1c03e2b6
X-Runtime: 12.150931
Vary: Origin
Connection: close

You’ll get status 204 No Content in the response.

Document

This service provides the functionality to add update and delete documents of a passenger in a PNR in Post Booking.

Add Document

POST /api/travelers/05c6b485-7deb-4a4b-9bd5-eb5a30477085/documents HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "type": "passport",
  "number": "BE123456",
  "issuing_country": "CE",
  "nationality": "CH",
  "validity": "2024-10-25",
}

This API endpoint allows you to add a document to a passenger in a PNR.

You may do this by sending a POST request to:

api/travelers/:traveler_id/documents.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
type String The types of document. See different types
number String Document Number depending on the type of the document. So for passport, it’ll be passport number, for NID, it’ll be NID number etc.
issuing_country String Issuing Country Code of the Document
nationality String Nationality of the passenger issuing the document
validity String The Date up to which the Document is valid. Format: YYYY-MM-DD. The document must be valid up to the time the ticket is valid or active.
Add Document Response
HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "f9db15a7-b6f8-4595-88c4-5fb733e00c78",
  "type": "passport",
  "number": "BE123456",
  "issuing_country_code": "CE",
  "nationality": "CH",
  "validity": "2024-10-25",
  "traveler_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085",
  "booking_id": "32df1773-1b94-4484-9a77-d3b12e7abf88",
}

Response Parameters Type Description
id UUID Id of the added document
type String Type of the document.
number String Document Number depending on the type of the document.
issuing_country_code String Issuing Country Code of the document
nationality String Nationality of the passenger issuing the document
validity String The Date up to which the Document is valid.
traveler_id UUID Id of the corresponding traveler
booking_id UUID Id of the corresponding booking

Update Document

PATCH /api/documents/05c6b485-7deb-4a4b-9bd5-eb5a30477085 HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "type": "passport",
  "number": "BE123456",
  "issuing_country": "CE",
  "nationality": "CH",
  "validity": "2024-10-25",
}

This API endpoint allows you to update a document to a passenger in a PNR.

You may do this by sending a PATCH request to:

api/documents/:document_id.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
type String The types of document. See different types
number String Document Number depending on the type of the document. So for passport, it’ll be passport number, for NID, it’ll be NID number etc.
issuing_country String Issuing Country Code of the Document
nationality String Nationality of the passenger issuing the document
validity String The Date up to which the Document is valid. Format: YYYY-MM-DD
Update Document Response
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "f9db15a7-b6f8-4595-88c4-5fb733e00c78",
  "type": "passport",
  "number": "BE123456",
  "issuing_country_code": "CE",
  "nationality": "CH",
  "validity": "2024-10-25",
  "traveler_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085",
  "booking_id": "32df1773-1b94-4484-9a77-d3b12e7abf88",
}

Response Parameters Type Description
id UUID Id of the added document
type String Type of the document.
number String Document Number
issuing_country_code String Issuing Country Code of the document
nationality String Nationality of the passenger issuing the document
validity String The Date up to which the Document is valid.
traveler_id UUID Id of the corresponding traveler
booking_id UUID Id of the corresponding booking

Delete Document

This API endpoint allows you to Delete document of a passenger in a PNR.

You may do this by sending a DELETE request to:

/api/documents/:document_id

DELETE /api/documents/56df59e8-c7b1-4110-aa23-859cc62cc7df HTTP/1.1
Authorization: Bearer f26ef60fa588389d07d344ea4b0d4527da1389405250bb765e986efc89854128
Accept-Version: v1
Authorization: Bearer b34d2de5bbd5f727a0fae5d555a58fc5fc7cb44349e7a8fabc59ae54118892ec
Content-Type: text/plain; charset=utf-8
Delete Document Response

After requesting for the deletion of specific document, the document will be deleted for the traveler.

HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 81024a46-71dc-4222-b2c3-025e1c03e2b6
X-Runtime: 12.150931
Vary: Origin
Connection: close

You’ll get status 204 No Content in the response.

Postal Address

This service provides the functionality to add, update and delete the postal address of a passenger in a PNR in Post Booking.

Add Postal Address

POST /api/travelers/05c6b485-7deb-4a4b-9bd5-eb5a30477085/postal_addresses HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "type": "residence",
  "contact_name": "Jane Doe",
  "street": "87 Clark Street",
  "city": "New York",
  "zip": "10013",
  "state": "NY",
  "country": "US",
}

This API endpoint allows you to add a postal address to a passenger in a PNR.

You may do this by sending a POST request to:

api/travelers/:traveler_id/postal_addresses.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
type String The types of address. See different types
contact_name String Name of the Contact Person.
street String Name of the street
city String Full name of the City
zip String Zip code of the postal address
state String State of the postal address especially for US address.
country String Country code of the address
Add Postal Address Response
HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "f9db15a7-b6f8-4595-88c4-5fb733e00c78",
  "type": "residence",
  "line_1": "87 Clark Street",
  "line_2": null,
  "zip_code": "10013",
  "city": "New York",
  "country_code": "US",
  "state": "NY",
  "traveler_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085",
  "booking_id": "32df1773-1b94-4484-9a77-d3b12e7abf88",
}

Response Parameters Type Description
id UUID Id of the added postal address
type String Type of the postal address.
line_1 String details info of the address
line_2 String details info of the address
zip_code String Zip code of the postal address
city String City of the postal address
state String State of the postal address
country_code String Country Code of the postal address
traveler_id UUID Id of the corresponding traveler
booking_id UUID Id of the corresponding booking

Update Postal Address

PATCH /api/postal_addresses/05c6b485-7deb-4a4b-9bd5-eb5a30477085 HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "type": "residence",
  "street": "Schaffhauserstrasse 4",
  "city": "Winterthur",
  "zip": "8400",
  "country": "CH",
}

This API endpoint allows you to update a postal address to a passenger in a PNR.

You may do this by sending a PATCH request to:

api/postal_addresses/:postal_address_id.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
type String The types of address. See different types
contact_name String Name of the Contact Person.
street String Name of the street
city String Full name of the City
zip String Zip code of the postal address
state String State of the postal address especially for US address.
country String Country code of the address
Update Postal Address Response
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "f9db15a7-b6f8-4595-88c4-5fb733e00c79",
  "type": "residence",
  "line_1": "Schaffhauserstrasse 4",
  "line_2": "Winterthur",
  "zip_code": "8400",
  "city": "Winterthur",
  "state": null,
  "country_code": "CH",
  "traveler_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085",
  "booking_id": "32df1773-1b94-4484-9a77-d3b12e7abf88",
}

Response Parameters Type Description
id UUID Id of the added postal address
type String Type of the postal address.
line_1 String details info of the address
line_2 String details info of the address
zip_code String Zip code of the postal address
city String City of the postal address
state String State of the postal address
country_code String Country of the postal address
traveler_id UUID Id of the corresponding traveler
booking_id UUID Id of the corresponding booking

Delete Postal Address

This API endpoint allows you to Delete postal address of a passenger in a PNR.

You may do this by sending a DELETE request to:

api/postal_addresses/:postal_address_id

DELETE /api/postal_addresses/56df59e8-c7b1-4110-aa23-859cc62cc7df HTTP/1.1
Authorization: Bearer f26ef60fa588389d07d344ea4b0d4527da1389405250bb765e986efc89854128
Accept-Version: v1
Authorization: Bearer b34d2de5bbd5f727a0fae5d555a58fc5fc7cb44349e7a8fabc59ae54118892ec
Content-Type: text/plain; charset=utf-8
Delete Postal Address Response

After requesting the deletion of a specific postal address, the postal address will be deleted for the traveler.

HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 81024a46-71dc-4222-b2c3-025e1c03e2b6
X-Runtime: 12.150931
Vary: Origin
Connection: close

You’ll get status 204 No Content in the response.

Meal Request

This service provides the functionality to add, update and delete meal requests of a passenger in a PNR in Post Booking.

Add Meal Request

POST /api/travelers/05c6b485-7deb-4a4b-9bd5-eb5a30477085/meal_requests HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "meals": [
    {
      "segment_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477081",
      "code": "AVML",
    },
  ],
}

This API endpoint allows you to add meal to a passenger in a PNR.

You may do this by sending a POST request to:

api/travelers/:traveler_id/meal_requests.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
meals Array The array of requested meals with segment details
meals.segment_id UUID Flight Segment Id in which you want to add the meal to
meals.code String IATA Meal code. List of Meal code
Add Meal Response
HTTP/1.1 201 Created
Content-Type: application/json

[
  {
    "code": "AVML",
    "traveler_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085"
  }
]

Response Parameters Type Description
Array An array with Details of the Meal
code String Meal Code
traveler_id UUID Id of Traveler for whom the meal is added to

Update Meal Request

PATCH /api/travelers/05c6b485-7deb-4a4b-9bd5-eb5a30477085/meal_requests HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "segment_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085",
  "codes": ["AVML"'],
  "new_codes": ["KSML"],
}

This API endpoint allows you to update meal to a passenger in a PNR.

You may do this by sending a PATCH request to:

api/travelers/:traveler_id/meal_requests.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
segment_id UUID Segment for which you want to update the meal
codes Array Added IATA meal codes. List of Meal code
new_codes Array New IATA meal codes which you want to update to. List of Meal code
Update Meal Response
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "code": "KSML",
    "traveler_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085"
  }
]

Response Parameters Type Description
Array An array with Details of the Meal
code String Meal Code
traveler_id UUID Id of Traveler for whom the meal is added to

Delete Meal Request

This API endpoint allows you to Delete meal of a passenger in a PNR.

You may do this by sending a DELETE request to:

api/travelers/:traveler_id/meal_requests?segment_id=segment_id&codes[]=meal_code_1&codes[]=meal_code_2

DELETE /api/travelers/05c6b485-7deb-4a4b-9bd5-eb5a30477085/meal_requests?segment_id=05c6b485-7deb-4a4b-9bd5-eb5a30477012&codes[]=AVML HTTP/1.1
Authorization: Bearer f26ef60fa588389d07d344ea4b0d4527da1389405250bb765e986efc89854128
Accept-Version: v1
Authorization: Bearer b34d2de5bbd5f727a0fae5d555a58fc5fc7cb44349e7a8fabc59ae54118892ec
Content-Type: text/plain; charset=utf-8
Delete Meal Code Response

After requesting the deletion of specific meal code, the meal code will be deleted for the traveler in the specific flight segment.

HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 81024a46-71dc-4222-b2c3-025e1c03e2b6
X-Runtime: 12.150931
Vary: Origin
Connection: close

You’ll get status 204 No Content in the response.

Assistance Request

This service provides the functionality to add, update and delete assistance requests for a passenger in a PNR in Post Booking.

Add Assistance Request

POST /api/travelers/05c6b485-7deb-4a4b-9bd5-eb5a30477085/assistance_requests HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "assistances": [
    {
      "code": "WCHR",
      "text": "Wheelchair",
    },
  ],
}

This API endpoint allows you to add assistance request for a passenger in a PNR.

You may do this by sending a POST request to:

api/travelers/:traveler_id/assistance_requests.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
assistances Array The array of requested assistance
assistances.code String IATA codes for assistance request. Supported codes
assistances.text String Free text which you want send along with the assistance request
Add Assistance Request Response
HTTP/1.1 201 Created
Content-Type: application/json

[
  {
    "code": "WCHR",
    "traveler_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085"
  }
]

Response Parameters Type Description
Array An array with Details of the Assistance Requests
code String Assistance Request Code
traveler_id UUID Id of Traveler for whom the assistance request is added to

Update Assistance Request

PATCH /api/travelers/05c6b485-7deb-4a4b-9bd5-eb5a30477085/assistance_requests HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "codes": ["WCHR"'],
  "new_assistances": [
    {
      "code": "BLND",
      "text": "Need assistance while boarding"
    }
  ],
}

This API endpoint allows you to update assistance request of a passenger in a PNR.

You may do this by sending a PATCH request to:

api/travelers/:traveler_id/assistance_requests.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
codes Array Assistance request codes that you want to change
new_assistances Array An array of updated assistance requests that you want to update to
new_assistances.code String The code of the new assistance request
new_assistances.text String Free texts
Update Assistance Request Response
HTTP/1.1 200 OK
Content-Type: application/json

[
  {
    "code": "BLND",
    "traveler_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085"
  }
]

Response Parameters Type Description
Array An array with Details of the Assistance Request
code String Assistance Request Code
traveler_id UUID Id of Traveler for whom the assistance request is added to

Delete Assistance Request

This API endpoint allows you to Delete assistance request of a passenger in a PNR.

You may do this by sending a DELETE request to:

api/travelers/:traveler_id/assistance_requests?codes[]=:assistance_code

DELETE /api/travelers/05c6b485-7deb-4a4b-9bd5-eb5a30477085/assistance_requests?codes[]=WCHR HTTP/1.1
Authorization: Bearer f26ef60fa588389d07d344ea4b0d4527da1389405250bb765e986efc89854128
Accept-Version: v1
Authorization: Bearer b34d2de5bbd5f727a0fae5d555a58fc5fc7cb44349e7a8fabc59ae54118892ec
Content-Type: text/plain; charset=utf-8
Delete Assistance Request Response

After requesting for the deletion of specific assistance request, the assistance request will be deleted for the traveler.

HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 81024a46-71dc-4222-b2c3-025e1c03e2b6
X-Runtime: 12.150931
Vary: Origin
Connection: close

You’ll get status 204 No Content in the response.

Remarks

This service provides the functionality to add update and delete remarks in Post Booking..

Add General Remarks

POST api/bookings/e9a2ea62-8d81-484e-a377-88784390bb03/general_remarks HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "remarks": [
    {
      "type": "basic",
      "content": "Free Text",
    },
  ],
}

This API endpoint allows you to add general remarks in a PNR.

You may do this by sending a POST request to:

api/bookings/:booking_id/general_remarks.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
remarks Array The array of remarks
remarks.type String Type of general remarks. Supported Types
remarks.content String Free texts that you want to send.
Add General Remark Response
HTTP/1.1 201 Created
Content-Type: application/json

[
  {
    "id": "11d94bc9-477d-44cd-b5e3-9e7b96f6c368"
    "type": "basic",
    "text": "Free Text"
  }
]

Response Parameters Type Description
Array An array with Details of the remarks
id UUID Id of the remarks
type String Type of the remarks
text String Free texts

Add Accounting Remarks

POST api/lh_group/ACT8/bookings/55739f6a-70e6-4a8c-a0af-0884e1ec200f/accounting_remarks HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "type": "accounting remarks",
  "content": "Free Text",
}

This API endpoint allows you to add accounting remarks in a PNR.

You may do this by sending a POST request to:

api/:backend/:account_identifier/bookings/:id/accounting_remarks.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
type String Type of accounting remarks. List of supporting remarks
content String Free texts that you want to send.
Add Accounting Remark Response
HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "11d94bc9-477d-44cd-b5e3-9e7b96f6c368"
  "type": "accounting remarks",
  "text": "Free Text"
}

Response Parameters Type Description
id UUID Id of the remarks
type String Type of the remarks
text String Free texts

Update Remark Request

PATCH /api/comments/05c6b485-7deb-4a4b-9bd5-eb5a30477085 HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  “remarks”: [
    {
      “category”: “general”,
      “content”: “Test Remarks”
      “type”: “general”
    }
  ]
}

This API endpoint allows you to update remarks in a PNR.

You may do this by sending a PATCH request to:

api/comments/:comment_id.

You’ll get comment_id in Fetch Booking.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
remarks Array An array with details about the remarks
remarks.category String The type of remarks which you want to add. These are the supported category.
remarks.content String Free texts
remarks.type String The type of the remarks.
Update Remark Response
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "11d94bc9-477d-44cd-b5e3-9e7b96f6c368"
  "type": "general",
  "text": "Test Remarks"
}

Response Parameters Type Description
id UUID Id of the remarks
type String Type of the remarks
text String Free texts

Delete Remarks

This API endpoint allows you to Delete remarks in a PNR.

You may do this by sending a DELETE request to:

api/comments/:comment_id

DELETE /api/comments/55739f6a-70e6-4a8c-a0af-0884e1ec200f HTTP/1.1
Authorization: Bearer f26ef60fa588389d07d344ea4b0d4527da1389405250bb765e986efc89854128
Accept-Version: v1
Authorization: Bearer b34d2de5bbd5f727a0fae5d555a58fc5fc7cb44349e7a8fabc59ae54118892ec
Content-Type: text/plain; charset=utf-8
Delete Remarks Response

After requesting for the deletion of specific remarks, the remarks be deleted.

HTTP/1.1 204 No Content
Cache-Control: no-cache
X-Request-Id: 81024a46-71dc-4222-b2c3-025e1c03e2b6
X-Runtime: 12.150931
Vary: Origin
Connection: close

You’ll get status 204 No Content in the response.

Traveler Name Correction

This service provides the functionality to correct the name for a passenger in a PNR in Post Booking.

POST /api/travelers/05c6b485-7deb-4a4b-9bd5-eb5a30477085/name_correction HTTP/1.1
Authorization: ***** Hidden credentials *****
Accept-Version: v1

{
  "name_prefix": "mr",
  "first_name": "khondakar"
  "middle_name": "ahmed"
  "last_name": "fahad"
}

This API endpoint allows you to correct name of a passenger in a PNR.

You may do this by sending a POST request to:

api/travelers/:traveler_id/name_correction.

Request Parameters

Below is a list of all available request parameters

Parameter RQ Type Description
name_prefix String The name prefix of this traveler. Possible values: mr, mrs, ms
first_name String The first name of this traveler
middle_name String The middle name of this traveler
last_name String The last name of this traveler
Name Correction Response
HTTP/1.1 201 Created
Content-Type: application/json
ETag: W/"f446d2939ceb13f39c9ccb30b328be76"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: d28f96e5-a6ed-491c-bf46-c87218bab138
X-Runtime: 4.966928
Vary: Origin
Connection: close
Content-Length: 87


{
  "traveler_id": "05c6b485-7deb-4a4b-9bd5-eb5a30477085",
  "name_prefix": "mr",
  "first_name": "khondakar",
  "middle_name": "ahmed",
  "last_name": "fahad",
}

Response Parameters Type Description
traveler_id UUID Id of the corresponding traveler
name_prefix String The name prefix of this traveler. Possible values: mr, mrs, ms
first_name String The first name of this traveler
middle_name String The middle name of this traveler
last_name String The last name of this traveler

Keys

The API may return several keys. Find follow a list of possible values for each.

cabin_class

The available values for cabin_class are as follows.

Key Description
economy Economy Class
premium_economy Premium Economy Class
business Business Class
first First Class

Booking Class

The available values for booking class are as follows.

Key Values
First Class A, F
Full Fare Business J, C, D
Discounted Business D, I, Z
Premium Economy W, E
Full Fare Economy Y, B, M, H
Discount Economy K, L, Q, V, W, U, T, X, N, O, S

Alliance Preferences

The available values for alliance_preferences are as follows.

Key
star_alliance
sky_team
one_world

fare.type

Key Description
negotiated Negotiated Fare
published Published Fare
private Private Fare
corporate Corporate Fare
web Web Fare

Fare Rule Categories

Category No. Description
1 Eligibility
2 Day/Time
3 Seasonality
4 Flight Application
5 Advance Reservations/Ticketing
6 Minimum Stay
7 Maximum Stay
8 Stopovers
9 Transfers
10 Combinations
11 Blackout Dates
12 Surcharges
13 Accompanying Travel
14 Travel Restrictions
15 Sales Restrictions
16 Penalties
17 Higher Intermediate Point
18 Ticket Endorsement
19 Children and Infant Discounts
20 Tour Conductor Discount
21 Sales Agent Discount
22 Other Discounts
23 Miscellaneous Tags
25 Fare by Rule
26 Groups
27 Tour
28 Visit Another Country
29 Deposit
31 Voluntary Changes
33 Voluntary reroute and refund
35 Negotiated
50 Rule Title
51 Add-Ons
52 Rule Application
53 Booking Code
54 Combinability
55 Co-Terminals
56 Circle Trip Combinability
57 End On End Combinability
58 First Travel
59 International Construction
60 List All Restrictions
61 Maximum Stay
62 Open Jaw Combinability
63 Open Return
64 Other
65 Refunds
66 Reroute
67 Advance Reservation / Ticketing Restrictions
68 Routings
69 Special Provisions
0 Unknown

apis_data_required

Exposes if APIS (Advance Passenger Information System) data have to be provided. See APIS on Wikipedia for more information.

Key Description
none No API have to be provided
standard Standard API have to be provided (DOCS SSR)
advanced Advanced API have to be provided (DOCA SSR)

catering

Key Description
meal Meal
cold_meal Cold Meal
hot_meal Hot Meal
breakfast Breakfast
continental_breakfast Continental Breakfast
lunch Lunch
dinner Dinner
snack Snack
food_for_purchase Food for purchase
refreshments Refreshments
refreshments_for_purchase Refreshments for Purchase
alcoholic_beverages_for_purchase Alcoholic Beverages for Purchase
alcoholic_beverages_complimentary Complimentary Alcoholic Beverages
duty_free_sales_available Duty Free Sales Available
food/beverages_for_purchase Food and Beverages for Purchase
no_meal_service No Meal Service

document.type

Key Description
alien_resident_card Alien Resident Card
permanent_resident_card Permanent Resident Card
identity_card Identity Card
passport Passport
refugee_travel_document Refugee Travel Document
other_approved_identify_document Other approved Document
military_document Military Document
naturalization_certificate Certificate of Naturalization
border_crossing_card Border Crossing Card

car.condition

Key Description
Exact The condition of the car is exactly as described in the search response
Similar The condition of the car is similar to the description of the search response.
Null No information about the condition of the car is provided in the search response

traveller.type

Key Description
adult For flight, a traveler is an adult if he/she is above eleven.
child For flight, a traveler is a child if he/she is above two and below twelve. For hotel, generally a child is someone between the age 2 and 18. Generally they require their own seats/beds.
infant For flight, a traveler is an infant if he/she is below two. Generally they do not require their own seats/beds. There is no infant type for hotel.

Meal Codes

Key Description
AVML Asian Vegetarian Meal
BBML Baby Meal
CAKE Birthday Cake
BLML Bland Meal
CHML Children Meal
CLML Celebration Cake Meal
DBML Diabetic Meal
FPML Fruit Platter Meal
GFML Gluten Intolerant Meal
HFML High Fibre Meal
HNML Hindu Non-Vegetarian Meal
OBML Japanese Obento Meal
JPML Japanese Meal
JNML Junior Meal
KSML Kosher Meal
KSMLS Kosher Meal (Snack)
LCML Low Calorie Meal
LFML Low Fat Meal
NBML No Beef Meal
NFML No Fish Meal
NLML No Lactose Meal
LPML Low Protein Meal
PRML Low Purin Meal
LSML Low Salt Meal
MOML Muslim Meal
ORML Oriental Meal
PFML Peanut Free Meal
RFML Refugee Meal
SFML Seafood Meal
SPML Special Meal, Specify Food
VGML Vegetarian Meal
VJML Vegetarian Jain Meal
VLML Vegetarian Lacto-ovo Meal
VOML Vegetarian Oriental Meal
RVML Vegetarian Raw Meal
VVML Vegetarian Vegan Meal

Assistance Requests

Key Description
WCHR Requires Wheelchair for long distances
WCHS Cannot walk down or up stairs
WCHC Requires assistance to move, always
DEAF Hearing disabilities
BLND Sight disabilities
DPNA Intellectual or behavioural impairments

Board Type

Key Description
breakfast Breakfast is complimentary
half_board Breakfast and dinner are complimentary
full_board Break, launch and dinner are complimentary
all_inclusive Breakfast, lunch, dinner, snack like afternoon tea plus drinks are complimentary
none No meal is included with this booking
null No information given

Hotel Facility Availabilities

Key Description
complimentary Free with this booking
non_complimentary Chargeable
none Service is not available
null No information given

Hotel Conditions

Key Description
cash_not_accepted Cash is not accepted for the payment
debit_card_not_accepted No debit card is accepted
only_debit_card Only debit card is accepted
cash_deposit_required Cash deposit required
non_smoking_rooms Smoking is not allowed in the rooms
non_smoking_property Smoking is not allowed on the hotel property
smoking_in_designated_area Smoking is allowed in designated areas only
no_parking_available No parking available
no_pet_allowed No pets allowed
no_lift_or_elevator No lift or elevator
no_infant_beds No infant beds are available
no_extra_bed No extra beds are available

Hotel Facilities

Key Description
air_conditioning Air conditioning available
smoking_allowed Smoking allowed
24hr_room_service 24 hour room service available
24hr_reception 24 hour reception desk available
minibar Mini bar available
private_bathroom_attached Private bathroom attached to the room
private_bathroom_separate Private bathroom separated from the room
in_room_safe Safety locker in room
refrigerator Refrigerator available
indoor_pool Indoor pool available
outdoor_pool Outdoor pool available
private_pool Private pool available
heated_pool Heated pool or Jacuzzi available
elevator Elevator available
disabled_access Access for disabled person
disabled_facilities Facilities for disabled person
car_parking Parking facility available
pet_allowed Pets allowed
gym_fitness_centre Gym facility available
restaurant Restaurant available in the hotel
kitchen Kitchen available
television Television available
electric_kettle Electric kettle available
coffee_machine Coffee machine available
iron_facilities Iron available
telephone Telephone available
terrace_balcony Terrace or balcony available
wardrobe Wardrobe in the room
meeting_room_facilities Meeting room facility available in the hotel
housekeeping Housekeeping facility available
laundry_facilities Laundry facility available
heating Room heating facility available
airport_nearby Airport is nearby the hotel
bus_tram_stop_nearby Bus tram stop nearby
lounge_area Lounge area is available in the hotel
multilingual_staff Staff speaks multiple languages
currency_exchange Currency exchange facility available
private_beach Private beach available
train_metro_station_nearby Train or metro station nearby
children_play_area Children play area available
spa_beauty_facilities Spa and beauty facilities available
pet_on_request Pets are allowed on request
toaster Toaster available in the room
eqyptian_cotton_sheets Egyptian cotton sheets are available
microwave Microwave oven available
travel_agency_facilities Travel agency facility available
credit_card Payment of hotel services via credit_card possible
garden Hotel has garden
medical_services Medical service available
casino Casino available
disco Disco available
golf Golf available
jogging_track Jogging track available
fishing Fishing available
fireplace Fireplace available
gift_shop Gift shop available
cafe Cafe available
wet_bar Wet bar available
bar Bar available
games_room Game room available
wired_internet Wired internet available
chargeable_internet Internet available with charge
shared_facilities Shared facilities like shared bathroom
bathtub_hotub_jacuzzi Bathtub/hotub/jacuzzi available
non_complimentary Not Free
complimentary Free
none Not any of them
breakfast Complimentary Meal provided in the morning
full_board Breakfast, lunch and dinner is complimentary
half_board Breakfast and any one of the meals are complementary
all_inclusive Breakfast, lunch, dinner. drinks and any others snacks is complimentary

CarRental Vendor List

Code Name
AB AMY TRAINING
AC ACE RENT A CAR
AD ADVANTAGE RENT A CAR
AG ALL CAR LEASING
AH ATHOL
AI ARTIC
AL ALAMO RENT A CAR
AM AMERICA CARS
AR AZ RENT
AT ATESA
AV AVANT
BB BUCHBINDER
BG BUDGET GROUP
BV BIDVEST CAR RENTAL
CC CAPITAL CAR HIRE
CD CAR RENT
CE CENTAURO
CI CITER RENT A CAR
CL CAL AUTO
CM CAR2MOVE
CR CLICKRENT
CW CARVENIENCE
CY CYPRUSAPTCAR
DA DRIVALIA
DD ADDCAR
DF DRIVING FORCE
DL DRIVE4LESS
DM DRIVE A MATIC
DO DRIVE ON
DR DRIVE AND GO
DS DISCOUNT CAR HIRE
EA EASYCAR
EB ADVANTAGE EZ GROUP
EC EAST COAST
EE EXE
EG ENTERPRISE GROUP
EM EUROMOBIL
EO ECORENT
EP EUROPCAR
ES EASIRENT
ET ENTERPRISE RENT A CAR
EU EURORENT
EX EXECUTIVE CAR RENTAL
EY ECONOMY RENT A CAR
EZ EZ RENT A CAR
FF FIREFLY
FI FIRENT
FO FOCO
FC FIRST CAR
FR FIRST CAR RENTAL
FT FLEET
FX FOX RENT A CAR
FY FIREFLY
FZ FLIZZR
GB GLOBAL
GC GOLD CAR
GD GET YOUR CAR
GI GREEN MOTION
GM GROUNDSPAN LIMO
GO GO RENT
GR GARENTA
GS DRIVE ME
GU GUERIN
HG HERTZ GROUP
HK HAWK
IA ADRIA
IC ISLAND CAR
IM EUROPCAR SOUTHAFRICA
IN INVENSYS
IR INTERENT
IV ILHA VERDE
JM JUMBO
JO JEANNIE
KD KEDDY
LL LOCALIZA
LM L & M CAR RENTAL
LN LOCATION
LT LOCAUTO
LZ LOCAL
MB MOBACAR
MD MEGADRIVE
MG MAGGIORE
MM MM CARS
MO MOVIDA
MR MEXRENT
MW MIDWAY CAR RENTAL
MX MEX RENTAL CAR
MY MYCAR
NA ALBANIA AIRPORT RENTACAR
NC NEXTCAR
NK NOKTA
NS NISSAN
NU NU CAR RENTALS
NZ NIZA
OK OK RENT
OR ORYX
PA PRIMA
PC PROCAR
PI PRIME
PR PRICELESS
RE RIGHT EXECUTIVE
RG RIGHT CARS
RH RHODIUM
RN POSREDNIK
RO ROUTES CAR RENTAL
RR SR RENT
RW RENT A WRECK
SC SILVERCAR
SF SWITCHFORCE
SN 62N FAROE
SR STATE VAN RENTAL
ST STOUTES
SU SURPRICE
SV U-SAVE AUTO RENTAL
SX SIXT RENT A CAR
SY SICILY BY CAR
TC TRAVEL CAR
TE TEMPEST
TH THAI RENT A CAR
TP TURIS PRIME
TR TOP RENT
UG U SAVE GROUP
UN UNIDAS
VR AVR
WF WOODFORD
WR WINRENT
ZA PAYLESS CAR RENTAL
ZD BUDGET RENT A CAR
ZE HERTZ CORPORATION
ZI AVIS RENT A CAR SYSTEM, INC.
ZL NATIONAL CAR RENTAL SYSTEM, INC.
ZR DOLLAR RENT A CAR
ZT THRIFTY CAR RENTAL

Car Category

Category
mini
mini_elite
economy
economy_elite
compact
compact_elite
intermediate
intermediate_elite
standard
standard_elite
fullsize
fullsize_elite
premium
premium_elite
luxury
luxury_elite
oversize
special
null

Car Type

Type
2-3_doors
2-4_doors
4-5_doors
wagon/estate
passenger_van
limousine
sport
convertible
sports_utility_vehicle
open_air_all_terrain
special
pick_up_regular_cab
pick_up_extended_cab
special_offer_car
coupe
monospace
recreational_vehicle
motor_home
2_wheel_vehicle
roadster
crossover
commercial_van_or_truck
null

Driven Wheel

Wheel Type
unspecified
4_wheels
all_wheels
null

Car Fuel Type

Fuel Type
diesel
ethanol
electric
hybrid
hydrogen
lpg
multi_fuel
petrol
unspecified
null

Car Fuel Policy

Fuel Policy Description
full_full Fuel tank must be full upon Car return
full_empty Fuel tank can be empty upon Car return
null No information from the supplier regarding fuel policy

Car Liability And Insurance

Name
general_coverage
collision_damage_waiver
theft_protection_waiver
loss_damage_waiver
super_loss_damage_waiver_1-7_days
glass_tyre_waiver
roadside_service_plan

Car Mileage

key Description
unlimited Mileage is unlimited
free_miles Certain number of miles is free which will be exposed in mileage.modifier
free_kilometers Certain number of kilometers is free which will be exposed in mileage.modifier
per_mile Per mile there will be specific amount (mileage.amount) of charge
per_kilometer Per kilometer there will be specific amount (mileage.amount) of charge

Car Other Facilities

Name
child_seat_for_infant
child_seat_for_baby
child_seat_for_toddler
child_booster_seat
navigational_system
diesel
extra_day_available

Car Conditions

Name
general_surcharge
rental_surcharge
one_way_charge
registration_fee/road_tax

Car Facility Modifiers

Name
per_day
per_week
per_month
per_rental
per_hour
per_minute

Style

Key Values
with_ticket_issuance It implies the ticket must be issued for the operation to be conducted
without_ticket_issuance It implies the operation can be conducted without issuing ticket
unavailable No information about about its dependency of ticket issuance

Exchange/ Refund Style

Key Values
with_quote It implies that the consumer must quote the amount before the operation to be conducted
without_quote It implies that the consumer can continue with the operation without fetching the Quote
unavailable No information on its dependency on Quote Fetching

Possible Values

Values
true
false
null

Phone Number Type

The available phone number types are as follows-

Key
agency
home
mobile
business
other

Email Address Type

The available email address types are as follows-

Key
personal
agency
home
business
other

Postal Address Type

The available postal address types are as follows-

Key
destination
residence
office

Supported Assistance Request Code

The supported assistance request code are as follows-

Key
WCHR
WCHS
WCHC
DEAF
BLND
DPNA

Supported General Remarks Type

The supported general remarks types are as follows-

Key
general
alpha
basic
historical
invoice
itinerary
vendor
confidential
hidden
ticket
air
car
hotel
free_flow
client_address
corporate
delivery_address
group_name
fop_comment
quality_control

Remarks Type

The supported general remarks types are as follows-

Key
general
accounting

Supported Accounting Remarks Type

The accounting remarks that we support are supplier specific. Please check supplier specific information for details.

Name Correction

The supported suppliers of name correction are as follows-

Suppliers
British Airways

Booking Status

We expose the status of our booking in the Fetch PNR step. The following are the valid status values, we expose as booking status in WELLTRAVEL.


1. confirmed

2. unconfirmed

3. pending

4. not_processed

5. new

6. denied

1. canceled

1. no_need_status

1. duplicate

1. waitlisted

1. unknown

1. closed

Supplier Specific Information

Galileo

Galileo, a leading global distribution system (GDS) and subsidiary of Travelport, helps traditional and online travel agencies to book flights, car rental, and hotel rooms. Galileo distributes travel inventory from multiple supplier sources through direct-to-desktop systems, as well as providing e-ticketing and booking products for airlines and travel agencies.

Galileo Flight

Search Parameters Description
Trips Maximum Supported Trips with Flexibility: 2
Maximum Supported Trips without Flexibility: 6
Currency All Supported Welltravel Currencies
Corporate Code Supported: True
Maximum Supported Corporate Codes: 6
Reserve
Search Parameters Supported Available Codes
Remarks True Welltravel Supported Galileo Remarks
Accounting remarks True Welltravel Supported Galileo Accounting remarks
Queue True
Destination ID/Account True
Assistance Request True
Seat Reservation True
Meal Request True
Frequent Flyer Number True
Service Request True
Galileo Remarks
TRAVELPORT_VALID_REMARKS
alpha
basic
historical
invoice
itinerary
vendor
confidential
Galileo Accounting Remarks
GALILEO_VALID_REMARKS
fare
canned
ticket
agent_sign
other

Galileo Hotel

Search Parameters Description
Number of Rooms Maximum Supported Supported Rooms: 2
Currency All Supported Welltravel Currencies
Corporate Code Supported: True
Reserve
Search Parameters Supported Available Codes
Remarks True Welltravel Supported Galileo Remarks
Accounting remarks True Welltravel Supported Galileo Accounting remarks
Queue True
Destination ID/Account True
Hotel Frequent Guest Program Number True

Galileo Car Rentals

It supports only exclusive vendor specific car search. Exclusive Search avails us to get results from only specified vendors. Galileo Car Rentals supports corporate deal. Search results contain corporate rates or discounted rate when it is a corporate deal. Corporate Deal can be true or false based on the eligibility of the Corporate Code. To avail corporate rate, the user has to provide corporate code in the search query.

Apollo

Apollo, a leading global distribution system (GDS) and subsidiary of Travelport, helps traditional and online travel agencies to book flights.

Search Parameters Description
Trips Maximum Supported Trips with Flexibility: 2
Maximum Supported Trips without Flexibility: 6
Currency All Supported Welltravel Currencies
Corporate Code Supported: True
Maximum Supported Corporate Codes: 6
Reserve
Search Parameters Supported Available Codes
Remarks False
Accounting remarks True Welltravel Supported Apollo Accounting remarks
Queue True
Destination ID/Account True
Assistance Request True
Seat Reservation True
Meal Request True
Frequent Flyer Number True
Service Request True
Apollo Accounting Remarks
APOLLO_VALID_REMARKS
fare
canned
ticket
agent_sign
other
service_fee
invoice_layout
purchase_order
itinerary_with_fare
itinerary_without_fare
itinerary_with_amount

Worldspan

Worldspan is a provider of travel technology and content and a part of the Travelport GDS business. It offers worldwide electronic distribution of travel information, Internet products and connectivity, and e-commerce capabilities for travel agencies, travel service providers and corporations. For details, see Worldspan

Search Parameters Description
Trips Maximum Supported Trips with Flexibility: 2
Maximum Supported Trips without Flexibility: 6
Currency All Supported Welltravel Currencies
Corporate Code Supported: True
Maximum Supported Corporate Codes: 6
Reserve
Search Parameters Supported Available Codes
Remarks True Welltravel Supported Worldspan Remarks
Accounting remarks True Welltravel Supported Worldspan Accounting remarks
Queue True
Destination ID/Account True
Assistance Request True
Seat Reservation True
Meal Request True
Frequent Flyer Number True
Service Request True
Worldspan Accounting Remarks
WORLDSPAN_VALID_REMARKS
account
divider_card
other
Worldspan Remarks
WORLDSPAN_VALID_REMARKS
alpha
basic
historical
invoice
itinerary
vendor
confidential

Travelport Rooms and More

Travelport Rooms and More is a one-stop comparison shopping and booking engine for travel agents providing access to a broad range of hotel providers worldwide.

Travelport Rooms and More allows you to not only shop and book and manage your bookings from a single solution for hotels globally, but also to manage, track, and facilitate the receipt of fees earned from a single source.

Reserve

Search Parameters Supported Available Codes
Remarks True Welltravel Supported TRM Remarks
Accounting remarks False
Queue True
Destination ID/Account True
Hotel Frequent Guest Program Number True

In case of reserving with the supplier travelportroomsandmore with credit_card, you must enter bank name and bank country name

Hotel Star Rating, Rating and Rating Source Information

In case of stars, rating and rating_source for TravelportRoomsAndMore, we expose based on the rating provider provided by the upstream. If the rating provider is AAA(American Automobile Association), we expose the rating as stars. Otherwise, we expose based on the priority of reliability of the rating provider. In our system, for this supplier, the valid suppliers are TRM(TravelportRoomsAndMore), NTM(Northstar Crown) and Trip Advisor in case of rating. The hotel rating providers supported by TravelportRoomsAndMore according to the priority are:

Rating Source Priority of Exposing the rating provided by the source
TRM: TravelportRoomsAndMore First
NTM: Northstar Crown Second
Trip Advisor Last
Others It is being reported to us and exposes Null in stars, rating and rating_source

Amadeus

Amadeus is a computer reservation system (or global distribution system, since it sells tickets for multiple airlines) owned by the Amadeus IT Group with headquarters in Madrid, Spain. The central database is located at Erding, Germany. In addition to airlines, the CRS is also used to book car rental and hotel rooms. Amadeus is a member of IATA, OTA and SITA.

Its IATA airline designator code is 1A.

For flight, hotel and car rental booking with this supplier, we must provide either email address or phone number of the traveller or the guest.

Amadeus Flight

Search Parameters Description
Trips Maximum Supported Trips with Flexibility: 2
Maximum Supported Trips without Flexibility: 6
Currency All Supported Welltravel Currencies
Corporate Code Supported: True
Maximum Supported Corporate Codes: 6
airline_preferences There are two kinds of airline_preferences. These are 1. Exclusive 2. Preferred.

Note: In case of preferred airline preferences, the maximum number of carrier is three. If more than three carriers are given, then there will be a validation error.

Reserve
Search Parameters Supported Available Codes
Remarks True Welltravel Supported Amadeus Remarks
Accounting remarks True Welltravel Supported Amadeus Accounting remarks
Queue True
Destination ID/Account True
Assistance Request True
Seat Reservation True
Meal Request True
Frequent Flyer Number True
Service Request True
Amadeus Remarks
AMADEUS_VALID_REMARKS
corporate
confidential
general
quality_control
Amadeus Accounting Remarks
AMADEUS_VALID_REMARKS
other
accounting

Amadeus Hotel

Search Parameters Description
Number of Rooms Maximum Supported Supported Rooms: 2
Currency All Supported Welltravel Currencies
Corporate Code Supported: true
Hotel Rating and Sources

Amadeus Hotel Platform (AHP) has the ability to store several hotel ratings from different rating providers. It provides the possibility to select those properties matching the hotel ratings requested. The hotel rating providers supported by Amadeus according to the priority are:

Rating Source Priority of Exposing the rating provided by the source
AAA: American Automobile Association First
LSR: Local Star Rating Second
NSM: North Start Media Third
MOB: Mobil Hotel Star Rating Criteria Third
MIC: Michelin Last
Others It is being reported to us and exposes Null in stars, rating and rating_source
Reserve
Reserve Parameters Supported Available Codes
Remarks True Welltravel Supported Amadeus Remarks
Accounting remarks True Welltravel Supported Amadeus Accounting remarks
Queue True

Amadeus Car Rentals

It supports both exclusive and preferred vendor specific car search. Exclusive Search avails us to get results from only specified vendors while preferred search will return other vendors along with the specified vendor. Galileo Car Rentals supports corporate deal. Search results contain corporate rates or discounted rate when it is a corporate deal. Corporate Deal can be true or false based on the eligibility of the Corporate Code. To avail corporate rate, the user has to provide corporate code in the search query.

Sabre

Sabre Global Distribution System, owned by Sabre Holdings, is used by travel agents around the world with more than 400 airlines. The Sabre GDS enables companies such as American Airlines to search, price, book, and ticket travel services provided by airlines.

For more details, see Sabre

Search Parameters Description
Trips Maximum Supported Trips with Flexibility: 2
Maximum Supported Trips without Flexibility: 6
Currency All Supported Welltravel Currencies
Corporate Code Supported: True
Maximum Supported Corporate Codes: 6
Reserve
Reserve Parameters Supported Available Codes
Remarks True Welltravel Supported Sabre Remarks
Accounting remarks True Welltravel Supported Sabre Accounting remarks
Queue True
Destination ID/Account True
Assistance Request True
Seat Reservation True
Meal Request True
Frequent Flyer Number True
Service Request True
Sabre Remarks
SABRE_VALID_REMARKS
general
historical
invoice
itinerary
alpha
client_address
corporate
delivery_address
group_name
hidden

British Airways

British Airways (BA) is the flag carrier and the largest airline in the United Kingdom based on fleet size, or the second largest, behind easyJet, when measured by passengers carried. The airline is based in Waterside near its main hub at London Heathrow Airport.

In January 2011 BA merged with Iberia, creating the International Airlines Group (IAG), a holding company registered in Madrid, Spain. IAG is the world’s third-largest airline group in terms of annual revenue and the second-largest in Europe.

For more details, see British Airways

Search Parameters Description
Trips Maximum Supported Trips with Flexibility: 2
Maximum Supported Trips without Flexibility: 6
Currency All Supported Currencies by the IATA account
Corporate Code Supported: True
Maximum Supported Corporate Codes: 6
Reserve
Reserve Parameters Supported Available Codes
Remarks False
Accounting remarks False
Queue True
Destination ID/Account True
Assistance Request True
Seat Reservation True
Meal Request True
Frequent Flyer Number True
Service Request True

LH Group Direct

LH Group Direct is a recognized leader in the travel industry with groundbreaking technology that continues to modernize the airline commerce and distribution landscape.The company is headquartered in Miami, Florida and has an office in Dubai, United Arab Emirates.

The LH Group Direct customer base includes many of the world’s top airlines, including Air Canada, American Airlines, Austrian, Brussels, Delta, Emirates, Etihad, Eurowings, flydubai, Hawaiian, Lufthansa, Olympic, Qatar, Qantas, Swiss, United, Virgin Atlantic, Virgin America, and WestJet.

Search Parameters Description
Trips Maximum Supported Trips with Flexibility: 2
Maximum Supported Trips without Flexibility: 6
Currency All Supported Welltravel Currencies
Corporate Code Supported: True
Maximum Supported Corporate Codes: 6
Reserve
Reserve Parameters Supported Available Codes
Remarks True Welltravel Supported LH Group Direct Remarks
Accounting remarks True Welltravel Supported LH Group Direct Accounting remarks
Queue True
Destination ID/Account True
Assistance Request True
Seat Reservation True
Meal Request True
Frequent Flyer Number True
Service Request True
LH Group Direct Accounting Remarks
LH_Group_Direct_VALID_REMARKS
hidden
general
historical
invoice
ticket
air
car
hotel
free_flow

Totalstay

Totalstay or JacTravel is one of the world’s premier suppliers of online hotel bookings and inbound travel services to the tourism sector.

Search Parameters Description
Number of Rooms Maximum Supported Supported Rooms: 2
Currency All Supported Welltravel Totalstay Currencies

Supported Currencies for Totalstay

The list of supported currencies for Totalstay hotel search are: USD, CHF, CAD, BRL, JPY, EUR, ZAR, NOK, SGD, SEK, GBP, THB, PLN, NZD, AUD, HKD, ISK, IDR and MYR

Hotel Rating Details

We expose only star rating for totalstay.

Reserve

Reserve Parameters Supported Available Codes
Remarks False
Accounting remarks False
Queue True
Destination ID/Account True
Hotel Frequent Guest Program Number True

XMLBookings - (PLUM)

XmlBookings(PLUM) is the Africa’s Leader in Travel Industry. It allows to book hotel from all over the world.

Search Parameters Description
Number of Rooms Maximum Supported Supported Rooms: 2
Currency All Supported Welltravel Currencies
Hotel Rating Information

In case of XmlBookings, the upstream provide us with rating type and rating score. When we get ‘1’ as the value of rating_type, we expose rating_score as stars and when we get ‘2’ as the value of rating_type, we exposerating_score as rating and we expose key_rating as source.

Reserve

Reserve Parameters Supported Available Codes
Remarks False
Accounting remarks Fasle
Queue True
Destination ID/Account True
Hotel Frequent Guest Program Number True

Supplier Specific Maximum Corporate Code Support

Supplier Maximum Number of Corporate Codes Supported
Amadeus 6
British Airways 0
Galileo Unknown
Apollo Unknown
Worldspan Unknown
LH Group Direct 0
Sabre Unknown

Flight Supplier Possible Booking Status

Supplier Supported Welltravel Booking Status
Amadeus confirmed, pending, denied,
British Airways confirmed
Galileo confirmed, wait_listed, no_need_status, new, no_need_status, pending, unconfirmed
Travelfusion confirmed, duplicate, not_processed, unconfirmed
Mango confirmed
LH Group Direct confirmed
Sabre confirmed, new, denied
FlySafair confirmed
Pyton confirmed, not_processed, pending, unconfirmed

Supplier Specific Information Regarding Form of Payment in Post Booking

Supplier Create Supported Update Supported Delete Supported
Amadeus (Flight) True(If one form of payment is added before, then previous form of payment have to be deleted first.) True True
Amadeus (Car) False False False
Amadeus (Hotel) False False False
British Airways True(If no form of payment is added earlier.)
False(If a form of payment is added earlier.)
False False
Galileo (Flight) True(If one form of payment is added before, then previous form of payment have to be deleted first.) True True
Galileo (Hotel) False True False
Galileo (Car) True(If one form of payment is added before, then previous form of payment have to be deleted first.) True True
FlySafair True(If no form of payment is added earlier.)
False(If a form of payment is added earlier)
False False
Pyton False False False
Mango True(If no form of payment is added earlier.)
False(If a form of payment is added earlier)
False False
LH Group Direct True(If no form of payment is added earlier.)
False(If a form of payment is added earlier)
False False
Sabre True True False
Travelfusion False False False
Totalstay False False False
XMLBookings(Plum) False False False
Arabian Adventures False False False
Hotelbeds False False False
Auto Europe False False False
Singapore Airlines True False False

Flight Supplier Possible Instant Ticket Value

We have some suppliers in which tickets gets automatically issued during booking while for other suppliers, we need to issue to ticket after the booking. If the ticket is automatically issued at the time of booking the flight, we call it instant ticket. So the value of the instant_ticket will be `true if the ticket is automatically issued at the time of booking the flight.

Supplier Instant Ticket
Amadeus false
British Airways true
Galileo false
Travelfusion true
Mango true
LH Group Direct false
LH Group NDC Direct true
Sabre false
FlySafair true
Pyton true
American Airlines true
Emirates true
Singapore Airlines true
United Airlines true
Duffle true
Worldspan false
Aer Ticket false
AeroCrs false

Version V1.1

This is the documentation for API version v1.1. In this section, we have provided documentation for only those API which is different from version v1. If you want to use an API for version v1.1 which is not different from API version v1, you can follow documentation of API version v1. API Version V1.1 is now in development mode

Post Booking Transaction v1.1

After booking, the following workflow demonstrates how to avail post booking service over an existing passenger name record(PNR) through our system:

  1. Flight Exchange : Exchange a Flight for v1.1

Exchange v1.1

Flight Exchange workflow allows us to exchange a ticketed PNR with trips with different dates, booking class or origin destination. For this a PNR must be ticketed before performing this operation. This service allows us to exchange a flight booking in post booking.

  1. Search: Search & fetch flight results for exchange
  2. Quote: Confirm availability and fetch exchange information
  3. Exchange: Create a exchange

Every step is required. You can’t leave one out.

Exchange Search Flow

To create a exchange flight search, send a POST request to /api/bookings/:booking_id/exchange/flight/searches. We have to provide full trips in the request for exchange search. It will return the result ID of the created search. This ID can be used to fetch the results by sending a GET request to /api/flights/searches/:id/results.

Exchange Search Examples
  1. Request with all parameters
  2. Request with minimum parameters
Exchange Search with all parameters
POST /api/bookings/007639e4-49f8-48e4-b2a1-9c6a23431d4a/exchange/flight/searches HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1.1 
Content-Type: application/json; charset=utf-8

{
  "trips": [
    {
      "origin": "FRA",
      "destination": "TXL",
      "date": "2017-12-29",
      "cabin_class": "economy",
      "departure_time": "10:20"
    },
    {
      "origin": "TXL",
      "destination": "FRA",
      "date": "2017-12-30",
      "cabin_class": "economy",
      "departure_time": "15:40"
    }
  ],
  "airline_preferences": {
    "type": "exclusive",
    "carriers": ["EI"]
  }
  "flexible": true,
  "non_stop": true,
  "codes": ["EXEL"],
}

Below is a list of all available request parameters

Parameter RQ Type Description
trips Array An array of trips, supports up to 9 trips on certain suppliers. Please check your supplier specific details.
trips.origin String The origin for this trip. It is a 3 letter code. IATA airport code
trips.destination String The destination for this trip. It is a 3 letter IATA airport code
trips.date String Date of the trip, in ISO-8601 format
trips.cabin_class String The cabin class for this trip
trips.departure_time String The starting departure time for this trip. Value should be between 00:01 to 23:59
airline_preferences Object A hash of all preferred Airline Carrier Codes
airline_preferences.type String Type of airline preferences. Possible values are exclusive and preferred. If you want to get results from only mentioned carrier code(s), you should choose exclusive as type otherwise it is advised to choose preferred.
airline_preferences.carriers Array An Array of carrier Code of Preferences. Two-character IATA-assigned code that identifies a carrier on arrival/departure signs, baggage tags, Global Distribution System (GDS), tickets, etc. Usually it is an alpha code (such as AI for Air India, EI for Air Lingus, and WN for Southwest Airlines) but sometimes it is alphanumeric (such as F9 for Frontier Airlines, 7Z for Laker Airlines, and 5X United Parcel Service). For more information Carrier Code. For example, TP
flexible Boolean Flexible of search dates. Please check your supplier specific details.
non_stop Boolean true for only non-stop flight. false for all flights.
codes Array An array of corporate codes.
Exchange Search with Minimum Parameters

This is an example for possible minimum request you can do in our system.

POST /api/bookings/007639e4-49f8-48e4-b2a1-9c6a23431d4a/exchange/flight/searches HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1.1 
Content-Type: application/json; charset=utf-8

{
  "trips": [
    {
      "origin": "FRA",
      "destination": "TXL",
      "date": "2018-10-29",
      "cabin_class": "economy"
    }
  ],
}
Search Response

After creating the search the system will return an UUID which points to the search that you just created. You need to use this UUID in order to fetch the results returned in the search.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "d51d7770-3046-414a-81e8-2a148414a6db"
}
Parameter Type Description
id UUID The unique id of the search, use it to fetch the results
Fetch Search Results

Use the id from the search response to fetch the results. This endpoint supports pagination.

GET /api/flights/searches/d51d7770-3046-414a-81e8-2a148414a6db/results?page=1&per_page=50&order_by=segment_count&order_direction=asc HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1.1 
Request Parameters
Parameter Required Description
order_by Order the results by departure, arrival, duration, segment_count or total_price, default: total_price
order_direction Order the results ascending (asc) or descending (desc), default: asc
include_duplicates Whether to include or exclude duplication result. Default is false
Response Parameters
HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 935
X-Total-Pages: 935
X-Per-Page: 1
X-Page: 1
X-Next-Page: 2

[
  {
    "id": "3537a351-076a-45b1-97d8-a7e354d58f8c",
    "source": { "supplier": "galileo", "account": "ACT2", "currency": "USD" },
    "fare_calculations": [
      { "passenger_type": "adult", "price": "100.0", "currency": "EUR" },
      { "passenger_type": "child", "price": "80.0", "currency": "EUR" },
      { "passenger_type": "infant", "price": "10.0", "currency": "EUR" }
    ],
    "pricing": {
      "flight_price": {
        "recommended_selling_price": { "amount": "190.0", "currency": "USD" },
        "purchase_price": { "amount": null, "currency": "USD" },
        "source": { "amount": null, "currency": null }
      },
      "tax": {
        "amount": "103.3",
        "currency": "USD",
        "source": { "amount": null, "currency": null }
      },
      "total_price": {
        "recommended_selling_price": { "amount": "293.3", "currency": "USD" },
        "purchase_price": { "amount": null, "currency": "USD" },
        "source": { "amount": null, "currency": null }
      }
    },
    "refundable": false,
    "penalties": {
      "change": { "amount": null, "currency": null },
      "cancel": { "amount": null, "currency": null }
    },
    "apis_data_required": "none",
    "reservation_manageable": true,
    "free_cancellation_duration_in_minutes": 4290,
    "trips": [
      {
        "ticket_selling_carrier_code": "AB",
        "trip_duration_in_minutes": 70,
        "origin_code": "FRA",
        "origin_timezone": "Europe/Berlin",
        "destination_timezone": "Europe/Berlin",
        "departure_localtime": "2017-12-29T15:00:00",
        "arrival_localtime": "2017-12-29T16:10:00",
        "destination_offset_in_days": 0,
        "destination_code": "TXL",
        "stopover_count": 0,
        "segments": [
          {
            "origin_code": "FRA",
            "origin_terminal": "2",
            "origin_timezone": "Europe/Berlin",
            "destination_code": "TXL",
            "destination_terminal": null,
            "destination_timezone": "Europe/Berlin",
            "departure_localtime": "2017-12-29T15:00:00",
            "arrival_localtime": "2017-12-29T16:10:00",
            "operating_carrier_code": "AB",
            "operating_flight_number": "6588",
            "aircraft_operated_by": "AB",
            "marketing_carrier_code": "AB",
            "marketing_flight_number": "6588",
            "aircraft_type": "320",
            "booking_class": "W",
            "flight_duration_in_minutes": 70,
            "catering": [],
            "cabin_class": "economy",
            "technical_stop_count": 0,
            "air_miles": null,
            "wifi": {
              "available": true,
              "packages": [
                { "amount": "10.0", "currency": "EUR", "volume_in_mbyte": 10 },
                { "amount": "14.0", "currency": "EUR", "volume_in_mbyte": 15 },
                { "amount": "90.0", "currency": "EUR", "volume_in_mbyte": 100 }
              ]
            },
            "on_time_in_percentage": 99.8,
            "baggage_pieces_included": { "count": 0, "kg_per_piece": null },
            "fare": { "brand": "ECONOMY LIGHT", "basis_code": "WNY05RT", "type": "published" }
          }
        ]
      },
      {
        "ticket_selling_carrier_code": "AB",
        "trip_duration_in_minutes": 75,
        "origin_code": "TXL",
        "origin_timezone": "Europe/Berlin",
        "destination_timezone": "Europe/Berlin",
        "departure_localtime": "2017-12-30T13:05:00",
        "arrival_localtime": "2017-12-30T14:20:00",
        "destination_offset_in_days": 0,
        "destination_code": "FRA",
        "stopover_count": 0,
        "segments": [
          {
            "origin_code": "TXL",
            "origin_terminal": null,
            "origin_timezone": "Europe/Berlin",
            "destination_code": "FRA",
            "destination_terminal": "2",
            "destination_timezone": "Europe/Berlin",
            "departure_localtime": "2017-12-30T13:05:00",
            "arrival_localtime": "2017-12-30T14:20:00",
            "operating_carrier_code": "AB",
            "operating_flight_number": "6585",
            "aircraft_operated_by": "AB",
            "marketing_carrier_code": "AB",
            "marketing_flight_number": "6585",
            "aircraft_type": "320",
            "booking_class": "W",
            "flight_duration_in_minutes": 75,
            "catering": [],
            "cabin_class": "economy",
            "technical_stop_count": 0,
            "air_miles": null,
            "wifi": { "available": null, "packages": null },
            "on_time_in_percentage": null,
            "baggage_pieces_included": { "count": 1, "kg_per_piece": 23 },
            "fare": { "brand": "ECONOMY LIGHT", "basis_code": "WNY05RT", "type": "published" }
          }
        ]
      }
    ]
  },
]
Key Type Description
id UUID The unique id of the search result, used for Select and Reserve
source Object Information about the source of the result
source.supplier String The supplier on which this result has been found
source.account String The account on which the result has been found
source.currency String The currency of the result returned from the supplier
fare_calculations Array Describes how the flight price (not the total price) has been calculated for ONE passenger
fare_calculations.passenger_type String Type of passenger. Example: adult , child or infant
fare_calculations.price String Price for one passenger for the specific type to make reservation
fare_calculations.currency String The currency in which the price is displayed
pricing Object Detailed Pricing Information
pricing.flight_price Object Detailed Flight Price Information
pricing.flight_price.recommended_selling_price Object Detailed information about the price of the room we recommend to use as selling price
pricing.flight_price.recommended_selling_price.amount String The price of the room/rooms we recommend to use as selling price
pricing.flight_price.recommended_selling_price.currency String The currency of the price of the room we recommend to use as selling price
pricing.flight_price.purchase_price Object Detailed information about the price of the trip you will have to pay
pricing.flight_price.purchase_price.amount String The price of the journey you will have to pay
pricing.flight_price.purchase_price.currency String The currency of the price of the trip you will have to pay
pricing.flight_price.source Object Detailed information about the price of the journey you will have to pay for the default currency of the IPCC
pricing.flight_price.source.amount String The price of the journey you will have to pay
pricing.flight_price.source.currency String Default currency in which the pricing is being exposed
pricing.tax Object Tax related Information
pricing.tax.amount String the amount of tax to be paid
pricing.tax.currency String Currency in which the tax has been exposed
pricing.tax.source Object Tax in IPCC’s default currency related information
pricing.tax.source.amount String The tax you have to pay in terms of default currency
pricing.tax.source.currency String Default Currency of the IPCC
pricing.total_price Object Information related to the total price of the Flight
pricing.total_price.recommended_selling_price Object Information related to the total price of the trip including tax we recommend you to use as selling price
pricing.total_price.recommended_selling_price.amount String The total price of the result we recommend you to use as selling price
pricing.total_price.recommended_selling_price.currency String Currency in which the pricing has been exposed
pricing.total_price.purchase_price Object Detailed information about the total purchase price
pricing.total_price.purchase_price.amount String The price of the journey including tax you will have to pay
pricing.total_price.purchase_price.currency String Currency in which the pricing has been exposed
pricing.total_price.source Object Detailed information about the total price of the journey you will have to pay for the default currency of the IPCC
pricing.total_price.source.amount String The total price of the journey you will have to pay for the default currency of the IPCC
pricing.total_price.source.currency String Default currency in which the pricing is being exposed
refundable Boolean Booking Refund Information
penalties Object The detailed information about penalties for cancelling the booking
penalties.change Object The information about the penalty for changing the flight booking. It can be changing the dates, destinations, or times.
penalties.change.amount String The penalty fee for changing the flight booking
penalties.change.currency String The currency in which the penalty fee is being exposed
penalties.cancel Object The information about the penalty for cancelling the flight booking
penalties.cancel.amount String Cancellation fee
penalties.cancel.currency String The currency in which the cancellation fee is being exposed
apis_data_required String Exposes if advanced passer information has to be required, see APIS data for more details
reservation_manageable Boolean Marks if it is possible to modify a reservation of this result from our API
fare_rule Boolean Marks if fare rules available or not for this flight.
free_cancellation_duration_in_minutes Integer Total duration of the time for free cancellation of the flight in minutes. For example, 75
trips Array All the trip information about the flight
trips.ticket_selling_carrier_code String Carrier Code of the ticket for the trip. It is two letter code. For example, BA
trips.trip_duration_in_minutes Integer Total duration of the flight trip expressed in minutes. For example, 75
trips.origin_code String The airport code of the origin of the trip. For example, for a flight from Madrid to NewYork, the origin code will be MAD
trips.origin_timezone String The timezone of the place where the flight trip will take off. For example, Europe/Berlin
trips.destination_timezone String The timezone of the place where the flight trip will land. For example, Europe/Berlin
trips.departure_localtime String The local time of the airport at the time of departure
trips.arrival_localtime String The local time of the airport at the time of arrival
trips.destination_offset_in_days Integer The number of days required to reach the destination
trips.destination_code String The airport code of the destination of the trip. For example, for a flight from Madrid to NewYork, the origin code will be JFK
trips.stopover_count Integer The number of stopovers for the whole trip
trips.segments String Information about the segments of the trip
trips.segments.origin_code String The origin airport code for the segment
trips.segments.origin_timezone String The local timezone of the origin airport of the segment
trips.segments.destination_code String The airport code of the destination for this segment
trips.segments.destination_timezone String The timezone of the destination airport
trips.segments.departure_localtime String The local time of the airport at the time of departure for this segment
trips.segments.arrival_localtime String The local time of the airport at the time of arrival
trips.segments.operating_carrier_code String Operating Carrier Code refers to the identifier used in flight schedule, generally the two-character IATA airline designator code
trips.segments.operating_flight_number String Refers to the identifier used in flight schedule, flight number of the operating carrier
trips.segments.aircraft_operated_by String Refer to the identifier for the aircraft operated by the operating carrier
trips.segments.marketing_carrier_code String Refers to the ticket selling carrier
trips.segments.aircraft_type String Type of the aircraft for this trip segment.
trips.segments.booking_class String Indicates Travel Class. Usually the first letter of the fare basis code. For example, ‘O’
trips.segments.flight_duration_in_minutes Integer Total duration of the flight trip expressed in minutes. For example, 75
trips.segments.catering Array The kind of catering that will be offered on this flight, see catering for more details
trips.segments.cabin_class String Refers to the quality of the cabin for this trip segment.See Cabin Class for more details
trips.segments.technical_stop_count Integer The number of technical stop will be taken by the aircraft. A technical stop most commonly used to refuel the aircraft, to make unexpected essential repairs or to respond to some emergency need to land the aircraft. No traffic is unloaded or loaded during a technical stop.
trips.segments.air_miles String A nautical mile used as a measure of distance flown by aircraft.
trips.segments.wifi Object Information related to the wifi connection for this trip segment
trips.segments.wifi.available Boolean The availability of wifi
trips.segments.wifi.packages Array Details about the wifi packages of this airline
trips.segments.wifi_packages.amount String The cost of the wifi package
trips.segments.wifi_packages.currency String The currency in which the cost of wifi package has ben exposed
trips.segments.wifi_packages.volume_in_mbyte String The volume in megabyte of wifi package is included
trips.segments.on_time_in_percentage String The percentage of punctuality of this flight of this trip segment
trips.segments.baggage_pieces_included Object The default included baggage, if not specified differently
trips.segments.baggage_pieces_included.count Integer The count of included baggage pieces
trips.segments.baggage_pieces_included.kg_per_piece Integer The weight allowed for the included baggage piece
trips.segments.fare String Information related to fare
trips.segments.fare.brand String The brand of the fare. For example, ECONOMY LIGHT
trips.segments.fare.basis_code String A fare basis code is an alphabetic or alpha-numeric code used by airlines to identify a fare type and allow airline staff and travel agents to find the rules applicable to that fare. For example, WNY05RT
trips.segments.fare.type String The fare type, see fare type for more details

Exchange Quote

This API endpoint allows you to get details about exchanging the existing flight booking with a particular flight from exchange search results.

You may do this by sending a GET request to api/bookings/:booking_id/exchange/flight/results/:result_id/quote.

Exchange Quote Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Total: 20
X-Total-Pages: 1
X-Per-Page: 250
X-Page: 1
  {
    "booking_id": "007639e4-49f8-48e4-b2a1-9c6a23431d4a",
    "result_id": "94bbe4fc-9ebe-4b2b-b3b2-baec2663bd19",
    "quote_id": "4b91a9de-cd24-4dda-97e4-406c50b8571b",
    "supplier": "lh_group",
    "account": "ACT5",
    "passengers": {
      "adults": 1,
      "children": 0,
      "infants": 0
    },
    "pricing": {
      "flight_price": {
        "recommended_selling_price": {
          "amount": "61.0",
          "currency": "CHF"
        },
        "purchase_price": {
          "amount": null,
          "currency": null
        },
        "source": {
          "amount": "61.0",
          "currency": "CHF"
        }
      },
      "tax": {
        "amount": "44.0",
        "currency": "CHF",
        "source": {
          "amount": "44.0",
          "currency": "CHF"
        }
      },
      "total_price_without_penalty": {
        "recommended_selling_price": {
          "amount": "105.0",
          "currency": "CHF"
        },
        "purchase_price": {
          "amount": null,
          "currency": null
        },
        "source": {
          "amount": "105.0",
          "currency": "CHF"
        }
      },
      "penalty": {
        "amount": "80.0",
        "currency": "CHF"
      },
      "total_price_with_penalty": {
        "recommended_selling_price": {
          "amount": "185.0",
          "currency": "CHF"
        },
        "purchase_price": {
          "amount": null,
          "currency": null
        },
        "source": {
          "amount": "185.0",
          "currency": "CHF"
        }
      },
      "already_paid_amount": {
        "amount": null,
        "currency": null
      },
      "payable_amount": {
        "amount": null,
        "currency": null
      }
    },
    "trips": [
      {
        "origin": "ZRH",
        "destination": "LHR",
        "departure_localtime": "2020-07-26T15:30:00",
        "arrival_localtime": "2020-07-26T16:20:00",
        "segments": [
          {
            "origin": "ZRH",
            "destination": "LHR",
            "departure_localtime": "2020-07-26T15:30:00",
            "arrival_localtime": "2020-07-26T16:20:00",
            "operating_flight_number": "324",
            "operating_carrier_code": "LX",
            "marketing_flight_number": "324",
            "marketing_carrier_code": "LX"
          }
        ]
      }
    ],
    "form_of_payment": {
    "required": true,
    "options": ["cash", "credit_card", "iata", "counter", "none"],
    "required_fields": {
      "credit_card": {
        "name": true,
        "number": true,
        "type": true,
        "expiry_date": true,
        "code": true,
        "street": true,
        "city": true,
        "zip": true,
        "country": true
       }
     }
   },
   "payment_charge": [
      {
        "amount": "0.0",
        "currency": "GBP",
        "card_name": "Visa Personal",
        "card_type": "visa",
        "payment_type": "credit"
      }
    ]
 }
Response Parameters
Key Type Description
booking_id UUID Unique ID for the booking
result_id UUID Unique ID for the search result
quote_id UUID Unique ID for the exchange
supplier String Supplier name
account String Account used for booking
passengers Object Passenger count information
passengers.adults Integer Number of adults
passengers.children Integer Number of children
passengers.infants Integer Number of infants
pricing Object Detailed Pricing Information
pricing.flight_price Object Detailed Flight Price Information
pricing.flight_price.recommended_selling_price Object Detailed information about the price of the flight we recommend to use as selling price
pricing.flight_price.recommended_selling_price.amount String The price of the flight we recommend to use as selling price
pricing.flight_price.recommended_selling_price.currency String The currency of the price of the flight we recommend to use as selling price
pricing.flight_price.purchase_price Object Detailed information about the price of the trip you will have to pay
pricing.flight_price.purchase_price.amount String The price of the journey you will have to pay
pricing.flight_price.purchase_price.currency String The currency of the price of the trip you will have to pay
pricing.flight_price.source Object Detailed information about the price of the journey you will have to pay for the default currency of the IPCC
pricing.flight_price.source.amount String The price of the journey you will have to pay
pricing.flight_price.source.currency String Default currency in which the pricing is being exposed
pricing.tax Object Tax related Information
pricing.tax.amount String the amount of tax to be paid
pricing.tax.currency String Currency in which the tax has been exposed
pricing.tax.source Object Tax in IPCC’s default currency related information
pricing.tax.source.amount String The tax you have to pay in terms of default currency
pricing.tax.source.currency String Default Currency of the IPCC
pricing.total_price_without_penalty Object Information related to the total price of the Flight without penalty for exchange
pricing.total_price_without_penalty.recommended_selling_price Object Information related to the total price of the trip including tax without penalty we recommend you to use as selling price
pricing.total_price_without_penalty.recommended_selling_price.amount String The total price without penalty of the result we recommend you to use as selling price
pricing.total_price_without_penalty.recommended_selling_price.currency String Currency in which the pricing has been exposed
pricing.total_price_without_penalty.purchase_price Object Detailed information about the total purchase price without penalty
pricing.total_price_without_penalty.purchase_price.amount String The price of the journey including tax you will have to pay without penalty
pricing.total_price_without_penalty.purchase_price.currency String Currency in which the pricing has been exposed
pricing.total_price_without_penalty.source Object Detailed information about the total price of the journey you will have to pay without penalty for the default currency of the IPCC
pricing.total_price_without_penalty.source.amount String The total price of the journey you will have to pay without penalty for the default currency of the IPCC
pricing.total_price_without_penalty.source.currency String Default currency in which the pricing is being exposed
pricing.penalty Object Detailed information about the penalty for exchange
pricing.penalty.amount String The amount of penalty for exchange
pricing.penalty.currency String The currency of penalty for exchange
pricing.total_price_with_penalty Object Information related to the total price of the Flight with penalty for exchange
pricing.total_price_with_penalty.recommended_selling_price Object Information related to the total price of the trip including tax with penalty we recommend you to use as selling price
pricing.total_price_with_penalty.recommended_selling_price.amount String The total price with penalty of the result we recommend you to use as selling price
pricing.total_price_with_penalty.recommended_selling_price.currency String Currency in which the pricing has been exposed
pricing.total_price_with_penalty.purchase_price Object Detailed information about the total purchase price with penalty
pricing.total_price_with_penalty.purchase_price.amount String The price of the journey including tax you will have to pay with penalty
pricing.total_price_with_penalty.purchase_price.currency String Currency in which the pricing has been exposed
pricing.total_price_with_penalty.source Object Detailed information about the total price of the journey you will have to pay with penalty for the default currency of the IPCC
pricing.total_price_with_penalty.source.amount String The total price of the journey you will have to pay with penalty for the default currency of the IPCC
pricing.total_price_with_penalty.source.currency String Default currency in which the pricing is being exposed
pricing.already_paid_amount Object Detailed information about the amount already paid
pricing.already_paid_amount.amount String The total price already paid
pricing.already_paid_amount.currency String Currency of the price already paid
pricing.payable_amount Object Detailed information about payment amount requirement
pricing.payable_amount.amount String The total additional price need to pay
pricing.payable_amount.currency String Currency of the additional price
trips Array Information about trips for the exchanged booking
trips.origin String Origin of the trips
trips.destination String Destination of the trips
trips.departure_localtime String The local time of the airport at the time of departure for this trip
trips.arrival_localtime String The local time of the airport at the time of arrival for this trip
trips.segments Array Information about trip segment of the trips
trips.segments.origin String Origin airport code for the trip segment
trips.segments.destination String Destination airport code for the trip segment
trips.segments.departure_localtime String The local time of the airport at the time of departure for this segment
trips.segments.arrival_localtime String The local time of the airport at the time of arrival for this segment
trips.segments.operating_flight_number String Refers to the identifier used in flight schedule, flight number of the operating carrier
trips.segments.operating_carrier_code String Operating Carrier Code refers to the identifier used in flight schedule, generally the two-character IATA airline designator code
trips.segments.marketing_flight_number String Refers to the identifier used in flight schedule, flight number of the marketing carrier
trips.segments.marketing_carrier_code String Refers to the ticket selling carrier
form_of_payment Object Form of payments details
form_of_payment.required Boolean Indicates that form of payment is required or not
form_of_payment.options Object Form of payment has multiple options: credit card, cash, iata, counter and none
form_of_payment.required_fields Object Required fields for the credit card payment
form_of_payment.required_fields.credit_card Object Credit card related information
form_of_payment.required_fields.credit_card.name Boolean Card holder’s name is required or not
form_of_payment.required_fields.credit_card.number Boolean Card number is required or not
form_of_payment.required_fields.credit_card.type Boolean Card type is required or not
form_of_payment.required_fields.credit_card.expiry_date Boolean Card expiry date is required or not
form_of_payment.required_fields.credit_card.code Boolean Code is required or not
form_of_payment.required_fields.credit_card.street Boolean Indicates whether street name of the credit card holder is required or not
form_of_payment.required_fields.credit_card.city Boolean Indicates whether city name of the credit card holder is required or not
form_of_payment.required_fields.credit_card.zip Boolean Indicates whether zip code of the credit card holder is required or not
form_of_payment.required_fields.credit_card.country Boolean Indicates whether country code of the credit card holder is required or not
payment_charge Object Extra fees for credit card form of payment i.e OB fees details related information for booking
payment_charge.amount String Amount to be paid if the form of payment is credit card
payment_charge.currency String Currency code of the OB Fee
payment_charge.card_name String Name of the credit card
payment_charge.card_type String Credit card type
payment_charge.payment_type String Type of payment. Indicates whether it is credit card or debit card. Possible values: debit, credit, iata, counter, none

Exchange

Finally, to perform the exchange, send a PATCH request to /api/bookings/:booking_id. It returns the details of exchanged booking.

PATCH /api/bookings/:booking_id HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:  v1.1 

{
  "quote_id": "8b19c5c1-e26b-428b-a655-1c2d01cb0e31",
  "form_of_payment": "credit_card",
  "card_details":
     {
        "name": "Davy Jones",
        "number": "5275009999993833",
        "type": "master_card",
        "expiry_date": "12/20",
        "code": "111",
        "cardholder_address":
           {
              "street": "Some Street",
              "city": "Some City",
              "zip": "1337",
              "country": "SE"
           }
     }
  }
Request Parameters
Parameter Required Description
quote_id quote_id got from exchange quote API

form_of_payment

String
card_details ✘/✔ Object
card_details.name String
card_details.number String
card_details.type String
card_details.expiry_date String
card_details.code String
card_details.bank_name ✘/✔ String
card_details.bank_country_code ✘/✔ String
card_details.cardholder_address Object
card_details.cardholder_address.address_name String
card_details.cardholder_address.street String
card_details.cardholder_address.city String
card_details.cardholder_address.state String
card_details.cardholder_address.zip String
card_details.cardholder_address.country String
Response
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "ABC123",
  "supplier": "galileo",
  "account": "ACT1",
  "creator": "ACT1",
  "created_at": "2017-03-01T11:31:31.176+00:00",
  "travelers": [
    {
      "id": "K1JBNmNCRGhUNjZJQnFQN2xxTTgzQT09",
      "type": "adult",
      "name_prefix": "mr",
      "first_name": "Peter",
      "middle_name": null,
      "last_name": "Smith",
      "seats" : [
        {
          "segment_id": "941d987f-186d-492e-8be4-0189a89916b0",
          "row": 26,
          "column": "J",
          "amount": "51.0",
          "currency": "EUR"
        }
      ],
      "services":
        {
          "id": "service_1_id",
          "type": "ABAG",
          "text": "Paid Associated Baggage",
          "amount": "150.0",
          "currency": "EUR",
          "segment_ids": ["9676aaef-e76e-4110-b339-30c9e6d835ff"],
          "hotel_ids": ["9535322c-f543-4179-87eb-d9fd740c98ce"],
          "car_ids": ["b03a0940-b650-4a13-a5df-57ec22e03119"],
          "ssr_code": "ABAG",
          "description": "UPTO50LB 23KG AND62LI 158LCM",
          "description_human": "Additional bag up to 23 kilogramm",
          "service_type": "Baggage",
          "category": "bag",
          "image_urls":
                {
                  "small": "/media/W1siZiIsIjIwMTcvMDEvMTYvOThxM3N2ejZjNV9wdWcuanBnIl1d?sha=87535f0efb7bc55e",
                  "medium": "/media/W1siZiIsIjIwMTcvMDEvMTYvMzNrNjg3MnMzNV9wdWcuanBnIl1d?sha=86400b5e1115a328",
                  "large": "/media/W1siZiIsIjIwMTcvMDEvMTYvMThrcXNiYzg0Zl9wdWcuanBnIl1d?sha=3d4e705297aba62a",
                },
              "refundable_until": nil,
            }
      "frequent_flyer_number": [],
      "phone_numbers": [
        { "type": null, "number": "0041435508800" }
      ],
      "email_addresses": [],
      "postal_addresses": []
    }
  ],
  "flight_bookings": [
    {
      "id": "TENRNFhE",
      "ticket_selling_carrier_code": "BA",
      "apis_data_required": "none",
      "flight_pricing": {
        "flight_price": {
          "recommended_selling_price": { "amount": "52.0", "currency": "EUR" },
          "purchase_price": { "amount": null, "currency": "EUR" },
          "source": { "amount": "55.0", "currency": "CHF" }
        },
        "tax": {
          "amount": "32.79",
          "currency": "EUR",
          "source": { "amount": null, "currency": null }
        },
        "total_price": {
          "recommended_selling_price": { "amount": "84.79", "currency": "EUR" },
          "purchase_price": { "amount": null, "currency": "EUR" },
          "source": { "amount": "90.54", "currency": "CHF" }
        }
      },
      "refundable": null,
      "penalties": {
        "change": { "amount": null, "currency": null },
        "cancel": { "amount": null, "currency": null }
      },
      "segments": [
        {
          "id": "9e1df0e1-44cd-4e7b-8e01-19659ce0be46",
          "status": "confirmed",
          "origin_code": "ZRH",
          "origin_terminal": null,
          "origin_timezone": "Europe/Zurich",
          "destination_code": "LCY",
          "destination_terminal": null,
          "destination_timezone": "Europe/London",
          "departure_localtime": "2017-05-15T10:05",
          "arrival_localtime": "2017-05-15T10:45",
          "operating_carrier_code": "BA",
          "operating_flight_number": "8764",
          "aircraft_operated_by": "BA",
          "marketing_carrier_code": "BA",
          "marketing_flight_number": "8764",
          "aircraft_type": "E70",
          "booking_class": "O",
          "flight_duration_in_minutes": 100,
          "catering": [],
          "technical_stop_count": 0,
          "air_miles": "478",
          "cabin_class": "economy",
          "wifi_packages": [],
          "on_time_in_percentage": null,
          "baggage_pieces_included": { "count": 1, "kg_per_piece": "23" },
          "fare": { "brand": null, "basis_code": "OV2CO", "type": "published" },
          "carrier": { "reservation_id": "POPOM9", "eticket_id": null }
        }
      ]
    }
  ],
  "train_bookings": [],
  "hotel_bookings": [
    {
     "id": "8dc144ce-74ca-4526-8eb9-4569457de0ec",
     "status": "pending",
      "accomodation_id": null,
      "pricing": {
        "room_rate": {
          "total": {
            "recommended_selling_price": { "amount": "106.0",  "currency": "USD" },
            "purchase_price": { "amount": null, "currency": "USD" },
            "source": { "amount": "106.0", "currency": null }
          },
          "per_night": [
            {
              "date": "2018-10-10",
              "recommended_selling_price": { "amount": "106.0", "currency": "USD" },
              "purchase_price": { "amount": null,  "currency": "USD" },
              "source": {  "amount": "106.0", "currency": "USD" }
            }
          ]
        },
        "taxes": {
          "amount": null,
          "currency": "USD",
          "source": { "amount": null, "currency": null },
          "details": []
        },
        "total_price": {
          "recommended_selling_price": { "amount": "106.0",  "currency": "USD" },
          "purchase_price": { "amount": null, "currency": "USD" },
          "source": { "amount": "106.0", "currency": null }
        }
      },
      "name": "La Quinta Inn and Suites LAX",
      "code": "92447",
      "address": {
        "street": "5249 West Century Blvd.",
        "city": "Los Angeles",
        "state": null,
        "zip": "USA",
        "country": "US"
      },
      "longitude": "-118.37261",
      "latitude": "33.9456",
      "stars": null,
      "rating": "3",
      "rating_source": "galileo",
      "description": "\u003cp\u003eOverview\u003cbr\u003eConveniently located less than a mile from one of the world\u0026#39;s busiest airports and within five miles of Manhattan Beach, the ten-story La Quinta Inn \u0026amp; Suites LAX is a welcoming oasis for travel weary guests. The spacious guest rooms and suites feature convenient amenities like free wireless high-speed Internet access and premium cable TV channels. The hotel also features an outdoor swimming pool as well as an on-site restaurant and cocktail lounge.\u003cbr\u003e\u003cbr\u003eLocation\u003cbr\u003eThe hotel is conveniently located less than a mile from LAX Airport and within five miles of Manhattan Beach. Hollywood, Beverly Hills, and downtown Los Angeles are also easily accessible via the 405. Universal Studios is less than 14 miles away, while Disneyland is a short 27-mile drive from the hotel. \u003cbr\u003e\u003cbr\u003eRooms\u003cbr\u003eThe spacious guest rooms and suites feature convenient amenities pillow-top mattresses, like free wireless high-speed Internet access, a coffee maker, free local calls, voicemail, and premium cable TV channels. \u003cbr\u003e\u003cbr\u003eFeatures\u003cbr\u003eThis full-service hotel features an outdoor pool with sundeck, fitness center, and meeting/banquet facilities for up to 300 guests. Wireless high-speed Internet access is available throughout the hotel as well. \u003cbr\u003e\u003cbr\u003eFood \u0026amp; Drink\u003cbr\u003eThe onsite Restaurant serves American cuisine.\u003cbr\u003e\u003cbr\u003eTourist information\u003cbr\u003e3.4 km ti Los Angeles International Airport LAX\u003cbr\u003e22.4 km to Universal Studios\u003cbr\u003e43.2 km to Disneyland\u003c/p\u003e\u003cbr\u003e",
      "hotel_facilities": {
        "meals_included": "none",
        "airport_shuttle": {
          "pick_up": null,
          "drop_off": null
        },
        "wifi": null,
        "others": [
          "bar",
          "wired_internet",
          "restaurant",
          "gym_fitness_centre",
          "laundry_facilities",
          "indoor_pool",
          "telephone",
          "television",
          "car_parking",
          "iron_facilities",
          "electric_kettle",
          "meeting_room_facilities",
          "travel_agency_facilities"
        ],
        "conditions": []
      },
      "picture_url": "http://ivectortestadmin.jactravel.com/Content/DataObjects/ThirdPartyProperty/Image/ext398/image_397191_v1.jpg",
      "room_types": [
        {
          "no_of_rooms": 1,
          "type": "King Double",
          "description": null
        }
      ],
      "check_in": "2018-10-10",
      "check_out": "2018-10-11",
      "nights": 1
    },
  ],
  "car_bookings": [
    {
      "id": "51642f29-69ee-4dcb-8654-0412b62fa9af",
      "status": 'waitlisted',
      "pricing": {
        "rate": {
          "per_day": {
            "recommended_selling_price": {
              "amount": null,
              "currency": "USD"
            },
            "purchase_price": {
              "amount": null,
              "currency": "USD"
            },
            "source": {
              "amount": null,
              "currency": "USD"
            }
          },
          "total": {
            "recommended_selling_price": {
              "amount": "28.92",
              "currency": "USD"
            },
            "purchase_price": {
              "amount": null,
              "currency": "USD"
            },
            "source": {
              "amount": null,
              "currency": null
            }
          }
        },
        "tax": {
          "amount": null,
          "currency": "USD",
          "source": {
            "amount": null,
            "currency": "USD"
          },
          "details": []
        },
        "total_price": {
          "recommended_selling_price": {
            "amount": "28.92",
            "currency": "USD"
          },
          "purchase_price": {
            "amount": null,
            "currency": "USD"
          },
          "source": {
            "amount": null,
            "currency": null
          }
        }
      },
      "refundable": null,
      "company_code": "ZI",
      "car_code": "Mini",
      "pick_up": {
        "location": "10 12 SEMLEY PLACE, LONDON VICTORIA,",
        "latitude": "51.49198",
        "longitude": "-.14977",
        "is_airport": false,
        "localtime": "2019-06-16T15:00:00"
      },
      "drop_off": {
        "location": "10 12 SEMLEY PLACE, LONDON VICTORIA,",
        "latitude": "51.49198",
        "longitude": "-.14977",
        "is_airport": false,
        "localtime": "2019-06-18T15:00:00"
      },
      "days": 2
    }
  ],
  "comments": [],
  "post_booking_services": {
    "cancel_booking": true,
    "add_seat": false,
    "queue": {
      "place": true,
      "remove": true
    },
    "add_remarks": {
      "general": false,
      "accounting": true
    },
    "add_services": {
      "associated": false,
      "standalone": false
    },
    "update_travelers": {
      "first_name": false,
      "last_name": false,
      "phone_number": false,
      "email_address": false,
      "postal_address": false
    },
    "ticket_issuance": {
      "required": false,
      "issued_at": "2020-01-20T12:17:00+00:00",
      "until": null
    },
    "emd": {
      "supported": false,
      "required": false,
      "available": false,
      "possible_until": null,
      "style": "unavailable"
    },
    "refund": {
      "supported": true,
      "available": true,
      "possible_until": "2020-03-16T19:20:00.000+00:00",
      "style": "with_quote"
    },
    "exchange": {
      "supported": false,
      "available": false,
      "possible_until": null,
      "style": "unavailable"
    },
    "ticket_void": {
      "supported": true,
      "available": true,
      "possible_until": "2020-01-20T23:59:00+00:00"
    },
    "form_of_payment": {
      "add": {
         "9e1df0e1-44cd-4e7b-8e01-19659ce0be46": true,
          "8dc144ce-74ca-4526-8eb9-4569457de0ec": false,
          "51642f29-69ee-4dcb-8654-0412b62fa9af": true,
       },
       "update": {
          "9e1df0e1-44cd-4e7b-8e01-19659ce0be46": false,
           "8dc144ce-74ca-4526-8eb9-4569457de0ec": true,
           "51642f29-69ee-4dcb-8654-0412b62fa9af": true,
        },
        "delete": {}
      }
  }
}
Attribute Description
id The ID of a Booking
booking_id Unique ID for the booking
version Version of the booking
supplier Supplier name
account Account used for booking
creator Username used by the agency
created_at Timestamp when booking was created
travelers Detailed information about the travelers
travelers.id Unique ID of a traveler
travelers.type The type of this traveler, see Traveler Type for more details
travelers.name_prefix Name prefix of the traveler. Example mr
travelers.first_name First Name of the traveler. Example: John
travelers.middle_name Middle Name of the driver. Example: Ahmed
travelers.last_name Last Name of the driver. Example: Kabir
travelers.ticket_number Travelers ticket number
travelers.seats Seat Reservation Information about the Traveler
travelers.seats.segment_id Segment Identifier of the Reserved Seat
travelers.seats.row Row Number of the Reserved Seat
travelers.seats.column Column Number of the Reserved Seat
travelers.seats.amount Price of the seat. For free seat, it will be 0.0. For no seat price provided by the supplier, it will be nil.
travelers.seats.currency Currency of the Price of the seat
travelers.services Service Information about the Traveler
travelers.services.id Service Identifier
travelers.services.type Type of the service
travelers.services.text Description of the service from the supplier
travelers.services.amount Price of the service
travelers.services.currency Currency of the Price of the services
travelers.services.segment_ids An Array containing all the segments identifiers related to the service
travelers.services.hotel_ids Hotel Reservation Information of the Traveler. It contains the hotel segments identifiers
travelers.services.car_ids Vehicle Reservation Information of the Traveler. It contains the vehicle segments identifiers
travelers.services.ssr_code Special Service Request (SSR) code of the service.A Special Service Request (SSR) is a message sent directly to suppliers to communicate traveler preferences, special services needed by a traveler, or of a procedural requirement necessary of the carrier. SSRs include information such as meal preference or special assistance required the traveler. In addition, the SSR can send an alert message back to the agency or travel provider. SSRs can originate with the travel provider asking for service from the carrier or from the carrier asking for information (like a ticket number) from the travel provider. Each SSR uses a four-character IATA code that specifies the type of service requested. These codes and their recommended use are pre-defined by IATA, however, not all suppliers or providers support the use of all SSR codes.
travelers.services.description Description of the service as given by the supplier
travelers.services.description_human Human readable description of the service
travelers.services.service_type Type of the service. For example, Pets, Baggage etc.
travelers.services.category Category of the service
travelers.services.image_urls Holds the URLs to different sizes of the main image. See Images.
travelers.services.refundable_until The date up to which the service can be cancelled free of cost
travelers.frequent_flyer_number Frequent flyer number of traveler
travelers.phone_numbers Traveler’s phone number details
travelers.phone_numbers.id Unique ID of traveler’s phone number
travelers.phone_numbers.type Type of the phone number
travelers.phone_numbers.number Traveler’s phone number
travelers.email_addresses Traveler’s email address
travelers.email_addresses.id Unique ID of traveler’s phone number
travelers.email_addresses.type Type of the phone number
travelers.email_addresses.address Traveler’s phone number
travelers.postal_addresses Details about traveler’s postal code
travelers.postal_addresses.id Unique ID of traveler’s postal code
travelers.postal_addresses.type Travelers postal code types
travelers.postal_addresses.lines Travelers postal code lines
flight_bookings Detailed information about the flight booking
flight_bookings.id Unique ID for flight booking
flight_bookings.ticket_selling_carrier_code Ticket selling carrier code for the booking flight
flight_bookings.apis_data_required Exposes if advanced passer information has to be required, see APIS Data for mor details
flight_bookings.flight_pricing All the information about the cost of the flight
flight_bookings.flight_pricing.flight_price Information related to the price of the the flight
flight_bookings.flight_pricing.flight_price.recommended_selling_price Information about the price of the journey we recommend to use as selling price
flight_bookings.flight_pricing.flight_price.recommended_selling_price.amount The price of the journey we recommend to use as selling price without tax
flight_bookings.flight_pricing.flight_price.recommended_selling_price.currency The currency in which the price of the journey we recommend to use as selling price
flight_bookings.flight_pricing.flight_price.purchase_price Detailed information about the price of the journey you will have to pay
flight_bookings.flight_pricing.flight_price.purchase_price.amount The price of the journey you will have to pay with tax
flight_bookings.flight_pricing.flight_price.purchase_price.currency The currency in which the price of the journey you will have to pay
flight_bookings.flight_pricing.flight_price.source The price of the journey you will have to pay in the IPCC’s default currency
flight_bookings.flight_pricing.flight_price.source.amount The price of the journey you will have to pay in the IPCC’s default currency
flight_bookings.flight_pricing.flight_price.source.currency The currency in which the price of the journey you will have to pay
flight_bookings.flight_pricing.tax Tax Related Information
flight_bookings.flight_pricing.tax.amount The amount of tax you have to pay
flight_bookings.flight_pricing.tax.currency The currency in which the tax is being exposed
flight_bookings.flight_pricing.tax.source Tax Related Information in the IPCC’s default currency
flight_bookings.flight_pricing.tax.source.amount The amount of tax you have to pay in the IPCC’s default currency
flight_bookings.flight_pricing.tax.source.currency The currency in which the tax is being exposed
flight_bookings.flight_pricing.details An Array containing the tax break down of total tax amount
flight_bookings.flight_pricing.details.code Tax Code representing the tax category.It is unique two-lettered code in all caps.
flight_bookings.flight_pricing.details.amount The tax amount for the tax category
flight_bookings.flight_pricing.details.currency The currency of the tax amount
flight_bookings.flight_pricing.details.description Human Readable Description of the tax code representing the tax category as given by the supplier
flight_bookings.flight_pricing.total_price.recommended_selling_price The total price of the flight we recommend you to use as selling price without tax i.e gross price of the flight
flight_bookings.flight_pricing.total_price.recommended_selling_price.amount The price of the journey we recommend to use as selling price without tax
flight_bookings.flight_pricing.total_price.recommended_selling_price.currency The currency in which the price of the journey we recommend to use as selling price
flight_bookings.flight_pricing.total_price.purchase_price The total net price of the flight you will have to pay
flight_bookings.flight_pricing.total_price.purchase_price.amount The price of the journey you will have to pay with tax
flight_bookings.flight_pricing.total_price.purchase_price.currency The currency in which the price of the journey you will have to pay
flight_bookings.refundable Refundable is possible or not. If value is true then possible and if false refundable is not possible.
flight_bookings.segments Detailed information about flight segment
flight_bookings.segments.status Booking Status. Possible values are: confirmed, unconfirmed, pending, closed, not_processed, new, denied, canceled, no_need_status, duplicate, waitlisted, unknown and null
flight_bookings.segments.catering The information about the catering services on this flight segment, see Catering for more details
flight_bookings.penalties Penalty related information of the flight
flight_bookings.segments.cabin_class The cabin class of this trip, see Cabin Class for more details
flight_bookings.segments.fare.type The fare type, see Fare Type for more details
train_bookings Detailed information about the train booking
hotel_bookings.id Unique ID for hotel bookings
hotel_bookings.status Booking Status. Possible values are: confirmed, closed, unconfirmed, pending, not_processed, new, denied, canceled, no_need_status, duplicate, waitlisted, unknown and null
hotel_bookings.accomodation_id Accommodation ID fo the hotel
hotel_bookings.pricing Detailed information of hotel booking pricing
hotel_bookings.room_rate Room Rate Pricing Information
hotel_bookings.room_rate.total Rate for Room for all nights
hotel_bookings.room_rate.per_night Rate for Room as per night basis
hotel_bookings.taxes Tax Related Information
hotel_bookings.total_price.recommended_selling_price Total Recommended Selling Price
hotel_bookings.total_price.purchase_price Total Purchase Price
hotel_bookings.total_price.source Total Source Price
hotel_bookings.name Name of the hotel
hotel_bookings.code The unique code to identify the hotel i.e Hotel Code
hotel_bookings.address The address of the hotel
hotel_bookings.address.street The name of the street of the hotel location
hotel_bookings.address.city The name of the city of the hotel location
hotel_bookings.address.state State name of the hotel
hotel_bookings.address.zip Zip code of the hotel
hotel_bookings.address.country Country code of the hotel
hotel_bookings.longitude Longitude of the hotel
hotel_bookings.latitude Latitude of the hotel
hotel_bookings.stars Star rating system is a system aims to rate hotels based on the quality and amount of amenities it provides its customers.
hotel_bookings.rating Rating of the hotel
hotel_bookings.rating_source Rating source
hotel_bookings.description Description of the hotel property
hotel_bookings.hotel_facilities Detailed facilities provided by the hotel
hotel_bookings.hotel_facilities.meals_included The list of meals that are complimentary with the hotel booking. See Board Type for details for details
hotel_bookings.hotel_facilities.airport_shuttle Detailed information about airport shuttle facility
hotel_bookings.hotel_facilities.airport_shuttle.pick_up Airport pickup information. See Hotel Facility Availabilities for the details
hotel_bookings.hotel_facilities.airport_shuttle.drop_off Airport drop-off information. See Hotel Facility Availabilities for the details
hotel_bookings.hotel_facilities.wifi Wifi related information. See Hotel Facility Availabilities for the details
hotel_bookings.hotel_facilities.others Others facilities provided by this hotel. See Hotel Facilities for details
hotel_bookings.hotel_facilities.condition Conditions for this hotel. See Hotel Conditions for details
hotel_bookings.picture_urls Picture URLs of the Specific Hotel
hotel_bookings.room_types Detailed information about the particular type of room
hotel_bookings.room_types.no_of_rooms Number of rooms of the same room type
hotel_bookings.room_types.description Description of a particular room type
hotel_bookings.check_in Check in time as per hotel policy. Value could be anything from 00:00 to 23:59 or full_day_check_in
hotel_bookings.check_out Check out time as per hotel policy. Value could be anything from 00:00 to 23:59
hotel_bookings.nights Total number of nights to stay in the hotel
car_bookings Details about the car booking
car_bookings.id Unique ID for car bookings
car_bookings.status Booking Status. Possible values are: confirmed, closed, unconfirmed, pending, not_processed, new, denied, canceled, no_need_status, duplicate, waitlisted, unknown and null
car_bookings.pricing Detailed information of hotel booking pricing
car_bookings.rate Car Rental Rate Pricing Information
car_bookings.rate.per_day Car Rental Rate Pricing Per Day Details
car_bookings.rate.per_day.recommended_selling_pric Information about the cost of car rental we recommend to use as selling price per day
car_bookings.rate.per_day.recommended_selling_price.amount Recommended Car Rental Cost Per Day
car_bookings.rate.per_day.recommended_selling_price.currency Currency of the recommended car rental cost per day
car_bookings.rate.per_day.purchase_price Detailed information about the car rental cost you will have to pay per day
car_bookings.rate.per_day.purchase_price.amount The car rental price with tax per day
car_bookings.rate.per_day.purchase_price.currency The currency of the car rental price with tax per day
car_bookings.rate.per_day.source Detailed information about the car rental cost you will have to pay per day in the IPCC’s default currency
car_bookings.rate.per_day.source.amount The car rental price per day in the IPCC’s default currency
car_bookings.rate.per_day.source.currency The currency of the car rental price per day in the IPCC’s default currency
car_bookings.rate.total Total Car Rental Rate Pricing Details
car_bookings.rate.total.recommended_selling_price Information about the total cost of car rental we recommend to use as selling price
car_bookings.rate.total.recommended_selling_price.amount Recommended Total Car Rental Cost
car_bookings.rate.total.recommended_selling_price.currency Currency of the total recommended car rental cost
car_bookings.rate.total.purchase_price Detailed information about the total car rental cost you will have to pay
car_bookings.rate.total.purchase_price.amount The total car rental price with tax
car_bookings.rate.total.purchase_price.currency The currency of the car rental price with tax per day
car_bookings.rate.total.source Detailed information about the total car rental cost you will have to pay in the IPCC’s default currency
car_bookings.rate.total.source.amount The total car rental price in the IPCC’s default currency
car_bookings.rate.total.source.currency The IPCC’s default currency
car_bookings.tax Tax Related Information
car_bookings.tax.amount Tax amount
car_bookings.tax.currency Currency of the Tax amount
car_bookings.tax.source Tax Related Information in the IPCC’s default currency
car_bookings.tax.source.amount Tax amount in the IPCC’s default currency
car_bookings.tax.source.currency The IPCC’s default currency
car_bookings.total_price.recommended_selling_price Total Recommended Selling Price
car_bookings.total_price.recommended_selling_price.amount Total amount we recommended as selling price
car_bookings.total_price.recommended_selling_price.currency Currency of the Total Recommended Selling Price
car_bookings.total_price.purchase_price Details about total Price of car rental you actually have to pay
car_bookings.total_price.purchase_price.amount Total Price of car rental you actually have to pay
car_bookings.total_price.purchase_price.currency Currency of the Total Purchase Price
car_bookings.total_price.source Information about total price in the IPCC’s default currency
car_bookings.total_price.source.amount Total Price in the IPCC’s default currency
car_bookings.total_price.source.currency IPCC’s default currency
car_bookings.refundable Indicator of whether the car booking is refundable or not. If true, it is refundable otherwise it is non-refundable. If it is null, then there is no information about refund. See Possible Values for more details.
car_bookings.company_code The unique code to identify the car company i.e Company Code
car_bookings.car_code The unique code to identify the car i.e Car Code
car_bookings.pick_up Pick Up related information
car_bookings.pick_up.location Pick Up Location
car_bookings.pick_up.latitude Latitude of the pickup location in Decimal Degree(DD) format
car_bookings.pick_up.longitude Longitude of the pickup location in Decimal Degree(DD) format
car_bookings.pick_up.is_airport Returns true or false if the pick-up location is airport or not. See Possible Values for more details.
car_bookings.pick_up.localtime Pick Up Time and Date
car_bookings.drop_off Drop off related information
car_bookings.drop_off.location Drop off Location
car_bookings.drop_off.latitude Latitude of the drop-off location in Decimal Degree(DD) format
car_bookings.drop_off.longitude Longitude of the drop-off location in Decimal Degree(DD) format
car_bookings.drop_off.is_airport Returns true or false if the drop-off location is airport or not. See Possible Values for more details.
car_bookings.drop_off.localtime Drop off Time and Date
car_bookings.days The number of days for which the car is being rented
post_booking_services Details about the post booking services supported by Welltravel.
post_booking_services.cancel_booking Specifies whether the booking can be cancelled or not by Welltravel. See Possible Values for more details.
post_booking_services.add_seat Specifies whether seat can be added to a PNR in the post booking is supported by Welltravel for the PNR. See Possible Values for more details.
post_booking_services.queue Details about whether placing or removing a PNR into/from a queue in the post booking is supported by Welltravel or not for the PNR.
post_booking_services.queue.place Specifies whether placing a PNR into a queue in the post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.queue.remove Specifies whether removing a PNR from a queue in the post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.add_remarks Details about whether remarks can be added to a PNR in post booking is supported by Welltravel or not for the PNR.
post_booking_services.add_remarks.general Specifies about whether general remark can be added to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.add_remarks.accounting Specifies about whether accounting remarks can be added to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.add_services Ancillary Services are optional services that a passenger can purchase in combination with an airline ticket. All the information about whether ancillary services can be added to a PNR in post booking is supported by Welltravel or not for the PNR.
post_booking_services.add_services.associated An associated service is issued for the collection of miscellaneous charges and excess baggage charges. For example, sports equipment, pets in cabin or animal in hold, excess baggage, and so on. Specifies whether associated ancillary services of the booking can be added to a PNR in post booking is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.add_services.standalone A standalone service is issued for a residual value or the collection of miscellaneous charges that are not lifted with an e-ticket coupon. For example vouchers, group deposits, change fees, and so on. Standalone Services are other ancillary services that can be purchased within or not within a flight reservation. For example lounge access or a promotional item (t-shirt, mug, etc). Specifies whether standalone ancillary services can be added to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
post_booking_services.update_travelers Details about whether the traveler details in post booking services can be updated is supported by Welltravel or not.
post_booking_services.update_travelers.first_name Specifies whether first name of the travelers can be updated. See Possible Values for more details.
post_booking_services.update_travelers.last_name Specifies whether last name of the travelers can be updated. See Possible Values for more details.
post_booking_services.update_travelers.phone_number Specifies whether phone number of the travelers can be updated. See Possible Values for more details.
post_booking_services.update_travelers.email_address Specifies whether email address of the travelers can be updated. See Possible Values for more details.
post_booking_services.update_travelers.postal_address Specifies whether postal address of the travelers can be updated. See Possible Values for more details.
post_booking_services.ticket_issuance Detailed information about the ticket issuance
post_booking_services.ticket_issuance.required Ticket issuance is required or not. See Possible Values for more details.
post_booking_services.ticket_issuance.issued_at Timestamp when ticket issuance was done
post_booking_services.ticket_issuance.until Ticket issuance is possible until this date
post_booking_services.emd Details about whether the traveler can issue an EMD is supported by Welltravel or not.
post_booking_services.emd.supported Specifies whether issuance of EMD is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.emd.required Specifies whether it is mandatory to issue the EMD. See Possible Values for more details.
post_booking_services.emd.available Specifies whether the EMD is already issued or not. See Possible Values for more details.
post_booking_services.emd.possible_until The date until which EMD issuance is possible for the booking
post_booking_services.emd.style Specifies whether the EMD can be issued with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Style for more details
post_booking_services.refund Details about whether the booking can be refunded is supported by Welltravel or not.
post_booking_services.refund.supported Specifies whether refund of booking is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.refund.required Specifies whether it is mandatory to refund the booking for cancellation. See Possible Values for more details.
post_booking_services.refund.available Specifies whether the booking is already refunded or not. See Possible Values for more details.
post_booking_services.refund.possible_until The date until which refund is possible for the booking
post_booking_services.refund.style Specifies whether the booking fee can be refunded with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Style for more details.
post_booking_services.exchange Details about whether the flight(s) can be exchanged in post booking is supported by Welltravel or not.
post_booking_services.exchange.supported Specifies whether flight(s) exchange is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.exchange.available Specifies whether the ticket is already exchanged or not. See Possible Values for more details.
post_booking_services.exchange.possible_until The date until which exchange is possible for the flight(s)
post_booking_services.exchange.style Specifies whether the flight can be exchanged with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Style for more details.
post_booking_services.ticket_void Voiding any ticket means invalidating the ticket. Usually, a ticket can be voided within 24 hours of document issuance, however, the period during which a ticket can be voided may vary. The period of time during which a void can occur is handled by the provider. Details about whether the flight ticket can be voided in post booking is supported by Welltravel or not.
post_booking_services.ticket_void.supported Specifies whether voiding ticket is supported by Welltravel or not. See Possible Values for more details.
post_booking_services.ticket_void.available Specifies whether the ticket is already voided or not. See Possible Values for more details.
post_booking_services.ticket_void.possible_until The date until which voiding ticket is possible for the booking
post_booking_services.ticket_void.style Specifies whether the ticket can be voided with or without issuing ticket and if no information is available regarding the matter the value will be unavailable. See Style for more details
post_booking_services.form_of_payment Details about whether add, update and delete of form of payment of the booking in the post booking is supported by Welltravel or not.
post_booking_services.form_of_payment.add Specifies whether a form of payment can be added to the booking. It is possible to add a form of payment to the booking, only if it is not cancelled or issued, or the operation is supported by the supplier. It is a hash containing all the supported add form of payment information for each booking. See Possible Values for more details.
post_booking_services.form_of_payment.update Specifies whether a form of payment of the booking can be updated. It is possible to update the form of payment to the booking, only if it exists and the booking is not cancelled or issued or the operation is supported by the supplier. It is a hash containing all the supported update form of payment information for each booking. See Possible Values for more details.
post_booking_services.form_of_payment.delete Specifies whether a form of payment of the booking can be deleted. It is possible to delete the form of payment of a booking, only if it exists, and the booking is not cancelled, or issued, or the delete operation is supported by the supplier. It is a hash containing all the supported add form of payment information for each booking. See Possible Values for more details. .

Reservation Management API

Using our ReservationManagement, you are able to modify and cancel an existing reservation. The reservation can either be made via our Search & Book API or a native client.

Bookings

The Booking API endpoints allow you to fetch or modify a booking.

Fetch Booking

GET /api/:supplier/:account/bookings/:id

Returns the details of a booking.

GET /api/galileo/ACT1/bookings/ABC123 HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version:   v1.1 
Response Attributes
Query Parameters
Parameter Type Required Description
id String ID of the booking
Response
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "ABC123",
  "supplier": "galileo",
  "account": "ACT1",
  "creator": "ACT1",
  "created_at": "2017-03-01T11:31:31.176+00:00",
  "travelers": [
    {
      "id": "K1JBNmNCRGhUNjZJQnFQN2xxTTgzQT09",
      "type": "adult",
      "meals": [
        {
          "id": "af2fe65d-3bb3-42b5-890f-af6f034dd24c",
          "code": "AVML",
          "description": "AVML F9 NN1 ORDDFW1395M01OCT",
          "status": "confirmed",
          "image_urls":  {
            "small": "/media/small/W1siZiIsIjIwMTcvMDEvMTYvOThxM3N2ejZjNV9wdWcuanBnIl1d?sha=87535f0efb7bc55e",
            "medium": "/media/medium/W1siZiIsIjIwMTcvMDEvMTYvMzNrNjg3MnMzNV9wdWcuanBnIl1d?sha=86400b5e1115a328",
            "large": "/media/large/W1siZiIsIjIwMTcvMDEvMTYvMThrcXNiYzg0Zl9wdWcuanBnIl1d?sha=3d4e705297aba62a",
          },
          "segment_ids": [
            "941d987f-186d-492e-8be4-0189a89916b0"
          ]
        }
      ],
      "assistances": [
        {
          "id": "6c62dda6-db7b-4f2e-82f4-b4c085da7e74",
          "code": "DEAF",
          "description": "DEAF F9 NN1 ORDDFW1395M01OCT",
          "status": "confirmed",
          "image_urls":  {
            "small": "/media/W1siZiIsIjIwMTcvMDEvMTYvOThxM3N2ejZjNV9wdWcuanBnIl1d?sha=87535f0efb7bc55e",
            "medium": "/media/W1siZiIsIjIwMTcvMDEvMTYvMzNrNjg3MnMzNV9wdWcuanBnIl1d?sha=86400b5e1115a328",
            "large": "/media/W1siZiIsIjIwMTcvMDEvMTYvMThrcXNiYzg0Zl9wdWcuanBnIl1d?sha=3d4e705297aba62a",
          },
        }
      ],
      "name_prefix":
       [
         {
           "meta_key": "travelers.name_prefix.mr",
           "name": "Mr"
         }
       ],
      "first_name": "Peter",
      "middle_name": null,
      "last_name": "Smith",
      "seats" : [
        {
          "segment_id": "941d987f-186d-492e-8be4-0189a89916b0",
          "row": 26,
          "column": "J",
          "amount": "51.0",
          "currency": "EUR"
          "status": {
            "meta_key": "common.status.confirmed",
            "name": "Confirmed"
          },
          "emd_identifier": "98712345"
        }
      ],
      "seats" : [
        {
          "segment_id": "941d987f-186d-492e-8be4-0189a89916b0",
          "row": 26,
          "column": "J",
          "amount": "51.0",
          "currency": "EUR"
          "status": {
            "meta_key": "common.status.confirmed",
            "name": "Confirmed"
          },
          "emd_identifier": "98712345"
        }
      ],
      "services":
        {
          "id": "service_1_id",
          "type": "ABAG",
          "text": "Paid Associated Baggage",
          "amount": "150.0",
          "currency": "EUR",
          "segment_ids": [
            {
              "segment_id": "9676aaef-e76e-4110-b339-30c9e6d835ff",
              "emd_identifier": "123456789"
            }
          ],
          "status": {
            "meta_key": "common.status.confirmed",
            "name": "Confirmed"
          }
          "hotel_ids": ["9535322c-f543-4179-87eb-d9fd740c98ce"],
          "car_ids": ["b03a0940-b650-4a13-a5df-57ec22e03119"],
          "ssr_code": "ABAG",
          "description": "UPTO50LB 23KG AND62LI 158LCM",
          "description_human": "Additional bag up to 23 kilogramm",
          "service_type": "Baggage",
          "category": "bag",
          "image_urls":  {
            "small": "/media/W1siZiIsIjIwMTcvMDEvMTYvOThxM3N2ejZjNV9wdWcuanBnIl1d?sha=87535f0efb7bc55e",
            "medium": "/media/W1siZiIsIjIwMTcvMDEvMTYvMzNrNjg3MnMzNV9wdWcuanBnIl1d?sha=86400b5e1115a328",
            "large": "/media/W1siZiIsIjIwMTcvMDEvMTYvMThrcXNiYzg0Zl9wdWcuanBnIl1d?sha=3d4e705297aba62a",
          },
          "refundable_until": null,
         }
      "frequent_flyer_number": [
         {
           "id": "19fbc878-63ce-488d-8988-66145a0eed81",
           "carrier": "LX",
           "number": "88888888888"
         }
      ],
      "phone_numbers": [
        { "type": null, "number": "0041435508800" }
      ],
      "email_addresses": [],
      "postal_addresses": []
    }
  ],
  "flight_bookings": [
    {
      "id": "TENRNFhE",
      "ticket_selling_carrier_code": "BA",
      "apis_data_required": "none",
      "flight_pricing": {
        "flight_price": {
          "recommended_selling_price": { "amount": "52.0", "currency": "EUR" },
          "purchase_price": { "amount": null, "currency": "EUR" },
          "source": { "amount": "55.0", "currency": "CHF" }
        },
        "tax": {
          "amount": "32.79",
          "currency": "EUR",
          "source": { "amount": null, "currency": null }
        },
        "total_price": {
          "recommended_selling_price": { "amount": "84.79", "currency": "EUR" },
          "purchase_price": { "amount": null, "currency": "EUR" },
          "source": { "amount": "90.54", "currency": "CHF" }
        }
      },
      "refundable": null,
      "penalties": {
        "change": { "amount": null, "currency": null },
        "cancel": { "amount": null, "currency": null }
      },
      "segments": [
        {
          "id": "9e1df0e1-44cd-4e7b-8e01-19659ce0be46",
          "status": {
            "meta_key": "common.status.confirmed",
            "name": "Confirmed"
          },
          "origin_code": "ZRH",
          "origin_terminal": null,
          "origin_timezone": "Europe/Zurich",
          "destination_code": "SYD",
          "destination_terminal": null,
          "destination_timezone": "Australia/Sydney",
          "departure_localtime": "2017-03-16T13:55:00",
          "arrival_localtime": "2017-03-18T07:30:00",
          "operating_carrier_code": "TG",
          "operating_flight_number": "477",
          "aircraft_operated_by": "TG",
          "marketing_carrier_code": "TG",
          "marketing_flight_number": "477",
          "aircraft_type": "77W",
          "booking_class": "V",
          "flight_duration_in_minutes": 1355,
          "catering": [],
          "technical_stop_count": 1,
          "air_miles": "478",
          "cabin_class": "economy",
          "wifi_packages": [],
          "on_time_in_percentage": null,
          "baggage_pieces_included": { "count": 1, "kg_per_piece": "23" },
          "fare": { "brand": null, "basis_code": "OV2CO", "type": "published" },
          "carrier": { "reservation_id": "POPOM9", "eticket_id": null }
        }
      ]
    },
    "post_booking_capability": {
  "queue": {
    "place": true,
    "remove": true
  },
  "accounting_remarks": {
    "add": false,
    "update": false,
    "delete": false,
    "available_codes": [
      {
        "meta_key": "common.accounting_remarks.fare",
        "name": "Fare",
        "code": "fare",
        "validation_regexp": "^[a-zA-Z ]{1,89}$"
      },
      {
        "meta_key": "common.accounting_remarks.canned",
        "name": "Canned",
        "code": "canned",
        "validation_regexp": "^[0-9.]{1,43}$"
      },
      {
        "meta_key": "common.accounting_remarks.ticket",
        "name": "Ticket",
        "code": "ticket",
        "validation_regexp": "^[0-9]{10}-[0-9]{3}$"
      },
      {
        "meta_key": "common.accounting_remarks.agent_sign",
        "name": "Agent Sign",
        "code": "agent_sign",
        "validation_regexp": "^[a-zA-Z0-9]{1,10}$"
      },
      {
        "meta_key": "common.accounting_remarks.other",
        "name": "Other",
        "code": "other",
        "validation_regexp": "^[a-zA-Z0-9 .-?*%$()#!_]{1,89}$"
      },
    ],
  },
  "general_remarks": {
    "add": false,
    "update": false,
    "delete": false,
    "available_codes": [
      {
        "meta_key": "common.general_remarks.general",
        "name": "General",
        "code": "general",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.historical",
        "name": "Historical",
        "code": "historical",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.invoice",
        "name": "Invoice",
        "code": "invoice",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.itinerary",
        "name": "Itinerary",
        "code": "itinerary",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.alpha",
        "name": "Alpha",
        "code": "alpha",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.client_address",
        "name": "Client Address",
        "code": "client_address",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.corporate",
        "name": "Corporate",
        "code": "corporate",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.delivery_address",
        "name": "Delivery Address",
        "code": "delivery_address",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.group_name",
        "name": "Group Name",
        "code": "group_name",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.hidden",
        "name": "Hidden",
        "code": "hidden",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
    ],
  },
  "traveler": {
    "phone_number": {
      "add": false,
      "update": false,
      "delete": false,
      "validation_regexp": "A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z"
    },
    "email_address": {
      "add": false,
      "update": false,
      "delete": false,
      "validation_regexp": "A[\w+\-.]+(\.[a-z\d\-]+)*\.[a-z]+\z"
    },
    "postal_address": {
      "add": false,
      "update": false,
      "delete": false
    },
    "frequent_flyer_numbers": {
      "add": false,
      "update": false,
      "delete": false
    },
    "documents": {
      "add": true,
      "update": false,
      "delete": false,
      "available_codes": [
        {
          "meta_key": "common.documents.passport",
          "name": "Passport",
          "code": "passport"
        },
        {
          "meta_key": "common.documents.identity_card",
          "name": "Identity Card",
          "code": "identity_card"
        },
      ]
    },
    "meal_requests": {
      "add": true,
      "update": false,
      "delete": false,
      "available_codes": [
        {
          "meta_key": "traveler.meal_requests.avml",
          "name": "Vegetarian Hindu meal",
          "code": "AVML"
        },
        {
          "meta_key": "traveler.meal_requests.bbml",
          "name": "Baby meal",
          "code": "BBML"
        },
        {
          "meta_key": "traveler.meal_requests.cake",
          "name": "Cake",
          "code": "CAKE"
        },
        {
          "meta_key": "traveler.meal_requests.blml",
          "name": "Bland meal",
          "code": "BLML"
        },
        {
          "meta_key": "traveler.meal_requests.chml",
          "name": "Child Meal",
          "code": "CHML"
        },
        {
          "meta_key": "traveler.meal_requests.clml",
          "name": "Child lacto-ovo meal",
          "code": "CLML"
        },
        {
          "meta_key": "traveler.meal_requests.dbml",
          "name": "Diabetic meal",
          "code": "DBML"
        },
        {
          "meta_key": "traveler.meal_requests.fpml",
          "name": "Fruit platter meal",
          "code": "FPML"
        },
        {
          "meta_key": "traveler.meal_requests.gfml",
          "name": "Gluten intolerant meal",
          "code": "GFML"
        },
        {
          "meta_key": "traveler.meal_requests.hfml",
          "name": "High fiber meal",
          "code": "HFML"
        },
        {
          "meta_key": "traveler.meal_requests.hnml",
          "name": "Hindu (non vegetarian) meal specific",
          "code": "HNML"
        },
        {
          "meta_key": "traveler.meal_requests.obml",
          "name": "Japanese Obento meal",
          "code": "OBML"
        },
        {
          "meta_key": "traveler.meal_requests.jpml",
          "name": "Japanese meal",
          "code": "JPML"
        },
        {
          "meta_key": "traveler.meal_requests.jnml",
          "name": "Junior meal",
          "code": "JNML"
        },
        {
          "meta_key": "traveler.meal_requests.ksml",
          "name": "Kosher meal",
          "code": "KSML"
        },
        {
          "meta_key": "traveler.meal_requests.lcml",
          "name": "Low calorie meal",
          "code": "LCML"
        },
        {
          "meta_key": "traveler.meal_requests.lfml",
          "name": "Low fat meal",
          "code": "LFML"
        },
        {
          "meta_key": "traveler.meal_requests.nbml",
          "name": "No beef meal",
          "code": "NBML"
        },
        {
          "meta_key": "traveler.meal_requests.nfml",
          "name": "No fish meal",
          "code": "NFML"
        },
        {
          "meta_key": "traveler.meal_requests.nlml",
          "name": "Low lactose meal",
          "code": "NLML"
        },
        {
          "meta_key": "traveler.meal_requests.lpml",
          "name": "Low protein meal",
          "code": "LPML"
        },
        {
          "meta_key": "traveler.meal_requests.prml",
          "name": "Low purine meal",
          "code": "PRML"
        },
        {
          "meta_key": "traveler.meal_requests.lsml",
          "name": "Low salt meal",
          "code": "LSML"
        },
        {
          "meta_key": "traveler.meal_requests.moml",
          "name": "Moslem meal",
          "code": "MOML"
        },
        {
          "meta_key": "traveler.meal_requests.orml",
          "name": "Oriental meal",
          "code": "ORML"
        },
        {
          "meta_key": "traveler.meal_requests.pfml",
          "name": "Peanut free meal",
          "code": "PFML"
        },
        {
          "meta_key": "traveler.meal_requests.rfml",
          "name": "Refugee meal",
          "code": "RFML"
        },
        {
          "meta_key": "traveler.meal_requests.sfml",
          "name": "Seafood meal",
          "code": "SFML"
        },
        {
          "meta_key": "traveler.meal_requests.spml",
          "name": "Special meal, specify food",
          "code": "SPML"
        },
        {
          "meta_key": "traveler.meal_requests.vgml",
          "name": "Vegetarian vegan meal",
          "code": "VGML"
        },
        {
          "meta_key": "traveler.meal_requests.vjml",
          "name": "Vegetarian Jain meal",
          "code": "VJML"
        },
        {
          "meta_key": "traveler.meal_requests.vlml",
          "name": "Vegetarian lacto-ovo meal",
          "code": "VLML"
        },
        {
          "meta_key": "traveler.meal_requests.voml",
          "name": "Vegetarian Oriental meal",
          "code": "VOML"
        },
        {
          "meta_key": "traveler.meal_requests.rvml",
          "name": "Vegetarian raw meal",
          "code": "RVML"
        },
        {
          "meta_key": "traveler.meal_requests.vvml",
          "name": "Vegetarian vegan meal",
          "code": "VVML"
        },
      ]
    },
    "assistance_requests": {
      "add": false,
      "update": false,
      "delete": false,
      "available_codes": [
        {
          "meta_key": "traveler.assistance.wchr",
          "name": "Wheelchair assistance for passenger walking short distance up or down stairs",
          "code": "WCHR"
        },
        {
          "meta_key": "traveler.assistance.wchs",
          "name": "Wheelchair assistance for passenger walking short distance not up or down stairs",
          "code": "WCHS"
        },
        {
          "meta_key": "traveler.assistance.wchc",
          "name": "Wheelchair assistance for passenger cannot walk any distance",
          "code": "WCHC"
        },
        {
          "meta_key": "traveler.assistance.deaf",
          "name": "Deaf passenger assistance",
          "code": "DEAF"
        },
        {
          "meta_key": "traveler.assistance.blnd",
          "name": "Blind passenger assistance",
          "code": "BLND"
        },
        {
          "meta_key": "traveler.assistance.dpna",
          "name": "Intellectual or developmental disability passenger assistance",
          "code": "DPNA"
        },
      ]
    }
  },
  "cancel": {
    "supported_via": [
      "welltravel"
    ]
  },
  "refund": {
    "supported": true,
    "available": false,
    "possible_until": null,
    "style": "unavailable",
    "partial_refund": {
      "supported": false,
      "pnr_split_on_quote": false,
      "pnr_split_on_refund": false
    }
  },
  "exchange": {
    "supported": true,
    "available": true,
    "possible_until": "2021-04-09T08:59:00.000+00:00",
    "style": "with_quote",
    "partial_exchange": {
      "supported": false,
      "pnr_split_on_quote": false,
      "pnr_split_on_exchange": false
    }
  },
  "form_of_payment": {
    "add": {
      "supported": true,
      "available": true,
      "required": false,
      "until": "2022-12-13T23:59:00+00:00",
    },
    "update":  [
      {
        "fop_id": "deaf3fca-71e7-4d48-91fb-c0b72a2b83a6",
        "supported": true,
        "available": true,
      }
    ],
    "delete":  [
      {
        "fop_id": "deaf3fca-71e7-4d48-91fb-c0b72a2b83a6",
        "supported": true,
        "available": true,
      }
    ],
    "options": [
      "cash",
      "credit_card"
    ],
    "required_fields": {
      "credit_card": {
        "city": true,
        "code": true,
        "country": true,
        "expiry_date": true,
        "name": false,
        "number": false,
        "street": false,
        "type": false,
        "zip": false
      }
    },
   },
  },
  "seat": {
    "add": true,
    "update": true"delete": true,
    "fetch": true,
    "form_of_payment": {
      "options": [

      ],
      "required": false,
      "required_fields": {
        "credit_card": {
          "city": false,
          "code": false,
          "country": false,
          "expiry_date": false,
          "name": false,
          "number": false,
          "street": false,
          "type": false,
          "zip": false
        }
      }
    },
  },
  "services": {
    "add": true,
    "update": true"delete": true,
    "fetch": true,
    "form_of_payment": {
      "options": [

      ],
      "required": false,
      "required_fields": {
        "credit_card": {
          "city": false,
          "code": false,
          "country": false,
          "expiry_date": false,
          "name": false,
          "number": false,
          "street": false,
          "type": false,
          "zip": false
        }
      }
    },
  },
  "ticket_issuance": {
    "required": false,
    "issued_at": "2021-01-04T00:10:00.000+00:00",
    "until": null
  },
  "ticket_void": {
    "supported": true,
    "available": true,
    "possible_until": "2021-04-09T08:59:00.000+00:00"
  }
}

  ],
  "train_bookings": [],
  "hotel_bookings": [
    {
     "id": "8dc144ce-74ca-4526-8eb9-4569457de0ec",
      "status": {
        "meta_key": "common.status.confirmed",
        "name": "Confirmed"
      },
      "accomodation_id": null,
      "pricing": {
        "room_rate": {
          "total": {
            "recommended_selling_price": { "amount": "106.0",  "currency": "USD" },
            "purchase_price": { "amount": null, "currency": "USD" },
            "source": { "amount": "106.0", "currency": null }
          },
          "per_night": [
            {
              "date": "2018-10-10",
              "recommended_selling_price": { "amount": "106.0", "currency": "USD" },
              "purchase_price": { "amount": null,  "currency": "USD" },
              "source": {  "amount": "106.0", "currency": "USD" }
            }
          ]
        },
        "taxes": {
          "amount": null,
          "currency": "USD",
          "source": { "amount": null, "currency": null },
          "details": []
        },
        "total_price": {
          "recommended_selling_price": { "amount": "106.0",  "currency": "USD" },
          "purchase_price": { "amount": null, "currency": "USD" },
          "source": { "amount": "106.0", "currency": null }
        }
      },
      "name": "La Quinta Inn and Suites LAX",
      "code": "92447",
      "address": {
        "street": "5249 West Century Blvd.",
        "city": "Los Angeles",
        "state": null,
        "zip": "USA",
        "country": "US"
      },
      "longitude": "-118.37261",
      "latitude": "33.9456",
      "stars": null,
      "rating": "3",
      "rating_source": "galileo",
      "description": "\u003cp\u003eOverview\u003cbr\u003eConveniently located less than a mile from one of the world\u0026#39;s busiest airports and within five miles of Manhattan Beach, the ten-story La Quinta Inn \u0026amp; Suites LAX is a welcoming oasis for travel weary guests. The spacious guest rooms and suites feature convenient amenities like free wireless high-speed Internet access and premium cable TV channels. The hotel also features an outdoor swimming pool as well as an on-site restaurant and cocktail lounge.\u003cbr\u003e\u003cbr\u003eLocation\u003cbr\u003eThe hotel is conveniently located less than a mile from LAX Airport and within five miles of Manhattan Beach. Hollywood, Beverly Hills, and downtown Los Angeles are also easily accessible via the 405. Universal Studios is less than 14 miles away, while Disneyland is a short 27-mile drive from the hotel. \u003cbr\u003e\u003cbr\u003eRooms\u003cbr\u003eThe spacious guest rooms and suites feature convenient amenities pillow-top mattresses, like free wireless high-speed Internet access, a coffee maker, free local calls, voicemail, and premium cable TV channels. \u003cbr\u003e\u003cbr\u003eFeatures\u003cbr\u003eThis full-service hotel features an outdoor pool with sundeck, fitness center, and meeting/banquet facilities for up to 300 guests. Wireless high-speed Internet access is available throughout the hotel as well. \u003cbr\u003e\u003cbr\u003eFood \u0026amp; Drink\u003cbr\u003eThe onsite Restaurant serves American cuisine.\u003cbr\u003e\u003cbr\u003eTourist information\u003cbr\u003e3.4 km ti Los Angeles International Airport LAX\u003cbr\u003e22.4 km to Universal Studios\u003cbr\u003e43.2 km to Disneyland\u003c/p\u003e\u003cbr\u003e",
      "hotel_facilities": {
        "airport_shuttle":
        {
          "pick_up":
          {
            "meta_key": "hotels.service.complimentary",
            "name": "Complimentary"
          },
          "drop_off":
          {
            "meta_key": "hotels.service.complimentary",
            "name": "Complimentary"
          },
        },
        "wifi":
        {
          "meta_key": "hotels.service.complimentary",
          "name": "Complimentary"
        },
        "others": [
           {
             "meta_key": "hotels.facilities.bar",
             "name": "Bar"
           },
           {
             "meta_key": "hotels.facilities.restaurant",
             "name": "Restaurant"
           },
           {
             "meta_key": "hotels.facilities.gym_fitness_centre",
             "name": "Gym Fitness Centre"
           },
           {
             "meta_key": "hotels.facilities.car_parking",
             "name": "Car Parking"
           },
        ],
        "conditions": [
          {
             "meta_key": "hotels.conditions.smoking_in_designated_area",
             "name": "Smoking In Designated Area"
          },
        ],
        "picture_urls": {
           "url": "http://ivectortestadmin.jactravel.com/Content/DataObjects/ThirdPartyProperty/Image/ext398/image_397191_v1.jpg",
           "thumbnail_url": "http://ivectortestadmin.jactravel.com/Content/DataObjects/ThirdPartyProperty/Image/ext398/image_397191_v1.jpg"
        },
        "CancellationPolicy":
        [
          {
            "start_date": "2020-10-25",
            "end_date": "2020-10-27"
            "fee": 0,
            "currency": "CHF"
          },
          {
            "start_date": "2020-10-28",
            "end_date": "2020-10-28"
            "fee": 100,
            "currency": "CHF"
          }
        ]
      "room_types": [
        {
          "no_of_rooms": 1,
          "type": "King Double",
          "description": null
        }
      ],
      "check_in": "2018-10-10",
      "check_out": "2018-10-11",
      "nights": 1
    },
    "post_booking_capability": {
  "queue": {
    "place": true,
    "remove": true
  },
  "accounting_remarks": {
    "add": false,
    "update": false,
    "delete": false,
    "available_codes": [
      {
        "meta_key": "common.accounting_remarks.fare",
        "name": "Fare",
        "code": "fare",
        "validation_regexp": "^[a-zA-Z ]{1,89}$"
      },
      {
        "meta_key": "common.accounting_remarks.canned",
        "name": "Canned",
        "code": "canned",
        "validation_regexp": "^[0-9.]{1,43}$"
      },
      {
        "meta_key": "common.accounting_remarks.ticket",
        "name": "Ticket",
        "code": "ticket",
        "validation_regexp": "^[0-9]{10}-[0-9]{3}$"
      },
      {
        "meta_key": "common.accounting_remarks.agent_sign",
        "name": "Agent Sign",
        "code": "agent_sign",
        "validation_regexp": "^[a-zA-Z0-9]{1,10}$"
      },
      {
        "meta_key": "common.accounting_remarks.other",
        "name": "Other",
        "code": "other",
        "validation_regexp": "^[a-zA-Z0-9 .-?*%$()#!_]{1,89}$"
      },
    ],
  },
  "general_remarks": {
    "add": false,
    "update": false,
    "delete": false,
    "available_codes": [
      {
        "meta_key": "common.general_remarks.general",
        "name": "General",
        "code": "general",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.historical",
        "name": "Historical",
        "code": "historical",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.invoice",
        "name": "Invoice",
        "code": "invoice",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.itinerary",
        "name": "Itinerary",
        "code": "itinerary",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.alpha",
        "name": "Alpha",
        "code": "alpha",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.client_address",
        "name": "Client Address",
        "code": "client_address",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.corporate",
        "name": "Corporate",
        "code": "corporate",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.delivery_address",
        "name": "Delivery Address",
        "code": "delivery_address",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.group_name",
        "name": "Group Name",
        "code": "group_name",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.hidden",
        "name": "Hidden",
        "code": "hidden",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
    ],
  },
  "traveler": {
    "phone_number": {
      "add": false,
      "update": false,
      "delete": false,
      "validation_regexp": "A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z"
    },
    "email_address": {
      "add": false,
      "update": false,
      "delete": false,
      "validation_regexp": "A[\w+\-.]+(\.[a-z\d\-]+)*\.[a-z]+\z"
    },
    "postal_address": {
      "add": false,
      "update": false,
      "delete": false
    },
    "frequent_flyer_numbers": {
      "add": false,
      "update": false,
      "delete": false
    },
    "documents": {
      "add": true,
      "update": false,
      "delete": false,
      "available_codes": [
        {
          "meta_key": "common.documents.passport",
          "name": "Passport",
          "code": "passport"
        },
        {
          "meta_key": "common.documents.identity_card",
          "name": "Identity Card",
          "code": "identity_card"
        },
      ]
    },
    "meal_requests": {
      "add": true,
      "update": false,
      "delete": false,
      "available_codes": [
        {
          "meta_key": "traveler.meal_requests.avml",
          "name": "Vegetarian Hindu meal",
          "code": "AVML"
        },
        {
          "meta_key": "traveler.meal_requests.bbml",
          "name": "Baby meal",
          "code": "BBML"
        },
        {
          "meta_key": "traveler.meal_requests.cake",
          "name": "Cake",
          "code": "CAKE"
        },
        {
          "meta_key": "traveler.meal_requests.blml",
          "name": "Bland meal",
          "code": "BLML"
        },
        {
          "meta_key": "traveler.meal_requests.chml",
          "name": "Child Meal",
          "code": "CHML"
        },
        {
          "meta_key": "traveler.meal_requests.clml",
          "name": "Child lacto-ovo meal",
          "code": "CLML"
        },
        {
          "meta_key": "traveler.meal_requests.dbml",
          "name": "Diabetic meal",
          "code": "DBML"
        },
        {
          "meta_key": "traveler.meal_requests.fpml",
          "name": "Fruit platter meal",
          "code": "FPML"
        },
        {
          "meta_key": "traveler.meal_requests.gfml",
          "name": "Gluten intolerant meal",
          "code": "GFML"
        },
        {
          "meta_key": "traveler.meal_requests.hfml",
          "name": "High fiber meal",
          "code": "HFML"
        },
        {
          "meta_key": "traveler.meal_requests.hnml",
          "name": "Hindu (non vegetarian) meal specific",
          "code": "HNML"
        },
        {
          "meta_key": "traveler.meal_requests.obml",
          "name": "Japanese Obento meal",
          "code": "OBML"
        },
        {
          "meta_key": "traveler.meal_requests.jpml",
          "name": "Japanese meal",
          "code": "JPML"
        },
        {
          "meta_key": "traveler.meal_requests.jnml",
          "name": "Junior meal",
          "code": "JNML"
        },
        {
          "meta_key": "traveler.meal_requests.ksml",
          "name": "Kosher meal",
          "code": "KSML"
        },
        {
          "meta_key": "traveler.meal_requests.lcml",
          "name": "Low calorie meal",
          "code": "LCML"
        },
        {
          "meta_key": "traveler.meal_requests.lfml",
          "name": "Low fat meal",
          "code": "LFML"
        },
        {
          "meta_key": "traveler.meal_requests.nbml",
          "name": "No beef meal",
          "code": "NBML"
        },
        {
          "meta_key": "traveler.meal_requests.nfml",
          "name": "No fish meal",
          "code": "NFML"
        },
        {
          "meta_key": "traveler.meal_requests.nlml",
          "name": "Low lactose meal",
          "code": "NLML"
        },
        {
          "meta_key": "traveler.meal_requests.lpml",
          "name": "Low protein meal",
          "code": "LPML"
        },
        {
          "meta_key": "traveler.meal_requests.prml",
          "name": "Low purine meal",
          "code": "PRML"
        },
        {
          "meta_key": "traveler.meal_requests.lsml",
          "name": "Low salt meal",
          "code": "LSML"
        },
        {
          "meta_key": "traveler.meal_requests.moml",
          "name": "Moslem meal",
          "code": "MOML"
        },
        {
          "meta_key": "traveler.meal_requests.orml",
          "name": "Oriental meal",
          "code": "ORML"
        },
        {
          "meta_key": "traveler.meal_requests.pfml",
          "name": "Peanut free meal",
          "code": "PFML"
        },
        {
          "meta_key": "traveler.meal_requests.rfml",
          "name": "Refugee meal",
          "code": "RFML"
        },
        {
          "meta_key": "traveler.meal_requests.sfml",
          "name": "Seafood meal",
          "code": "SFML"
        },
        {
          "meta_key": "traveler.meal_requests.spml",
          "name": "Special meal, specify food",
          "code": "SPML"
        },
        {
          "meta_key": "traveler.meal_requests.vgml",
          "name": "Vegetarian vegan meal",
          "code": "VGML"
        },
        {
          "meta_key": "traveler.meal_requests.vjml",
          "name": "Vegetarian Jain meal",
          "code": "VJML"
        },
        {
          "meta_key": "traveler.meal_requests.vlml",
          "name": "Vegetarian lacto-ovo meal",
          "code": "VLML"
        },
        {
          "meta_key": "traveler.meal_requests.voml",
          "name": "Vegetarian Oriental meal",
          "code": "VOML"
        },
        {
          "meta_key": "traveler.meal_requests.rvml",
          "name": "Vegetarian raw meal",
          "code": "RVML"
        },
        {
          "meta_key": "traveler.meal_requests.vvml",
          "name": "Vegetarian vegan meal",
          "code": "VVML"
        },
      ]
    },
    "assistance_requests": {
      "add": false,
      "update": false,
      "delete": false,
      "available_codes": [
        {
          "meta_key": "traveler.assistance.wchr",
          "name": "Wheelchair assistance for passenger walking short distance up or down stairs",
          "code": "WCHR"
        },
        {
          "meta_key": "traveler.assistance.wchs",
          "name": "Wheelchair assistance for passenger walking short distance not up or down stairs",
          "code": "WCHS"
        },
        {
          "meta_key": "traveler.assistance.wchc",
          "name": "Wheelchair assistance for passenger cannot walk any distance",
          "code": "WCHC"
        },
        {
          "meta_key": "traveler.assistance.deaf",
          "name": "Deaf passenger assistance",
          "code": "DEAF"
        },
        {
          "meta_key": "traveler.assistance.blnd",
          "name": "Blind passenger assistance",
          "code": "BLND"
        },
        {
          "meta_key": "traveler.assistance.dpna",
          "name": "Intellectual or developmental disability passenger assistance",
          "code": "DPNA"
        },
      ]
    }
  },
  "cancel": {
    "supported_via": [
      "welltravel"
    ]
  },
  "refund": {
    "supported": true,
    "available": false,
    "possible_until": null,
    "style": "unavailable",
    "partial_refund": {
      "supported": false,
      "pnr_split_on_quote": false,
      "pnr_split_on_refund": false
    }
  },
  "exchange": {
    "supported": true,
    "available": true,
    "possible_until": "2021-04-09T08:59:00.000+00:00",
    "style": "with_quote",
    "partial_exchange": {
      "supported": false,
      "pnr_split_on_quote": false,
      "pnr_split_on_exchange": false
    }
  },
  "form_of_payment": {
    "add": {
      "supported": true,
      "available": true,
      "required": false,
      "until": "2022-12-13T23:59:00+00:00",
    },
    "update":  [
      {
        "fop_id": "deaf3fca-71e7-4d48-91fb-c0b72a2b83a6",
        "supported": true,
        "available": true,
      }
    ],
    "delete":  [
      {
        "fop_id": "deaf3fca-71e7-4d48-91fb-c0b72a2b83a6",
        "supported": true,
        "available": true,
      }
    ],
    "options": [
      "cash",
      "credit_card"
    ],
    "required_fields": {
      "credit_card": {
        "city": true,
        "code": true,
        "country": true,
        "expiry_date": true,
        "name": false,
        "number": false,
        "street": false,
        "type": false,
        "zip": false
      }
    },
   },
  },
  "seat": {
    "add": true,
    "update": true"delete": true,
    "fetch": true,
    "form_of_payment": {
      "options": [

      ],
      "required": false,
      "required_fields": {
        "credit_card": {
          "city": false,
          "code": false,
          "country": false,
          "expiry_date": false,
          "name": false,
          "number": false,
          "street": false,
          "type": false,
          "zip": false
        }
      }
    },
  },
  "services": {
    "add": true,
    "update": true"delete": true,
    "fetch": true,
    "form_of_payment": {
      "options": [

      ],
      "required": false,
      "required_fields": {
        "credit_card": {
          "city": false,
          "code": false,
          "country": false,
          "expiry_date": false,
          "name": false,
          "number": false,
          "street": false,
          "type": false,
          "zip": false
        }
      }
    },
  },
  "ticket_issuance": {
    "required": false,
    "issued_at": "2021-01-04T00:10:00.000+00:00",
    "until": null
  },
  "ticket_void": {
    "supported": true,
    "available": true,
    "possible_until": "2021-04-09T08:59:00.000+00:00"
  }
}

  ],
  "car_bookings": [
    {
      "id": "51642f29-69ee-4dcb-8654-0412b62fa9af",
      "status": {
        "meta_key": "common.status.waitlisted",
        "name": "Waitlisted"
      },
      "pricing": {
        "rate": {
          "per_day": {
            "recommended_selling_price": {
              "amount": null,
              "currency": "USD"
            },
            "purchase_price": {
              "amount": null,
              "currency": "USD"
            },
            "source": {
              "amount": null,
              "currency": "USD"
            }
          },
          "total": {
            "recommended_selling_price": {
              "amount": "28.92",
              "currency": "USD"
            },
            "purchase_price": {
              "amount": null,
              "currency": "USD"
            },
            "source": {
              "amount": null,
              "currency": null
            }
          }
        },
        "tax": {
          "amount": null,
          "currency": "USD",
          "source": {
            "amount": null,
            "currency": "USD"
          },
          "details": []
        },
        "total_price": {
          "recommended_selling_price": {
            "amount": "28.92",
            "currency": "USD"
          },
          "purchase_price": {
            "amount": null,
            "currency": "USD"
          },
          "source": {
            "amount": null,
            "currency": null
          }
        }
      },
      "refundable": null,
      "pick_up": {
        "location": "10 12 SEMLEY PLACE, LONDON VICTORIA,",
        "latitude": "51.49198",
        "longitude": "-.14977",
        "is_airport": false,
        "localtime": "2019-06-16T15:00:00"
      },
      "drop_off": {
        "location": "10 12 SEMLEY PLACE, LONDON VICTORIA,",
        "latitude": "51.49198",
        "longitude": "-.14977",
        "is_airport": false,
        "localtime": "2019-06-18T15:00:00"
      },
      "days": 2,
      "vendor": {
      "vendor_name": "EUROPCAR",
      "vendor_name": "EP",
      "image": {
        "meta_key": "vendor full url from meta",
        "name": "vendor thumbnail url from meta"
      },
          },
      "car": {
      "image": {
        "meta_key": "vendor full url from meta",
        "name": "vendor thumbnail url from meta"
      },
      "category": {
        "meta_key": "car.category.confirmed",
        "name": "Confirmed"
      },
      "type": {
        "meta_key": "car.type.confirmed",
        "name": "Confirmed"
      },
      "driven_wheel": {
        "meta_key": "car.driven_wheel.confirmed",
        "name": "Confirmed"
      },
      },
      "facilities": {
      "fuel_type": {
        "meta_key": "car.driven_wheel.desiel",
        "name": "Desiel"
       },
       "fuel_policy": {
        "meta_key": "car.driven_wheel.pre_paid",
        "name": "Prepaid"
       },
      "insurances": [
          {
            "type": {
             "meta_key": "car.facilities.free_kilometers",
             "name": "Free Kilometers"
            },
            "amount": "0.0",
            "currency": "ZAR",
            "modifier": {
             "meta_key": "car.modifier.per_rental",
             "name": "Per Rental"
            },
          },
       ],
      "liability": [
          {
            "type": {
             "meta_key": "car.facilities.collision_damage_waiver",
             "name": "Collission Damage Waiver"
            },
            "amount": "0.0",
            "currency": "ZAR",
            "modifier": {
             "meta_key": "car.modifier.per_rental",
             "name": "Per Rental"
            },
          },
       ],
        "mileage": {
           "package_size": "100",
        },
      "other_facilities": [
          {
            "type": {
             "meta_key": "car.facilities.premium_location_surcharge",
             "name": "Premium Location Surcharge"
            },
            "amount": "0.0",
            "currency": "ZAR",
            "modifier": {
             "meta_key": "car.modifier.per_rental",
             "name": "Per Rental"
            },
          },
       ],
      },
      "post_booking_capability": {
  "queue": {
    "place": true,
    "remove": true
  },
  "accounting_remarks": {
    "add": false,
    "update": false,
    "delete": false,
    "available_codes": [
      {
        "meta_key": "common.accounting_remarks.fare",
        "name": "Fare",
        "code": "fare",
        "validation_regexp": "^[a-zA-Z ]{1,89}$"
      },
      {
        "meta_key": "common.accounting_remarks.canned",
        "name": "Canned",
        "code": "canned",
        "validation_regexp": "^[0-9.]{1,43}$"
      },
      {
        "meta_key": "common.accounting_remarks.ticket",
        "name": "Ticket",
        "code": "ticket",
        "validation_regexp": "^[0-9]{10}-[0-9]{3}$"
      },
      {
        "meta_key": "common.accounting_remarks.agent_sign",
        "name": "Agent Sign",
        "code": "agent_sign",
        "validation_regexp": "^[a-zA-Z0-9]{1,10}$"
      },
      {
        "meta_key": "common.accounting_remarks.other",
        "name": "Other",
        "code": "other",
        "validation_regexp": "^[a-zA-Z0-9 .-?*%$()#!_]{1,89}$"
      },
    ],
  },
  "general_remarks": {
    "add": false,
    "update": false,
    "delete": false,
    "available_codes": [
      {
        "meta_key": "common.general_remarks.general",
        "name": "General",
        "code": "general",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.historical",
        "name": "Historical",
        "code": "historical",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.invoice",
        "name": "Invoice",
        "code": "invoice",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.itinerary",
        "name": "Itinerary",
        "code": "itinerary",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.alpha",
        "name": "Alpha",
        "code": "alpha",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.client_address",
        "name": "Client Address",
        "code": "client_address",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.corporate",
        "name": "Corporate",
        "code": "corporate",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.delivery_address",
        "name": "Delivery Address",
        "code": "delivery_address",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.group_name",
        "name": "Group Name",
        "code": "group_name",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
      {
        "meta_key": "common.general_remarks.hidden",
        "name": "Hidden",
        "code": "hidden",
        "validation_regexp": "^[a-zA-Z0-9 */,.-]{1,70}$"
      },
    ],
  },
  "traveler": {
    "phone_number": {
      "add": false,
      "update": false,
      "delete": false,
      "validation_regexp": "A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z"
    },
    "email_address": {
      "add": false,
      "update": false,
      "delete": false,
      "validation_regexp": "A[\w+\-.]+(\.[a-z\d\-]+)*\.[a-z]+\z"
    },
    "postal_address": {
      "add": false,
      "update": false,
      "delete": false
    },
    "frequent_flyer_numbers": {
      "add": false,
      "update": false,
      "delete": false
    },
    "documents": {
      "add": true,
      "update": false,
      "delete": false,
      "available_codes": [
        {
          "meta_key": "common.documents.passport",
          "name": "Passport",
          "code": "passport"
        },
        {
          "meta_key": "common.documents.identity_card",
          "name": "Identity Card",
          "code": "identity_card"
        },
      ]
    },
    "meal_requests": {
      "add": true,
      "update": false,
      "delete": false,
      "available_codes": [
        {
          "meta_key": "traveler.meal_requests.avml",
          "name": "Vegetarian Hindu meal",
          "code": "AVML"
        },
        {
          "meta_key": "traveler.meal_requests.bbml",
          "name": "Baby meal",
          "code": "BBML"
        },
        {
          "meta_key": "traveler.meal_requests.cake",
          "name": "Cake",
          "code": "CAKE"
        },
        {
          "meta_key": "traveler.meal_requests.blml",
          "name": "Bland meal",
          "code": "BLML"
        },
        {
          "meta_key": "traveler.meal_requests.chml",
          "name": "Child Meal",
          "code": "CHML"
        },
        {
          "meta_key": "traveler.meal_requests.clml",
          "name": "Child lacto-ovo meal",
          "code": "CLML"
        },
        {
          "meta_key": "traveler.meal_requests.dbml",
          "name": "Diabetic meal",
          "code": "DBML"
        },
        {
          "meta_key": "traveler.meal_requests.fpml",
          "name": "Fruit platter meal",
          "code": "FPML"
        },
        {
          "meta_key": "traveler.meal_requests.gfml",
          "name": "Gluten intolerant meal",
          "code": "GFML"
        },
        {
          "meta_key": "traveler.meal_requests.hfml",
          "name": "High fiber meal",
          "code": "HFML"
        },
        {
          "meta_key": "traveler.meal_requests.hnml",
          "name": "Hindu (non vegetarian) meal specific",
          "code": "HNML"
        },
        {
          "meta_key": "traveler.meal_requests.obml",
          "name": "Japanese Obento meal",
          "code": "OBML"
        },
        {
          "meta_key": "traveler.meal_requests.jpml",
          "name": "Japanese meal",
          "code": "JPML"
        },
        {
          "meta_key": "traveler.meal_requests.jnml",
          "name": "Junior meal",
          "code": "JNML"
        },
        {
          "meta_key": "traveler.meal_requests.ksml",
          "name": "Kosher meal",
          "code": "KSML"
        },
        {
          "meta_key": "traveler.meal_requests.lcml",
          "name": "Low calorie meal",
          "code": "LCML"
        },
        {
          "meta_key": "traveler.meal_requests.lfml",
          "name": "Low fat meal",
          "code": "LFML"
        },
        {
          "meta_key": "traveler.meal_requests.nbml",
          "name": "No beef meal",
          "code": "NBML"
        },
        {
          "meta_key": "traveler.meal_requests.nfml",
          "name": "No fish meal",
          "code": "NFML"
        },
        {
          "meta_key": "traveler.meal_requests.nlml",
          "name": "Low lactose meal",
          "code": "NLML"
        },
        {
          "meta_key": "traveler.meal_requests.lpml",
          "name": "Low protein meal",
          "code": "LPML"
        },
        {
          "meta_key": "traveler.meal_requests.prml",
          "name": "Low purine meal",
          "code": "PRML"
        },
        {
          "meta_key": "traveler.meal_requests.lsml",
          "name": "Low salt meal",
          "code": "LSML"
        },
        {
          "meta_key": "traveler.meal_requests.moml",
          "name": "Moslem meal",
          "code": "MOML"
        },
        {
          "meta_key": "traveler.meal_requests.orml",
          "name": "Oriental meal",
          "code": "ORML"
        },
        {
          "meta_key": "traveler.meal_requests.pfml",
          "name": "Peanut free meal",
          "code": "PFML"
        },
        {
          "meta_key": "traveler.meal_requests.rfml",
          "name": "Refugee meal",
          "code": "RFML"
        },
        {
          "meta_key": "traveler.meal_requests.sfml",
          "name": "Seafood meal",
          "code": "SFML"
        },
        {
          "meta_key": "traveler.meal_requests.spml",
          "name": "Special meal, specify food",
          "code": "SPML"
        },
        {
          "meta_key": "traveler.meal_requests.vgml",
          "name": "Vegetarian vegan meal",
          "code": "VGML"
        },
        {
          "meta_key": "traveler.meal_requests.vjml",
          "name": "Vegetarian Jain meal",
          "code": "VJML"
        },
        {
          "meta_key": "traveler.meal_requests.vlml",
          "name": "Vegetarian lacto-ovo meal",
          "code": "VLML"
        },
        {
          "meta_key": "traveler.meal_requests.voml",
          "name": "Vegetarian Oriental meal",
          "code": "VOML"
        },
        {
          "meta_key": "traveler.meal_requests.rvml",
          "name": "Vegetarian raw meal",
          "code": "RVML"
        },
        {
          "meta_key": "traveler.meal_requests.vvml",
          "name": "Vegetarian vegan meal",
          "code": "VVML"
        },
      ]
    },
    "assistance_requests": {
      "add": false,
      "update": false,
      "delete": false,
      "available_codes": [
        {
          "meta_key": "traveler.assistance.wchr",
          "name": "Wheelchair assistance for passenger walking short distance up or down stairs",
          "code": "WCHR"
        },
        {
          "meta_key": "traveler.assistance.wchs",
          "name": "Wheelchair assistance for passenger walking short distance not up or down stairs",
          "code": "WCHS"
        },
        {
          "meta_key": "traveler.assistance.wchc",
          "name": "Wheelchair assistance for passenger cannot walk any distance",
          "code": "WCHC"
        },
        {
          "meta_key": "traveler.assistance.deaf",
          "name": "Deaf passenger assistance",
          "code": "DEAF"
        },
        {
          "meta_key": "traveler.assistance.blnd",
          "name": "Blind passenger assistance",
          "code": "BLND"
        },
        {
          "meta_key": "traveler.assistance.dpna",
          "name": "Intellectual or developmental disability passenger assistance",
          "code": "DPNA"
        },
      ]
    }
  },
  "cancel": {
    "supported_via": [
      "welltravel"
    ]
  },
  "refund": {
    "supported": true,
    "available": false,
    "possible_until": null,
    "style": "unavailable",
    "partial_refund": {
      "supported": false,
      "pnr_split_on_quote": false,
      "pnr_split_on_refund": false
    }
  },
  "exchange": {
    "supported": true,
    "available": true,
    "possible_until": "2021-04-09T08:59:00.000+00:00",
    "style": "with_quote",
    "partial_exchange": {
      "supported": false,
      "pnr_split_on_quote": false,
      "pnr_split_on_exchange": false
    }
  },
  "form_of_payment": {
    "add": {
      "supported": true,
      "available": true,
      "required": false,
      "until": "2022-12-13T23:59:00+00:00",
    },
    "update":  [
      {
        "fop_id": "deaf3fca-71e7-4d48-91fb-c0b72a2b83a6",
        "supported": true,
        "available": true,
      }
    ],
    "delete":  [
      {
        "fop_id": "deaf3fca-71e7-4d48-91fb-c0b72a2b83a6",
        "supported": true,
        "available": true,
      }
    ],
    "options": [
      "cash",
      "credit_card"
    ],
    "required_fields": {
      "credit_card": {
        "city": true,
        "code": true,
        "country": true,
        "expiry_date": true,
        "name": false,
        "number": false,
        "street": false,
        "type": false,
        "zip": false
      }
    },
   },
  },
  "seat": {
    "add": true,
    "update": true"delete": true,
    "fetch": true,
    "form_of_payment": {
      "options": [

      ],
      "required": false,
      "required_fields": {
        "credit_card": {
          "city": false,
          "code": false,
          "country": false,
          "expiry_date": false,
          "name": false,
          "number": false,
          "street": false,
          "type": false,
          "zip": false
        }
      }
    },
  },
  "services": {
    "add": true,
    "update": true"delete": true,
    "fetch": true,
    "form_of_payment": {
      "options": [

      ],
      "required": false,
      "required_fields": {
        "credit_card": {
          "city": false,
          "code": false,
          "country": false,
          "expiry_date": false,
          "name": false,
          "number": false,
          "street": false,
          "type": false,
          "zip": false
        }
      }
    },
  },
  "ticket_issuance": {
    "required": false,
    "issued_at": "2021-01-04T00:10:00.000+00:00",
    "until": null
  },
  "ticket_void": {
    "supported": true,
    "available": true,
    "possible_until": "2021-04-09T08:59:00.000+00:00"
  }
}

  ],
  "comments": [],
}
Attribute Description
id The ID of a Booking
booking_id Unique ID for the booking
version Version of the booking
supplier Supplier name
account Account used for booking
creator Username used by the agency
created_at Timestamp when booking was created
travelers Detailed information about the travelers
travelers.id Unique ID of a traveler
travelers.type The type of this traveler, see Traveler Type for more details
travelers.name_prefix Travelers Name prefix details.
travelers.meta_key unique key comes from meta for travelers name prefix
travelers.name Name prefix of the traveler. Example Mr
travelers.first_name First Name of the traveler. Example: John
travelers.middle_name Middle Name of the driver. Example: Ahmed
travelers.last_name Last Name of the driver. Example: Kabir
travelers.ticket_number Travelers ticket number
travelers.seats Seat Reservation Information about the Traveler
travelers.seats.segment_id Segment Identifier of the Reserved Seat
travelers.seats.row Row Number of the Reserved Seat
travelers.seats.column Column Number of the Reserved Seat
travelers.seats.amount Price of the seat. For free seat, it will be 0.0. For no seat price provided by the supplier, it will be nil.
travelers.seats.currency Currency of the Price of the seat
travelers.seats.status A hash which indicates seats status information
travelers.seats.status.meta_key Should be unique key coming from meta indicating travelers seat status
travelers.seats.status.name Indicates the status name. Name should be window, corner etc
travelers.seats.emd_identifier Hold an EMD identifier for seat. It would be null if emd is not issued. Example 72418173172601
travelers.tickets Ticket Information about the Traveler
travelers.tickets.segment_id Segment Identifier of the Issued Ticket Eg. d2205966-f506-4fe1-872e-3bdb1207eb6e
travelers.tickets.number Ticket Number of the Issued Ticket. Eg. 082-6384180863
travelers.services Service Information about the Traveler
travelers.services.id Service Identifier
travelers.services.type Type of the service
travelers.services.text Description of the service from the supplier
travelers.services.amount Price of the service
travelers.services.currency Currency of the Price of the services
travelers.services.segment_ids An Array containing hashes which elements are segment id and emd identifier
travelers.services.segment_ids.segment_id Segment id related to this services
travelers.services.segment_ids.emd_identifier Hold an EMD for service. It would be null if emd is not issued. Example 72418173172601
travelers.services.hotel_ids Hotel Reservation Information of the Traveler. It contains the hotel segments identifiers
travelers.services.car_ids Vehicle Reservation Information of the Traveler. It contains the vehicle segments identifiers
travelers.services.ssr_code Special Service Request (SSR) code of the service.A Special Service Request (SSR) is a message sent directly to suppliers to communicate traveler preferences, special services needed by a traveler, or of a procedural requirement necessary of the carrier. SSRs include information such as meal preference or special assistance required the traveler. In addition, the SSR can send an alert message back to the agency or travel provider. SSRs can originate with the travel provider asking for service from the carrier or from the carrier asking for information (like a ticket number) from the travel provider. Each SSR uses a four-character IATA code that specifies the type of service requested. These codes and their recommended use are pre-defined by IATA, however, not all suppliers or providers support the use of all SSR codes.
travelers.services.description Description of the service as given by the supplier
travelers.services.description_human Human readable description of the service
travelers.services.service_type Type of the service. For example, Pets, Baggage etc.
travelers.services.category Category of the service
travelers.services.image_urls Holds the URLs to different sizes of the main image. See Images.
travelers.services.refundable_until The date up to which the service can be cancelled free of cost
travelers.meals Meal Booking Information about the Traveler
travelers.meals.status Indicates meal booking status information. For possible values, see status
travelers.meals.code IATA Meal code. List of Meal code.
travelers.meals.description Description of the meal as given by the supplier
travelers.meals.image_urls Holds the URLs to different sizes of the main image. See Images.
travelers.meals.image_urls.small Holds the URL to small size of the main image.
travelers.meals.image_urls.medium Holds the URL to medium size of the main image.
travelers.meals.image_urls.large Holds the URL to large size of the main image.
travelers.meals.segment_ids An array containing all the segments identifiers for which the meal request is booked
travelers.assistances Assistance Request Booking Information about the Traveler
travelers.assistances.status Indicates assistance request booking status information. For possible values, see status
travelers.assistances.code IATA codes for Assistance Request. Supported codes
travelers.assistances.description Description of the Assistance Request as given by the supplier
travelers.assistances.image_urls Holds the URLs to different sizes of the main image. See Images.
travelers.assistances.image_urls.small Holds the URL to small size of the main image.
travelers.assistances.image_urls.medium Holds the URL to medium size of the main image.
travelers.assistances.image_urls.large Holds the URL to large size of the main image.
travelers.frequent_flyer_number Frequent flyer number of traveler
travelers.frequent_flyer_number.id Unique ID for Frequent Flyer Number of traveler
travelers.frequent_flyer_number.carrier Carrier Code for Frequent Flyer Number
travelers.frequent_flyer_number.number Frequent Flyer Number which is a loyalty program offered by an airline
travelers.phone_numbers Traveler’s phone number details
travelers.phone_numbers.id Unique ID of traveler’s phone number
travelers.phone_numbers.type Type of the phone number
travelers.phone_numbers.number Traveler’s phone number
travelers.email_addresses Traveler’s email address
travelers.email_addresses.id Unique ID of traveler’s phone number
travelers.email_addresses.type Type of the phone number
travelers.email_addresses.address Traveler’s phone number
travelers.postal_addresses Details about traveler’s postal code
travelers.postal_addresses.id Unique ID of traveler’s postal code
travelers.postal_addresses.type Travelers postal code types
travelers.postal_addresses.lines Travelers postal code lines
flight_bookings Detailed information about the flight booking
flight_bookings.id Unique ID for flight booking
flight_bookings.ticket_selling_carrier_code Ticket selling carrier code for the booking flight
flight_bookings.apis_data_required Exposes if advanced passer information has to be required, see APIS Data for mor details
flight_bookings.flight_pricing All the information about the cost of the flight
flight_bookings.flight_pricing.flight_price Information related to the price of the the flight
flight_bookings.flight_pricing.flight_price.recommended_selling_price Information about the price of the journey we recommend to use as selling price
flight_bookings.flight_pricing.flight_price.recommended_selling_price.amount The price of the journey we recommend to use as selling price without tax
flight_bookings.flight_pricing.flight_price.recommended_selling_price.currency The currency in which the price of the journey we recommend to use as selling price
flight_bookings.flight_pricing.flight_price.purchase_price Detailed information about the price of the journey you will have to pay
flight_bookings.flight_pricing.flight_price.purchase_price.amount The price of the journey you will have to pay with tax
flight_bookings.flight_pricing.flight_price.purchase_price.currency The currency in which the price of the journey you will have to pay
flight_bookings.flight_pricing.flight_price.source The price of the journey you will have to pay in the IPCC’s default currency
flight_bookings.flight_pricing.flight_price.source.amount The price of the journey you will have to pay in the IPCC’s default currency
flight_bookings.flight_pricing.flight_price.source.currency The currency in which the price of the journey you will have to pay
flight_bookings.flight_pricing.tax Tax Related Information
flight_bookings.flight_pricing.tax.amount The amount of tax you have to pay
flight_bookings.flight_pricing.tax.currency The currency in which the tax is being exposed
flight_bookings.flight_pricing.tax.source Tax Related Information in the IPCC’s default currency
flight_bookings.flight_pricing.tax.source.amount The amount of tax you have to pay in the IPCC’s default currency
flight_bookings.flight_pricing.tax.source.currency The currency in which the tax is being exposed
flight_bookings.flight_pricing.details An Array containing the tax break down of total tax amount
flight_bookings.flight_pricing.details.code Tax Code representing the tax category.It is unique two-lettered code in all caps.
flight_bookings.flight_pricing.details.amount The tax amount for the tax category
flight_bookings.flight_pricing.details.currency The currency of the tax amount
flight_bookings.flight_pricing.details.description Human Readable Description of the tax code representing the tax category as given by the supplier
flight_bookings.flight_pricing.total_price.recommended_selling_price The total price of the flight we recommend you to use as selling price without tax i.e gross price of the flight
flight_bookings.flight_pricing.total_price.recommended_selling_price.amount The price of the journey we recommend to use as selling price without tax
flight_bookings.flight_pricing.total_price.recommended_selling_price.currency The currency in which the price of the journey we recommend to use as selling price
flight_bookings.flight_pricing.total_price.purchase_price The total net price of the flight you will have to pay
flight_bookings.flight_pricing.total_price.purchase_price.amount The price of the journey you will have to pay with tax
flight_bookings.flight_pricing.total_price.purchase_price.currency The currency in which the price of the journey you will have to pay
flight_bookings.refundable Refundable is possible or not. If value is true then possible and if false refundable is not possible.
flight_bookings.post_booking_capability Details about the post booking capabilities supported by Welltravel.
flight_bookings.post_booking_capability.queue Details about whether placing or removing a PNR into/from a queue in the post booking is supported by Welltravel or not for the PNR.
flight_bookings.post_booking_capability.queue.place Specifies whether placing a PNR into a queue in the post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
flight_bookings.post_booking_capability.queue.remove Specifies whether removing a PNR from a queue in the post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
flight_bookings.post_booking_capability.accounting_remarks Specifies about whether accounting remarks can be added, updated or deleted from a PNR in Post Booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
flight_bookings.post_booking_capability.accounting_remarks.add Specifies about whether accounting remarks can be added to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
flight_bookings.post_booking_capability.accounting_remarks.update Specifies about whether accounting remarks can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
flight_bookings.post_booking_capability.accounting_remarks.delete Specifies about whether accounting remarks can be deleted from a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
flight_bookings.post_booking_capability.accounting_remarks.available_codes An array containing detailed information about all available codes for accounting remarks.
flight_bookings.post_booking_capability.accounting_remarks.available_codes.meta_key Should be a unique value fetched from meta indicating the available code.
flight_bookings.post_booking_capability.accounting_remarks.available_codes.name The actual name of the Available code. Example Fare, Canned, Ticket, Agent Sign, Other
flight_bookings.post_booking_capability.accounting_remarks.available_codes.code Available code. Example fare, canned, agent_sign, other
flight_bookings.post_booking_capability.accounting_remarks.available_codes.validation_regexp Regex indicating the valid code. Example /^[a-zA-Z0-9 */,.-]{1,70}$/
flight_bookings.post_booking_capability.general_remarks Specifies about whether general remark can be added, updated or deleted from a PNR in Post Booking is supported by Welltravel or not for the PNR.
flight_bookings.post_booking_capability.general_remarks.add Specifies about whether general remarks can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
flight_bookings.post_booking_capability.general_remarks.update Specifies about whether general remarks can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
flight_bookings.post_booking_capability.general_remarks.delete Specifies about whether general remarks can be deleted from a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
flight_bookings.post_booking_capability.general_remarks.available_codes An array containing detailed information about all available codes for general remarks.
flight_bookings.post_booking_capability.general_remarks.available_codes.meta_key Should be a unique value fetched from meta indicating the available code.
flight_bookings.post_booking_capability.general_remarks.available_codes.name The actual name of the Available code. Example General, Historical, Invoice, Itinerary, Alpha
flight_bookings.post_booking_capability.general_remarks.available_codes.code Available codes. Example general, historical, invoice, itinerary
flight_bookings.post_booking_capability.general_remarks.available_codes.validation_regexp Regex indicating the valid code. Example /^[a-zA-Z0-9 */,.-]{1,70}$/
flight_bookings.post_booking_capability.travelers Specifies the post booking capabilities related to the details of the travelers
flight_bookings.post_booking_capability.travelers.phone_number Specifies the post booking capabilities related to the Traveler’s phone number details
flight_bookings.post_booking_capability.travelers.phone_number.add Specifies about whether travelers phone number can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
flight_bookings.post_booking_capability.travelers.phone_number.update Specifies about whether travelers phone number can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
flight_bookings.post_booking_capability.travelers.phone_number.delete Specifies about whether travelers phone number can be deleted to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
flight_bookings.post_booking_capability.travelers.phone_number.validation_regexp Regex indicating the valid phone numbers. Example /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
flight_bookings.post_booking_capability.travelers.email_address Specifies the post booking capabilities related to the Details information of Travelers email address
flight_bookings.post_booking_capability.travelers.email_address.add Specifies about whether travelers email address can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
flight_bookings.post_booking_capability.travelers.email_address.update Specifies about whether travelers email address can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
flight_bookings.post_booking_capability.travelers.email_address.delete Specifies about whether travelers email address can be deleted to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
flight_bookings.post_booking_capability.travelers.email_address.validation_regexp Regex indicates the valid email address. Example /\A[\w+\-.]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
flight_bookings.post_booking_capability.travelers.postal_address Specifies the post booking capabilities related to the Detail information of Travelers postal address
flight_bookings.post_booking_capability.travelers.postal_address.add Specifies about whether travelers postal address can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
flight_bookings.post_booking_capability.travelers.postal_address.update Specifies about whether travelers postal address can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
flight_bookings.post_booking_capability.travelers.postal_address.delete Specifies about whether travelers postal address can be deleted to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
flight_bookings.post_booking_capability.travelers.frequent_flyer_numbers Specifies the post booking capabilities related to the Detail information of Travelers Frequent Flyer Numbers
flight_bookings.post_booking_capability.travelers.frequent_flyer_numbers.add Specifies about whether travelers frequent flyer numbers can be added to a PNR in post booking is supported by Welltravel or not for the PNR. possible value should be true or false
flight_bookings.post_booking_capability.travelers.frequent_flyer_numbers.update Specifies about whether travelers frequent flyer numbers can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. possible value should be true or false
flight_bookings.post_booking_capability.travelers.frequent_flyer_numbers.delete Specifies about whether travelers frequent flyer numbers can be deleted to a PNR in post booking is supported by Welltravel or not for the PNR. possible value should be true or false
flight_bookings.post_booking_capability.travelers.documents Specifies about whether documents can add or update or delete to a PNR in post booking is supported by Welltravel or not for the PNR. Possible value should be true or false.
flight_bookings.post_booking_capability.travelers.documents.add Specifies about whether documents can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible value should be true or false.
flight_bookings.post_booking_capability.travelers.documents.update Specifies about whether documents can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible value should be true or false.
flight_bookings.post_booking_capability.travelers.documents.delete Specifies about whether documents can be deleted to a PNR in post booking is supported by Welltravel or not for the PNR. Possible value should be true or false.
flight_bookings.post_booking_capability.travelers.documents.available_codes Indicates the detailed code information of documents
flight_bookings.post_booking_capability.travelers.documents.available_codes.meta_key Should be a unique value come from meta indicates the available codes
flight_bookings.post_booking_capability.travelers.documents.available_codes.name Available codes name. Example Identity Card
flight_bookings.post_booking_capability.travelers.documents.available_codes.code Available codes. Example identity_card
flight_bookings.post_booking_capability.travelers.meal_requests Specifies about whether meal_requests can be added or updated or deleted from a PNR in post booking is supported by Welltravel or not for the PNR. Possible value should be true or false.
flight_bookings.post_booking_capability.travelers.meal_requests.add Specifies about whether meal requests can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible value should be true or false.
flight_bookings.post_booking_capability.travelers.meal_requests.update Specifies about whether meal request can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible value should be true or false.
flight_bookings.post_booking_capability.travelers.meal_requests.delete Specifies about whether meal request can be deleted from a PNR in post booking is supported by Welltravel or not for the PNR. Possible value should be true or false.
flight_bookings.post_booking_capability.travelers.meal_requests.available_codes Indicates the available code information of meal requests
flight_bookings.post_booking_capability.travelers.meal_requests.available_codes.meta_key Should be a unique value come from meta indicates the available codes of meal requests
flight_bookings.post_booking_capability.travelers.meal_requests.available_codes.name Available codes name. Example Kosher Meal, Muslim Meal, Vegetables etc.
flight_bookings.post_booking_capability.travelers.meal_requests.available_codes.code Available codes. Example kosher_meal, muslim_meal, vegetables etc.
flight_bookings.post_booking_capability.travelers.assistance_requests Specifies about whether assistance requests can be added or updated or deleted from a PNR in post booking is supported by Welltravel or not for the PNR. Possible value should be true or false.
flight_bookings.post_booking_capability.travelers.assistance_requests.add Specifies about whether assistance requests can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible value should be true or false.
flight_bookings.post_booking_capability.travelers.assistance_requests.update Specifies about whether assistance requests can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible value should be true or false.
flight_bookings.post_booking_capability.travelers.assistance_requests.delete Specifies about whether assistance requests can be deleted to a PNR in post booking is supported by Welltravel or not for the PNR. Possible value should be true or false.
flight_bookings.post_booking_capability.travelers.assistance_requests.available_codes Indicates the available code information of assistance requests
flight_bookings.post_booking_capability.travelers.assistance_requests.available_codes.meta_key Should be a unique value come from meta indicates the available codes of assistance requests
flight_bookings.post_booking_capability.travelers.assistance_requests.available_codes.name Available codes name. Example WCHR, Disablity, etc.
flight_bookings.post_booking_capability.travelers.assistance_requests.available_codes.code Available codes. Example WheelChair, Disablity etc.
flight_bookings.post_booking_capability.cancel Specifies whether the booking can be cancelled or not by Welltravel. See Possible Values for more details.
flight_bookings.post_booking_capability.cancel.supported_via Indicates an agency that supports cancel. Example welltravel
flight_bookings.post_booking_capability.refund Specifies the post booking capabilities related to the details about refunding a booking.
flight_bookings.post_booking_capability.refund.supported Specifies whether refund of booking is supported by Welltravel or not. See Possible Values for more details.
flight_bookings.post_booking_capability.refund.available Specifies whether the booking is already refunded or not. See Possible Values for more details.
flight_bookings.post_booking_capability.refund.possible_until The date until which refund is possible for the booking.
flight_bookings.post_booking_capability.refund.style Specifies whether the booking fee can be refunded with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Exchange/ Refund Style for more details.
flight_bookings.post_booking_capability.refund.partial_refund Specifies the partial refund information. Partial refund is possible if PNR supports splitting.
flight_bookings.post_booking_capability.refund.partial_refund.supported Specifies whether partial refund is supported or not. Values should be true or false.
flight_bookings.post_booking_capability.refund.partial_refund.pnr_split_on_quote Indicates whether pnr split is support on refund quote or not. Values should be true or false.
flight_bookings.post_booking_capability.refund.partial_refund.pnr_split_on_refund Indicates whether pnr split is support on refund or not. Values should be true or false.
flight_bookings.post_booking_capability.exchange Specifies the post booking capabilities related to the Detail information about exchanging a booking.
flight_bookings.post_booking_capability.exchange.supported Specifies whether exchange of booking is supported by Welltravel or not. See Possible Values for more details.
flight_bookings.post_booking_capability.exchange.available Specifies whether the booking is already exchanged or not. See Possible Values for more details.
flight_bookings.post_booking_capability.exchange.possible_until The date until which exchange is possible for the booking.
flight_bookings.post_booking_capability.exchange.style Specifies whether the booking fee can be exchanged with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Exchange/ Refund Style for more details.
flight_bookings.post_booking_capability.exchange.partial_exchange Specifies the partial exchange information. Partial exchange is possible if PNR supports splitting.
flight_bookings.post_booking_capability.exchange.partial_exchange.supported Specifies whether partial exchange is supported or not. Values should be true or false.
flight_bookings.post_booking_capability.exchange.partial_exchange.pnr_split_on_quote Indicates whether pnr split is support on exchange quote or not. Values should be true or false.
flight_bookings.post_booking_capability.exchange.partial_exchange.pnr_split_on_exchange Indicates whether pnr split is support on exchange or not. Values should be true or false.
flight_bookings.post_booking_capability.form_of_payment Details about whether add, update and delete of form of payment of the booking in the post booking is supported by Welltravel or not.
flight_bookings.post_booking_capability.form_of_payment.add Specifies whether a form of payment can be added to the booking. It is possible to add a form of payment to the booking, only if it is not cancelled or issued, or the operation is supported by the supplier. It is a hash containing all the supported add form of payment information for each booking.
flight_bookings.post_booking_capability.form_of_payment.add.supported Specify whether an addition of form of payment is supported or not for the booking. See Possible Values for more details.
flight_bookings.post_booking_capability.form_of_payment.add.available Specify whether an addition of form of payment is available or not for the booking. See Possible Values for more details.
flight_bookings.post_booking_capability.form_of_payment.add.required Specify whether an addition of form of payment is required or not for the booking. If form of payment is already added then required should be false otherwise true. See Possible Values for more details.
flight_bookings.post_booking_capability.form_of_payment.add.until The last or final date of adding form of payment for the hold booking. Indicates payment will be added later upto the final date.
flight_bookings.post_booking_capability.form_of_payment.update Specifies whether a form of payment of the booking can be updated. It is possible to update the form of payment to the booking, only if it exists and the booking is not cancelled or issued or the operation is supported by the supplier. It is a an array of hashes containing all the supported update form of payment information for each booking.
flight_bookings.post_booking_capability.form_of_payment.update.fop_id Specifies form of payment id which needs to be updated
flight_bookings.post_booking_capability.form_of_payment.add.supported Specify whether an updating of form of payment is supported or not for the booking. See Possible Values for more details.
flight_bookings.post_booking_capability.form_of_payment.update.available Specify whether an updating of form of payment is available or not for the booking. See Possible Values for more details.
flight_bookings.post_booking_capability.form_of_payment.delete Specifies whether a form of payment of the booking can be deleted. It is possible to delete the form of payment of a booking, only if it exists, and the booking is not cancelled, or issued, or the delete operation is supported by the supplier. It is an array of hashes containing all the supported add form of payment information for each booking.
flight_bookings.post_booking_capability.form_of_payment.delete.fop_id Specifies form of payment id which needs to be deleted
flight_bookings.post_booking_capability.form_of_payment.add.supported Specify whether an deletion of form of payment is supported or not for the booking. See Possible Values for more details.
flight_bookings.post_booking_capability.form_of_payment.delete.available Specify whether an deletion of form of payment is available or not for the booking. See Possible Values for more details.
flight_bookings.post_booking_capability.form_of_payment.options Supported Form of Payment List. Welltravel Supported Payment options are cash, none, credit_card, iata
flight_bookings.post_booking_capability.form_of_payment.required_fields Required fields for the credit card payment
flight_bookings.post_booking_capability.form_of_payment.required_fields.credit_card credit_card related information
flight_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.name Credit Card holder’s name is required or not
flight_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.number Credit Card number is required or not
flight_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.type Credit Card Type is required or not. Possible values: visa, master_card, amex.
flight_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.expiry_date Credit Card Expiry Date is required or not. Format is: MM/YY. example: 01/19
flight_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.code Credit Card Code/CVV/CVC is required or not
flight_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.street Card Holder Street Name is required or not
flight_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.city Card Holder City Code is required or not
flight_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.zip Card Holder ZIP Code or Post Code is required or not
flight_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.country ISO 3166-1 alpha-2 Issuing Country Code is required or not
flight_bookings.post_booking_capability.ticket_void Voiding any ticket means invalidating the ticket. Usually, a ticket can be voided within 24 hours of document issuance, however, the period during which a ticket can be voided may vary. The period of time during which a void can occur is handled by the provider. Details about whether the flight ticket can be voided in post booking is supported by Welltravel or not.
flight_bookings.post_booking_capability.ticket_void.supported Specifies whether voiding ticket is supported by Welltravel or not. See Possible Values for more details.
flight_bookings.post_booking_capability.ticket_void.available Specifies whether the ticket is already voided or not. See Possible Values for more details.
flight_bookings.post_booking_capability.ticket_void.possible_until The date until which voiding ticket is possible for the booking.
flight_bookings.post_booking_capability.seat Specifies whether operations(fetch, add, update and delete) related to seat for the travellers in a PNR in the post booking is supported by Welltravel. See Possible Values for more details.
flight_bookings.post_booking_capability.seat.fetch Specifies whether Seat Map fetching for the segments of the PNR in the post booking is supported by Welltravel.
flight_bookings.post_booking_capability.seat.add Specifies whether seat can be added to a traveler in PNR in the post booking is supported by Welltravel.
flight_bookings.post_booking_capability.seat.delete Specifies whether seat can be deleted from the travelers in a PNR in the post booking is supported by Welltravel.
flight_bookings.post_booking_capability.seat.update Specifies whether seat can be updated for a PNR in the post booking is supported by Welltravel.
flight_bookings.post_booking_capability.seat.form_of_payment Form of payments details
flight_bookings.post_booking_capability.seat.form_of_payment.options Supported Form of Payment List. Welltravel Supported Payment options are cash, none, credit_card, iata
flight_bookings.post_booking_capability.seat.form_of_payment.required_fields Required fields for the credit card payment
flight_bookings.post_booking_capability.seat.form_of_payment.required_fields.credit_card credit_card related information
flight_bookings.post_booking_capability.seat.form_of_payment.required_fields.credit_card.name Credit Card holder’s name is required or not
flight_bookings.post_booking_capability.seat.form_of_payment.required_fields.credit_card.number Credit Card number is required or not
flight_bookings.post_booking_capability.seat.form_of_payment.required_fields.credit_card.type Credit Card Type is required or not. Possible values: visa, master_card, amex.
flight_bookings.post_booking_capability.seat.form_of_payment.required_fields.credit_card.expiry_date Credit Card Expiry Date is required or not. Format is: MM/YY. example: 01/19
flight_bookings.post_booking_capability.seat.form_of_payment.required_fields.credit_card.code Credit Card Code/CVV/CVC is required or not
flight_bookings.post_booking_capability.seat.form_of_payment.required_fields.credit_card.street Card Holder Street Name is required or not
flight_bookings.post_booking_capability.seat.form_of_payment.required_fields.credit_card.city Card Holder City Code is required or not
flight_bookings.post_booking_capability.seat.form_of_payment.required_fields.credit_card.zip Card Holder ZIP Code or Post Code is required or not
flight_bookings.post_booking_capability.seat.form_of_payment.required_fields.credit_card.country ISO 3166-1 alpha-2 Issuing Country Code is required or not
flight_bookings.post_booking_capability.services Specifies whether operations(fetch, add, update and delete) related to service for the travelers in a PNR in the post booking is supported by Welltravel. See Possible Values for more details.
flight_bookings.post_booking_capability.services.fetch Specifies whether Service List fetching for the segments of the PNR in the post booking is supported by Welltravel.
flight_bookings.post_booking_capability.services.add Specifies whether Service can be added to a traveler in PNR in the post booking is supported by Welltravel.
flight_bookings.post_booking_capability.services.delete Specifies whether Service can be deleted from a PNR in the post booking is supported by Welltravel.
flight_bookings.post_booking_capability.services.update Specifies whether Service can be updated for a PNR in the post booking is supported by Welltravel.
flight_bookings.post_booking_capability.services.form_of_payment Form of payments details
flight_bookings.post_booking_capability.services.form_of_payment.options Supported Form of Payment List. Welltravel Supported Payment options are cash, none, credit_card
flight_bookings.post_booking_capability.services.form_of_payment.required_fields Required fields for the credit card payment
flight_bookings.post_booking_capability.services.form_of_payment.required_fields.credit_card credit_card related information
flight_bookings.post_booking_capability.services.form_of_payment.required_fields.credit_card.name Credit Card holder’s name is required or not
flight_bookings.post_booking_capability.services.form_of_payment.required_fields.credit_card.number Credit Card number is required or not
flight_bookings.post_booking_capability.services.form_of_payment.required_fields.credit_card.type Credit Card Type is required or not. Possible values: visa, master_card, amex.
flight_bookings.post_booking_capability.services.form_of_payment.required_fields.credit_card.expiry_date Credit Card Expiry Date is required or not. Format is: MM/YY. example: 01/19
flight_bookings.post_booking_capability.services.form_of_payment.required_fields.credit_card.code Credit Card Code/CVV/CVC is required or not
flight_bookings.post_booking_capability.services.form_of_payment.required_fields.credit_card.street Card Holder Street Name is required or not
flight_bookings.post_booking_capability.services.form_of_payment.required_fields.credit_card.city Card Holder City Code is required or not
flight_bookings.post_booking_capability.services.form_of_payment.required_fields.credit_card.zip Card Holder ZIP Code or Post Code is required or not
flight_bookings.post_booking_capability.services.form_of_payment.required_fields.credit_card.country ISO 3166-1 alpha-2 Issuing Country Code is required or not
flight_bookings.post_booking_capability.ticket_issuance Specifies the post booking capabilities related to the Detailed information about the ticket issuance.
flight_bookings.post_booking_capability.ticket_issuance.required Ticket issuance is required or not. See Possible Values for more details.
flight_bookings.post_booking_capability.ticket_issuance.issued_at Timestamp when ticket issuance was done
flight_bookings.post_booking_capability.ticket_issuance.until Ticket issuance is possible until this date
flight_bookings.segments Detailed information about flight segment
flight_bookings.segments.status A hash which indicates segments status information for the corresponding bookings
flight_bookings.segments.status.meta_key Should be unique key coming from meta indicating segments status
flight_bookings.segments.status.name Booking Status. Possible values are: confirmed, unconfirmed, pending, closed, not_processed, new, denied, canceled, no_need_status, duplicate, waitlisted, unknown
flight_bookings.segments.technical_stops The information details about technical stops. A technical stop is most commonly used to refuel the aircraft, to make unexpected essential repairs or to respond to some emergency need to land the aircraft. No traffic is unloaded or loaded during a technical stop.
flight_bookings.segments.technical_stops.count The number of the technical stops will be taken by the aircraft in the particular flight segment.
flight_bookings.segments.technical_stops.stop_details The information details about each technical stop of the airlines.
flight_bookings.segments.technical_stops.stop_details.airport_code The airport code of technical stop. For example, for a flight from Singapore to San Francisco, Then the first technical stop could be Hong Kong HKG airport.
flight_bookings.segments.technical_stops.stop_details.arrival_localtime The local time of the airport at the time of arrival. Eg: 2021-12-29T15:25:00
flight_bookings.segments.technical_stops.stop_details.departure_localtime The local time of the airport at the time of departure. Eg: 2021-12-29T15:25:00
flight_bookings.segments.technical_stops.stop_details.duration_in_minutes Total duration between flight arrival and departure in a technical stop, expressed in minutes. For example, 30
flight_bookings.segments.catering The information about the catering services on this flight segment, see Catering for more details
flight_bookings.penalties Penalty related information of the flight
flight_bookings.segments.cabin_class The cabin class of this trip, see Cabin Class for more details
flight_bookings.segments.fare.type The fare type, see Fare Type for more details
train_bookings Detailed information about the train booking
hotel_bookings.id Unique ID for hotel bookings
hotel_bookings.status A hash which indicates segments status information for the corresponding bookings
hotel_bookings.status.meta_key Should be unique key coming from meta indicating the corresponding hotel bookings status
hotel_bookings.status.name Booking Status. Possible values are: confirmed, unconfirmed, pending, closed, not_processed, new, denied, canceled, no_need_status, duplicate, waitlisted, unknown
hotel_bookings.post_booking_capability Details about the post booking capabilities supported by Welltravel.
hotel_bookings.post_booking_capability.queue Details about whether placing or removing a PNR into/from a queue in the post booking is supported by Welltravel or not for the PNR.
hotel_bookings.post_booking_capability.queue.place Specifies whether placing a PNR into a queue in the post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
hotel_bookings.post_booking_capability.queue.remove Specifies whether removing a PNR from a queue in the post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
hotel_bookings.post_booking_capability.accounting_remarks Specifies about whether accounting remarks can be added, updated or deleted from a PNR in Post Booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
hotel_bookings.post_booking_capability.accounting_remarks.add Specifies about whether accounting remarks can be added to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
hotel_bookings.post_booking_capability.accounting_remarks.update Specifies about whether accounting remarks can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
hotel_bookings.post_booking_capability.accounting_remarks.delete Specifies about whether accounting remarks can be deleted from a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
hotel_bookings.post_booking_capability.accounting_remarks.available_codes An array containing detailed information about all available codes for accounting remarks.
hotel_bookings.post_booking_capability.accounting_remarks.available_codes.meta_key Should be a unique value fetched from meta indicating the available code.
hotel_bookings.post_booking_capability.accounting_remarks.available_codes.name The actual name of the Available code. Example Fare, Canned, Ticket, Agent Sign, Other
hotel_bookings.post_booking_capability.accounting_remarks.available_codes.code Available code. Example fare, canned, agent_sign, other
hotel_bookings.post_booking_capability.accounting_remarks.available_codes.validation_regexp Regex indicating the valid code. Example /^[a-zA-Z0-9 */,.-]{1,70}$/
hotel_bookings.post_booking_capability.general_remarks Specifies about whether general remark can be added, updated or deleted from a PNR in Post Booking is supported by Welltravel or not for the PNR.
hotel_bookings.post_booking_capability.general_remarks.add Specifies about whether general remarks can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
hotel_bookings.post_booking_capability.general_remarks.update Specifies about whether general remarks can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
hotel_bookings.post_booking_capability.general_remarks.delete Specifies about whether general remarks can be deleted from a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
hotel_bookings.post_booking_capability.general_remarks.available_codes An array containing detailed information about all available codes for general remarks.
hotel_bookings.post_booking_capability.general_remarks.available_codes.meta_key Should be a unique value fetched from meta indicating the available code.
hotel_bookings.post_booking_capability.general_remarks.available_codes.name The actual name of the Available code. Example General, Historical, Invoice, Itinerary, Alpha
hotel_bookings.post_booking_capability.general_remarks.available_codes.code Available codes. Example general, historical, invoice, itinerary
hotel_bookings.post_booking_capability.general_remarks.available_codes.validation_regexp Regex indicating the valid code. Example /^[a-zA-Z0-9 */,.-]{1,70}$/
hotel_bookings.post_booking_capability.travelers Specifies the post booking capabilities related to the details of the travelers
hotel_bookings.post_booking_capability.travelers.phone_number Specifies the post booking capabilities related to the Traveler’s phone number details
hotel_bookings.post_booking_capability.travelers.phone_number.add Specifies about whether travelers phone number can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
hotel_bookings.post_booking_capability.travelers.phone_number.update Specifies about whether travelers phone number can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
hotel_bookings.post_booking_capability.travelers.phone_number.delete Specifies about whether travelers phone number can be deleted to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
hotel_bookings.post_booking_capability.travelers.phone_number.validation_regexp Regex indicating the valid phone numbers. Example /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
hotel_bookings.post_booking_capability.travelers.email_address Specifies the post booking capabilities related to the Details information of Travelers email address
hotel_bookings.post_booking_capability.travelers.email_address.add Specifies about whether travelers email address can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
hotel_bookings.post_booking_capability.travelers.email_address.update Specifies about whether travelers email address can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
hotel_bookings.post_booking_capability.travelers.email_address.delete Specifies about whether travelers email address can be deleted to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
hotel_bookings.post_booking_capability.travelers.email_address.validation_regexp Regex indicates the valid email address. Example /\A[\w+\-.]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
hotel_bookings.post_booking_capability.travelers.postal_address Specifies the post booking capabilities related to the Detail information of Travelers postal address
hotel_bookings.post_booking_capability.travelers.postal_address.add Specifies about whether travelers postal address can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
hotel_bookings.post_booking_capability.travelers.postal_address.update Specifies about whether travelers postal address can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
hotel_bookings.post_booking_capability.travelers.postal_address.delete Specifies about whether travelers postal address can be deleted to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
hotel_bookings.post_booking_capability.cancel Specifies whether the booking can be cancelled or not by Welltravel. See Possible Values for more details.
hotel_bookings.post_booking_capability.cancel.supported_via Indicates an agency that supports cancel. Example welltravel
hotel_bookings.post_booking_capability.refund Specifies the post booking capabilities related to the details about refunding a booking.
hotel_bookings.post_booking_capability.refund.supported Specifies whether refund of booking is supported by Welltravel or not. See Possible Values for more details.
hotel_bookings.post_booking_capability.refund.available Specifies whether the booking is already refunded or not. See Possible Values for more details.
hotel_bookings.post_booking_capability.refund.possible_until The date until which refund is possible for the booking.
hotel_bookings.post_booking_capability.refund.style Specifies whether the booking fee can be refunded with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Exchange/ Refund Style for more details.
hotel_bookings.post_booking_capability.refund.partial_refund Specifies the partial refund information. Partial refund is possible if PNR supports splitting.
hotel_bookings.post_booking_capability.refund.partial_refund.supported Specifies whether partial refund is supported or not. Values should be true or false.
hotel_bookings.post_booking_capability.refund.partial_refund.pnr_split_on_quote Indicates whether pnr split is support on refund quote or not. Values should be true or false.
hotel_bookings.post_booking_capability.refund.partial_refund.pnr_split_on_refund Indicates whether pnr split is support on refund or not. Values should be true or false.
hotel_bookings.post_booking_capability.exchange Specifies the post booking capabilities related to the Detail information about exchanging a booking.
hotel_bookings.post_booking_capability.exchange.supported Specifies whether exchange of booking is supported by Welltravel or not. See Possible Values for more details.
hotel_bookings.post_booking_capability.exchange.available Specifies whether the booking is already exchanged or not. See Possible Values for more details.
hotel_bookings.post_booking_capability.exchange.possible_until The date until which exchange is possible for the booking.
hotel_bookings.post_booking_capability.exchange.style Specifies whether the booking fee can be exchanged with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Exchange/ Refund Style for more details.
hotel_bookings.post_booking_capability.exchange.partial_exchange Specifies the partial exchange information. Partial exchange is possible if PNR supports splitting.
hotel_bookings.post_booking_capability.exchange.partial_exchange.supported Specifies whether partial exchange is supported or not. Values should be true or false.
hotel_bookings.post_booking_capability.exchange.partial_exchange.pnr_split_on_quote Indicates whether pnr split is support on exchange quote or not. Values should be true or false.
hotel_bookings.post_booking_capability.exchange.partial_exchange.pnr_split_on_exchange Indicates whether pnr split is support on exchange or not. Values should be true or false.
hotel_bookings.post_booking_capability.form_of_payment Details about whether add, update and delete of form of payment of the booking in the post booking is supported by Welltravel or not.
hotel_bookings.post_booking_capability.form_of_payment.add Specifies whether a form of payment can be added to the booking. It is possible to add a form of payment to the booking, only if it is not cancelled or issued, or the operation is supported by the supplier. It is a hash containing all the supported add form of payment information for each booking.
hotel_bookings.post_booking_capability.form_of_payment.add.supported Specify whether an addition of form of payment is supported or not for the booking. See Possible Values for more details.
hotel_bookings.post_booking_capability.form_of_payment.add.available Specify whether an addition of form of payment is available or not for the booking. See Possible Values for more details.
hotel_bookings.post_booking_capability.form_of_payment.add.required Specify whether an addition of form of payment is required or not for the booking. If form of payment is already added then required should be false otherwise true. See Possible Values for more details.
hotel_bookings.post_booking_capability.form_of_payment.add.until The last or final date of adding form of payment for the hold booking. Indicates payment will be added later upto the final date.
hotel_bookings.post_booking_capability.form_of_payment.update Specifies whether a form of payment of the booking can be updated. It is possible to update the form of payment to the booking, only if it exists and the booking is not cancelled or issued or the operation is supported by the supplier. It is a an array of hashes containing all the supported update form of payment information for each booking.
hotel_bookings.post_booking_capability.form_of_payment.update.fop_id Specifies form of payment id which needs to be updated
hotel_bookings.post_booking_capability.form_of_payment.add.supported Specify whether an updating of form of payment is supported or not for the booking. See Possible Values for more details.
hotel_bookings.post_booking_capability.form_of_payment.update.available Specify whether an updating of form of payment is available or not for the booking. See Possible Values for more details.
hotel_bookings.post_booking_capability.form_of_payment.delete Specifies whether a form of payment of the booking can be deleted. It is possible to delete the form of payment of a booking, only if it exists, and the booking is not cancelled, or issued, or the delete operation is supported by the supplier. It is an array of hashes containing all the supported add form of payment information for each booking.
hotel_bookings.post_booking_capability.form_of_payment.delete.fop_id Specifies form of payment id which needs to be deleted
hotel_bookings.post_booking_capability.form_of_payment.add.supported Specify whether an deletion of form of payment is supported or not for the booking. See Possible Values for more details.
hotel_bookings.post_booking_capability.form_of_payment.delete.available Specify whether an deletion of form of payment is available or not for the booking. See Possible Values for more details.
hotel_bookings.post_booking_capability.form_of_payment.options Supported Form of Payment List. Welltravel Supported Payment options are cash, none, credit_card, iata
hotel_bookings.post_booking_capability.form_of_payment.required_fields Required fields for the credit card payment
hotel_bookings.post_booking_capability.form_of_payment.required_fields.credit_card credit_card related information
hotel_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.name Credit Card holder’s name is required or not
hotel_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.number Credit Card number is required or not
hotel_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.type Credit Card Type is required or not. Possible values: visa, master_card, amex.
hotel_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.expiry_date Credit Card Expiry Date is required or not. Format is: MM/YY. example: 01/19
hotel_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.code Credit Card Code/CVV/CVC is required or not
hotel_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.street Card Holder Street Name is required or not
hotel_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.city Card Holder City Code is required or not
hotel_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.zip Card Holder ZIP Code or Post Code is required or not
hotel_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.country ISO 3166-1 alpha-2 Issuing Country Code is required or not
hotel_bookings.accomodation_id Accommodation ID fo the hotel
hotel_bookings.pricing Detailed information of hotel booking pricing
hotel_bookings.room_rate Room Rate Pricing Information
hotel_bookings.room_rate.total Rate for Room for all nights
hotel_bookings.room_rate.per_night Rate for Room as per night basis
hotel_bookings.taxes Tax Related Information
hotel_bookings.total_price.recommended_selling_price Total Recommended Selling Price
hotel_bookings.total_price.purchase_price Total Purchase Price
hotel_bookings.total_price.source Total Source Price
hotel_bookings.name Name of the hotel
hotel_bookings.code The unique code to identify the hotel i.e Hotel Code
hotel_bookings.address The address of the hotel
hotel_bookings.address.street The name of the street of the hotel location
hotel_bookings.address.city The name of the city of the hotel location
hotel_bookings.address.state State name of the hotel
hotel_bookings.address.zip Zip code of the hotel
hotel_bookings.address.country Country code of the hotel
hotel_bookings.longitude Longitude of the hotel
hotel_bookings.latitude Latitude of the hotel
hotel_bookings.stars Star rating system is a system aims to rate hotels based on the quality and amount of amenities it provides its customers.
hotel_bookings.rating Rating of the hotel
hotel_bookings.rating_source Rating source
hotel_bookings.description Description of the hotel property
hotel_bookings.hotel_facilities Detailed facilities provided by the hotel
hotel_bookings.hotel_facilities.meals_included The list of meals that are complimentary with the hotel booking. See Board Type for details for details
hotel_bookings.hotel_facilities.airport_shuttle Detailed information about airport shuttle facility
hotel_bookings.hotel_facilities.airport_shuttle.pick_up Airport pickup information. See Hotel Facility Availabilities for the details
hotel_bookings.hotel_facilities.airport_shuttle.pick_up.meta_key Should be unique key coming from meta indicating the corresponding pick up time
hotel_bookings.hotel_facilities.airport_shuttle.pick_up.name Airport shuttle services name. Value would be Complimentary
hotel_bookings.hotel_facilities.airport_shuttle.drop_off Airport drop off information. See Hotel Facility Availabilities for the details
hotel_bookings.hotel_facilities.airport_shuttle.drop_off.meta_key Should be unique key coming from meta indicating the corresponding drop off time
hotel_bookings.hotel_facilities.airport_shuttle.drop_off.name Airport shuttle services name. Value would be Complimentary
hotel_bookings.hotel_facilities.wifi Wifi related information. See Hotel Facility Availabilities for the details
hotel_bookings.hotel_facilities.wifi.meta_key Should be unique key coming from meta indicating the corresponding wifi
hotel_bookings.hotel_facilities.wifi.name Hotel services name. Value would be Complimentary
hotel_bookings.hotel_facilities.others Others facilities provided by this hotel. See Hotel Facilities for details
hotel_bookings.hotel_facilities.others.meta_key Should be unique key coming from meta indicating the corresponding others hotel facilities
hotel_bookings.hotel_facilities.others.name Hotel others services name. Value would be Restaurant, Medical Services, Disabled Services etc
hotel_bookings.hotel_facilities.conditions Conditions for this hotel. See Hotel Conditions for details
hotel_bookings.hotel_facilities.conditions.meta_key Should be unique key coming from meta indicating corresponding hotel facilities conditions
hotel_bookings.hotel_facilities.conditions.name Indicates value of hotel conditions. Value would be Smoking In Desgnated Area etc
hotel_bookings.cancellation_policies An array containing cancellation policies information
hotel_bookings.start_date Indicates the starting date of cancellation policies. Example 2020-10-27
hotel_bookings.end_date Indicates the ending date of cancellation policies. Example 2020-10-30
hotel_bookings.fee Amount regarding cancellation polices. If we cancelled inside the policy date then amount will be zero. Otherwise we have to pay the amount per policy basis
hotel_bookings.currency Currency of the payable amount. Example EUR, ZAR, USD etc
hotel_bookings.picture_urls Picture URLs of the Specific Hotel
hotel_bookings.room_types Detailed information about the particular type of room
hotel_bookings.room_types.no_of_rooms Number of rooms of the same room type
hotel_bookings.room_types.description Description of a particular room type
hotel_bookings.check_in Check in time as per hotel policy. Value could be anything from 00:00 to 23:59 or full_day_check_in
hotel_bookings.check_out Check out time as per hotel policy. Value could be anything from 00:00 to 23:59
hotel_bookings.nights Total number of nights to stay in the hotel
car_bookings Details about the car booking
car_bookings.id Unique ID for car bookings
car_bookings.status A hash which indicates segments status information for the corresponding bookings
car_bookings.status.meta_key Should be unique key coming from meta indicating the corresponding car bookings status
car_bookings.status.name Booking Status. Possible values are: confirmed, closed, unconfirmed, pending, not_processed, new, denied, canceled, no_need_status, duplicate, waitlisted, unknown
car_bookings.vendor.image Image of the specific car
car_bookings.pricing Detailed information of hotel booking pricing
car_bookings.vendor Detailed information of car booking vendor
car_bookings.vendor.vendor_name Name of the vendor. Example EUROPCAR
car_bookings.vendor.vendor_code Code of the corresponding vendor. Example EP
car_bookings.rate Car Rental Rate Pricing Information
car_bookings.rate.per_day Car Rental Rate Pricing Per Day Details
car_bookings.rate.per_day.recommended_selling_pric Information about the cost of car rental we recommend to use as selling price per day
car_bookings.rate.per_day.recommended_selling_price.amount Recommended Car Rental Cost Per Day
car_bookings.rate.per_day.recommended_selling_price.currency Currency of the recommended car rental cost per day
car_bookings.rate.per_day.purchase_price Detailed information about the car rental cost you will have to pay per day
car_bookings.rate.per_day.purchase_price.amount The car rental price with tax per day
car_bookings.rate.per_day.purchase_price.currency The currency of the car rental price with tax per day
car_bookings.rate.per_day.source Detailed information about the car rental cost you will have to pay per day in the IPCC’s default currency
car_bookings.rate.per_day.source.amount The car rental price per day in the IPCC’s default currency
car_bookings.rate.per_day.source.currency The currency of the car rental price per day in the IPCC’s default currency
car_bookings.rate.total Total Car Rental Rate Pricing Details
car_bookings.rate.total.recommended_selling_price Information about the total cost of car rental we recommend to use as selling price
car_bookings.rate.total.recommended_selling_price.amount Recommended Total Car Rental Cost
car_bookings.rate.total.recommended_selling_price.currency Currency of the total recommended car rental cost
car_bookings.rate.total.purchase_price Detailed information about the total car rental cost you will have to pay
car_bookings.rate.total.purchase_price.amount The total car rental price with tax
car_bookings.rate.total.purchase_price.currency The currency of the car rental price with tax per day
car_bookings.rate.total.source Detailed information about the total car rental cost you will have to pay in the IPCC’s default currency
car_bookings.rate.total.source.amount The total car rental price in the IPCC’s default currency
car_bookings.rate.total.source.currency The IPCC’s default currency
car_bookings.tax Tax Related Information
car_bookings.tax.amount Tax amount
car_bookings.tax.currency Currency of the Tax amount
car_bookings.tax.source Tax Related Information in the IPCC’s default currency
car_bookings.tax.source.amount Tax amount in the IPCC’s default currency
car_bookings.tax.source.currency The IPCC’s default currency
car_bookings.total_price.recommended_selling_price Total Recommended Selling Price
car_bookings.total_price.recommended_selling_price.amount Total amount we recommended as selling price
car_bookings.total_price.recommended_selling_price.currency Currency of the Total Recommended Selling Price
car_bookings.total_price.purchase_price Details about total Price of car rental you actually have to pay
car_bookings.total_price.purchase_price.amount Total Price of car rental you actually have to pay
car_bookings.total_price.purchase_price.currency Currency of the Total Purchase Price
car_bookings.total_price.source Information about total price in the IPCC’s default currency
car_bookings.total_price.source.amount Total Price in the IPCC’s default currency
car_bookings.total_price.source.currency IPCC’s default currency
car_bookings.refundable Indicator of whether the car booking is refundable or not. If true, it is refundable otherwise it is non-refundable. If it is null, then there is no information about refund. See Possible Values for more details.
car_bookings.pick_up Pick Up related information
car_bookings.pick_up.location Pick Up Location
car_bookings.pick_up.latitude Latitude of the pickup location in Decimal Degree(DD) format
car_bookings.pick_up.longitude Longitude of the pickup location in Decimal Degree(DD) format
car_bookings.pick_up.is_airport Returns true or false if the pick-up location is airport or not. See Possible Values for more details.
car_bookings.pick_up.localtime Pick Up Time and Date
car_bookings.drop_off Drop off related information
car_bookings.drop_off.location Drop off Location
car_bookings.drop_off.latitude Latitude of the drop-off location in Decimal Degree(DD) format
car_bookings.drop_off.longitude Longitude of the drop-off location in Decimal Degree(DD) format
car_bookings.drop_off.is_airport Returns true or false if the drop-off location is airport or not. See Possible Values for more details.
car_bookings.drop_off.localtime Drop off Time and Date
car_bookings.days The number of days for which the car is being rented
car_bookings.car Detailed information about the car
car_bookings.car.image Image of the specific car
car_bookings.car.category Detailed information of car category
car_bookings.car.category.meta_key unique key comes from meta for car category
car_bookings.car.category.name Car category name. Example Economy
car_bookings.car.type Detailed information of car type
car_bookings.car.type.meta_key unique key comes from meta for car type
car_bookings.car.type.name Car type name. Example Per Rental
car_bookings.car.driven_wheel Detailed information about driven wheel
car_bookings.car.driven_wheel.meta_key unique key comes from meta against driven wheel
car_bookings.car.driven_wheel.name Driven wheel name.
car_bookings.car.car_facilities Detailed information of car facilities
car_bookings.car.car_facilities.fuel_type Detailed information of fuel type
car_bookings.car.car_facilities.fuel_type.meta_key unique key comes from meta for fuel type
car_bookings.car.car_facilities.fuel_type.name Name of fuel type. Example Diesel
car_bookings.car.car_facilities.fuel_policy Detailed information of fuel policy
car_bookings.car.car_facilities.fuel_policy.meta_key Detailed information of car facilities
car_bookings.car.car_facilities.fuel_policy.name Name of policy. Example Full to Full, Pre-paid, Free tank etc
car_bookings.car.car_facilities.insurances Detailed information of insurances
car_bookings.car.car_facilities.insurances.type Detailed information of insurances type
car_bookings.car.car_facilities.insurances.type.meta_key unique key comes from meta for insurances
car_bookings.car.car_facilities.insurances.type.name Name of insurances type. Example Collision damage waiver
car_bookings.car.car_facilities.insurances.amount Insurance amount. Example 100
car_bookings.car.car_facilities.insurances.currency Insurance amount currency. Would be CHF, ZAR, USD etc
car_bookings.car.car_facilities.insurances.modifier Detailed information of insurance modifier
car_bookings.car.car_facilities.insurances.modifier.meta_key Unique key comes from meta for modifiers
car_bookings.car.car_facilities.insurances.modifier.name Name of modifier. Example Per rental
car_bookings.car.car_facilities.liability Detailed information of liability
car_bookings.car.car_facilities.liability.type Detailed information of liability types
car_bookings.car.car_facilities.liability.type.meta_key Unique key comes from meta for liability types
car_bookings.car.car_facilities.liability.type.name Name of liabilities. Example Collission Damage Waiver
car_bookings.car.car_facilities.liability.amount Liability amount. Example 100
car_bookings.car.car_facilities.liability.currency Liability amount currency. Would be CHF, ZAR, USD etc
car_bookings.car.car_facilities.liability.modifier Detailed information of liability modifier
car_bookings.car.car_facilities.liability.modifier.meta_key Unique key comes from meta for liability modifier types
car_bookings.car.car_facilities.liability.modifier.name Name of modifier. Example Per rental
car_bookings.car.car_facilities.mileage Detailed information of car mileage
car_bookings.car.car_facilities.mileage.package_size Package should define total the mileage distance. Example 150
car_bookings.car.car_facilities.other_facilities Detailed information of other facilities
car_bookings.car.car_facilities.other_facilities.type Detailed information of other facilities type
car_bookings.car.car_facilities.other_facilities.type.meta_key Unique key comes from meta for other facilities types
car_bookings.car.car_facilities.other_facilities.type.name Other facilities name. Example Premium Location Surcharge
car_bookings.car.car_facilities.other_facilities.amount Total amount of other facilities
car_bookings.car.car_facilities.other_facilities.currency Other facilities amount currency. Would be CHF, ZAR, USD etc
car_bookings.car.car_facilities.other_facilities.modifier Detailed information of other facilities modifier
car_bookings.car.car_facilities.other_facilities.modifier.metakey Unique key comes from meta for other facilities modifier types
car_bookings.car.car_facilities.other_facilities.modifier.name Name of modifier. Example Per rental
car_bookings.post_booking_capability Details about the post booking capabilities supported by Welltravel.
car_bookings.post_booking_capability.queue Details about whether placing or removing a PNR into/from a queue in the post booking is supported by Welltravel or not for the PNR.
car_bookings.post_booking_capability.queue.place Specifies whether placing a PNR into a queue in the post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
car_bookings.post_booking_capability.queue.remove Specifies whether removing a PNR from a queue in the post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
car_bookings.post_booking_capability.accounting_remarks Specifies about whether accounting remarks can be added, updated or deleted from a PNR in Post Booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
car_bookings.post_booking_capability.accounting_remarks.add Specifies about whether accounting remarks can be added to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
car_bookings.post_booking_capability.accounting_remarks.update Specifies about whether accounting remarks can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
car_bookings.post_booking_capability.accounting_remarks.delete Specifies about whether accounting remarks can be deleted from a PNR in post booking is supported by Welltravel or not for the PNR. See Possible Values for more details.
car_bookings.post_booking_capability.accounting_remarks.available_codes An array containing detailed information about all available codes for accounting remarks.
car_bookings.post_booking_capability.accounting_remarks.available_codes.meta_key Should be a unique value fetched from meta indicating the available code.
car_bookings.post_booking_capability.accounting_remarks.available_codes.name The actual name of the Available code. Example Fare, Canned, Ticket, Agent Sign, Other
car_bookings.post_booking_capability.accounting_remarks.available_codes.code Available code. Example fare, canned, agent_sign, other
car_bookings.post_booking_capability.accounting_remarks.available_codes.validation_regexp Regex indicating the valid code. Example /^[a-zA-Z0-9 */,.-]{1,70}$/
car_bookings.post_booking_capability.general_remarks Specifies about whether general remark can be added, updated or deleted from a PNR in Post Booking is supported by Welltravel or not for the PNR.
car_bookings.post_booking_capability.general_remarks.add Specifies about whether general remarks can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
car_bookings.post_booking_capability.general_remarks.update Specifies about whether general remarks can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
car_bookings.post_booking_capability.general_remarks.delete Specifies about whether general remarks can be deleted from a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
car_bookings.post_booking_capability.general_remarks.available_codes An array containing detailed information about all available codes for general remarks.
car_bookings.post_booking_capability.general_remarks.available_codes.meta_key Should be a unique value fetched from meta indicating the available code.
car_bookings.post_booking_capability.general_remarks.available_codes.name The actual name of the Available code. Example General, Historical, Invoice, Itinerary, Alpha
car_bookings.post_booking_capability.general_remarks.available_codes.code Available codes. Example general, historical, invoice, itinerary
car_bookings.post_booking_capability.general_remarks.available_codes.validation_regexp Regex indicating the valid code. Example /^[a-zA-Z0-9 */,.-]{1,70}$/
car_bookings.post_booking_capability.travelers Specifies the post booking capabilities related to the details of the travelers
car_bookings.post_booking_capability.travelers.phone_number Specifies the post booking capabilities related to the Traveler’s phone number details
car_bookings.post_booking_capability.travelers.phone_number.add Specifies about whether travelers phone number can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
car_bookings.post_booking_capability.travelers.phone_number.update Specifies about whether travelers phone number can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
car_bookings.post_booking_capability.travelers.phone_number.delete Specifies about whether travelers phone number can be deleted to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
car_bookings.post_booking_capability.travelers.phone_number.validation_regexp Regex indicating the valid phone numbers. Example /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
car_bookings.post_booking_capability.travelers.email_address Specifies the post booking capabilities related to the Details information of Travelers email address
car_bookings.post_booking_capability.travelers.email_address.add Specifies about whether travelers email address can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
car_bookings.post_booking_capability.travelers.email_address.update Specifies about whether travelers email address can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
car_bookings.post_booking_capability.travelers.email_address.delete Specifies about whether travelers email address can be deleted to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
car_bookings.post_booking_capability.travelers.email_address.validation_regexp Regex indicates the valid email address. Example /\A[\w+\-.]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
car_bookings.post_booking_capability.travelers.postal_address Specifies the post booking capabilities related to the Detail information of Travelers postal address
car_bookings.post_booking_capability.travelers.postal_address.add Specifies about whether travelers postal address can be added to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
car_bookings.post_booking_capability.travelers.postal_address.update Specifies about whether travelers postal address can be updated to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
car_bookings.post_booking_capability.travelers.postal_address.delete Specifies about whether travelers postal address can be deleted to a PNR in post booking is supported by Welltravel or not for the PNR. Possible values are true or false.
car_bookings.post_booking_capability.cancel Specifies whether the booking can be cancelled or not by Welltravel. See Possible Values for more details.
car_bookings.post_booking_capability.cancel.supported_via Indicates an agency that supports cancel. Example welltravel
car_bookings.post_booking_capability.refund Specifies the post booking capabilities related to the details about refunding a booking.
car_bookings.post_booking_capability.refund.supported Specifies whether refund of booking is supported by Welltravel or not. See Possible Values for more details.
car_bookings.post_booking_capability.refund.available Specifies whether the booking is already refunded or not. See Possible Values for more details.
car_bookings.post_booking_capability.refund.possible_until The date until which refund is possible for the booking.
car_bookings.post_booking_capability.refund.style Specifies whether the booking fee can be refunded with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Exchange/ Refund Style for more details.
car_bookings.post_booking_capability.refund.partial_refund Specifies the partial refund information. Partial refund is possible if PNR supports splitting.
car_bookings.post_booking_capability.refund.partial_refund.supported Specifies whether partial refund is supported or not. Values should be true or false.
car_bookings.post_booking_capability.refund.partial_refund.pnr_split_on_quote Indicates whether pnr split is support on refund quote or not. Values should be true or false.
car_bookings.post_booking_capability.refund.partial_refund.pnr_split_on_refund Indicates whether pnr split is support on refund or not. Values should be true or false.
car_bookings.post_booking_capability.exchange Specifies the post booking capabilities related to the Detail information about exchanging a booking.
car_bookings.post_booking_capability.exchange.supported Specifies whether exchange of booking is supported by Welltravel or not. See Possible Values for more details.
car_bookings.post_booking_capability.exchange.available Specifies whether the booking is already exchanged or not. See Possible Values for more details.
car_bookings.post_booking_capability.exchange.possible_until The date until which exchange is possible for the booking.
car_bookings.post_booking_capability.exchange.style Specifies whether the booking fee can be exchanged with or without issuing ticket and if no information is available regarding the matter, the value will be unavailable. See Exchange/ Refund Style for more details.
car_bookings.post_booking_capability.exchange.partial_exchange Specifies the partial exchange information. Partial exchange is possible if PNR supports splitting.
car_bookings.post_booking_capability.exchange.partial_exchange.supported Specifies whether partial exchange is supported or not. Values should be true or false.
car_bookings.post_booking_capability.exchange.partial_exchange.pnr_split_on_quote Indicates whether pnr split is support on exchange quote or not. Values should be true or false.
car_bookings.post_booking_capability.exchange.partial_exchange.pnr_split_on_exchange Indicates whether pnr split is support on exchange or not. Values should be true or false.
car_bookings.post_booking_capability.form_of_payment Details about whether add, update and delete of form of payment of the booking in the post booking is supported by Welltravel or not.
car_bookings.post_booking_capability.form_of_payment.add Specifies whether a form of payment can be added to the booking. It is possible to add a form of payment to the booking, only if it is not cancelled or issued, or the operation is supported by the supplier. It is a hash containing all the supported add form of payment information for each booking.
car_bookings.post_booking_capability.form_of_payment.add.supported Specify whether an addition of form of payment is supported or not for the booking. See Possible Values for more details.
car_bookings.post_booking_capability.form_of_payment.add.available Specify whether an addition of form of payment is available or not for the booking. See Possible Values for more details.
car_bookings.post_booking_capability.form_of_payment.add.required Specify whether an addition of form of payment is required or not for the booking. If form of payment is already added then required should be false otherwise true. See Possible Values for more details.
car_bookings.post_booking_capability.form_of_payment.add.until The last or final date of adding form of payment for the hold booking. Indicates payment will be added later upto the final date.
car_bookings.post_booking_capability.form_of_payment.update Specifies whether a form of payment of the booking can be updated. It is possible to update the form of payment to the booking, only if it exists and the booking is not cancelled or issued or the operation is supported by the supplier. It is a an array of hashes containing all the supported update form of payment information for each booking.
car_bookings.post_booking_capability.form_of_payment.update.fop_id Specifies form of payment id which needs to be updated
car_bookings.post_booking_capability.form_of_payment.add.supported Specify whether an updating of form of payment is supported or not for the booking. See Possible Values for more details.
car_bookings.post_booking_capability.form_of_payment.update.available Specify whether an updating of form of payment is available or not for the booking. See Possible Values for more details.
car_bookings.post_booking_capability.form_of_payment.delete Specifies whether a form of payment of the booking can be deleted. It is possible to delete the form of payment of a booking, only if it exists, and the booking is not cancelled, or issued, or the delete operation is supported by the supplier. It is an array of hashes containing all the supported add form of payment information for each booking.
car_bookings.post_booking_capability.form_of_payment.delete.fop_id Specifies form of payment id which needs to be deleted
car_bookings.post_booking_capability.form_of_payment.add.supported Specify whether an deletion of form of payment is supported or not for the booking. See Possible Values for more details.
car_bookings.post_booking_capability.form_of_payment.delete.available Specify whether an deletion of form of payment is available or not for the booking. See Possible Values for more details.
car_bookings.post_booking_capability.form_of_payment.options Supported Form of Payment List. Welltravel Supported Payment options are cash, none, credit_card
car_bookings.post_booking_capability.form_of_payment.required_fields Required fields for the credit card payment
car_bookings.post_booking_capability.form_of_payment.required_fields.credit_card credit_card related information
car_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.name Credit Card holder’s name is required or not
car_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.number Credit Card number is required or not
car_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.type Credit Card Type is required or not. Possible values: visa, master_card, amex.
car_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.expiry_date Credit Card Expiry Date is required or not. Format is: MM/YY. example: 01/19
car_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.code Credit Card Code/CVV/CVC is required or not
car_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.street Card Holder Street Name is required or not
car_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.city Card Holder City Code is required or not
car_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.zip Card Holder ZIP Code or Post Code is required or not
car_bookings.post_booking_capability.form_of_payment.required_fields.credit_card.country ISO 3166-1 alpha-2 Issuing Country Code is required or not

Meta API

Our Meta API exposes additional information about the different airlines, aircrafts, airports, places, ancillary services and tax categories. All these information can be used to enrich your website with additional information about an entity.

Images

Endpoint

Main host: https://meta.welltravel.com

URL for the logo: https://meta.welltravel.com/media/long-string-here.

Meta provides images related to different entities. It always exposes a relative URL to the host part of the URL. This means the full URL of an image can be built by prepending the host which replied to the API call.

Sizes

{
  "name": "SWISS",
  "code": "LX",
  "logo": "/media/long-string-here",
  "image_urls": {
    "small": "/media/W1siZiIsIjIwMTcvMDQvMTEvNWliam5qdjIweV9yaGIuanBnIl1d?sha=824d5dc0d013f26e",
    "medium": "/media/W1siZiIsIjIwMTcvMDQvMTEvMjk2YjhqMDZhM19yaGIuanBnIl1d?sha=39d9a9dde54f9641",
    "large": "/media/W1siZiIsIjIwMTcvMDQvMTEvOWk1cGplNWNoZ19yaGIuanBnIl1d?sha=b3b9ff58980eb6dc"
  },
  "description": null,
  "twitter_handle": null
}

We provide three different image sizes: small, medium, large.

Size Dimensions
small 320x180, cropped if necessary to maintain aspect ratio (centre gravity)
medium 640x360, cropped if necessary to maintain aspect ratio (centre gravity)
large 1280x720, cropped if necessary to maintain aspect ratio (centre gravity)

Airlines

This API exposes information about all the different airlines.

List Airlines

GET /api/airlines/q=British HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

GET /api/airlines/q=search_string

The request will return any airlines which has the search_string

This API endpoint allows you to search for an airline or list all the available ones. It supports Pagination.

Parameter Description
q String to search for
Response Attributes
HTTP/1.1 200 OK
Content-Type: application/json
X-Per-Page: 50
X-Total: 5
X-Page: 1

[
  {
    "name": "AIR BOTSWANA",
    "code": "BP",
    "logo": "/media/W1siZiIsIjIwMTYvMTIvMDcvMzd5MWR6dnpjOF9CUC5wbmciXV0?sha=ccadf779cfbfd2b1",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    },
    "description": null,
    "twitter_handle": null,
    "flights": [],
    "wifi_packages": [],
    "baggage_information": {
      "count": null,
      "kg_per_piece": null,
    }
  },
  {
    "name": "SWISS",
    "code": "LX",
    "logo": "/media/W1siZiIsIjIwMTYvMTIvMDcvNXN0YnZvbmxreF9MWC5wbmciXV0?sha=ae662ef8a8e4618f",
    "image_urls": {
      "small": "/media/W1siZiIsIjIwasda333ftbHpyNXpsdF9GVC5wbmciXV0?sha=8c74636a9bd794d3",
      "medium": "/media/asg-4lglhlhwMTYvMTIvMDcvODdtbHpyNXpsdF9GVC5wbmciXV0?sha=8c74636a9bd794d3",
      "large": "/media/W1siZiIsIjIwMTYvMTIvMDca39jtjfjasd00wbmciXV0?sha=8c74636a9bd794d3"
    },
    "description": null,
    "twitter_handle": null,
    "flights": [
      {
        "flight_number": "646",
        "on_time_percentage": "76",
        "wifi_availability": true
      }
    ],
    "wifi_packages": [],
    "baggage_information": {
      "count": 1,
      "kg_per_piece": 23,
    }
  },
  {
    "name": "AIR NAMIBIA",
    "code": "SW",
    "logo": "/media/W1siZiIsIjIwMTYvMTIvMDcvOHp3d212b3gxOF9TVy5wbmciXV0?sha=2569254fe8cab691",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    },
    "description": null,
    "twitter_handle": null,
    "flights": [],
    "wifi_packages": [],
    "baggage_information": {
      "count": null,
      "kg_per_piece": null,
    }
  },
  {
    "name": "EASYJET SWITZERLAND SA",
    "code": "DS",
    "logo": "/media/W1siZiIsIjIwMTYvMTIvMDcvOTUxcWF0Yjk0OF9EUy5wbmciXV0?sha=77b63d47aded20c8",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    },
    "description": null,
    "twitter_handle": null,
    "flights": [],
    "wifi_packages": [],
    "baggage_information": null
    "baggage_information": {
      "count": null,
      "kg_per_piece": null,
    }
  },
  {
    "name": "FARNAIR SWITZERLAND AG",
    "code": "FT",
    "logo": "/media/W1siZiIsIjIwMTYvMTIvMDcvODdtbHpyNXpsdF9GVC5wbmciXV0?sha=8c74636a9bd794d3",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    },
    "description": null,
    "twitter_handle": null,
    "flights": [],
    "wifi_packages": [],
    "baggage_information": {
      "count": null,
      "kg_per_piece": null,
    }
  }
]
Attribute Type Description
name String Name of the Airline
code String IATA two letters code for airline
logo String URL of the logo. See Images.
image_urls String Holds the URLs to different sizes of the main image. See Images.
description String Description of the Airline
twitter_handle String Twitter handle of the Airline
flights Array Flights Facts about this Airline
flights.flight_number String Flight number
flights.on_time_percentage String In percentage, indicator punctuality of the flight
flights.wifi_availability Boolean The availability of wifi in the flight
wifi_packages Array Details about the wifi packages of this airline
wifi_packages.amount String The cost of the wifi package
wifi_packages.currency String The currency in which the cost of wifi package has ben exposed
wifi_packages.volume_in_mbyte String The volume, in megabyte, of the wifi package that is included
baggage_information Object The default included baggage, if not specified differently
baggage_information.count Integer The count of included baggage pieces
baggage_information.kg_per_piece Integer The allowed weight of the included baggage piece

Fetch Airline

GET /api/airlines/AA HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

GET /api/airlines/:code

Exposes the details of one specific airline.

This API endpoint allows you to search for a specific airline.

Parameter Description
q String to search for
Response Attributes
HTTP/1.1 200 OK
Content-Type: application/json
X-Per-Page: 50
X-Total: 5
X-Page: 1

{
  "name": "SOUTH AFRICAN EXPRESS AIRWAYS",
  "code": "XZ",
  "logo": "/media/W1siZiIsIjIwMTcvMTIvMDgvMDkvMzYvNTYzYWQ3NzQtYTk5MC00ZTNlLThjNDMtYzFhNTM5Zjk5MDVjIl1d?sha=c81be7676bcb099a",
  "image_urls": {
    "small": null,
    "medium": null,
    "large": null
  },
  "description": null,
  "twitter_handle": null,
  "flights": [],
  "wifi_packages": [],
  "baggage_information": {
    "count": null,
    "kg_per_piece": null
  }
}
Attribute Type Description
name String Name of the Airline
code String IATA two letters code for airline
logo String URL of the logo. See Images.
image_urls String Holds the URLs to different sizes of the main image. See Images.
description String Description of the Airline
twitter_handle String Twitter handle of the Airline
flights Array Flights Facts about this Airline
flights.flight_number String Flight number
flights.on_time_percentage String In percentage, indicator punctuality of the flight
flights.wifi_availability Boolean The availability of wifi in the flight
wifi_packages Array Details about the wifi packages of this airline
wifi_packages.amount String The cost of the wifi package
wifi_packages.currency String The currency in which the cost of wifi package has ben exposed
wifi_packages.volume_in_mbyte String The volume, in megabyte, of the wifi package that is included
baggage_information Object The default included baggage, if not specified differently
baggage_information.count Integer The count of included baggage pieces
baggage_information.kg_per_piece Integer The allowed weight of the included baggage piece

Ancillary Services

In general terms ancillary services mean baggage, food and other services that may or may not be included in the flight. Each airline handles ancillary service differently. This API exposes human readable information and images for ancillary services.

Fetch Ancillary Service

GET /api/ancillary_services/6e51b42c-0369-42a7-9979-1822a61213aa HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

GET /api/ancillary_services/:code

Returns the info of a specific ancillary service.

Response Attributes
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "6e51b42c-0369-42a7-9979-1822a61213aa",
  "ssr_code": "AVIH",
  "description": "PET IN HOLD SMALL",
  "description_human": "Small pet in hold. Suitable for cats and small dogs.",
  "service_type": "Pets",
  "category": "bag",
  "image_urls": {
    "small": "/media/W1siZiIsIjIwMTcvMDEvMTYvOThxM3N2ejZjNV9wdWcuanBnIl1d?sha=87535f0efb7bc55e",
    "medium": "/media/W1siZiIsIjIwMTcvMDEvMTYvMzNrNjg3MnMzNV9wdWcuanBnIl1d?sha=86400b5e1115a328",
    "large": "/media/W1siZiIsIjIwMTcvMDEvMTYvMThrcXNiYzg0Zl9wdWcuanBnIl1d?sha=3d4e705297aba62a"
  }
}
Attribute Type Description
id UUID Unique Id of the Specific Service
ssr_code String SSR Code related to this service
description String Description of the service as given by the supplier
description_human String Human readable description of the service
service_type String Type of the service. For example, Pets, Baggage etc.
image_urls Object Holds the URLs to different sizes of the main image. See Images.

Airports

This API exposes information about all the different airports.

List Airports

GET /api/airports?q=LAX&page=0&per_page=250 HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

GET /api/airports

This API endpoint allows you to search for an airport or list all the available ones. It supports Pagination.

Parameter Description
q Search airports by name or code
Response Attributes
HTTP/1.1 200 OK
Content-Type: application/json
X-Per-Page: 250
X-Total: 3
X-Page: 1

[
  {
    "name": "Los Angeles International Airport",
    "code": "LAX",
    "latitude": 33.942501,
    "longitude": -118.407997,
    "timezone": "America/Los_Angeles",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    },
    "description": null,
    "twitter_handle": null,
    "place": {
      "id": 11795,
      "name": "Los Angeles",
      "image_urls": {
        "small": null,
        "medium": null,
        "large": null
      },
      "description": null,
      "twitter_hashtag": null,
      "country": {
        "id": 210,
        "name": "United States",
        "code": "US",
        "continent": "North America",
        "image_urls": {
          "small": "/media/W1siZiIsIjIwMTcvMDQvMTEvNWliam5qdjIweV9yaGIuanBnIl1d?sha=824d5dc0d013f26e",
          "medium": "/media/W1siZiIsIjIwMTcvMDQvMTEvMjk2YjhqMDZhM19yaGIuanBnIl1d?sha=39d9a9dde54f9641",
          "large": "/media/W1siZiIsIjIwMTcvMDQvMTEvOWk1cGplNWNoZ19yaGIuanBnIl1d?sha=b3b9ff58980eb6dc"
        },
        "description": ""
      }
    },
    "apis_data_required": "none"
  },
  {
    "name": "Whiteman Airport",
    "code": "WHP",
    "latitude": 34.2593,
    "longitude": -118.413002,
    "timezone": "America/Los_Angeles",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    },
    "description": null,
    "twitter_handle": null,
    "place": {
      "id": 11795,
      "name": "Los Angeles",
      "image_urls": {
        "small": null,
        "medium": null,
        "large": null
      },
      "description": null,
      "twitter_hashtag": null,
      "country": {
        "id": 210,
        "name": "United States",
        "code": "US",
        "continent": "North America",
        "image_urls": {
          "small": "/media/W1siZiIsIjIwMTcvMDQvMTEvNWliam5qdjIweV9yaGIuanBnIl1d?sha=824d5dc0d013f26e",
          "medium": "/media/W1siZiIsIjIwMTcvMDQvMTEvMjk2YjhqMDZhM19yaGIuanBnIl1d?sha=39d9a9dde54f9641",
          "large": "/media/W1siZiIsIjIwMTcvMDQvMTEvOWk1cGplNWNoZ19yaGIuanBnIl1d?sha=b3b9ff58980eb6dc"
        },
        "description": ""
      }
    },
    "apis_data_required": "none"
  },
  {
    "name": "María Dolores Airport",
    "code": "LSQ",
    "latitude": -37.401699,
    "longitude": -72.4254,
    "timezone": "America/Santiago",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    },
    "description": null,
    "twitter_handle": null,
    "place": {
      "id": 11795,
      "name": "Los Angeles",
      "image_urls": {
        "small": null,
        "medium": null,
        "large": null
      },
      "description": null,
      "twitter_hashtag": null,
      "country": {
        "id": 210,
        "name": "United States",
        "code": "US",
        "continent": "North America",
        "image_urls": {
          "small": "/media/W1siZiIsIjIwMTcvMDQvMTEvNWliam5qdjIweV9yaGIuanBnIl1d?sha=824d5dc0d013f26e",
          "medium": "/media/W1siZiIsIjIwMTcvMDQvMTEvMjk2YjhqMDZhM19yaGIuanBnIl1d?sha=39d9a9dde54f9641",
          "large": "/media/W1siZiIsIjIwMTcvMDQvMTEvOWk1cGplNWNoZ19yaGIuanBnIl1d?sha=b3b9ff58980eb6dc"
        },
        "description": ""
      }
    },
    "apis_data_required": "none"
  }
]
Attribute Type Description
name String Name of the Airport
code String IATA three letter code for airport
city_name String Name of the city in which the airport is situated
latitude String Latitude of the Airport
longitude String Longitude of the Airport
timezone String Timezone of the region in which the airport is situated
image_urls Object Holds the URLs to different sizes of the main image. See Images.
description String Description of the Airport
twitter_handle String Twitter handle of the Airport
place Object See Places.

Fetch Airport

GET /api/airports/SYD HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

GET /api/airports/:code

This API endpoint allows you to exposes the details of one specific airport.

Parameter Description
q Search airports by name or code
Response Attributes
HTTP/1.1 200 OK
Content-Type: application/json
X-Per-Page: 250
X-Total: 3
X-Page: 1

{
  "name": "Sydney International Airport",
  "code": "SYD",
  "city_name": "Sydney",
  "latitude": -33.94611,
  "longitude": 151.17722,
  "timezone": "Australia/Sydney",
  "image_urls": {
    "small": null,
    "medium": null,
    "large": null
  },
  "description": null,
  "twitter_handle": null,
  "place": {
    "id": 372890,
    "name": "Sydney International Airport",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    },
    "description": null,
    "twitter_hashtag": null,
    "admin1_code": "02",
    "admin2_code": "16650",
    "admin3_code": null,
    "admin4_code": null,
    "feature_code": "AIRP",
    "timezone": "Australia/Sydney",
    "latitude": "-33.94611",
    "longitude": "151.17722",
    "country": {
      "id": 14,
      "name": "Australia",
      "code": "AU",
      "continent": "Oceania",
      "image_urls": {
        "small": "/media/W1siZiIsIjIwMTcvMTIvMDgvMDkvMzYvMjg5MjUyM2MtZDhjMy00Nzg4LTkxOGMtNzhjNmY3MDI5OWVjIl1d?sha=c61439b9b6d0f4cf",
        "medium": "/media/W1siZiIsIjIwMTcvMTIvMDgvMDkvMzYvYTZiZWE1ODgtMDgxZS00YTFmLWE1NzgtNWU3ZjIzMDI3YTJiIl1d?sha=61bd177b18907764",
        "large": "/media/W1siZiIsIjIwMTcvMTIvMDgvMDkvMzYvMTliZDQ3NWItZTMwZS00MTc1LWEwZTQtODk2OTBmNjcxMGYzIl1d?sha=1a3183cbb55ed279"
      },
      "description": null
    }
  },
  "apis_data_required": "standard"
}
Attribute Type Description
name String Name of the Airport
code String IATA three letter code for airport
city_name String Name of the city in which the airport is situated
latitude String Latitude of the Airport
longitude String Longitude of the Airport
timezone String Timezone of the region in which the airport is situated
image_urls Object Holds the URLs to different sizes of the main image. See Images.
description String Description of the Airport
twitter_handle String Twitter handle of the Airport
place Object See Places.

Places

This API exposes information about all the different places. This includes point of interests, cities, …

List Places

GET /api/places?q=Los%20Angeles HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

GET /api/places

This API endpoint allows you to search for a place or list all the available ones. It supports Pagination.

Parameter Description
q String to search for
Response Attributes
HTTP/1.1 200 OK
Content-Type: application/json
X-Per-Page: 50
X-Total: 3
X-Page: 1

[
  {
    "id": 14430,
    "name": "Los Angeles",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    },
    "description": null,
    "twitter_hashtag": null,
    "country": {
      "id": 43,
      "name": "Chile",
      "code": "CL",
      "continent": "South America",
      "image_urls": {
        "small": null,
        "medium": null,
        "large": null
      },
      "description": null
    }
  },
  {
    "id": 11795,
    "name": "Los Angeles",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    },
    "description": null,
    "twitter_hashtag": null,
    "country": {
      "id": 210,
      "name": "United States",
      "code": "US",
      "continent": "North America",
      "image_urls": {
        "small": null,
        "medium": null,
        "large": null
      },
      "description": ""
    }
  }
]
Attribute Description
id ID of the Place
name Name of the Place
image_urls Holds the URLs to different sizes of the main image. See Images.
description Description of the Place
twitter_hashtag Twitter hashtag related to this Place
country See Countries.
admin1_code Place related Information
admin2_code Place related Information
admin3_code Place related Information
admin4_code Place related Information
feature_code Place related Information
timezone Timezone of the region in which the airport is situated
latitude Latitude of the Airport
longitude Longitude of the Airport

Fetch Place

GET /api/places/16767 HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

GET /api/places/:id

Exposes the details of one specific place.

Countries

This API exposes information about all the countries.

List Countries

GET /api/countries?per_page=2 HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

GET /api/countries

This API endpoint allows you to list all the countries. It supports Pagination.

Response Attributes
HTTP/1.1 200 OK
Content-Type: application/json
X-Per-Page: 2
X-Next-Page: 2
X-Total: 249

[
  {
    "id": 42,
    "name": "Cook Islands",
    "code": "CK",
    "continent": "Oceania",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    },
    "description": null
  },
  {
    "id": 43,
    "name": "Chile",
    "code": "CL",
    "continent": "South America",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    },
    "description": null
  }
]
Attribute Type Description
id Integer ID of the Country
name String Name of the Country
code String ISO 3166-1 alpha-2 Country Code
continent String Continent where the country is located
image_urls Object Holds the URLs to different sizes of the main image. See Images.
description String Description of the Country

Fetch Country

GET /api/countries/42 HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

GET /api/countries/:identifier

This API endpoint allows you to list all the countries. Exposes the details of one specific country. It may be identified by code or id.

HTTP/1.1 200 OK
Content-Type: application/json
X-Per-Page: 2
X-Next-Page: 2
X-Total: 249

{
  "id": 19,
  "name": "Bangladesh",
  "code": "BD",
  "continent": "Asia",
  "image_urls": {
    "small": "/media/W1siZiIsIjIwMTcvMTIvMDgvMDkvMzYvYmQyZDFhNDItZjhhOS00MjM2LWI0YjUtYWM3ODg1YmRmNzRjIl1d?sha=2d1969fee81ae0b2",
    "medium": "/media/W1siZiIsIjIwMTcvMTIvMDgvMDkvMzYvZmM5NzI1YWUtNDljYy00NTg2LWJmMjAtZTI2YzM2YWI1MjllIl1d?sha=61ba151e7021c585",
    "large": "/media/W1siZiIsIjIwMTcvMTIvMDgvMDkvMzYvMGJlOGUwYzgtYzRjMy00YTIzLThmZDgtN2Q5NTcyNTU1ODE0Il1d?sha=2ccb81627a58f004"
  },
  "description": null
}
Attribute Type Description
id Integer ID of the Country
name String Name of the Country
code String ISO 3166-1 alpha-2 Country Code
continent String Continent where the country is located
image_urls Object Holds the URLs to different sizes of the main image. See Images.
description String Description of the Country

Aircraft Types

This API exposes information about all the different aircraft types.

List Aircraft Types

GET /api/aircraft_types?per_page=2 HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

GET /api/aircraft_types

This API endpoint allows you to list all the available ones. It supports Pagination.

Response Attributes
HTTP/1.1 200 OK
Content-Type: application/json
X-Per-Page: 2
X-Total: 329
X-Page: 1

[
  {
    "code": "100",
    "name": " Fokker 100",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    }
  },
  {
    "code": "141",
    "name": " BAe 146-100 Pax",
    "image_urls": {
      "small": null,
      "medium": null,
      "large": null
    }
  }
]
Attribute Description
code IATA code Aircraft Type
name Name of the Aircraft Type
image_urls Holds the URLs to different sizes of the main image. See Images.

Fetch Aircraft Type

GET /api/aircraft_types/:code

GET /api/aircraft_types/141 HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

Exposes the details of one specific aircraft type, identified by its code attribute.

Car Rental Company Images

This API exposes images of car rental companies

Fetch Logos of Car Rental Companies

GET /api/car_rental_companies?codes%5B%5D=ZD&codes%5B%5D=AC HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

GET /api/car_rental_companies

This API endpoint allows to list images of car rental companies. As request url parameter we need to pass the unique code of car rental company. See CarRental Vendor List for vendor code.

Parameter Description
codes[] ZD
codes[] AC
Response Attributes
HTTP/1.1 200 OK
Content-Type: application/json
[
  {
    "code": "AC",
    "name": "ACE RENT A CAR",
    "image_urls": {
      "small": "/media/W1siZiIsIjIwMTkvMDEvMjkvMDcvMTgvMjhhMzg0NWQtMTQxZS00ODJhLTliODItYmY0ZWZlZDkwMWVkIl1d?sha=c477d5341d8d625d",
      "medium": "/media/W1siZiIsIjIwMTkvMDEvMjkvMDcvMTgvNWVjNjAxNWItZjk4Yy00MmI2LWEyOGUtYTk0ZWI2NjhmMDE4Il1d?sha=87c3a8fae3451a8d",
      "large": "/media/W1siZiIsIjIwMTkvMDEvMjkvMDcvMTgvNGM4ZDYzMDktMTdhZC00M2MzLWIyY2YtMzAzM2MxNjQzNTBlIl1d?sha=18fb768f237b8ea0"
    }
  },
  {
    "code": "ZD",
    "name": "BUDGET RENT A CAR",
    "image_urls": {
      "small": "/media/W1siZiIsIjIwMTkvMDEvMzAvMDMvMzkvNGUzNWNhMmQtNmVjYy00NTk4LTg1ZjEtZDc0YjUwYmNiZTNjIl1d?sha=ec3eb407a7b9cebd",
      "medium": "/media/W1siZiIsIjIwMTkvMDEvMzAvMDMvMzkvNjBkM2ZjNDctMzk3Mi00NTRjLTkzNTYtOGU5MjVkNWRiY2NkIl1d?sha=5b3720614b253054",
      "large": "/media/W1siZiIsIjIwMTkvMDEvMzAvMDMvMzkvMWRmOWJhMzQtMjI2Ny00ZjdkLTkzMjItOTUwOTllMzk4YjQxIl1d?sha=c4b0c4276d71a426"
    }
  }
]
Attribute Type Description
code String Unique code of the car rental company
name String Name of the car rental company
image_urls Object Holds the URLs to different sizes of the car rental company image. See Images.

Tax Categories

A tax is a financial charge or other levy imposed on an individual or a legal entity by a state or a functional equivalent of a state. When we fetch a flight booking, we show the list of tax breakdown of the total tax amount. We expose it with unique tax code and description for each tax categories. So tax fee has several categories which are expressed in predefined unique code. In most cases, the supplier does not provide us a human readable description of the tax code. But we want to expose the description of each tax code by fetching the description from this Meta API called tax_categories. This API exposes human readable description of the Tax code of a tax category.

Create Tax Categories

POST /api/tax_categories HTTP/1.1
Authorization: Bearer c796d2a2dcad2e38d8156257e91b0deb914f5269866b338cdbaee32898e48db6
Accept-Version: v1

{
  "tax_categories":
    [
      {
        "code": "OP",
        "description": "This is a test"
      },
      {
        "code": "HU",
      }
    ]
}

POST /api/tax_categories

Returns all the tax categories with description if available in the database.

Request Parameter
Attribute Type RQ Description
tax_categories Array An Array containing all the supplier provided tax categories with code and with or without description
code String Tax Code related to this tax category.It is unique two-lettered code in all caps.
description String Human Readable Description of the tax code as given by the supplier
Response Attributes
HTTP/1.1 200 OK
Content-Type: application/json
[
  {
    "code": "AV",
    "description": "Tax imposed on luxury products",
  },
  {
    "code": "BN",
    "description": "Tax imposed on immigrants",
  }
]
Attribute Type Description
code String Tax Code related to this tax category
description String Human Readable Description of the tax code as given by the supplier

Glossary

These are some common terms used in the travel industry

PNR

In the airline and travel industries, a passenger name record (PNR) is a record in the database of a computer reservation system (CRS) that consists of the personal information for a passenger and also contains the itinerary for the passenger, or a group of passengers travelling together. PNR

DOCS, DOCO, DOCA, SSR

DOCS - Passenger Primary Travel Document Information

DOCO - Passenger Other Travel Related Information

DOCA - Passenger Address Information

SSR - Special Service Requests

Reservation and Booking

In general sense both reservation and booking mean the same. It means that one requested a specified number of rooms or flights to be allocated to oneself before the actual date of the stay or journey. In travel agencies the word booking mostly refers to flights and the word reservation is used for hotels.

Child and Infant

Child - Generally a child is someone between the age 2 and 18. Generally they require their own seats/beds.

Infant - A child with the age less than 2. Generally they do not require their own seats/beds.

Operating Carrier Code

Under a code sharing agreement, the airline that administrates the flight (the one holding the operational permissions, airport slots and planning/controlling the flight and responsible for the ground handling services) is commonly called the operating carrier.

Document Validity Details

You must provide the date of expiration i.e validity information about the following document types: Alien Resident Card, Identity Card, Other Approved Identify Document etc.

All Supported Welltravel Currencies

The list of supported currencies are: USD, CHF, CAD, BRL, JPY, EUR, ZAR, NOK, SGD, SEK, GBP, THB, PLN, NZD, AUD, HKD, ISK, IDR and MYR

Welltravel Supported Form of Payments

Cash

The booking can by done by cash form of payment.

None

Without form of payment, the booking can be possible.

IATA

The booking can be done by IATA guarantee form of payment. We support IATA as a form of payment for Galileo Hotel and Amadeus Hotel.

Credit Card

The booking can be done by credit card form of payment.The expiry date must be valid.

Important Links

Support

Please help us make our documentation better. If you have a Welltravel account please open a support ticket here from your affiliates dashboard. If you don’t have an account you can mail us at support@welltravel.com. Thank you for your cooperation.

Dashboard

The dashboard can be used to manage OAuth applications, credentials and other important settings.

OAuth Application Creation

Below are the links where you can create oauth applications to consume our API

Credential Creation

You need to add your credentials for each individual supplier in the affiliates dashboard in order to use them in Agent or API platform. Using the link below, you can manage your existing or new credentials.

HTTP Clients

An HTTP client uses HTTP to connect to a web server over the Internet to transfer documents or other data. The most well known types of HTTP Clients include web browsers. Most programming languages support connecting to a web server through HTTP using it’s native network stack or supported third party network libraries.

Aside from the networking stack already provided by the programming language or framework. Below are some HTTP Clients used by developers. We do not have any affiliation with these third party libraries and we do not endorse using these libraries. These are given as reference to help developers using our APIs. You can use any HTTP client of your choosing as long as it complies with HTTP protocol.