openapi: "3.0.0"
info:
version: 1.0.0
title: Trip Ninja MSDP API Documentation
description: |
Introduction
Trip Ninja uses a REST API with requests and responses in JSON format. For development and testing, the pre-production servers
are to be used. Once ready for live use, access to the production servers will be provided. All search endpoints have both production
and pre-production endpoints - these correspond to the GDS’s production and pre-production services, and can be used as desired.
Trip Ninja API URLs
Pre-Production: https://preprodapi.tripninja.io
For security, Trip Ninja’s servers are only accessible from whitelisted IPs. Please contact your account manager to whitelist IPs you
will be using.
Before you start ensure that:
- IP addresses have been provided to be whitelisted for our servers.
- PCC / OfficeID emulation via Trip Ninja’s PCC/OfficeID has been set up.
- API username and password have been provided by Trip Ninja.
MSDP
Multi Stop Dynamic Packaging (MSDP) provides an alternative to traditional, static packaging.
It allows users to build packages as they go. While users search for multi-destination flights,
MSDP will find eligible hotels with which to bundle.
Authentication
Trip Ninja uses Basic Authentication standards. Simply encode your username and password string using base64 and pass it in the
authorization headers. See the python example below on how this is done. In the example, the payload and API endpoint url are not
shown.
Python Example:
import base64
auth = base64.b64encode("USERNAME:PASSWORD")
headers = {
'authorization': "Basic "+ auth,
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
x-logo:
url: 'https://s3.amazonaws.com/tn-api-docs/trip_ninja_logo.png'
altText: Trip Ninja logo
href: 'https://www.tripninja.io/'
servers:
- url: https://preprodapi.tripninja.io
description: Pre-Production server
paths:
/msdp/search/prod:
post:
summary: "MSDP Search"
description: |
This endpoint initiates a msdp search for one or more flights and one or more hotels, and returns a list of available flights and hotels options. A separate endpoint needs to be called to obtain information about flight details, hotel room types, etc.
operationId: MSDPSearch
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Requests/MSDPSearchRequest"
responses:
200:
description: Success
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/Responses/ItineraryNoHotelResultsSearchResponse"
- $ref: "#/components/schemas/Responses/ItineraryHotelResultsSearchResponse"
- $ref: "#/components/schemas/Responses/SegmentNoHotelResultsSearchResponse"
- $ref: "#/components/schemas/Responses/SegmentItineraryHotelResultsSearchResponse"
400:
description: Invalid Input
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/MSDPSearchErrorDetails/MISSING_MSDP_SEARCH_FIELD"
- $ref: "#/components/schemas/MSDPSearchErrorDetails/INVALID_MSDP_SEARCH_REQUEST"
- $ref: "#/components/schemas/MSDPSearchErrorDetails/INVALID_MSDP_ID"
- $ref: "#/components/schemas/MSDPSearchErrorDetails/INVALID_MSDP_PACKAGE_DATES"
401:
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Error code and 0 for success response
example: "IE44"
message:
type: string
description: Contains the error message
example: "User is not authorized"
206:
description: Partial Content (no Flight/Hotel found)
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Error code and 0 for success response
example: "IE23"
message:
type: string
description: Contains the error message
example: "No availability found: Try changing dates"
500:
description: Server Error
/msdp/results/flights/?trip_id={trip_id}:
get:
parameters:
- in: path
name: trip_id
required: true
schema:
type: string
example: 04187ebd88c965919a2b8d54ca98390a56cd48c5
description: Parameter to retrieve the flight results
summary: "MSDP Get Flight Results"
description: |
This endpoint retrieves all the flight results from the prior msdp search
operationId: MSDPGetFlightResults
responses:
200:
description: Success
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/Responses/MSDPGetFlightResultsItineraryResponse"
- $ref: "#/components/schemas/Responses/MSDPGetFlightResultsSegmentResponse"
400:
description: Invalid Input
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Error code and 0 for success response
example: "IE38"
message:
type: string
description: Contains the error message
example: "Trip ID not found"
401:
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Error code and 0 for success response
example: "IE44"
message:
type: string
description: Contains the error message
example: "User is not authorized"
500:
description: Server Error
/results/hotels/?hotel_trace_id={hotel_trace_id}&rating={rating}&area={area}&min_price={min_price}&max_price={max_price}&min_distance={min_distance}&max_distance={max_distance}&hotel_chain={hotel_chain}&amenities={amenities}&sort_by={sort_by}:
get:
parameters:
- in: path
name: hotel_trace_id
required: true
schema:
type: string
example: 4f499298b303c55a1ee522118afce28abe2f68e4
description: Parameter to retrieve the hotel results
- in: path
name: rating
schema:
type: array of strings or string
example: 1
description: Parameter to filter the hotel results
- in: path
name: area
schema:
type: array of strings or string
example: Bedford
description: Parameter to filter the hotel results
- in: path
name: min_price
schema:
type: string
example: 100
description: Parameter to filter the hotel results
- in: path
name: max_price
schema:
type: string
example: 1000
description: Parameter to filter the hotel results
- in: path
name: min_distance
schema:
type: string
example: 10
description: Parameter to filter the hotel results (in km)
- in: path
name: max_distance
schema:
type: string
example: 100
description: Parameter to filter the hotel results (in km)
- in: path
name: hotel_chain
schema:
type: array of strings or string
example: WA
description: Parameter to filter the hotel results
- in: path
name: amenities
schema:
type: array of strings or string
example: Air Conditioner,Wifi
description: Parameter to filter the hotel results
- in: path
name: sort_by
schema:
type: string
example: price_low_to_high
description: |
Parameter to filter the hotel results
Available Options:
`closest`
`price_low_to_high`
`price_high_to_low`
`rating_high_to_low`
`rating_low_to_high`
summary: "MSDP Get Hotel Results"
description: |
This endpoint retrieves a specific MSDP hotel search result from the prior MSDP search
Example URL: `/results/hotels/?hotel_trace_id=4f499298b303c55a1ee522118afce28abe2f68e4&rating=1,2,3&area=Bedford,Dartmouth&min_price=100&max_price=1000&min_distance=2&max_distance=50&hotel_chain=WA&amenities=Air Conditioning,Wifi&sort_by=closest`
operationId: MSDPGetHotelResults
responses:
200:
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/SearchComponents/Hotel/ShouldIncludeHotelResultsResponse/items"
400:
description: Invalid Input
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: Contains the error message
example: "hotel_trace_id is not found"
401:
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Error code and 0 for success response
example: "IE44"
message:
type: string
description: Contains the error message
example: "User is not authorized"
500:
description: Server Error
/msdp/search/removehotel/:
patch:
summary: "MSDP Remove Hotel Result"
description: This endpoint removes a specific hotel result from the prior msdp search. All msdp packages must have at least 1 hotel. An error will be thrown if you attempt to remove the final hotel from a package.
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Requests/MSDPSearchRemoveHotelRequest"
operationId: MSDPRemoveHotelResult
responses:
200:
description: Success
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/Responses/ItineraryNoHotelResultsSearchResponse"
- $ref: "#/components/schemas/Responses/ItineraryHotelResultsSearchResponse"
- $ref: "#/components/schemas/Responses/SegmentNoHotelResultsSearchResponse"
- $ref: "#/components/schemas/Responses/SegmentItineraryHotelResultsSearchResponse"
400:
description: Invalid Input
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/MSDPRemoveHotelErrorDetails/INVALID_REQUEST"
- $ref: "#/components/schemas/MSDPRemoveHotelErrorDetails/INVALID_NUM_OF_HOTELS"
401:
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Error code and 0 for success response
example: "IE44"
message:
type: string
description: Contains the error message
example: "User is not authorized"
500:
description: Server Error
/msdp/detail/hotel/prod:
post:
summary: "MSDP Get Hotel Details"
description: |
This endpoint initiates a hotel search to get all the available rooms in a hotel, and returns a list of available hotel rooms options.
operationId: MSDPGetHotelDetails
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Requests/MSDPGetHotelDetailsRequest"
responses:
200:
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/Responses/MSDPGetHotelDetailsResponse"
400:
description: Invalid Input
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/MSDPHotelDetailErrorDetails/MISSING_FIELDS"
- $ref: "#/components/schemas/MSDPHotelDetailErrorDetails/INVALID_IATA"
- $ref: "#/components/schemas/MSDPHotelDetailErrorDetails/INVALID_FIELD_TYPE"
- $ref: "#/components/schemas/MSDPHotelDetailErrorDetails/INVALID_FIELD_VALUE"
- $ref: "#/components/schemas/MSDPHotelDetailErrorDetails/HOTEL_LOCATION_MISSING_TYPE_R"
401:
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Error code and 0 for success response
example: "IE44"
message:
type: string
description: Contains the error message
example: "User is not authorized"
500:
description: Server Error
/msdp/pre-booking/prod:
post:
summary: "MSDP Price Confirmation Report"
description: "When performing an availability or price confirmation request - when a user has selected their MSDP package or is arriving on the site from
metasearch - please send a request to the following endpoint. This provides valuable data to our revenue management system in
determining markups for trips."
operationId: "MSDPPriceConfirmationReport"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Requests/PriceConfirmationReportRequest'
responses:
200:
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/Responses/MSDPPreBookingResponse"
206:
description: Partial Content
content:
application/json:
schema:
$ref: "#/components/schemas/MSDPOTAPreBookingErrorDetails/NO_ROOM_AVAILABLE"
400:
description: Invalid Input
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/MSDPOTAPreBookingErrorDetails/MISSING_DATASOURCE"
- $ref: "#/components/schemas/GeneralErrorDetails/NOT_BOOKED"
- $ref: "#/components/schemas/GeneralErrorDetails/INVALID_FIELD_TYPE"
- $ref: "#/components/schemas/GeneralErrorDetails/MISSING_FIELDS"
500:
description: Server Error
/msdp/booking/:
post:
summary: "MSDP Booking Report"
description: "When a booking is completed from a trip generated by Trip Ninja, report the booking to Trip Ninja via the booking endpoint."
operationId: "MSDPBookingReport"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Requests/BookingReportRequest'
responses:
200:
description: Success
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: "success"
400:
description: Invalid Input
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/GeneralErrorDetails/NOT_BOOKED"
- $ref: "#/components/schemas/GeneralErrorDetails/INVALID_FIELD_TYPE"
- $ref: "#/components/schemas/GeneralErrorDetails/MISSING_FIELDS"
- $ref: "#/components/schemas/GeneralErrorDetails/INVALID_TRIP_ID"
- $ref: "#/components/schemas/MSDPOTABookingErrorDetails/UNABLE_TO_RETRIEVE_ITINERARY_PROFILE"
500:
description: Server Error
/msdp/ticketing/:
post:
summary: "MSDP Ticketing Report"
description: |
When tickets are issued for a trip, please hit the following endpoint
operationId: "MSDPTicketingReport"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Requests/TicketingReportRequest'
responses:
200:
description: Success
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: "success"
400:
description: Invalid Input
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/GeneralErrorDetails/NOT_BOOKED"
- $ref: "#/components/schemas/GeneralErrorDetails/INVALID_FIELD_TYPE"
- $ref: "#/components/schemas/GeneralErrorDetails/MISSING_FIELDS"
- $ref: "#/components/schemas/GeneralErrorDetails/INVALID_TRIP_ID"
- $ref: "#/components/schemas/MSDPOTATicketingCancelErrorDetails/INVALID_MSDP_PACKAGE_ID"
500:
description: Server Error
/msdp/cancel/:
post:
summary: "MSDP Cancel Booking Report"
description: "To cancel a booking you have previously booked, report it to the Trip Ninja Service endpoint: “/msdp/cancel/”"
operationId: "MSDPCancelBookingReport"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Requests/CancelRequest'
responses:
200:
description: Success
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: "Trip has been cancelled."
400:
description: Invalid Input
content:
application/json:
schema:
$ref: "#/components/schemas/MSDPOTATicketingCancelErrorDetails/INVALID_MSDP_PACKAGE_ID"
500:
description: Server Error
components:
schemas:
Requests:
MSDPSearchRequest:
description: Contains the searched parameters for the MSDP package search
required:
- currency
- hotel_data
- flight_data
- credentials
properties:
currency:
description: Currency to make the search in.
type: str
example: "AUD"
hotel_data:
description: parameters to search for 1 or more hotels
type: object
required:
- hotels
- traveller_total
- rooms_total
- rooms
properties:
hotels:
description: parameters for each hotel search
type: array
items:
type: object
required:
- id
- hotel_location
- check_in_date
- check_out_date
- hotel_itinerary_reference
properties:
id:
description: matching id from the flight id for the msdp package
type: int
example: 1
hotel_location:
$ref: "#/components/schemas/SearchComponents/Hotel/HotelLocation"
check_in_date:
type: string
format: date
description: "Date of check-in. format: YYYY-MM-DD."
example: "2023-06-20"
check_out_date:
type: string
format: date
description: "Date to checkout from the hotel. format: YYYY-MM-DD."
example: "2023-06-25"
next_result_reference:
$ref: "#/components/schemas/SearchComponents/Hotel/HotelNextResultReference"
hotel_itinerary_reference:
$ref: "#/components/schemas/SearchComponents/Hotel/HotelItineraryReference"
traveller_total:
description: Number of people that will be staying at the hotel.
type: int
example: 3
rooms_total:
description: The number of rooms required for the above travellers.
type: int
example: 2
rooms:
$ref: "#/components/schemas/SearchComponents/Hotel/HotelRooms"
flight_data:
description: parameters to search for 1 or more flights
type: object
required:
- flights
- travellers
properties:
flights:
$ref: "#/components/schemas/SearchComponents/Flight/Flights"
travellers:
description: "Array of passenger types, values include ‘ADT’, ’MIL’, ’CHD’ and ‘INF’"
required: true
type: array
example: [ 'ADT', 'ADT', 'CHD' ]
max_cache:
default: 24
description: |
Hours to retain data queried from provider to be cached for use in future requests.
Higher values result in:
1) faster queries as more data is available for re-use
2) lower look-to-book ratios from the GDS perspective which may lower costs
3) less accurate pricing data which may cause issues in AirPriceReq when ticketing.
Minimum value is 0.04 hours, maximum value is 720 hours.
Please discuss with your Trip Ninja Account Manager if you need
access to caching outside these limits.
type: integer
country_code:
description: "Country code where search came from (For example: CA, US)"
example: "CA"
type: string
cabin_class:
default: "E"
description: "Parameter toggles the permitted cabin class for your query. Alternatively, it can be set for each segment."
example: "E"
type: string
time_value:
default: 0
description: |
This parameter helps set the value of a passenger’s time, in
terms of the currency selected. It is used to trade off flight
prices versus flight durations. The parameter is in units of
[currency]/hour. Flight durations are calculated as the difference
in minutes from the arrival time of the last flight in a leg to
the departure time of the first flight in the leg.
True Cost of Flight = [Flight Price] * [time_value/60] * [Flight Duration]
The itinerary which provides the lowest True Cost of Flight is
what is returned in the response. If you provide a time_value
of 0 or do not provide the parameter, it will sort by price.
type: integer
alliance:
description: Parameter toggles the preferred alliance for your query. If there are results containing flights from the given alliance, only flights from that alliance will be returned. Otherwise it will return flights from any alliance. *Travelport Only*
type: string
example: "*A"
schema:
default: 40
description: Toggles which Travelport schema version to use. *Travelport Only*
type: integer
exclude_carriers:
description: Parameter toggles a list of carriers to exclude from the query results. This option can not be applied together with the alliance option. They are mutually exclusive.
type: array
example: [ "AC" ]
items:
type: string
permitted_carriers:
description: Toggles permitted carriers in GDS request
required: false
type: array
example: [ "AC" ]
no_overnight_layovers:
description: Toggles whether to return results with no overnight layovers *Travelport Only*
type: boolean
default: false
stops:
description: Toggles number of stop for GDS request *Travelport Only*
default: "any"
type: string
enum: [ "any", "direct", "1", "2" ]
baggage:
description: Toggles minimum number of bags included with flights for GDS request *Travelport Only*
default: "any"
type: string
enum: [ "any", "1", "2" ]
refundable:
description: Parameter toggles query to only return fully refundable flights. *Travelport Only*
default: false
type: boolean
region:
description: Parameter toggles which travelport endpoint you hit *Travelport Only*
default: "americas"
type: string
enum: [ "emea", "apac", "americas" ]
num_results:
description: Parameter sets the number of segments in the response *Travelport Only*
default: 50
type: integer
minimum: 50
maximum: 5000
include_lcc:
description: Enable a hybrid search of both GDS and low cost carrier content. This requires prior setup with Trip Ninja and an agreement with an LCC provider.
default: [ ]
required: false
type: array
example: [ "travelport" ]
items:
type: string
include_itineraries:
description: Enables itineraries to be constructed and returned from segments found for the requested trip.
default: false
type: boolean
should_compress_itinerary:
description: Return only a segment_id, source, price, weight for a segment inside an Itineraries object. A segment_details list will now be returned with the full segment details, the segment_id should be used to map a segment to the full details. Only works with include_itineraries also passed as true. Significantly reduces response size.
default: false
type: boolean
mix_structures:
description: Return mix of results with the best multi-pnr structure and single-pnr structure.
default: false
type: boolean
single_pnr:
description: Return single-pnr structures in addition to the results returned. If there are too many results, it will be truncated to num_results.
default: false
type: boolean
multi_pnr_mix:
description: Return mix of single-pnr and all multi-pnr structures. include_itineraries and mix_structures needs to be passed as True for this to work
default: false
type: boolean
markup_by_itinerary:
description: Add itinerary markup to the search result and set trip markup to 0
default: false
type: boolean
credentials:
type: array
description: Indicate data source to call and required credentials
items:
type: object
required:
- data_source
- pcc
- provider
properties:
data_source:
description: data source to call.
type: string
enum: [ "webbeds", "travelport" ]
example: "travelport"
pcc:
description: PCC/OfficeID to emulate transactions under. Must have emulation enabled for the relevant Service Bureau PCC used by Trip Ninja to conduct queries. Please contact Trip Ninja to get this set up.
type: string
example: "MEL49f839"
provider:
description: Fare provider to use.
“1V” - Apollo, “1G” - Galileo, “1P” - Worldspan, “1A” - Amadeus, “webbeds” - Webbeds
type: string
example: "1A"
region:
description: Parameter toggles which travelport regional service endpoint you hit *Travelport Only*
type: string
example: "americas"
pcc_currency:
description: Indicates the currency that the PCC is charged in.
type: string
example: "CAD"
conversion_rate:
description: The conversion rate that was used to convert from the pcc_currency to the searched currency. In order to convery back to the pcc currency simply use price * (1 / conversion_rate).
type: float
example: 0.78
should_include_hotel_results:
description: When set to true, hotel results will also be included in the response. The default of this field is true.
default: true
type: boolean
example: false
MSDPSearchRemoveHotelRequest:
required:
- msdp_package_id
- hotel_trace_id
properties:
msdp_package_id:
description: A unique identifier for each msdp search
type: string
example: "d8af3a35dd77333f99510ad7373c98cf7fe502bf"
hotel_trace_id:
type: string
example: "4f499298b303c55a1ee522118afce28abe2f68e4"
description: An identifier to refer to the hotel for searching room availability
MSDPGetHotelDetailsRequest:
required:
- hotel_trace_id
- hotel_itinerary_reference
- credential_info
- hotel_chain
- hotel_code
- traveller_total
- rooms_total
- currency
- check_in_date
- check_out_date
- hotel_location
properties:
super_trip_id:
type: string
example: "fb3d8eff432a329dc21fad8449c686fa93e5ce24"
description: id of the super trip
hotel_trace_id:
type: string
example: '4f499298b303c55a1ee522118afce28abe2f68e4'
description: An identifier to refer to the hotel for searching room availability
hotel_itinerary_reference:
type: string
example: '1'
description: A reference that indicates the itineraries position in the flow of itineraries in the super_trip with the index starting at 0.
credential_info:
$ref: "#/components/schemas/SearchComponents/Credentials"
hotel_chain:
type: string
description: The refence for the hotel chain.
example: 'GI'
hotel_code:
type: string
description: The reference for the hotel code
example: '35573'
traveller_total:
type: int
example: 3
description: Number of people that will be staying at the hotel.
rooms_total:
type: int
example: 2
description: The number of rooms required for the above travellers.
room_type:
type: string
example: 'Double'
description: The type of room to price.
currency:
type: string
example: 'CAD'
description: The currency that the details should be presented in.
check_in_date:
type: string
format: date
description: "Date of check-in to search hotel availibilities on. format: YYYY-MM-DD."
example: '2021-05-10'
check_out_date:
type: string
format: date
description: "Date to checkout from the hotel. format: YYYY-MM-DD."
example: '2021-05-15'
hotel_location:
type: object
description: location (city, airport, or reference point) to search for hotels in.
required:
- type
- IATA
properties:
type:
type: string
description: Defines whether it's a city ('C'), airport ('A'), or reference point ('R')
example: 'R'
IATA:
type: string
description: The IATA code for the city/airport, or nearest IATA for the reference point
example: 'PAR'
name:
type: string
description: The IATA code for the city/airport, or nearest IATA for the reference point. Required for reference point.
example: 'Eiffel Tower'
region:
type: string
description: The state/province for the reference point. Only required for reference point if there are multiple reference points with same name in the same country.
example: 'NS'
country:
type: string
description: The 2-letter country code for the reference point. Required for reference point.
example: 'FR'
PriceConfirmationReportRequest:
title: Request
type: object
required:
- msdp_package_id
- trip_id
- segment_ids
- hotel_room_details
properties:
msdp_package_id:
type: string
example: "6be6e72c60102bd489ac46434d4ac6c11e047ee8"
description: MSDP Package ID returned in msdp search response
trip_id:
type: string
description: Trip ID returned in search response
example: "04187ebd88c965919a2b8d54ca98390a56cd48c5"
segment_ids:
$ref: "#/components/schemas/ReportComponents/segment_ids"
hotel_room_details:
$ref: "#/components/schemas/ReportComponents/hotel_room_details"
BookingReportRequest:
title: Request
type: object
required:
- msdp_package_id
- trip_id
- segment_ids
properties:
msdp_package_id:
type: string
example: "6be6e72c60102bd489ac46434d4ac6c11e047ee8"
description: MSDP Package ID returned in msdp search response
trip_id:
type: string
description: Trip ID returned in search response
example: "04187ebd88c965919a2b8d54ca98390a56cd48c5"
segment_ids:
$ref: "#/components/schemas/ReportComponents/segment_ids"
hotel_trace_ids:
$ref: "#/components/schemas/ReportComponents/hotel_trace_ids"
customer_booking_reference_id:
type: string
description: Customer booking reference ID from the client.
example: "cust-book-1234aa94d"
TicketingReportRequest:
title: Request
type: object
required:
- msdp_package_id
- trip_id
- segment_ids
properties:
msdp_package_id:
type: string
example: "6be6e72c60102bd489ac46434d4ac6c11e047ee8"
description: MSDP Package ID returned in msdp search response
trip_id:
type: string
description: Trip ID returned in search response
example: "04187ebd88c965919a2b8d54ca98390a56cd48c5"
segment_ids:
$ref: "#/components/schemas/ReportComponents/segment_ids"
hotel_trace_ids:
$ref: "#/components/schemas/ReportComponents/hotel_trace_ids"
queue:
type: string
description: Length of the queue number has to be within 3 letters.
example: "001"
CancelRequest:
title: Request
type: object
required:
- msdp_package_id
properties:
msdp_package_id:
type: string
description: MSDP Package ID returned in MSDP search response
example: "6be6e72c60102bd489ac46434d4ac6c11e047ee8"
Responses:
ItineraryNoHotelResultsSearchResponse:
title: include_itineraries = true and should_include_hotel_results = false
type: object
properties:
flight_results:
type: object
description: "Consists of all the flight results"
properties:
fare_structure:
$ref: '#/components/schemas/SearchComponents/Flight/ItineraryFareStructure'
hotel_results:
$ref: '#/components/schemas/SearchComponents/Hotel/NotShouldIncludeHotelResultsResponse'
allOf:
- $ref: '#/components/schemas/Responses/MSDPSearchResponse'
- type: object
ItineraryHotelResultsSearchResponse:
title: include_itineraries = true and should_include_hotel_results = true
type: object
properties:
flight_results:
type: object
description: "Consists of all the flight results"
properties:
fare_structure:
$ref: '#/components/schemas/SearchComponents/Flight/ItineraryFareStructure'
hotel_results:
$ref: '#/components/schemas/SearchComponents/Hotel/ShouldIncludeHotelResultsResponse'
allOf:
- $ref: '#/components/schemas/Responses/MSDPSearchResponse'
- type: object
SegmentNoHotelResultsSearchResponse:
title: include_itineraries = false and should_include_hotel_results = false
type: object
properties:
flight_results:
type: object
description: "Consists of all the flight results"
properties:
fare_structure:
$ref: '#/components/schemas/SearchComponents/Flight/SegmentFareStructure'
hotel_results:
$ref: '#/components/schemas/SearchComponents/Hotel/NotShouldIncludeHotelResultsResponse'
allOf:
- $ref: '#/components/schemas/Responses/MSDPSearchResponse'
- type: object
SegmentItineraryHotelResultsSearchResponse:
title: include_itineraries = false and should_include_hotel_results = true
type: object
properties:
flight_results:
type: object
description: "Consists of all the flight results"
properties:
fare_structure:
$ref: '#/components/schemas/SearchComponents/Flight/SegmentFareStructure'
hotel_results:
$ref: '#/components/schemas/SearchComponents/Hotel/ShouldIncludeHotelResultsResponse'
allOf:
- $ref: '#/components/schemas/Responses/MSDPSearchResponse'
- type: object
MSDPSearchResponse:
properties:
total_trip_price:
description: Total trip price with the cheapest flights and hotels combined
type: float
example: 123.23
msdp_package_id:
description: A unique identifier for each msdp search
type: string
example: "d8af3a35dd77333f99510ad7373c98cf7fe502bf"
msdp_search_details:
$ref: "#/components/schemas/Requests/MSDPSearchRequest"
MSDPGetFlightResultsItineraryResponse:
title: include_itineraries = true
description: Consists of all the flight results when include_itinerary=true
type: object
properties:
fare_structure:
$ref: "#/components/schemas/SearchComponents/Flight/ItineraryFareStructure"
MSDPGetFlightResultsSegmentResponse:
title: include_itineraries = false
description: Consists of all the flight results when include_itinerary=false
type: object
properties:
fare_structure:
$ref: "#/components/schemas/SearchComponents/Flight/SegmentFareStructure"
MSDPGetHotelDetailsResponse:
properties:
super_trip_id:
type: string
example: "fb3d8eff432a329dc21fad8449c686fa93e5ce24"
description: id of the super trip
hotel_trace_id:
type: string
example: '4f499298b303c55a1ee522118afce28abe2f68e4'
description: An identifier to refer to the hotel for searching room availability
hotel_itinerary_reference:
type: string
example: '1'
description: A reference that indicates the itineraries position in the flow of itineraries in the super_trip with the index starting at 0.
address:
type: object
description: The address of the hotel.
properties:
street_address:
type: string
description: The street address of the hotel. This is more details than the one returned at search.
example: '1583 Brunswick St, Halifax, NS B3J 3P5'
longitude:
type: float
description: The longitude of the hotel.
example: 44.64511447836071
lattitude:
type: float
description: The lattitude of the hotel.
example: -63.575245615440565
distance_from_reference_point_km:
type: float
description: The distance that the hotel is from the reference submitted in the search.
example: 7.5
phone_number:
type: str
description: The contact phone number for the hotel.
example: '+1 902-420-0555'
location_iata:
type: string
description: The location of the hotel.
example: 'LON'
hotel_name:
type: string
description: The name of the hotel.
example: "Cambridge Suites Hotel Halifax"
check_in_time:
type: string
description: The check in time for the hotel.
example: "3pm"
check_out_time:
type: string
description: The check out time.
example: "10am"
rooms:
type: array
description: The list of rooms available at the hotel.
items:
type: object
properties:
total_price:
type: float
description: The total price of the entire stay at the hotel for this room.
example: 705.10
price_per_room_per_night:
type: float
description: The price of the room per night.
example: 141.02
meals:
type: object
description: Indicates if meal is provided with the room.
properties:
breakfast:
type: boolean
description: Indicates if breakfast is provided with the room.
example: True
lunch:
type: boolean
description: Indicates if lunch is provided with the room.
example: True
dinner:
type: boolean
description: Indicates if dinner is provided with the room.
example: True
bed_types:
type: object
description: An object where the key is the name of the room type and the value is the number of those beds in the room.
example: { "Queen bed": 2, "King Single": 1 }
original_total_string:
type: string
description: The original total price as a string in the hotels currency is required for the rules request and is presented here.
example: "SGD172.00"
room_name:
type: string
description: A name of the room.
example: 'Room'
guarantee:
type: string
description: The guarantee type for the room - needed for pricing.
example: "Guarantee"
room_description:
type: string
description: A description of the room.
example: 'Executive Suite Room'
rate_descriotion:
type: string
description: A description of the rate.
example: '2 Double Bed Non Smoking Featuring All The Modern-day Essentials Including A Flat Screen'
refundable:
type: boolean
description: Explains whether the booking will be refundable.
example: True
smoking:
type: boolean
description: Indicates whether you are allowed to smoke in the room.
example: False
max_occupancy:
type: int
description: Indicates the max occupancy in the room.
example: 1
cancel_deadline:
type: string
format: date
description: "Last date of cancel deadline to cancel hotel. format: YYYY-MM-DD."
base_price:
type: string
description: The base price as a string in the hotels currency is required for the rules request and is presented here.
example: "SGD172.00"
cancellation_policy:
type: string
description: The cancellation policy
example: 'non-refundable rate cancellation permitted up to 1days before arrival'
guarantee_policy:
type: string
description: The guarantee policy.
example: ''
deposit:
type: string
description: The deposit requirements
example: 'book 7 days before arrival full room , tax payment due 174.40 gbp deposit due -at time of booking credit card deposit only'
room_rate_descriptions:
type: object
description: The various rate descriptions - includes types such as Extra Charges, Rate comment, Rate description, Room detail, Room rate, Room text.
example: { "Rate description": "Early check in and check out when available.", "Room rate": "Maximum occupancy - 1" }
rule_descriptions:
type: object
description: The various rate rules - includes types such as Cancellation, Deposit, Location Text, Miscellaneous, Promotional, and PropertyText
example: { "Guarantee": "Accept all guarantee methods", "Checkin Checkout": "Check in time 15:00, check out time 11:00" }
hotel_description:
type: string
description: Description of the hotel.
example: PROPERTY DESCRIPTION Midscale Unspecified3 Welcome to Best Western Plus Hawthorne Terrace a oneofakind boutique hotel experience at the center of one of Chicagos most popular neighborhoods Lakeview East.
search_request:
description: parameters to search for this hotel
type: object
properties:
credential_info:
$ref: "#/components/schemas/SearchComponents/Credentials"
hotel_location:
$ref: "#/components/schemas/SearchComponents/Hotel/HotelLocation"
check_in_date:
type: string
format: date
description: "Date of check-in. format: YYYY-MM-DD."
example: "2023-06-20"
check_out_date:
type: string
format: date
description: "Date to checkout from the hotel. format: YYYY-MM-DD."
example: "2023-06-25"
next_result_reference:
$ref: "#/components/schemas/SearchComponents/Hotel/HotelNextResultReference"
hotel_itinerary_reference:
$ref: "#/components/schemas/SearchComponents/Hotel/HotelItineraryReference"
traveller_total:
description: Number of people that will be staying at the hotel.
type: int
example: 3
rooms_total:
description: The number of rooms required for the above travellers.
type: int
example: 2
rooms:
description: List of guest info for 1 room required to make hotel search requests.
type: array
items:
type: object
properties:
num_adults:
description: Number of adults staying in the room.
type: int
example: 2
num_children:
description: Number of children staying in the room, if none use 0.
type: int
example: 3
children_age_list:
description: List of ages for children staying in room. Optional if num_children = 0, Required if num_children > 0.
type: array of ints
example: [ 5, 7, 11 ]
nationality:
description: 2 letter country code of nationality of primary guest. e.g. CA for Canada, GB for United Kingdom, CO for Colombia.
type: string
example: "CA"
country_of_residence:
description: 2 letter country code of country of residence of primary guest. e.g. CA for Canada, GB for United Kingdom, CO for Colombia.
type: string
example: "CA"
currency:
type: string
description: Currency
example: CAD
endpoint:
type: string
description: GDS endpoint called.
example: prod
hotel_trace_id:
type: string
example: "4f499298b303c55a1ee522118afce28abe2f68e4"
description: An identifier to refer to the hotel for searching room availability
detail_request:
type: object
description: Parameters to search for the hotel details.
properties:
super_trip_id:
type: string
example: "fb3d8eff432a329dc21fad8449c686fa93e5ce24"
description: id of the super trip
hotel_trace_id:
type: string
example: '4f499298b303c55a1ee522118afce28abe2f68e4'
description: An identifier to refer to the hotel for searching room availability
hotel_itinerary_reference:
type: string
example: '1'
description: A reference that indicates the itineraries position in the flow of itineraries in the super_trip with the index starting at 0.
credential_info:
$ref: "#/components/schemas/SearchComponents/Credentials"
hotel_chain:
type: string
description: The refence for the hotel chain.
example: 'GI'
hotel_code:
type: string
description: The reference for the hotel code
example: '35573'
traveller_total:
type: int
example: 3
description: Number of people that will be staying at the hotel.
rooms_total:
type: int
example: 2
description: The number of rooms required for the above travellers.
room_type:
type: string
example: 'Double'
description: The type of room to price.
currency:
type: string
example: 'CAD'
description: The currency that the details should be presented in.
check_in_date:
type: string
format: date
description: "Date of check-in to search hotel availibilities on. format: YYYY-MM-DD."
example: '2021-05-10'
check_out_date:
type: string
format: date
description: "Date to checkout from the hotel. format: YYYY-MM-DD."
example: '2021-05-15'
hotel_location:
type: object
description: location (city, airport, or reference point) to search for hotels in.
required:
- type
- IATA
properties:
type:
type: string
description: Defines whether it's a city ('C'), airport ('A'), or reference point ('R')
example: 'R'
IATA:
type: string
description: The IATA code for the city/airport, or nearest IATA for the reference point
example: 'PAR'
name:
type: string
description: The IATA code for the city/airport, or nearest IATA for the reference point. Required for reference point.
example: 'Eiffel Tower'
region:
type: string
description: The state/province for the reference point. Only required for reference point if there are multiple reference points with same name in the same country.
example: 'NS'
country:
type: string
description: The 2-letter country code for the reference point. Required for reference point.
example: 'FR'
MSDPPreBookingResponse:
description: Consists of the hotel status response
type: object
properties:
hotel_results:
type: array
description: Consists of the hotel status response
items:
type: object
properties:
id:
type: int
description: Matching id from the flight id for the msdp package
example: 1
hotel_trace_id:
type: string
example: '4f499298b303c55a1ee522118afce28abe2f68e4'
description: An identifier to refer to the hotel for searching room availability
allocation_details:
type: array
description: A time-limited token for further booking steps for Webbeds Hotels
example: ['1671746519000001B1029B0']
SearchComponents:
Hotel:
ShouldIncludeHotelResultsResponse:
description: Consists of all the hotel results
type: array
items:
type: object
properties:
id:
description: An identifier to refer to the flight index
type: int
example: 1
hotel_trace_id:
description: An identifier to refer to the hotel for searching room availability
type: string
example: "4f499298b303c55a1ee522118afce28abe2f68e4"
hotels:
description: A list of hotels available based on the search request details.
type: array
items:
type: object
properties:
location_iata:
description: The location of the hotel.
type: string
example: 'LON'
location_full:
description: The full location name as provided by the GDS.
type: string
example: "London, England"
rating:
description: The rating of the hotel.
type: object
properties:
rating:
description: The hotel rating
type: int
example: 4
rating_provider:
description: The provider of the rating.
type: string
example: "Giata"
rating_maximum:
description: The best possible rating.
type: int
example: 10
rating_minimum:
description: The worst possible rating.
type: int
example: 0
hotel_chain:
description: The refence for the hotel chain.
type: string
example: "GI"
hotel_code:
description: The reference for the hotel code
type: string
example: "35573"
hotel_name:
description: The name of the hotel
type: string
example: "Cambridge Suites Hotel Halifax"
minimum_charge:
description: The minimun total for the requested search available (in the currency provided in the search request)
type: float
example: 400.32
maximum_charge:
description: The maximum total priced room option available (in the currency provided in the search request)
type: float
example: 780.65
address:
type: object
description: Contains hotel address details
properties:
street_address:
description: The street address of the hotel.
type: string
example: "1583 Brunswick St, Halifax, NS B3J 3P5"
longitude:
description: The longitude of the hotel.
type: float
example: 44.64511447836071
lattitude:
description: The lattitude of the hotel.
type: float
example: -63.575245615440565
distance_from_reference_point_km:
description: The distance that the hotel is from the reference submitted in the search.
type: float
example: 7.5
phone_number:
type: str
description: The contact phone number for the hotel.
example: "+1 902-420-0555"
ammenities:
type: array
description: A list of the amenities provided at this hotel.
items:
type: object
properties:
amenity_type:
type: string
description: The amenity type, can be either HA (Hotel Amenity) or RA (Room amenity)
example: "HA"
amenity_title:
type: string
description: A title or descriptor of the amenity provided.
example: High speed internet connection
credential_info:
$ref: "#/components/schemas/SearchComponents/Credentials"
conversion_rate:
description: The conversion rate to get the price in the currency requested.
type: float
example: 0.45
neighbourhood:
description: The neighbourhood or locality of the hotel.
type: string
example: Saint Boniface
hotel_itinerary_reference:
$ref: "#/components/schemas/SearchComponents/Hotel/HotelItineraryReference"
next_result_reference:
$ref: "#/components/schemas/SearchComponents/Hotel/HotelNextResultReference"
hotels_media:
description: "A list of media items for all the hotels returned in the search."
type: array
items:
type: object
properties:
hotel_chain:
description: The refence for the hotel chain.
type: string
example: "GI"
hotel_code:
description: The reference for the hotel code
type: string
example: "35573"
hotel_media_items:
description: A selection of media items for the above referenced hotel.
type: array
items:
type: object
properties:
title:
description: The title / descriptor of the photos contained in this media item.
type: string
example: "Front desk."
large:
description: The url for the image of the above titled part of the hotel of size large.
type: string
example: https://media-cdn.tripadvisor.com/media/photo-m/1280/1b/45/0b/f8/lobby.jpg
thumbnail:
description: The url for the image of the above titled part of the hotel of size thumbnail.
type: string
example: https://media-cdn.tripadvisor.com/media/photo-m/1280/1b/45/0b/f8/lobby.jpg
hotel_neighbourhoods:
description: The top 5 most common neighbourhoods found in the hotel search location, ordered from most common to least common.
type: array of strings
example: [ "St. Vital Center", "Downtown", "River Heights", "Saint Boniface", "Fort Garry" ]
NotShouldIncludeHotelResultsResponse:
description: Consists of all the hotel results. If should_include_hotel_results is false, only the hotel_trace_id will be returned.
type: array
items:
type: object
properties:
id:
description: An identifier to refer to the flight index
type: int
example: 1
hotel_trace_id:
description: An identifier to refer to the hotel for searching room availability
type: string
example: "4f499298b303c55a1ee522118afce28abe2f68e4"
HotelLocation:
description: location (city, airport, or reference point) to search for hotels in.
type: object
required:
- type
- IATA
properties:
city_name:
description: The city name for the reference point.
type: string
example: 'Ottawa'
country:
description: The 2-letter country code for the reference point. Required for reference point.
type: string
example: 'FR'
country_name:
description: The full country name for the reference point.
type: string
example: 'France'
IATA:
description: The IATA code for the city/airport, or nearest IATA for the reference point
type: string
example: 'PAR'
name:
description: The IATA code for the city/airport, or nearest IATA for the reference point. Required for reference point.
type: string
example: 'Eiffel Tower'
region:
description: The state/province for the reference point. Only required for reference point if there are multiple reference points with same name in the same country.
type: string
example: 'NS'
type:
type: string
description: Defines whether it's a city ('C'), airport ('A'), or reference point ('R')
example: 'R'
HotelRooms:
description: List of guest info for 1 room required to make hotel search requests.
type: array
items:
type: object
required:
- num_adults
- num_children
- nationality
- country_of_residence
properties:
num_adults:
description: Number of adults staying in the room.
type: int
example: 2
num_children:
description: Number of children staying in the room, if none use 0.
type: int
example: 3
children_age_list:
description: List of ages for children staying in room. Optional if num_children = 0, Required if num_children > 0.
type: array of ints
example: [ 5, 7, 11 ]
nationality:
description: 2 letter country code of nationality of primary guest. e.g. CA for Canada, GB for United Kingdom, CO for Colombia.
type: string
example: "CA"
country_of_residence:
description: 2 letter country code of country of residence of primary guest. e.g. CA for Canada, GB for United Kingdom, CO for Colombia.
type: string
example: "CA"
HotelNextResultReference:
description: The reference object with the reference and the provider map.
type: array
items:
type: object
properties:
reference:
description: The reference for the GDS to make the next search.
example: 'GvCe60ac0/ca8J7rRpzT99+A990Uzoz9uPnDvrR9vlPYyiAdwA/4TedEKvTDZyf87Yyw51a62Z0vr9lr1UD15D2BfyUpgIOXDnCDubYq+Qg9pzbZYLqUbA=='
type: string
provider:
description: Fare provider to use.
“1V” - Apollo, “1G” - Galileo, “1P” - Worldspan, “1A” - Amadeus, “webbeds” - Webbeds
type: string
example: "1V"
HotelItineraryReference:
description: A reference that indicates the itineraries position in the flow of itineraries in the super_trip with the index starting at 0.
type: string
example: "1"
Flight:
ItineraryFareStructure:
type: object
description: Contains the JSON object of the response.
properties:
currency:
type: string
description: Currency
example: CAD
markup:
type: float
description: Markup specified by the Trip Ninja Net Fare to be applied at the itinerary level.
example: 25.0
path_sequence:
type: array
description: An array of IATA codes representing the chronological order of your trip.
example: [ 'LON-CDG', 'CDG-YUL', 'YUL-LON' ]
trip_id:
type: string
description: A unique key used for identification and when booking a trip.
example: "04187ebd88c965919a2b8d54ca98390a56cd48c5"
itineraries:
$ref: "#/components/schemas/SearchComponents/Flight/FareStructureSearchItineraries"
SegmentFareStructure:
type: object
description: Contains the JSON object of the response.
properties:
currency:
type: string
description: Currency
example: CAD
markup:
type: float
description: Markup specified by the Trip Ninja Net Fare to be applied at the itinerary level.
example: 25.0
path_sequence:
type: array
description: An array of IATA codes representing the chronological order of your trip.
example: [ 'LON-CDG', 'CDG-YUL', 'YUL-LON' ]
trip_id:
type: string
description: A unique key used for identification and when booking a trip.
example: "04187ebd88c965919a2b8d54ca98390a56cd48c5"
segments:
$ref: "#/components/schemas/SearchComponents/Flight/SegmentOptions"
flight_details:
$ref: "#/components/schemas/SearchComponents/Flight/FlightDetails"
Flights:
description: parameters for each flight search
type: array
items:
type: object
required:
- id
- from_city
- start_type
- to_city
- end_type
- departure_date
properties:
id:
description: "Flight leg ID"
type: integer
example: 1
from_city:
description: "Start city/airport IATA code of leg."
type: string
example: "YHZ"
start_type:
description: "Upper-case letter “C” for city or “A” for airport"
type: string
example: "C"
to_city:
description: "End city/airport IATA code of leg."
type: string
example: "LON"
end_type:
description: "Upper-case letter “C” for city or “A” for airport"
type: string
example: C
departure_date:
description: "Departure date for this leg, format: YYYY-MM-DD. Any trailing characters after do not affect the API’s functionality."
type: string
example: "2023-06-20"
cabin_class:
description: "A unique cabin class can be set for each segment of the trip, otherwise it can be set at the root level."
type: string
example: "BC"
FareStructureSearchItineraries:
allOf:
- $ref: "#/components/schemas/SearchComponents/Flight/ItineraryProperties"
- type: array
description: Array of itineraries sorted by weight.
items:
$ref: "#/components/schemas/SearchComponents/Flight/ItineraryInfoWithCreds"
ItineraryProperties:
total_cost:
type: float
description: Total cost of cheapest segments recommended, in currency specified.
example: 693.6
tn_net_fare_markup:
type: float
description: Markup specified by the Trip Ninja Net Fare to be applied at the itinerary level.
example: 25.0
structure:
type: array
description: "Array representing the structure of the trip in terms of one-ways and open-jaw segments. For example: [[0, 1], [3, 4], 2] means there would be three segments. One openjaw with key “01”, one with key “34” and a one-way with key ‘2”."
ErrorDetails:
$ref: "#/components/schemas/ErrorDetails"
ItineraryInfoWithCreds:
allOf:
- $ref: "#/components/schemas/SearchComponents/Flight/BasicItineraryInfo"
- type: object
properties:
segments:
type: array
description: List of segments in the itinerary
items:
$ref: "#/components/schemas/SearchComponents/Flight/SegmentInfoWithCreds"
BasicItineraryInfo:
type: object
properties:
weight:
type: float
description: Weight of the segment (time-value considered).
example: 239
price:
type: float
description: Price of the segment (fare and tax included).
example: 197.1
base_price:
type: float
description: Base price of the segment (tax excluded)
example: 0
taxes:
type: float
description: Tax price of the segment
example: 119.1
fees:
type: float
description: Fees for the segment *Travelport customers only*
example: 0
cabin_class:
type: string
description: Cabin class for the entire segment *Travelport customers only*
example: Economy
latest_ticketing_date:
type: date
description: Latest ticketing time
example: "2019-05-07"
refundable:
type: boolean
description: Refundable tickets
example: false
e_ticketability:
type: boolean
example: true
transp_time:
type: integer
description: Total transportation time for the itinerary
example: 425
SegmentInfoWithCreds:
allOf:
- $ref: "#/components/schemas/SearchComponents/Flight/BasicSegmentInfo"
- type: object
properties:
credential_info:
$ref: "#/components/schemas/SearchComponents/Credentials"
BasicSegmentInfo:
type: object
properties:
segment_origin_full:
type: string
description: "Origin of the segment."
example: "London, United Kingdom (LHR)"
segment_destination_full:
type: string
description: "Destination of the segment."
example: "Berlin, Germany (TXL)"
weight:
type: string
description: Weight of the segment (time-value considered).
example: 96
segment_id:
type: string
description: String if one-way, Array of 2 Strings if open-jaw. Used for booking.
example: "344d73be0d61f820aa9a6ace300742fed0672f2e"
price:
type: float
description: Price of the segment (fare and tax included)
example: 72.3
cancel_penalty:
type: object
description: Information about cancellation
properties:
amount:
type: float
description: Cancellation penalty amount
example: 0
percentage:
type: float
description: Cancellation penalty percentage
example: 100
change_penalty:
type: object
description: Information about changing.
properties:
amount:
type: float
description: Change penalty amount
example: 78
percentage:
type: float
description: Change penalty percentage
example: 0
flight_type:
type: string
description: “open_jaw” or “one_way”
example: "open_jaw"
legs:
$ref: "#/components/schemas/SearchComponents/Flight/LegDetails"
baggage:
type: object
description: Contains baggage information.
properties:
number_of_pieces:
type: integer
description: Number of bags allowed.
example: 0
fare_basis_code:
type: string
description: Fare Basis Code for the segment.
example: "QUSDSI0E"
fare_rule_key:
type: string
description: Fare rule key for the segment
example: gws-eJxNjs0KwyAQhB8mzH02QdLeFPNzEaGYEnLp+z9GR02hC7qz+w2j3vuR9uRjov+vAZ\/hLMjvCGSMOmk\/4WQjTNMFkoZX4cI1FdwhFeWGe7dmjC5Oati4WUe1cLU77UGsJ7fM+jSq1AI\/EQ7JHJZjjTS5ZnO8EWfop1+XbyuD
fare_info_ref:
type: string
description: Fare Info reference for this segment
example: 3RxQ6ylJ0BKAhQAbnbAAAA==
LegDetails:
title: Leg Details
type: array
description: A list of legs for this segment
items:
type: object
properties:
OriginName:
type: string
description: Full name of the flight origin
example: "London, United Kingdom (LHR)"
Origin:
type: string
description: IATA code of the leg origin
example: "LHR"
DestinationName:
type: string
description: Full name of the leg destination
example: "Paris, France (CDG)"
Destination:
type: string
description: IATA code of the leg destination
example: "CDG"
DepartureTime:
type: string
description: Departure time of the leg
example: "2019-04-05T13:25:00.000+01:00"
ArrivalTime:
type: string
description: Arrival time of the leg
example: "2019-04-05T15:40:00.000+02:00"
FlightNumber:
type: string
description: Leg's flight number
example: 111
Carrier:
type: string
description: Leg's carrier code
example: "BA"
OperatingCarrier:
type: string
description: Leg's operating carrier code
example: "WS"
FlightTime:
type: integer
description: Flight duration in minutes
example: 75
AircraftType:
type: string
description: IATA type code for aircraft model.
example: "7M8"
Key:
type: string
description: Leg’s string identifier
example: "oHzo6pBAAA/B1d6hPLAAAA=="
BookingCode:
type: string
description: The airline booking code that describes the flight cabin class
example: "X"
cabin_class:
type: string
description: Leg’s cabin class *Travelport customers only*
example: "Economy"
fare_info_ref:
type: string
description: Flight identifer required to make a travelport fare rule request. *Travelport Only*
example: "WPADWJK0nDKATShj2JAAAA=="
fare_rule_key:
type: string
description: Key corresponding to above fare_info_ref also required to make a travelport fare rule request. *Travelport Only*
example: "gws-eJxNT0EKAjEMfMwy96SNxd5auqig7GFZlO7B/z/DaVR00oQOMxnaUkqQEOQosfxjwnOqDa3OwILA7pcdJkkESrZACFwf6ba37QwPyZpc+pWiu5FWPxx9CAOf2e8rBYvpbVBMiFZjVfIRYWK+Dmd13jxpqJrzN/y08g2EJ4odeOUPXvRTL2E="
fare_type:
type: string
description: Leg's fare type
example: "PublicFare"
SegmentOptions:
title: Segment Options
type: array
items:
type: object
properties:
credential_info:
$ref: "#/components/schemas/SearchComponents/Credentials"
origin:
type: string
description: IATA code of the segment origin
example: LHR
origin_name:
type: string
description: Full name of the flight origin
example: "London, United Kingdom (LHR)"
destination:
type: string
description: IATA code of the segment destination
example: CDG
destination_name:
type: string
description: Full name of the flight destination
example: "Paris, France (CDG)"
itinerary_type:
type: string
enum: [ ONE_WAY, OPEN_JAW, MULTI_PNR ]
description: Type of the itinerary option.
example: ONE_WAY
itinerary_id:
type: string
description: Links part of the OPEN_JAW itineraries/VI-structures together which also make a PNR.
example: ad76ah7dhasd76asb76
itinerary_markup:
type: number
default: 0
description: Markup for the itinerary. Trip markup and Itinerary markup parameters are mutualy exclusive
example: 7
itinerary_structure:
type: string
description: Structure of the OPEN_JAW itinerary
example: [ 0,1 ]
segment_position:
type: integer
description: Position of current segment in trip. Starts from 0.
example: 0
itinerary_index:
type: int
description: |
position of the virtual interlining option in itinerary(PNR). Starts from 0
Helps ordering parts of the VI solution in the itinerary
example: 0
nullable: true
weight:
type: float
description: Weight of the itinerary (time-value considered).
example: 239
price:
type: float
description: Price of the itinerary (fare and tax included).
example: 197.1
base_price:
type: float
description: Base price of the itinerary (tax excluded)
example: 0
taxes:
type: float
description: Tax price of the itinerary
example: 119.1
fees:
type: float
description: Fees for the itinerary
example: 0
transportation_time:
type: integer
description: Total transportation time for the itinerary
example: 425
fare_type:
type: string
description: Fare Type of the segment
example: Published
baggage:
type: object
description: Contains baggage information.
properties:
number_of_pieces:
type: integer
description: Number of bags allowed.
example: 0
additional_details:
type: object
description: Additional Details
properties:
e_ticketability:
type: boolean
example: true
latest_ticketing_time:
type: string
format: date
example: "11JUN20"
refundable:
type: boolean
example: true
cancel_penalty:
type: object
description: Information about cancellation
properties:
amount:
type: float
description: Cancellation penalty amount
example: 0
percentage:
type: float
description: Cancellation penalty percentage
example: 100
change_penalty:
type: object
description: Information about changing.
properties:
amount:
type: float
description: Change penalty amount
example: 78
percentage:
type: float
description: Change penalty percentage
example: 0
fare_types_info:
type: string
example: WS3 - Published fare
cabin_class:
type: String
enum: [ ECONOMY, PREMIUM_ECONOMY, BUSINESS, FIRST, PREMIUM_FIRST ]
description: cabin class for the itinerary
example: Economic Standard
alliance:
description: Parameter toggles the preferred alliance for your query. If there are results containing flights from the given alliance, only flights from that alliance will be returned. Otherwise it will return flights from any alliance. *Travelport Only*
required: false
type: string
example: "*A"
private_fare:
type: boolean
description: True if segment is a private fare, otherwise False *Travelport customers only*
example: false
priced_passengers:
type: array
example: [ "ADT", "INF" ]
price_breakdown_with_passenger_type_code:
$ref: "#/components/schemas/SearchComponents/Flight/PriceBreakdownWithPassengerTypeCode"
segment_time_w_connections:
type: float
description: segment travel time accounting for time between flights
example: 75.0
flights:
type: array
description: flights information
items:
type: object
description: flight information
properties:
flight_detail_ref:
type: integer
description: reference to flight info in flight_details
example: 1
booking_code:
type: string
description: booking code to flight info in flight_details
minLength: 1
maxLength: 1
example: B
fare_type:
type: string
description: fare type to flight info in flight_details
example: Published fare
fare_basis_code:
type: string
description: fare basis code to flight info in flight_details
example: LP7J2LBS
cabin_class:
type: string
description: cabin class to flight info in flight_details
example: Economic Standard
brands:
$ref: "#/components/schemas/SearchComponents/Flight/Brands"
PriceBreakdownWithPassengerTypeCode:
type: array
description: Displays the pricing for each passenger type
items:
type: object
properties:
passenger_type_code:
type: string
example: "ADT"
base_price:
type: float
example: 73.00
total_price:
type: float
example: 132.39
taxes:
type: float
example: 59.39
tax_breakdown:
type: array
description: Breakdown of taxes amount into their categories
items:
type: object
properties:
category:
type: string
example: "CA"
amount:
type: float
example: 7.12
PercentageWithExtraInfo:
type: object
description: Information about penalty percentage and amount
properties:
amount:
type: float
description: Penalty amount
example: 78
percentage:
type: float
description: Penalty percentage
example: 0
ChangePenaltyWithExtraInfo:
type: object
description: Information about changing.
properties:
amount:
type: float
description: Change penalty amount
example: 78
percentage:
$ref: "#/components/schemas/SearchComponents/Flight/PercentageWithExtraInfo"
applies_at:
type: string
description: When will the change penality apply at
example: "Anytime"
CancelPenaltyWithExtraInfo:
type: object
description: Information about cancelling.
properties:
amount:
type: float
description: Cancel penalty amount
example: 78
percentage:
$ref: "#/components/schemas/SearchComponents/Flight/PercentageWithExtraInfo"
applies_at:
type: string
description: When will the cancel penality apply at
example: "Anytime"
FareInfoBrandDetails:
type: object
description: Contains brand information for the fare
properties:
name:
type: string
description: Name of the brand
example: "STANDARD"
brand_description:
type: string
description: Description of the brand
example: "Standard: Carry on baggage only"
tag_line:
type: string
description: Tag line of the brand
example: "Low Fares for Carefee Travel"
brand_services:
type: object
description: Contains information of what the brand offers
properties:
carry_on_hand_baggage:
type: boolean or string
description: Are carry on bags permittied on this ticket. True/False or "$"
example: true
checked_baggage:
type: boolean or string
description: Are checked bags permittied on this ticket. True/False or "$"
example: true
rebooking:
type: string
description: Rebooking available on this ticket.
example: $
refund:
type: boolean
description: Refundability of the ticket.
example: true
seat_assignment:
type: string
description: Seat assignment availability on this ticket.
example: $
meals_and_beverages:
type: boolean
description: Are meals and beverages provided as part of this ticket.
example: true
wifi:
type: string
description: Wifi availability on the flight.
example: $
tier:
type: string
description: Brand tier
example: "0002"
BrandFareInfo:
type: array
description: Contains fare info for the brand
items:
type: object
properties:
origin:
description: Origin of the segment
type: string
example: "YHZ"
destination:
description: Destination of the segment
type: string
example: "YVR"
fare_basis:
description: Fare Basis Code for the segment.
type: string
example: "QUSDSI0E"
booking_code:
description: Booking code for the segment
type: string
example: "12S3TI3P"
cabin_class:
description: Cabin class of the segment
type: string
example: "E"
brand:
$ref: "#/components/schemas/SearchComponents/Flight/FareInfoBrandDetails"
Brands:
type: array
description: List of branded fares for the current segment
items:
type: object
properties:
should_quick_trip_reload_price:
description: Indicator for reloading pricing
type: boolean
example: true
base_price:
description: Base price of the segment (tax excluded)
type: float
example: 0
taxes:
description: Tax price of the segment
type: float
example: 119.1
fees:
description: Fees for the segment *Travelport customers only*
type: float
example: 0
price:
description: Price of the segment (fare and tax included).
type: float
example: 197.1
change_penalty:
$ref: "#/components/schemas/SearchComponents/Flight/ChangePenaltyWithExtraInfo"
cancel_penalty:
$ref: "#/components/schemas/SearchComponents/Flight/CancelPenaltyWithExtraInfo"
baggage_info:
description: Contains baggage information.
type: object
properties:
pieces:
description: Number of baggages included
type: int
example: 1
units:
description: Unit of the baggage
type: string
example: "pc"
fare_info:
$ref: "#/components/schemas/SearchComponents/Flight/BrandFareInfo"
FlightDetails:
title: Flight Details
type: array
items:
type: object
properties:
origin:
type: string
description: IATA code of the segment origin
example: "LHR"
origin_name:
type: string
description: Full name of the flight origin
example: "London, United Kingdom (LHR)"
destination:
type: string
description: IATA code of the segment destination
example: "CDG"
destination_name:
type: string
description: Full name of the flight destination
example: "Paris, France (CDG)"
departure_time:
type: string
format: date-time
description: "Departure date and time with timezone."
example: "2020-12-05T20:50:00-05:00"
arrival_time:
format: date-time
description: "Arrival date and time with timezone."
example: "2020-12-06T09:10:00+00:00"
flight_number:
type: string
description: Flight number.
example: "530"
carrier:
type: string
minLength: 2
maxLength: 2
description: "Airline carrier of the flight."
example: "AC"
flight_time:
type: integer
description: Flight duration in minutes
example: 475
carrier_fullname:
type: string
description: Full name of the carrier
example: "Air Canada"
operating_carrier:
type: string
minLength: 2
maxLength: 2
description: "Operating airline of the flight."
example: "WS"
operating_carrier_fullname:
type: string
description: Full name of the operating carrier
example: "Westjet"
reference:
type: string
description: reference to flight in flight_details list.
example: "83810422f17f30a4c7a366af5a12d9d05c86c04d"
aircraft_type:
type: string
description: IATA type code for aircraft model.
example: "7M8"
fare_info_ref:
type: string
description: Flight identifer required to make a travelport fare rule request. *Travelport Only*
example: "WPADWJK0nDKATShj2JAAAA=="
fare_rule_key:
type: string
description: Key corresponding to above fare_info_ref also required to make a travelport fare rule request. *Travelport Only*
example: "gws-eJxNT0EKAjEMfMwy96SNxd5auqig7GFZlO7B/z/DaVR00oQOMxnaUkqQEOQosfxjwnOqDa3OwILA7pcdJkkESrZACFwf6ba37QwPyZpc+pWiu5FWPxx9CAOf2e8rBYvpbVBMiFZjVfIRYWK+Dmd13jxpqJrzN/y08g2EJ4odeOUPXvRTL2E="
Credentials:
type: object
description: Indicate data source to call and required credentials
properties:
data_source:
description: data source to call.
type: string
enum: [ "webbeds", "travelport" ]
example: "travelport"
pcc:
description: PCC/OfficeID to emulate transactions under. Must have emulation enabled for the relevant Service Bureau PCC used by Trip Ninja to conduct queries. Please contact Trip Ninja to get this set up.
type: string
example: "MEL49f839"
provider:
description: Fare provider to use.
“1V” - Apollo, “1G” - Galileo, “1P” - Worldspan, “1A” - Amadeus, “webbeds” - Webbeds
type: string
example: "1A"
pcc_currency:
description: Indicates the currency that the PCC is charged in.
type: string
example: "CAD"
ReportComponents:
segment_ids:
type: Array of strings and/or Array of arrays
description: |
Array of segment_id’s for the booked segments - These will be strings for one-ways and arrays of strings for open-jaws.
This is the example structure but should be generalized for all combinations as Trip Ninja’s technology handles more than just 3-segment trips.
1) structure: [0, 1]
- `segment_ids: ["segment_id_0", "segment_id_1"]`
2) structure: [(0, 1)]
- `segment_ids: [["segment_id_0", "segment_id_1"]]`
3) structure: [0, 1, 2]
- `segment_ids: ["segment_id_0", "segment_id_1", "segment_id_2"]`
4) structure: [(0, 1), 2]
- `segment_ids: [["segment_id_0", "segment_id_1"], "segment_id_2"]`
5) structure: [(0, 2), 1]
- `segment_ids: [["segment_id_0", "segment_id_2"], "segment_id_1"]`
6) structure: [0, (1, 2)]
- `segment_ids: ["segment_id_0", ["segment_id_1", "segment_id_2"]]`
example: [ "18fd1992fd90e6e2cf44d49308a1482b2ecd7f67", "59e15240be759a023c950e66379dca775fd8aaf1" ]
hotel_trace_ids:
type: array of strings
description: Array of hotel_trace_ids for the searched hotels.
example: ["18fd1992fd90e6e2cf44d49308a1482b2ecd7f67", "59e15240be759a023c950e66379dca775fd8aaf1"]
hotel_amenities:
type: array
description: A list of the amenities provided at this hotel.
items:
type: object
properties:
amenity_type:
type: string
description: The amenity type, can be either HA (Hotel Amenity) or RA (Room amenity)
example: "HA"
amenity_title:
type: string
description: A title or descriptor of the amenity provided.
example: High speed internet connection
hotel_price_confirm_details:
required:
- id
- hotel_trace_id
- hotel_code
- hotel_name
- hotel_chain
- iata
- check_in_date
- check_out_date
- check_in_time
- check_out_time
- room_type
- rate_plan_type
- rating
- base_price
- original_total_string
- amenities
properties:
id:
type: int
example: 1
description: Matching id from the flight id for the msdp package
hotel_trace_id:
type: string
example: '4f499298b303c55a1ee522118afce28abe2f68e4'
description: The reference for the hotel search.
hotel_code:
type: string
description: The reference for the hotel code.
example: '35573'
hotel_name:
type: string
description: The name of the hotel to be priced.
example: Comfort Inn
hotel_chain:
type: string
description: The refence for the hotel chain.
example: 'GI'
iata:
type: string
description: The location of the hotel.
example: 'LON'
check_in_date:
type: string
format: date
description: "Date of check-in to search hotel availibilities on. format: YYYY-MM-DD."
check_out_date:
type: string
format: date
description: "Date to checkout from the hotel. Format: YYYY-MM-DD."
check_in_time:
type: string
description: The check in time for the hotel.
example: "3pm"
check_out_time:
type: string
description: The check out time
example: "10am"
room_type:
type: string
example: 'Double'
description: The type of room to price.
rate_plan_type:
type: string
example: 'A00BOB'
description: The type reference for the rate plan selected for this hotel and this room.
rating:
type: int
description: The hotel rating
example: 4
converted_total_price:
type: float
example: 127.0
description: The total price converted into the currency searched in. This can used as a reference to the price billed at booking when retrieving the booking at a later date.
base_price:
type: string
description: The base price as a string in the hotels currency is required for the rules request and is presented here.
example: "SGD172.00"
original_total_string:
type: string
description: The original total price as a string in the hotels currency is required for the rules request and is presented here.
example: "SGD172.00"
amenities:
$ref: "#/components/schemas/ReportComponents/hotel_amenities"
guarantee:
type: string
description: The guarantee type for the room.
example: "Guarantee"
cancel_deadline:
type: string
format: date
description: "Last date of cancel deadline to cancel hotel. format: YYYY-MM-DD."
hotel_room_details:
type: object
description: Consist of details of the hotel rooms that is selected for price confirm
required:
- currency
- rooms_total
- traveller_total
- credential_info
- rooms
properties:
currency:
type: string
description: Currency
example: CAD
rooms_total:
type: int
example: 2
description: The number of rooms required for the above travellers.
traveller_total:
type: int
example: 3
description: Number of people that will be staying at the hotel.
credential_info:
required:
- data_source
- pcc
- provider
- pcc_currency
type: object
description: Indicate data source to call and required credentials
properties:
data_source:
description: data source to call.
type: string
enum: [ "webbeds", "travelport" ]
example: "travelport"
pcc:
description: PCC/OfficeID to emulate transactions under. Must have emulation enabled for the relevant Service Bureau PCC used by Trip Ninja to conduct queries. Please contact Trip Ninja to get this set up.
type: string
example: "MEL49f839"
provider:
description: Fare provider to use.
“1V” - Apollo, “1G” - Galileo, “1P” - Worldspan, “1A” - Amadeus, “webbeds” - Webbeds
type: string
example: "1A"
pcc_currency:
description: Indicates the currency that the PCC is charged in.
type: string
example: "CAD"
rooms:
type: array
description: Array of rooms for the booked hotel rooms
items:
$ref: "#/components/schemas/ReportComponents/hotel_price_confirm_details"
ErrorDetails:
description: When an error occurs, there will be a list of error codes detailing the issue(s). For more information regarding the errors refer to the error codes section.
type: object
properties:
IE01:
type: string
description: Need minimum 2 destinations
IE02:
type: string
description: Duplicate city in list
IE03:
type: string
description: Home city in cities list
IE04:
type: string
description: There are non-compliant IATA codes in your city list
IE05:
type: string
description: Multiple lockfirst found
IE06:
type: string
description: Multiple locklast found
IE07:
type: string
description: Incorrect item provided for "locked" (must be “Lock Last”, Lock First” or “None”)
IE08:
type: string
description: Zero nights found for some city/cities
IE09:
type: string
description: Can't run any queries for flight dates in the past
IE10:
type: string
description: Incorrect city_type value - expected one of ‘C’ or ‘A’
IE11:
type: string
description: General Input Error (FlexTrip)
IE13:
type: string
description: "Check the id's on your flights - should be in order starting from 1. For example: 1,2,3,4"
IE14:
type: string
description: Make sure your departure_dates are in order
IE15:
type: string
description: Each flight in flights must contain ‘to_city’, ‘from_city’ - to_city and from_city must be in the format of 3 character IATA code
IE16:
type: string
description: Please provide a PCC
IE17:
type: string
description: Invalid Carrier
IE18:
type: string
description: Time Value (Original Alpha) outside of expected range [$0,$200]/hr
IE19:
type: string
description: Incorrect region - expected one of ‘emea’,’apac’,’americas’
IE20:
type: string
description: Incorrect provider - expected one of '1V','1G','1P','1A'
IE21:
type: string
description: No currency input or currency input not 3 characters long (must be in the format USD, AUD, CAD, etc)
IE22:
type: string
description: Not a valid cabin option - expected one of 'E' , 'PE', 'SE', 'BC','FC', 'PFC'
IE23:
type: string
description: Not a valid alliance - expected one of *A, *S, *O
IE24:
type: string
description: Too many or too few travellers found (must be 1 to 10) - or not a valid type for travellers, must be int or list
IE25:
type: string
description: FlexTrip cannot contain gaps in from/to destination pairs
IE26:
type: string
description: exclude_carriers, alliance and permitted_carriers are mutually exclusive - please choose one
IE27:
type: string
description: num_results should be an integer between 50 and 5000
IE28:
type: string
description: refundable parameter must be a boolean value true or false
IE29:
type: string
description: Invalid traveller type in list, should be one of ADT, CHD, MIL, INF
IE30:
type: string
description: User not been mapped to any LCC
IE31:
type: string
description: No LCC token associated with user
IE32:
type: string
description: include_itineraries must be a boolean value (true or false)
IE33:
type: string
description: stops must be one of “any”, “direct”, “1”, “2”
IE34:
type: string
description: no_overnight_layovers must be a boolean value (true or false)
IE35:
type: string
description: baggage must be one of “any”, “1”, “2”
IE39:
type: string
description: |
Provider missing, expected one of "1V, 1G, 1P, 1A, 1S"
MSDPSearchErrorDetails:
MISSING_MSDP_SEARCH_FIELD:
type: object
title: "Missing field"
properties:
field:
type: array or object or string
description: Contains the error message
example: "This field is required."
INVALID_MSDP_SEARCH_REQUEST:
type: object
title: "Invalid MSDP search request"
properties:
status:
type: string
description: Error code
example: "218"
message:
type: string
description: Contains the error message
example: "MSDP requests need a minimum of one flight and one hotel in the request."
INVALID_MSDP_ID:
type: object
title: "Mis-matching flights and hotels ID"
properties:
status:
type: string
description: Error code
example: "218"
message:
type: string
description: Contains the error message
example: "MSDP ID validation failed. MSDP flights and hotels require matching and unique IDs for all MSDP requests"
INVALID_MSDP_PACKAGE_DATES:
type: object
title: "Un-matching flights and hotels dates"
properties:
status:
type: string
description: Error code
example: "218"
message:
type: string
description: Contains the error message
example: "MSDP search requests require flight departure dates to occur before hotel check in dates for each package"
MSDPRemoveHotelErrorDetails:
INVALID_REQUEST:
type: object
title: "Expired request or hotel_trace_id not found"
properties:
status:
type: string
description: Error code and 0 for success response
example: "400"
message:
type: string
description: Contains the error message
example: "Query parameters are wrong or cached request is expired."
INVALID_NUM_OF_HOTELS:
type: object
title: "Invalid number of hotels in the package"
properties:
status:
type: string
description: Error code and 0 for success response
example: "218"
message:
type: string
description: Contains the error message
example: "MSDP requests need a minimum of one flight and one hotel in the request."
MSDPHotelDetailErrorDetails:
MISSING_FIELDS:
type: object
title: "Missing Fields"
properties:
status:
type: string
description: Error code and 0 for success response
example: "400"
message:
type: string
description: Contains the error message
example: "Value missing for field traveller_total"
INVALID_IATA:
type: object
title: "Invalid IATA Code"
properties:
status:
type: string
description: Error code and 0 for success response
example: "400"
message:
type: string
description: Contains the error message
example: "IATA code must be 3 letters you passed TEST"
INVALID_FIELD_TYPE:
type: object
title: "Invalid field type"
properties:
status:
type: string
description: Error code and 0 for success response
example: "400"
message:
type: string
description: Contains the error message
example: "Type wrong for field traveller_total, expected int but was passed str"
INVALID_FIELD_VALUE:
type: object
title: "Invalid field value"
properties:
status:
type: string
description: Error code and 0 for success response
example: "400"
message:
type: string
description: Contains the error message
example: "Bad traveller_total value of 25. 1 <= traveller_total <= 20"
HOTEL_LOCATION_MISSING_TYPE_R:
type: object
title: "Hotel location name missing with hotel_location_type='R'"
properties:
status:
type: string
description: Error code and 0 for success response
example: "400"
message:
type: string
description: Contains the error message
example: "if hotel location type is R then the hotel location name must be passed"
MSDPOTAPreBookingErrorDetails:
NO_ROOM_AVAILABLE:
type: object
title: "Hotel room not available"
properties:
status:
type: string
description: Error code and 0 for success response
example: "IE38"
message:
type: string
description: Contains the error message
example: "No room available"
MISSING_DATASOURCE:
type: object
title: "Missing Datasource (wrong format of the response)"
properties:
status:
type: string
description: Error code and 0 for success response
example: "400"
message:
type: string
description: Contains the error message
example: "Failed to save pre-booked flight: Data source is not found in the request"
GeneralErrorDetails:
NOT_BOOKED:
type: object
title: "Failed to book"
properties:
status:
type: string
description: States whether request to book was successful.
example: Not booked
INVALID_FIELD_TYPE:
type: object
title: "Invalid field type"
properties:
field:
type: string
description: Contains the error message
example: "A valid integer is required"
MISSING_FIELDS:
type: object
title: "Missing field"
properties:
field:
type: string
description: Contains the error message
example: "This field is required."
INVALID_TRIP_ID:
type: object
title: "Invalid trip_id"
properties:
status:
type: string
description: Error code and 0 for success response
example: "400"
message:
type: string
description: Contains the error message
example: "Failed to save booked flight: Trip ID not found"
MSDPOTABookingErrorDetails:
UNABLE_TO_RETRIEVE_ITINERARY_PROFILE:
type: object
title: "Invalid msdp_pacakge_id"
properties:
status:
type: string
description: Error code and 0 for success response
example: "400"
message:
type: string
description: Contains the error message
example: "Error while getting itinerary profile for hotel 4f8d0f694db55e220c5749ee48f1962252beda41: ItineraryProfile matching query does not exist."
MSDPOTATicketingCancelErrorDetails:
INVALID_MSDP_PACKAGE_ID:
type: object
title: "Invalid msdp_package_id"
properties:
status:
type: string
description: Error code and 0 for success response
example: "400"
message:
type: string
description: Contains the error message
example: "Error while saving ticketing status for d8af3a35dd77333f99510ad7373c98cf7fe502bf: SuperTrip matching query does not exist."