Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/tui-group-travelmessage-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: .v31 Travel Message API
version: '3.1'
contact:
name: G7-OTA-TEAM
url: https://prod.api.tui/
email: b2bota.g7.support@tui.nl
description: "This API can be used to get availability and create bookings for TUI packages following the ANVR G7 standard. \n\nWith the Supply feed OTA's get information of all the available TUI packages, along with other relevant details\nsuch as price, extras, etc. For Supply the TravelMessage 3.1 is not used. So this is defined on another page.\nBut it contains the necessary data to continue with the API's described here. \n\nThe information from the Supply file can be used to do an AvailabilityRequest to get more detailed data. This data can \nbe used for getting a Price breakdown using the ReceiptRequest or start the bookflow transaction using the Sell, \nAssign and BookRequests to create a booking in tui.nl. \nWith AddProAvailability and AddProDetails information can be requested for available extra's and transportrental \nand added to the Sell, Assign and BookRequests. \nThe BreakRequest can be used After SellRequest but before BookRequest to cancel the current transaction.\n\nIf a booking is successfully created the RecapRequest can be used to get all information from that booking \nand CancellationRequest can be used to directly cancel a booking. \n\nThe schema's are based on the travelmessage.xsd and translated to OpenAPI specification. Not all groups and/or \nfields are used in the defined api's. Also it is possible that fields that are **not mandatory** for G7 are in \nfact **mandatory** for TUI. \nAll api's are based on the 3.1 G7 version with a few changes to support TUI packages. The Supply has a \ncustom defined schema.\n"
servers:
- url: https://prod.api.tui
description: Production
- url: https://playground.api.tui
description: Playground for testing
tags:
- name: TravelMessage
paths:
/travelmessage/v3.1/availabilityrequest:
post:
tags:
- TravelMessage
summary: Does an AvailabilityRequest
description: "The availability of a journey can be requested with the dialogue Availability. \nFor this API the \"*Package approach*\" is used. This means that filling the \"*PackageDetails*\" in the request \nwill return a complete package (Transport, accommodation and/or additional products) in the response. These\ncomponents must be used in the next steps of the booking process\n\n**Request:** Besides the mandatory fields only filtering is possible for:\n * DeparturePoint\n * BoardType \n\n**Response:**\n * Happy flow: Transport, Accommodation and AdditionalProducts data for chosen product\n * No availability: Error message given \"No data found\"\n * Error: Response has an errormessage\n"
security:
- oAuth2ClientCredentials: []
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/AvailabilityRequestTree'
examples:
AvailabilityRequest:
$ref: '#/components/examples/AvailabilityRequestExample'
responses:
'200':
description: AvailabilityRequest Handled
content:
application/xml:
schema:
$ref: '#/components/schemas/AvailabilityResponseTree'
examples:
AvailabilityResponse:
$ref: '#/components/examples/AvailabilityResponseExample'
AvailabilityResponse(no availability):
$ref: '#/components/examples/AvailabilityResponseNaExample'
AvailabilityResponse (error):
$ref: '#/components/examples/ErrorMessageExample'
'400':
description: Missing elements in Request
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Server Error
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
/travelmessage/v3.1/receiptrequest:
post:
tags:
- TravelMessage
summary: Does a ReceiptRequest
description: "The ReceiptRequest message can be done to get an actual price of a chosen package and components. It's a kind \nof combination of Sell- and AssignRequest but without starting a transaction.\nThe response contains only a price breakdown for each passenger. If no prices are found an errormessage\nwill be returned with the message \"no data found\".\n\nThe price description can contain only a description or a description plus additional information. If a price\ncomponent relates to the package itself only a description is given, for example \"reissom\". If a price is related\nto a specific component additional information is given to trace the price back to the component. This information\nis in the following format seperated with a pipe \"|\":\n 1. Description\n 2. Type (T = Transport, A = Accommodation/Unit, TE = Transport Extra, E = Extra)\n 3. Relation (depending on type) \n T = TransportID \n A = AccommodationID, UnitID and ArrivalDate \n TE = TransportID, GroupID, ExtraID, StartDate \n E = GroupID, ExtraID, startDate \n\nExamples:\n - Package: \"Reissom\"\n - Transport (T) : \"Luchthaventoeslag|T|f36627fe-b3ec-4a08-afba-820ff267a7e5#20231103 OR 503 AMSMBJ\"\n - Accommodation(A): \"Vroegboekkorting|A|A0192836|2919b8e9-7ae3-4883-9ecf-0377d8a8d202|11/03/2023\"\n - Transport Extra (TE): \"Klasse (PWIM)|TE|f36627fe-b3ec-4a08-afba-820ff267a7e5#20231103 OR 503 AMSMBJ|SEAT|PWIM|2023-11-03\"\n - Extra (E): \"Transfer (TXX)|E|Transfer|TXX|2023-11-03\"\n\nFor this Request/Response the v3.1.xsd is changed to fit the needs for TUI. \n\n**Response:**\n * Happy flow: Price breakdown for each passenger\n * No data found: response has an errormessage with type info \n * Error: response has an errormessage \n"
security:
- oAuth2ClientCredentials: []
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/ReceiptRequestTree'
examples:
ReceiptRequest:
$ref: '#/components/examples/ReceiptRequestExample'
responses:
'200':
description: ReceiptRequest Handled
content:
application/xml:
schema:
$ref: '#/components/schemas/ReceiptResponseTree'
examples:
ReceiptResponse:
$ref: '#/components/examples/ReceiptResponseExample'
ReceiptResponse (no data found):
$ref: '#/components/examples/ReceiptResponseNaExample'
ReceiptResponse (error):
$ref: '#/components/examples/ErrorMessageExample'
'400':
description: Missing elements in Request
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Server Error
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
/travelmessage/v3.1/sellrequest:
post:
tags:
- TravelMessage
summary: Does a SellRequest
description: "The dialogue of Sell aims at indicating the package parts which have been selected for the subsequent\ndialogue. The message contains package information and optional information relating to Transport, \nAccommodation and Additional products (Roundtrip and Cruise information are not implemented yet). \nFor TUI the SellRequest is used to create a new session. Some basic validation is taking place, \nand the response is more or less a copy of the request. It is important to put all the parts in the \nSellRequest, because they will be checked in the next step, the AssignRequest. \nWhen parts are changed (for example rooms) or added (for example extra's) a new SellRequest has to be \ndone. \n\n**Response:**\n * Happy flow: copy of request with status = \"OK\" \n * Error: response has an errormessage \n"
security:
- oAuth2ClientCredentials: []
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/SellRequestTree'
examples:
SellRequest:
$ref: '#/components/examples/SellRequestExample'
responses:
'200':
description: SellRequest Handled
content:
application/xml:
schema:
$ref: '#/components/schemas/SellResponseTree'
examples:
SellResponse:
$ref: '#/components/examples/SellResponseExample'
SellResponse (error):
$ref: '#/components/examples/ErrorMessageExample'
'400':
description: Missing elements in Request
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Server Error
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
/travelmessage/v3.1/assignrequest:
post:
tags:
- TravelMessage
summary: Does a AssignRequest
description: "In the AssignRequest the passengers and there assignments to the package parts are given. The \"*SenderSessionID*\" \nof the SellResponse must be used as \"*ReceiverSessionID*\" in the AssignRequest to use the session created during\nthe SellRequest. Validation is done to check if the same parts are used as in SellRequest. \nThe response may contain more elements then assigned (extras). These are default components which do not \ninfluence the price, like flight extra's as SeatsType, Meals, Luggage or default transfers. Usually upgrades \nfor these components are available. Because AssignResponse gives no description of these default components (just \nand ID and dates) the Extras itself will also be returned in te response. The means that the TResponse also \ncontains AdditionalProducts and Transport.TransportTo[From].AdditionalProducts.\n\nBesides these components also a price breakdown is returned. \nThe price description can contain only a description or a description plus additional information. If a price \ncomponent relates to the package itself only a description is given, for example \"reissom\". If a price is related \nto a specific component additional information is given to trace the price back to the component. This information \nis in the following format seperated with a pipe \"|\":\n1. Description \n2. Type (T = Transport, A = Accommodation/Unit, TE = Transport Extra, E = Extra)\n3. Relation (depending on type) \n T = TransportID \n A = AccommodationID, UnitID and ArrivalDate \n TE = TransportID, GroupID, ExtraID, StartDate \n E = GroupID, ExtraID, startDate \n\nExamples: \n - Package: \"Reissom\" \n - Transport (T) : \"Luchthaventoeslag|T|f36627fe-b3ec-4a08-afba-820ff267a7e5#20231103 OR 503 AMSMBJ\" \n - Accommodation(A): \"Vroegboekkorting|A|A0192836|2919b8e9-7ae3-4883-9ecf-0377d8a8d202|11/03/2023\" \n - Transport Extra (TE): \"Klasse (PWIM)|TE|f36627fe-b3ec-4a08-afba-820ff267a7e5#20231103 OR 503 AMSMBJ|SEAT|PWIM|2023-11-03\" \n - Extra (E): \"Transfer (TXX)|E|Transfer|TXX|2023-11-03\" \n\nChanges for passenger information (for example name) or a different assignment can be done without doing a new \nSellRequest. \n\n**Response:**\n * Happy flow: Copy of assignment plus price breakdown \n * Error: response has an errormessage\n"
security:
- oAuth2ClientCredentials: []
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/AssignRequestTree'
examples:
AssignRequest:
$ref: '#/components/examples/AssignRequestExample'
responses:
'200':
description: AssignRequest Handled
content:
application/xml:
schema:
$ref: '#/components/schemas/AssignResponseTree'
examples:
AssignResponse:
$ref: '#/components/examples/AssignResponseExample'
AssignResponse (error):
$ref: '#/components/examples/ErrorMessageExample'
'400':
description: Missing elements in Request
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Server Error
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
/travelmessage/v3.1/bookrequest:
post:
tags:
- TravelMessage
summary: Does a BookRequest
description: "There can be made a booking with the dialogue of BookRequest. Although the xml data of the BookRequest is \nthe same as the AssignRequest and required in the G7 XML for TUI only the confirmation counts. So using \nthe same \"*ReceiverSessionID*\" as in the AssignRequest is enough. Changes made to passengers and assignments \nat this stage will be ignored. The information that was in the Assign stage will be used.\n\n**Request:**\n * Same as AssignRequest, but changes are ignored. \n\n**Response:**\n * Happy flow: Confirmed Booking (with BookID) \n * Error: response has an errormessage \n"
security:
- oAuth2ClientCredentials: []
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/BookRequestTree'
examples:
BookRequest:
$ref: '#/components/examples/BookRequestExample'
responses:
'200':
description: BookRequest Handled
content:
application/xml:
schema:
$ref: '#/components/schemas/BookResponseTree'
examples:
BookResponse:
$ref: '#/components/examples/BookResponseExample'
BookResponse (error):
$ref: '#/components/examples/ErrorMessageExample'
'400':
description: Missing elements in Request
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Server Error
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
/travelmessage/v3.1/breakrequest:
post:
tags:
- TravelMessage
summary: Does a BreakRequest
description: "The Break-dialogue allows the OTA to cut off a session between the travel agent and the tour operator decently.\nA new session can be started by sending a new SellRequest. \n\n**Response:**\n * Happy flow : Only a Control group is returned \n * Error: response has an errormessage \n"
security:
- oAuth2ClientCredentials: []
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/BreakRequestTree'
examples:
BreakRequest:
$ref: '#/components/examples/BreakRequestExample'
responses:
'200':
description: BreakRequest Handled
content:
application/xml:
schema:
$ref: '#/components/schemas/BreakResponseTree'
examples:
BreakResponse:
$ref: '#/components/examples/BreakResponseExample'
BreakResponse (error):
$ref: '#/components/examples/ErrorMessageExample'
'400':
description: Missing elements in Request
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Server Error
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
/travelmessage/v3.1/addproavailabilityrequest:
post:
tags:
- TravelMessage
summary: Does a AddProAvailabilityRequest
description: "AddProAvailability is used to acquire summary information about additional products. \nThere a two approaches defined in the ANVR documentation. With **overview** response, ResponseID is filled \nwith AvailabilityResponse. Only minimum information, ID and description are given in the response. \nIf a **detailed** response is necessary ResponseID will be filled with AvailabilityDetailsResponse. Detailed \ninformation is given like prices, age restrictions allotment etc. \n\nFor TUI both approaches are not implemented (yet) but a third approach is done.\nIf as RequestID/ResponseID \"*AddProAvailabilityTransportRequest/Response*\" is given with a Transportgroup \nthen detailed information is returned for extra's that are transport dependent. For example if flights \nare given extra's can be returned like luggage upgrades, meals upgrades and so on. \n\nThe returned information can be used in the ReceiptRequest and the bookflow in Sell, Assign and BookRequest. \n\n**Request:** \n * Overview, request only contains PackageDetails section and ResponseID is \"*AvailabilityResponse*\" (not implemented)\n * Details, request only contains PackageDetails section and ResponseID is \"*AvailabilityDetailsResponse*\" (not implemented)\n * Transport, request contains PackageDetails and Transport section and RequestID/ResponseID is \n\"*AddProAvailabilityTransportRequest/Response*\" \n\n**Response:** \n * Overview, only basic information is returned\n * Details, detailed information is returned \n * Transport, detailed information is returned for the given transports \nThis information is grouped in Transport-AdditionalProducts-Extras and is related with the given transports \nby the group RelatedTransport\n"
security:
- oAuth2ClientCredentials: []
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/AddProAvailabilityRequestTree'
examples:
AddProAvailabilityRequest (Transport):
$ref: '#/components/examples/AddProAvailabilityRequestTransportExample'
AddProAvailabilityRequest:
$ref: '#/components/examples/AddProAvailabilityRequestExample'
responses:
'200':
description: AddProAvailabilityRequest Handled
content:
application/xml:
schema:
$ref: '#/components/schemas/AddProAvailabilityResponseTree'
examples:
AddProAvailabilityResponse (Transport):
$ref: '#/components/examples/AddProAvailabilityResponseTransportExample'
AddProAvailabilityResponse (error):
$ref: '#/components/examples/ErrorMessageExample'
AddProAvailabilityResponse:
value: <TravelMessage>NOT IMPLEMENTED</TravelMessage>
'400':
description: Missing elements in Request
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Server Error
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
/travelmessage/v3.1/addprodetailsrequest:
post:
tags:
- TravelMessage
summary: Does a AddProDetailsRequest
description: "AddProDetails is used to acquire detailed information about additional products. It is a continuation of the AddProAvailability overview request. It is possible to get separate information for each extra or transport rental, just by adding the extra or transport rental in the request. \n **NOT IMPLEMENTED (YET)**\n"
security:
- oAuth2ClientCredentials: []
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/AddProDetailsRequestTree'
examples:
AddProDetailsRequest:
$ref: '#/components/examples/AddProDetailsRequest'
responses:
'200':
description: AddProDetailsRequest Handled
content:
application/xml:
schema:
$ref: '#/components/schemas/AddProDetailsResponseTree'
examples:
AddProDetailsResponse:
$ref: '#/components/examples/AddProDetailsResponse'
'400':
description: Missing elements in Request
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Server Error
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
/travelmessage/v3.1/recaprequest:
post:
tags:
- TravelMessage
summary: Does a RecapRequest
description: "With the dialogue of Recap a recapitulation from the data stored at the Touroperator concerning the \ncurrent session or currently booked trip can be requested. \n\nFor TUI only getting the requested booking is implemented. \n\n**Request:**\n* Only \"*BookID*\" is required in the SecurityInfo group. \n\n**Response:**\n* All information concerning the given booking like Passenger info, Transport, Accommodation Extra's, and Prices. \n* Error: if booking cannot be found with given request data\n\nThe price description can contain only a description or a description plus additional information. If a price\ncomponent relates to the package itself only a description is given, for example \"reissom\". If a price is related\nto a specific component additional information is given to trace the price back to the component. This information\nis in the following format seperated with a pipe \"|\":\n 1. Description\n 2. Type (T = Transport, A = Accommodation/Unit, TE = Transport Extra, E = Extra)\n 3. Relation (depending on type) \n T = TransportID \n A = AccommodationID, UnitID and ArrivalDate \n TE = TransportID, GroupID, ExtraID, StartDate \n E = GroupID, ExtraID, startDate \n\nExamples:\n - Package: \"Reissom\"\n - Transport (T) : \"Luchthaventoeslag|T|f36627fe-b3ec-4a08-afba-820ff267a7e5#20231103 OR 503 AMSMBJ\"\n - Accommodation(A): \"Vroegboekkorting|A|A0192836|2919b8e9-7ae3-4883-9ecf-0377d8a8d202|11/03/2023\"\n - Transport Extra (TE): \"Klasse (PWIM)|TE|f36627fe-b3ec-4a08-afba-820ff267a7e5#20231103 OR 503 AMSMBJ|SEAT|PWIM|2023-11-03\"\n - Extra (E): \"Transfer (TXX)|E|Transfer|TXX|2023-11-03\" \n"
security:
- oAuth2ClientCredentials: []
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/RecapRequestTree'
examples:
RecapRequestExample:
$ref: '#/components/examples/RecapRequestExample'
responses:
'200':
description: RecapRequest Handled
content:
application/xml:
schema:
$ref: '#/components/schemas/RecapResponseTree'
examples:
RecapResponseExample:
$ref: '#/components/examples/RecapResponseExample'
RecapResponse (error):
$ref: '#/components/examples/ErrorMessageExample'
'400':
description: Missing elements in Request
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Server Error
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
/travelmessage/v3.1/cancellationrequest:
post:
tags:
- TravelMessage
summary: Does a CancellationRequest
description: "Two messages will be send by cancelling a booking; a CancellationRequest followed by a CancellationConfirmedRequest. \nThis is because of the possible cancellation costs which require confirmation.\n\nFor TUI now only CancellationConfirmedRequest is implemented. No check yet for getting the cancellation cost \nfirst. \n\n**Request:**\n* \"*BookID*\", \"*DepartureDate*\" and \"*ContactName*\" are required in the SecurityInfo group. \n\n**Response:**\n* Given back cancellation costs when cancellation is done. \n* Error: If booking is not found or booking is already cancelled\n"
security:
- oAuth2ClientCredentials: []
requestBody:
required: true
content:
application/xml:
schema:
$ref: '#/components/schemas/CancellationRequestTree'
examples:
CancellationRequestExample:
$ref: '#/components/examples/CancellationConfirmedRequestExample'
responses:
'200':
description: CancellationRequest Handled
content:
application/xml:
schema:
$ref: '#/components/schemas/CancellationResponseTree'
examples:
CancellationResponse:
$ref: '#/components/examples/CancellationConfirmedResponseExample'
CancellationResponse (Already Cancelled):
$ref: '#/components/examples/CancellationConfirmedResponseAcExample'
CancellationResponse (error):
$ref: '#/components/examples/ErrorMessageExample'
'400':
description: Missing elements in Request
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
'500':
description: Server Error
content:
application/xml:
schema:
$ref: '#/components/schemas/ProblemDetails'
components:
schemas:
UnitType:
type: string
pattern: (\d+pk)|(\d+PK)|(\d+ka)|(\d+KA)|(\d+kb)|(\d+KB)|(\d+kw)|(\d+KW)|(\d+kv)|(\d+KV)|(\d+ph)|(\d+PH)|(\d+pt)|(\d+PT)|(\d+pc)|(\d+PC)|(\d+ks)|(\d+KS)|(\d+pl)|(\d+PL)|(\d+ps)|(\d+PS)|(\d+pz)|(\d+PZ)|(\d+gk)|(\d+GK)|(\d+tc)|(\d+TC)|(div)|(DIV)|(stn)|(STN)
Accommodation:
title: Accommodation
type: object
properties:
AccommodationID:
type: string
ComponentID:
type: string
AccommodationType:
$ref: '#/components/schemas/AccommodationType'
Name:
type: string
Address:
type: string
ZipCode:
type: string
Place:
type: string
CountryID:
$ref: '#/components/schemas/ISOCountry'
GPSCode:
$ref: '#/components/schemas/GPSCode'
Telephone:
type: string
ArrivalDate:
type: string
format: YYYY-MM-DD
DepartureDate:
type: string
format: YYYY-MM-DD
Duration:
$ref: '#/components/schemas/Duration'
Unit:
type: array
title: Unit
items:
$ref: '#/components/schemas/Unit'
Arrangement:
type: array
title: Arrangement
items:
$ref: '#/components/schemas/Arrangement'
Extras:
type: array
title: Extras
items:
$ref: '#/components/schemas/Extras'
MultiMedia:
type: array
title: MultiMedia
items:
$ref: '#/components/schemas/MultiMedia'
required:
- AccommodationID
- ArrivalDate
- Duration
- Unit
PaxDetailsReceipt:
type: object
properties:
PaxID:
$ref: '#/components/schemas/PaxID'
DateOfBirth:
$ref: '#/components/schemas/Date'
Discounts:
$ref: '#/components/schemas/Discounts'
BookResponse:
type: object
properties:
BookID:
type: string
BookEmployeeID:
type: string
Date:
type: string
format: YYYY-MM-DD
Time:
$ref: '#/components/schemas/Time'
OptionDate:
type: string
format: YYYY-MM-DD
Status:
$ref: '#/components/schemas/Status'
BookInfo:
$ref: '#/components/schemas/BookInfo'
Responsibilities:
$ref: '#/components/schemas/Responsibilities'
required:
- BookID
- Date
- Time
- Status
- OptionDate
PointType:
type: string
enum:
- IATAcode
- Postcode
- Internal
- ANVRLandStreek
xml:
attribute: true
MutationType:
type: string
enum:
- Deletion
- Mutation
- New
- Reset
AvailabilityResponseTree:
type: object
title: Travelmessage (AvailabilityResponse)
xml:
name: TravelMessage
allOf:
- $ref: '#/components/schemas/TravelMessage'
properties:
TResponse:
type: object
title: TResponse
properties:
Transport:
type: array
title: Transport
items:
$ref: '#/components/schemas/Transport'
Accommodation:
type: array
title: Accommodation
items:
$ref: '#/components/schemas/Accommodation'
AdditionalProducts:
$ref: '#/components/schemas/AdditionalProducts'
Messages:
type: array
title: Messages
items:
$ref: '#/components/schemas/Messages'
BookInfo:
type: object
properties:
InvoiceID:
type: string
InvoiceDate:
type: string
format: YYYY-MM-DD
InvoiceStatus:
type: string
TravelDocumentsStatus:
type: string
Carrier:
type: object
properties:
CarrierID:
type: string
Description:
type: string
FlightNumber:
type: string
Stopovers:
type: object
properties:
NumberOfStops:
type: number
xml:
attribute: true
Stop:
type: object
properties:
Index:
type: number
xml:
attribute: true
Arrival:
allOf:
- $ref: '#/components/schemas/DateAndTime'
required:
- Date
Departure:
allOf:
- $ref: '#/components/schemas/DateAndTime'
required:
- Date
Point:
$ref: '#/components/schemas/Point'
Checkin:
$ref: '#/components/schemas/YesNoValue'
LeaveFlight:
$ref: '#/components/schemas/YesNoValue'
required:
- NumberOfStops
required:
- CarrierID
- Stopovers
APAssignment:
type: object
properties:
ExtrasAssignment:
type: array
title: ExtrasAssignment
items:
$ref: '#/components/schemas/ExtrasAssignment'
TRentalAssignment:
type: array
title: TRentalAssignment
items:
$ref: '#/components/schemas/TRentalAssignment'
AccommodationType:
type: string
enum:
- alb
- apo
- app
- bnb
- bng
- bry
- cam
- car
- cha
- cpr
- cru
- est
- ghf
- gue
- hos
- hot
- hui
- kas
- mai
- mot
- pen
- pou
- res
- rh
- ron
- sch
- tnt
- vak
- vil
- wng
- ALB
- APO
- APP
- BNB
- BNG
- BRY
- CAM
- CAR
- CHA
- CPR
- CRU
- EST
- GHF
- GUE
- HOS
- HOT
- HUI
# --- truncated at 32 KB (210 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tui-group/refs/heads/main/openapi/tui-group-travelmessage-api-openapi.yml