openapi: 3.0.3 info: title: TUI Cruise Price and Availability. description: These APIs returns price and availability for given search criteria version: "1.0" contact: email: cruise-api-support@TUIGroup.onmicrosoft.com name: "Cruise API Support" x-header: | This APIs returns cruises prices and availability for given search criteria. x-summary: | This API returns range of availability and pricing information that is specific to the search criteria. This API returns offer details and pricing information for a specific itinerary, date range, and duration. This API returns availability and pricing information for alternate cabins and boards. This API returns availability and pricing information of alternative flights for a specific cruise package. This API returns availability and pricing information of alternative stay variants for a specific cruise package. servers: - url: https://prod.api.tui/cruisepriceresults paths: /v1/cruises/offers: post: tags: - "Cruise Search" summary: |- API to get the price and availability description: > The purpose of this API is to offer users a comprehensive range of availability and pricing information that is specific to their search criteria requirements. This includes details such as departure points, destinations, date range, duration, and passenger numbers. operationId: getCruisePackagePrices parameters: - name: "x-Trace-Id" in: header required: true description: End to end tracing ID, can be any string schema: type: string pattern: ^[A-Za-z0-9]{10,15}$ example: OQ9Eu77laT - name: "env" in: header required: false description: A unique environment identifier for request to retrieve from correct ngs instance schema: type: string example: dev,test requestBody: content: application/json: schema: $ref: "#/components/schemas/CruiseOffersRequest" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CruiseHolidays" "400": description: Invalid input parameters content: application/problem+json: schema: $ref: "#/components/schemas/ValidationProblem" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/Problem" "404": description: Not Found content: application/json: schema: $ref: "#/components/schemas/Problem" "500": description: Internal server error content: application/problem+json: schema: $ref: "#/components/schemas/Problem" "502": description: Bad Gateway content: application/problem+json: schema: $ref: "#/components/schemas/Problem" "504": description: Gateway Timed Out content: application/problem+json: schema: $ref: "#/components/schemas/Problem" default: description: Unexpected error content: application/problem+json: schema: $ref: "#/components/schemas/Problem" /v1/cruises/unique/offer: post: tags: - "Cruise Unique Search" summary: |- API to get the price and availability of unique cruise description: > This API has been developed to provide users with a comprehensive check of the availability and pricing information for a specific itinerary, date range, and duration. It allows users to provide details of a single cruise holiday package, including sailing, flight, and stay information, and returns the pricing and availability of the same package. This API is particularly useful for verifying a selected package from the Offers API, ensuring that users have all the necessary information before making a decision. operationId: getUniqueCruisePackagePrices parameters: - name: "x-Trace-Id" in: header required: true description: End to end tracing ID, can be any string schema: type: string pattern: ^[A-Za-z0-9]{10,15}$ example: OQ9Eu77laT - name: "env" in: header required: false description: A unique environment identifier for request to retrieve from correct ngs instance schema: type: string example: dev,test requestBody: content: application/json: schema: $ref: "#/components/schemas/CruiseUniqueRequest" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CruiseOffers" "400": description: Invalid input parameters content: application/problem+json: schema: $ref: "#/components/schemas/ValidationProblem" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/Problem" "404": description: Not Found content: application/json: schema: $ref: "#/components/schemas/Problem" "500": description: Internal server error content: application/problem+json: schema: $ref: "#/components/schemas/Problem" "502": description: Bad Gateway content: application/problem+json: schema: $ref: "#/components/schemas/Problem" "504": description: Gateway Timed Out content: application/problem+json: schema: $ref: "#/components/schemas/Problem" default: description: Unexpected error content: application/problem+json: schema: $ref: "#/components/schemas/Problem" /v1/cruises/cabin-board-variants: post: tags: - "Cruise Alternate Cabin and Board Search" summary: |- API to get the alternate cabin and boards description: > This API is designed to retrieve the availability and pricing information for alternate cabins based on the itinerary, date range, and duration provided. It's important to note that the API is unable to handle more than one cabin at a time. Therefore, if you want to request alternate cabins for multiple cabins, you must make separate requests for each cabin allocation. For instance, if you select two cabins, you need to make two separate requests, one for each cabin. operationId: getAlternateCabinAndBoards parameters: - name: "x-Trace-Id" in: header required: true description: End to end tracing ID, can be any string schema: type: string pattern: ^[A-Za-z0-9]{10,15}$ example: OQ9Eu77laT - name: "env" in: header required: false description: A unique environment identifier for request to retrieve from correct ngs instance schema: type: string example: dev,test requestBody: content: application/json: schema: $ref: "#/components/schemas/CruiseUniqueRequest" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CruiseAlternateCabinAndBoardOffers" "400": description: Invalid input parameters content: application/problem+json: schema: $ref: "#/components/schemas/ValidationProblem" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/Problem" "404": description: Not Found content: application/json: schema: $ref: "#/components/schemas/Problem" "500": description: Internal server error content: application/problem+json: schema: $ref: "#/components/schemas/Problem" "502": description: Bad Gateway content: application/problem+json: schema: $ref: "#/components/schemas/Problem" "504": description: Gateway Timed Out content: application/problem+json: schema: $ref: "#/components/schemas/Problem" default: description: Unexpected error content: application/problem+json: schema: $ref: "#/components/schemas/Problem" /v1/cruises/flight-variants: post: tags: - "Cruise Alternate Flight Variant Search" summary: |- API to get alternate flight variant for the selected packages description: > This API is designed to retrieve information on the availability and pricing of alternative flights for a specific cruise package. It allows users to input details of a single cruise holiday package, including sailing, flight, and stay information. In return, users receive details on the pricing and availability of alternative flight packages. operationId: getAlternateFlightVariants parameters: - name: "x-Trace-Id" in: header required: true description: End to end tracing ID, can be any string schema: type: string pattern: ^[A-Za-z0-9]{10,15}$ example: OQ9Eu77laT - name: "env" in: header required: false description: A unique environment identifier for request to retrieve from correct ngs instance schema: type: string example: dev,test requestBody: content: application/json: schema: $ref: "#/components/schemas/CruiseFlightVariantRequest" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CruiseFlightVariants" "400": description: Invalid input parameters content: application/problem+json: schema: $ref: "#/components/schemas/ValidationProblem" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/Problem" "404": description: Not Found content: application/json: schema: $ref: "#/components/schemas/Problem" "500": description: Internal server error content: application/problem+json: schema: $ref: "#/components/schemas/Problem" "502": description: Bad Gateway content: application/problem+json: schema: $ref: "#/components/schemas/Problem" "504": description: Gateway Timed Out content: application/problem+json: schema: $ref: "#/components/schemas/Problem" default: description: Unexpected error content: application/problem+json: schema: $ref: "#/components/schemas/Problem" /v1/cruises/stay-variants: post: tags: - "Cruise Alternate Stay Variant Search" summary: |- API to get alternate stay variant for the selected packages description: > This API is designed to retrieve information on the availability and pricing of alternative flights for a specific cruise package. It allows users to input details of a single cruise holiday package, including sailing, flight, and stay information. In return, users receive details on the pricing and availability of alternative stay packages. operationId: getAlternateStayVariants parameters: - name: "x-Trace-Id" in: header required: true description: End to end tracing ID, can be any string schema: type: string pattern: ^[A-Za-z0-9]{10,15}$ example: OQ9Eu77laT - name: "env" in: header required: false description: A unique environment identifier for request to retrieve from correct ngs instance schema: type: string example: dev,test requestBody: content: application/json: schema: $ref: "#/components/schemas/CruiseStayOfferRequest" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CruiseStayVariants" "400": description: Invalid input parameters content: application/problem+json: schema: $ref: "#/components/schemas/ValidationProblem" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/Problem" "404": description: Not Found content: application/json: schema: $ref: "#/components/schemas/Problem" "500": description: Internal server error content: application/problem+json: schema: $ref: "#/components/schemas/Problem" "502": description: Bad Gateway content: application/problem+json: schema: $ref: "#/components/schemas/Problem" "504": description: Gateway Timed Out content: application/problem+json: schema: $ref: "#/components/schemas/Problem" default: description: Unexpected error content: application/problem+json: schema: $ref: "#/components/schemas/Problem" /v1/cruises/stay-upsell-options: post: tags: - "Cruise Add a stay" summary: |- API to cross-sell stay for the selected packages description: > This API is designed to cross-sell stay for cruise types, for e.g. provide stay for cruise packages and provide alternate stays for cruise & stay packages. operationId: addAStay parameters: - name: "x-Trace-Id" in: header required: true description: End to end tracing ID, can be any string schema: type: string pattern: ^[A-Za-z0-9]{10,15}$ example: OQ9Eu77laT - name: "env" in: header required: false description: A unique environment identifier for request to retrieve from correct ngs instance schema: type: string example: dev,test requestBody: content: application/json: schema: $ref: "#/components/schemas/CruiseStayUpsellOfferRequest" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CruiseStayUpsellOfferResponse" "400": description: Invalid input parameters content: application/problem+json: schema: $ref: "#/components/schemas/ValidationProblem" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/Problem" "404": description: Not Found content: application/json: schema: $ref: "#/components/schemas/Problem" "500": description: Internal server error content: application/problem+json: schema: $ref: "#/components/schemas/Problem" "502": description: Bad Gateway content: application/problem+json: schema: $ref: "#/components/schemas/Problem" "504": description: Gateway Timed Out content: application/problem+json: schema: $ref: "#/components/schemas/Problem" default: description: Unexpected error content: application/problem+json: schema: $ref: "#/components/schemas/Problem" components: schemas: CruiseOffersRequest: type: object required: - metaInformation - departureAirports - dateRange - cruiseDuration - travellers properties: metaInformation: $ref: "#/components/schemas/MetaInformation" departureAirports: $ref: "#/components/schemas/Airports" to: $ref: "#/components/schemas/Destinations" cruiseDuration: title: Cruise sailing duration in number of nights type: integer format: int32 example: 7 stayDuration: $ref: "#/components/schemas/StayDuration" dateRange: $ref: "#/components/schemas/DateRange" travellers: type: array items: $ref: "#/components/schemas/Traveller" cabins: $ref: "#/components/schemas/Cabins" resultsPerPage: type: integer format: int32 minimum: 1 maximum: 10 pageNumber: type: integer format: int32 minimum: 1 filters: type: object properties: cruiseDestinations: type: array description: Cruise sailing geo location codes items: type: string example: - "000373" - "L25003" stayLocations: type: array description: Accommodation geo location codes items: type: string example: - "000691" - HRV ships: type: array description: Ship codes items: type: string example: - "150012" - "150013" departurePoints: type: array description: Departure points/airport/port codes items: $ref: "#/components/schemas/Point" example: - code: LGW type: AIRPORT date: type: string description: Departure date pattern: '^\d{4}-\d{2}-\d{2}$' example: 2024-07-01 boardBasis: type: array description: Board basis codes items: type: string example: - "AI" - "PI" price: type: object description: Selected price required: - level - type - value properties: level: $ref: "#/components/schemas/PriceLevel" type: $ref: "#/components/schemas/PriceType" value: type: number example: 1500 sortId: title: Sorting the search responsse description: Lists all available sort id.cruiseDateAscending is the default type: string enum: - DATE_ASCENDING - DATE_DESCENDING - PRICE_ASCENDING - PRICE_DESCENDING additionalProperties: false CruiseFlightVariantRequest: type: object required: - metaInformation - departureAirports - offer properties: metaInformation: $ref: "#/components/schemas/MetaInformation" departureAirports: $ref: "#/components/schemas/Airports" description: Departure airports to get the alternate flights including the selected package departure airport. offer: $ref: "#/components/schemas/CruiseOfferRequest" additionalProperties: false CruiseUniqueRequest: type: object required: - metaInformation - offer properties: metaInformation: $ref: "#/components/schemas/MetaInformation" offer: $ref: "#/components/schemas/CruiseOfferRequest" additionalProperties: false CruiseStayOfferRequest: type: object required: - metaInformation - offer properties: metaInformation: $ref: "#/components/schemas/MetaInformation" offer: $ref: "#/components/schemas/CruiseOfferRequestV2" additionalProperties: false CruiseOfferRequest: type: object required: - type - cruise - travellers properties: type: $ref: "#/components/schemas/CruiseType" offerGroup: $ref: "#/components/schemas/OfferGroupRequest" description: The offer group is applicable only for the offer type FLY_CRUISEANDSTAY, FLY_STAYANDCRUISE and FLY_BACKTOBACK cruise: $ref: "#/components/schemas/CruiseRequest" stay: $ref: "#/components/schemas/StayRequest" flight: type: array items: $ref: "#/components/schemas/FlightRequest" travellers: type: array items: $ref: "#/components/schemas/Traveller" additionalProperties: false CruiseOfferRequestV2: type: object required: - type - cruise - stay - flight - travellers properties: type: $ref: "#/components/schemas/CruiseType" offerGroup: $ref: "#/components/schemas/OfferGroupRequest" description: The offer group is applicable only for the offer type FLY_CRUISEANDSTAY, FLY_STAYANDCRUISE and FLY_BACKTOBACK cruise: $ref: "#/components/schemas/CruiseRequest" stay: $ref: "#/components/schemas/StayRequest" flight: type: array items: $ref: "#/components/schemas/FlightRequest" travellers: type: array items: $ref: "#/components/schemas/Traveller" additionalProperties: false CruiseAlternateCabinAndBoardOffers: title: Cruise alternate cabin and board offers type: object properties: type: $ref: "#/components/schemas/CruiseType" offerGroup: $ref: "#/components/schemas/OfferGroup" description: The offer group is applicable only for the offer type FLY_CRUISEANDSTAY, FLY_STAYANDCRUISE and FLY_BACKTOBACK cruise: $ref: "#/components/schemas/CruiseV2" stay: type: array items: $ref: "#/components/schemas/StayResponse" flights: type: array items: $ref: "#/components/schemas/FlightResponse" additionalProperties: false extras: type: array items: $ref: "#/components/schemas/Extras" CruiseStayUpsellOfferRequest: type: object required: - metaInformation - offer properties: metaInformation: $ref: "#/components/schemas/MetaInformation" offer: $ref: "#/components/schemas/CruiseStayUpsellRequest" alternateStayDurations: description: Used to send the required alt stay duration data type: array items: type: integer CruiseStayUpsellRequest: type: object required: - type - cruise - travellers properties: type: $ref: "#/components/schemas/CruiseType" offerGroup: $ref: "#/components/schemas/OfferGroupRequest" description: The offer group is applicable only for the offer type FLY_CRUISEANDSTAY, FLY_STAYANDCRUISE and FLY_BACKTOBACK cruise: $ref: "#/components/schemas/CruiseRequest" stay: $ref: "#/components/schemas/StayRequest" flight: type: array items: $ref: "#/components/schemas/FlightRequest" travellers: type: array items: $ref: "#/components/schemas/Traveller" additionalProperties: false MetaInformation: title: MetaInformation description: Details of requester who wants to use this API required: - locale - market - brand - channel - medium - currency type: object properties: locale: type: string example: en_GB market: type: string example: GB brand: type: string example: MARELLA_UK channel: type: string example: B2B medium: type: string example: WEB agent: type: string example: "T|MARCR" description: "Agent identifier in format T|XXXX where XXXX is the agent code. Examples include: T|MARCR, T|J0332, T|RIVER" currency: type: string example: GBP additionalProperties: false Destinations: title: List of cruise areas or itnierary ids type: array minItems: 0 maxItems: 20 items: type: object required: - id - type properties: id: type: string pattern: ^[A-Za-z0-9]+$ example: "101290" description: The cruise areas are specific region and has multiple itineraries sailing. For example - L34381 cruise area has the 101426, 101425 and 101436 itineraries type: type: string enum: - ITINERARY - CRUISEAREA - COUNTRY additionalProperties: false CruiseRequest: type: object required: - id - duration - sailingDate - sailing properties: id: type: string description: Cruise Id duration: title: Cruise sailing duration in number of nights type: integer format: int32 example: 7 sailingDate: type: string description: Cruise sailing start date. Stay start date for STAYBEFORECRUISE example: "2024-12-25" sailing: type: array items: type: object required: - id - sourceCode - itinerary - departurePoint - arrivalPoint - cabinBoard properties: id: type: string example: XXXX0005/119 sourceCode: type: string example: XXXX0029/011 description: Atcom cruise code itinerary: $ref: "#/components/schemas/Itinerary" departurePoint: $ref: "#/components/schemas/Point" arrivalPoint: $ref: "#/components/schemas/Point" cabinBoard: type: array items: type: object required: - cabinSequenceNumber - cabinType - boardType - travellerIds properties: cabinSequenceNumber: type: integer description: Cabin sequence number start from 1 and increments by 1 minimum: 1 maximum: 5 format: int32 example: 1 cabinType: type: string example: ZI01 boardType: type: string example: AI travellerIds: type: array items: type: integer format: int32 example: [2, 3] ship: $ref: "#/components/schemas/Ship" StayRequest: type: object required: - id - code - sourceCode - duration - roomBoard properties: id: type: string example: 1176987100/3 code: type: string example: "9929" sourceCode: type: string example: ESMJ0004 duration: $ref: "#/components/schemas/StayDuration" roomBoard: type: array items: type: object required: - roomSequenceNumber - roomType - boardType - travellerIds properties: roomSequenceNumber: type: integer description: Cabin sequence number start from 1 and increments by 1 minimum: 1 maximum: 5 format: int32 example: 1 roomType: type: string example: ZI01 boardType: type: string example: AI travellerIds: type: array items: type: integer format: int32 example: [2, 3] StayDuration: title: Stay Duration type: object required: - numberOfNights - stayOrder properties: numberOfNights: title: Number of nights type: integer format: int32 example: 5 description: Number of nights stay in before or after cruise stayOrder: title: Stay order type: string enum: - STAYAFTERCRUISE - STAYBEFORECRUISE description: The stay order before or after cruise additionalProperties: false description: Stay is available only for the 7 days cruise sailing duration FlightRequest: type: object required: - id - routeCode - directions properties: id: type: string example: 4461763247/5111314 routeCode: type: string example: PMILTN6ALTNPMI directions: type: array items: type: object required: - id - direction - segments properties: id: type: string example: "1" direction: $ref: "#/components/schemas/DirectionType" example: OUTBOUND segments: type: array items: type: object required: - id - departureAirport properties: id: type: string example: "1" departureAirport: type: string example: LGW Filter: title: Filter type: object required: - code properties: code: type: string name: type: string type: type: string numberOfResults: type: integer DateRange: title: Start and End Date of the search criteria type: object required: - from - to properties: from: type: string description: Journey start date pattern: '^\d{4}-\d{2}-\d{2}$' example: "2024-12-25" to: type: string description: Journey end date pattern: '^\d{4}-\d{2}-\d{2}$' example: "2024-12-25" additionalProperties: false description: The maximum date range allowed for the search is three months TravellerType: title: Traveller types type: string enum: - ADULT - CHILD - INFANT Traveller: title: Traveller required: - id - type type: object properties: id: type: integer format: int32 example: 1 type: $ref: "#/components/schemas/PersonType" age: type: integer format: int32 example: 30 description: Default adult age will be 30 and child age as entered in the form Occupancy: title: Occupancy required: - adult - child type: object properties: adult: type: integer example: 1 child: type: integer example: 1 infant: type: integer example: 0 Cabins: type: array items: type: object required: - cabinSequenceNumber - travellerIds properties: cabinSequenceNumber: type: integer description: Cabin sequence number start from 1 and increments by 1 minimum: 1 maximum: 5 format: int32 travellerIds: type: array items: type: integer format: int32 example: [2, 3] additionalProperties: false CruiseHolidays: type: object required: - totalNumberOfResults - resultsPerPage - pageNumber - offers properties: resultsPerPage: type: integer format: int32 pageNumber: type: integer format: int32 numberOfPages: type: integer format: int32 totalNumberOfResults: type: integer format: int32 filters: type: object properties: cruiseDestinations: type: array description: Cruise sailing geo location details items: $ref: "#/components/schemas/Filter" example: - code: "000373" name: Barcelona,Spain numberOfResults: 2 - code: "L25003" name: Chania area,Greece numberOfResults: 2 stayLocations: type: array description: Accommodation geo location details items: $ref: "#/components/schemas/Filter" example: - code: "000691" name: Corfu numberOfResults: 3 - code: "HRV" name: Croatia numberOfResults: 3 ships: type: array description: Ship details items: $ref: "#/components/schemas/Filter" example: - code: "150012" name: Marella Discovery numberOfResults: 3 - code: "150013" name: Marella Discovery 2 numberOfResults: 3 departurePoints: type: array description: Departure points/airports/ports items: $ref: "#/components/schemas/Filter" example: - code: LGW type: AIRPORT - code: LTN type: AIRPORT availableDates: type: array description: Package available dates items: $ref: "#/components/schemas/Filter" example: - code: 2024-07-01 - code: 2024-07-02 boardBasis: type: array description: Board basis items: $ref: "#/components/schemas/Filter" example: - code: AI - code: PI prices: type: array description: Minimum/maximum total price and price per person items: $ref: "#/components/schemas/PriceFilter" example: - level: SAILING type: PER_PAX category: NET minimumValue: 991.85 maximumValue: 1991.85 - level: SAILING type: PER_BOOKING category: NET minimumValue: 1991.85 maximumValue: 2991.85 offers: type: array items: $ref: "#/components/schemas/CruiseOffers" additionalProperties: false CruiseOffers: type: object required: - type - cruise properties: type: $ref: "#/components/schemas/CruiseType" offerGroup: $ref: "#/components/schemas/OfferGroup" description: The offer group is applicable only for the offer type FLY_CRUISEANDSTAY, FLY_STAYANDCRUISE and FLY_BACKTOBACK cruise: $ref: "#/components/schemas/CruiseResponse" stay: type: array items: $ref: "#/components/schemas/StayResponse" flights: type: array items: $ref: "#/components/schemas/FlightResponse" additionalProperties: false extras: type: array items: $ref: "#/components/schemas/Extras" prices: type: array items: $ref: "#/components/schemas/PriceDetail" example: - breakdowns: - fare: - level: HOLIDAY type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 299.4 travellers: - id: "1" - id: "2" discount: - level: HOLIDAY type: PER_PAX category: DISCOUNT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: DISCOUNT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" deposit: - level: HOLIDAY type: PER_PAX category: LOW_DEPOSIT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: LOW_DEPOSIT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" total: - level: HOLIDAY type: PER_PAX category: NET value: 1984.969 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 1984.96 travellers: - id: "1" - id: "2" total: - level: HOLIDAY type: PER_BOOKING category: NET value: 1984.96 travellers: - id: "1" - id: "2" bookingUrl: type: string example: "https://www.tui.co.uk/cruise/bookitineraries/Aegean-Jewels-101695?itineraryCodeOne=101695&itineraryCodeTwo=&shipCode=150012&mc=true&isMCTracs=false&isStayBefore=false&stayDuration=4&cruiseDuration=7&duration=1-7&noOfAdults=2&noOfChildren=0&childrenAge=&from[]=LGW:Airport|LHR:Airport|LTN:Airport|SEN:Airport|STN:Airport&flexibility=true&noOfSeniors=0&when=01-07-2024&sailingDate=01Jul24&to[]=L34373:CRUISEAREA|L34381:CRUISEAREA&packageId=17198100000001719831300000TOM61817208240000001720832100000TOM51910144544790036951014459798411719788400000ZO04DD01&index=1&brandType=null&addAStay=4:CS&cabin[]=1,2&dp=STN&bb=AI&cabinOnly=false&room=&isAtcomMc=true&tra_i=4353771148/4925616&tra_o=4356257919/4925615&mcId=101445|T&searchVariant=CRUISE_STAY_ATCOM" CruiseFlightVariants: title: Cruise flight variants type: object properties: offers: type: array items: $ref: "#/components/schemas/CruiseOffers" CruiseStayVariants: title: Stay variants for the selected cruise type: object properties: type: $ref: "#/components/schemas/CruiseType" cruise: $ref: "#/components/schemas/CruiseResponse" stayVariants: type: array items: properties: offerGroup: $ref: "#/components/schemas/OfferGroup" description: The offer group is applicable only for the offer type FLY_CRUISEANDSTAY, FLY_STAYANDCRUISE and FLY_BACKTOBACK stay: type: array items: $ref: "#/components/schemas/StayResponse" prices: type: array items: $ref: "#/components/schemas/PriceDetail" example: - breakdowns: - fare: - level: HOLIDAY type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 299.4 travellers: - id: "1" - id: "2" discount: - level: HOLIDAY type: PER_PAX category: DISCOUNT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: DISCOUNT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" deposit: - level: HOLIDAY type: PER_PAX category: LOW_DEPOSIT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: LOW_DEPOSIT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" total: - level: HOLIDAY type: PER_PAX category: NET value: 1984.969 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 1984.96 travellers: - id: "1" - id: "2" total: - level: HOLIDAY type: PER_BOOKING category: NET value: 5954.89 travellers: - id: "1" - id: "2" flights: type: array items: $ref: "#/components/schemas/FlightResponse" additionalProperties: false extras: type: array items: $ref: "#/components/schemas/Extras" CruiseType: title: Cruise Type type: string enum: - FLY_CRUISE - FLY_CRUISEANDSTAY - FLY_STAYANDCRUISE - FLY_BACKTOBACK_CRUISE - CRUISE_ONLY FlightResponse: title: Flight required: - id - directions - travellers type: object properties: id: type: string example: 1317590995/4653275 routeCode: type: string example: TFSLTN5ALTNTFS directions: type: array items: $ref: "#/components/schemas/Direction" description: "" travellers: type: array items: $ref: "#/components/schemas/Traveller" description: "" totalPrice: allOf: - $ref: "#/components/schemas/SeenPrice" example: id: "1" routeCode: TFSLTN5ALTNTFS directions: - id: "1" type: OUTBOUND segments: - id: "1" operatingCarrier: TB marketingCarrier: TB flightNo: "1114" departurePoint: code: LGW arrivalPoint: code: PMI departureDate: 2023-10-11 departureTime: 09:45:00 arrivalDate: 2023-10-11 arrivalTime: 12:35:00 sectors: - departureAirport: code: LGW departureDate: 2023-10-11 departureTime: 09:45:00 arrivalAirport: code: PMI arrivalDate: 2023-10-11 arrivalTime: 12:35:00 sourceInformation: category: CONTRACTED system: NewSkies journeyKey: string travellers: - id: 1 type: ADULT - id: 2 type: ADULT - id: 3 type: CHILD - id: 4 type: CHILD CruiseStayUpsellOfferResponse: title: Add a stay data for the selected cruise type: object required: - offers properties: cruise: $ref: "#/components/schemas/CruiseRequest" stayUpsellOffers: type: array items: $ref: "#/components/schemas/StayUpsellOffers" StayUpsellOffers: type: object required: - type - stay properties: type: $ref: "#/components/schemas/CruiseType" offerGroup: $ref: "#/components/schemas/OfferGroup" description: The offer group is applicable only for the offer type FLY_CRUISEANDSTAY, FLY_STAYANDCRUISE and FLY_BACKTOBACK stay: type: array items: $ref: "#/components/schemas/StayResponse" flights: type: array items: $ref: "#/components/schemas/FlightResponse" prices: type: array items: $ref: "#/components/schemas/PriceDetail" example: - breakdowns: - fare: - level: HOLIDAY type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 299.4 travellers: - id: "1" - id: "2" discount: - level: HOLIDAY type: PER_PAX category: DISCOUNT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: DISCOUNT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" deposit: - level: HOLIDAY type: PER_PAX category: LOW_DEPOSIT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: LOW_DEPOSIT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" total: - level: HOLIDAY type: PER_PAX category: NET value: 1984.969 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 1984.96 travellers: - id: "1" - id: "2" total: - level: HOLIDAY type: PER_BOOKING category: NET value: 1984.96 travellers: - id: "1" - id: "2" CruiseStayOffers: type: object required: - type - cruise properties: type: $ref: "#/components/schemas/CruiseType" offerGroup: $ref: "#/components/schemas/OfferGroup" description: The offer group is applicable only for the offer type FLY_CRUISEANDSTAY, FLY_STAYANDCRUISE and FLY_BACKTOBACK cruise: $ref: "#/components/schemas/CruiseResponse" stay: type: array items: $ref: "#/components/schemas/StayResponse" flights: type: array items: $ref: "#/components/schemas/FlightResponse" additionalProperties: false extras: type: array items: $ref: "#/components/schemas/Extras" prices: type: array items: $ref: "#/components/schemas/PriceDetail" example: - breakdowns: - fare: - level: HOLIDAY type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 299.4 travellers: - id: "1" - id: "2" discount: - level: HOLIDAY type: PER_PAX category: DISCOUNT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: DISCOUNT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" deposit: - level: HOLIDAY type: PER_PAX category: LOW_DEPOSIT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: LOW_DEPOSIT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" total: - level: HOLIDAY type: PER_PAX category: NET value: 1984.969 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 1984.96 travellers: - id: "1" - id: "2" total: - level: HOLIDAY type: PER_BOOKING category: NET value: 1984.96 travellers: - id: "1" - id: "2" Segment: title: Segment required: - id - departurePoint - arrivalPoint - departureDate - departureTime - arrivalDate - arrivalTime type: object properties: id: type: string example: "1" operatingCarrier: type: string example: TB marketingCarrier: type: string example: TB flightNo: type: string example: "1114" departurePoint: allOf: - $ref: "#/components/schemas/Point" - example: - code: LGW arrivalPoint: allOf: - $ref: "#/components/schemas/Point" - example: - code: PMI departureDate: type: string example: "2023-10-11" departureTime: type: string format: time example: "09:45:00" arrivalDate: type: string example: "2023-10-11" arrivalTime: type: string format: time example: "12:35:00" sectors: type: array items: $ref: "#/components/schemas/Sector" description: "" example: - departureAirport: code: code departureDate: "2023-10-11" departureTime: "09:45:00" arrivalAirport: code: PMI arrivalDate: "2023-10-11" arrivalTime: "12:35:00" Sector: title: Sector required: - departureAirport - departureDate - departureTime - arrivalAirport - arrivalDate - arrivalTime type: object properties: departureAirport: allOf: - $ref: "#/components/schemas/Point" - example: - code: LGW departureDate: type: string example: "2023-10-11" departureTime: type: string format: time example: "09:45:00" arrivalAirport: allOf: - $ref: "#/components/schemas/Point" - example: - code: PMI arrivalDate: type: string example: "2023-10-11" arrivalTime: type: string format: time example: "12:35:00" SpecialServiceRequest: type: object properties: code: type: string example: POPM category: $ref: "#/components/schemas/OptionType" travellers: type: array items: $ref: "#/components/schemas/TravellerRef" minItems: 1 prices: type: array items: $ref: "#/components/schemas/PriceDetail" required: - category - travellers - prices Point: type: object properties: code: type: string name: type: string type: $ref: "#/components/schemas/PointType" PointType: type: string example: "PORT" enum: - HOTEL - AIRPORT - PORT - POI - RESORT - CITY - DESTINATION - REGION - COUNTRY - CONTINENT OptionType: type: string enum: - BAGGAGE - SEATS - MEALS - ASSISTANCE - SPORTS - ANIMALS - CABINS TravellerRef: type: object properties: id: type: string example: "1" type: $ref: "#/components/schemas/PersonType" required: - id PersonType: type: string enum: - ADULT - CHILD - INFANT SourceInformation: title: SourceInformation required: - category type: object properties: category: type: string example: CONTRACTED system: type: string example: NewSkies journeyKey: type: string example: string PriceDetail: title: PriceDetail required: - total type: object properties: breakdowns: type: array items: $ref: "#/components/schemas/PriceBreakdown" description: "" example: - fare: - level: DIRECTION type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" tax: - level: DIRECTION type: PER_PAX category: AIRPORT_TAX code: BE2 value: 0.27 travellers: - id: "1" total: - level: DIRECTION type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" - id: "2" bookingFee: type: array default: [] items: $ref: "#/components/schemas/BookingFee" total: type: array items: $ref: "#/components/schemas/Price" description: "" example: - level: DIRECTION category: GROSS value: 99.4 travellers: - id: "1" - id: "2" PriceBreakdown: title: PriceBreakdown required: - total type: object properties: fare: type: array items: $ref: "#/components/schemas/Price" description: "" example: - level: DIRECTION type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" tax: type: array items: $ref: "#/components/schemas/Price" description: "" example: - level: DIRECTION type: PER_PAX category: AIRPORT_TAX code: BE2 value: 0.27 travellers: - id: "1" - id: "2" discount: type: array items: $ref: "#/components/schemas/Price" description: "" example: - level: ROOM type: PER_PAX category: NET value: 0.27 travellers: - id: "1" - id: "2" fee: type: array items: $ref: "#/components/schemas/Price" description: "" example: - level: DIRECTION type: PER_PAX category: NET code: BE2 value: 0.27 travellers: - id: "1" - id: "2" deposit: type: array items: $ref: "#/components/schemas/Price" description: "" example: - level: SAILING type: PER_PAX category: NET code: BE2 value: 0.27 travellers: - id: "1" - id: "2" total: type: array items: $ref: "#/components/schemas/Price" description: "" BookingFee: type: object properties: prices: type: array default: [] items: $ref: "#/components/schemas/Price" total: type: array default: [] items: $ref: "#/components/schemas/Price" Price: type: object required: - value properties: code: type: string type: $ref: "#/components/schemas/PriceType" category: $ref: "#/components/schemas/PriceCategory" level: $ref: "#/components/schemas/PriceLevel" value: type: number example: 100.00000000000000 amount: $ref: "#/components/schemas/Money" travellers: type: array default: [] items: $ref: "#/components/schemas/TravellerRef" PriceFilter: type: object required: - level - type - category - minimumValue - maximumValue properties: level: $ref: "#/components/schemas/PriceLevel" type: $ref: "#/components/schemas/PriceType" category: $ref: "#/components/schemas/PriceCategory" minimumValue: type: number example: 100.99 maximumValue: type: number example: 2000.99 PriceType: type: string example: PER_PAX enum: - PER_ADULT - PER_CHILD - PER_PAX - PER_BOOKING - PER_INFANT PriceCategory: type: string example: NET enum: - NET - TAX - GROSS - BASE_PRICE - AIRPORT_TAX - EARLY_BIRD_DISCOUNT - DISCOUNT - LOW_DEPOSIT - STANDARD_DEPOSIT PriceLevel: type: string example: SAILING enum: - DIRECTION - FLIGHT - HOLIDAY - ROOM - BOARD - ROOM_AND_BOARD - CABIN - CABIN_AND_BOARD - SAILING - OFFER_GROUP Direction: title: Direction required: - id - type - segments type: object properties: id: type: string example: string type: $ref: "#/components/schemas/DirectionType" example: - OUTBOUND supplier: allOf: - $ref: "#/components/schemas/Supplier" - example: - code: string segments: type: array items: $ref: "#/components/schemas/Segment" description: "" example: - id: string departurePoint: code: PMI type: AIRPORT arrivalPoint: code: A123S countryCode: string type: RESORT departureDate: 2023-06-07 departureTime: 09:45:00 arrivalDate: 2023-06-07 arrivalTime: 10:45:00 sourceInformation: allOf: - $ref: "#/components/schemas/SourceInformation" - example: - category: CONTRACTED system: ASTERIX prices: type: array items: $ref: "#/components/schemas/PriceDetail" description: "" example: - breakdowns: - fare: - level: DIRECTION type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" fee: - level: DIRECTION type: PER_PAX category: AIRPORT_TAX code: BE2 value: 0.27 travellers: - id: "1" - id: "2" total: - level: DIRECTION type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" - id: "2" - fare: - level: DIRECTION type: PER_CHILD category: NET value: 99.4 travellers: - id: "3" - id: "4" fee: - level: DIRECTION type: PER_CHILD category: NET code: BE2 value: 0.27 travellers: - id: "3" - id: "4" total: - level: DIRECTION type: PER_CHILD category: GROSS value: 109.99 travellers: - id: "3" - id: "4" total: - level: DIRECTION category: GROSS value: 99.4 travellers: - id: "1" - id: "2" DirectionType: type: string example: INBOUND enum: - INBOUND - OUTBOUND - ONEWAY - ROUNDTRIP Supplier: title: Supplier required: - code type: object properties: code: type: string example: string CruiseV2: type: object description: Cruise details properties: id: type: string example: "101088" sailings: type: array items: $ref: "#/components/schemas/SailingV2" cabinBoardVariants: type: array items: type: object properties: cabin: type: string example: ZI01 availability: type: integer example: 5 cabinBoardRate: type: array items: $ref: "#/components/schemas/CabinBoardRate" example: - cabinType: ZI01 boardType: AI termsConditions: CNX7D occupancy: adult: 1 child: 1 travellers: - id: 1 type: ADULT - id: 2 type: CHILD prices: - breakdowns: - fare: - level: HOLIDAY type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 299.4 travellers: - id: "1" - id: "2" discount: - level: HOLIDAY type: PER_PAX category: DISCOUNT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: DISCOUNT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" deposit: - level: HOLIDAY type: PER_PAX category: LOW_DEPOSIT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: LOW_DEPOSIT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" total: - level: HOLIDAY type: PER_PAX category: NET value: 1984.969 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 1984.96 travellers: - id: "1" - id: "2" total: - level: HOLIDAY type: PER_BOOKING category: NET value: 5954.89 travellers: - id: "1" - id: "2" - cabinType: ZI01 boardType: PI termsConditions: CNX7D occupancy: adult: 1 child: 1 travellers: - id: 1 type: ADULT - id: 3 type: CHILD prices: - breakdowns: - fare: - level: HOLIDAY type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 299.4 travellers: - id: "1" - id: "2" discount: - level: HOLIDAY type: PER_PAX category: DISCOUNT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: DISCOUNT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" deposit: - level: HOLIDAY type: PER_PAX category: LOW_DEPOSIT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: LOW_DEPOSIT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" total: - level: HOLIDAY type: PER_PAX category: NET value: 1984.969 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 1984.96 travellers: - id: "1" - id: "2" total: - level: HOLIDAY type: PER_BOOKING category: NET value: 5954.89 travellers: - id: "1" - id: "2" CruiseResponse: type: object description: Cruise details properties: id: type: string example: "101088" sailings: type: array items: $ref: "#/components/schemas/Sailing" example: - id: 1309874606/3 promotionCode: CGCR sourceCode: XXXX0029/011 itinerary: id: "101426" name: Treasures of the Mediterranean departurePoint: code: ESSCT name: Santa Cruz de Tenerife arrivalPoint: code: ESSCT name: Santa Cruz de Tenerife duration: checkInDate: 2023-06-07 checkInTime: 00:00:00.00 checkOutDate: 2023-06-14 checkOutTime: 00:00:00.00 numberOfNights: 7 ship: code: "101426" name: Treasures of the Mediterranean cruiseLine: name: Marella cabinBoardRate: - cabinType: ZI01 boardType: AI termsConditions: CNX7D occupancy: adult: 1 child: 1 travellers: - id: 1 type: ADULT - id: 3 type: CHILD prices: - breakdowns: - fare: - level: CABIN_AND_BOARD type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" - level: CABIN_AND_BOARD type: PER_BOOKING category: NET value: 299.4 travellers: - id: "1" - id: "2" discount: - level: CABIN_AND_BOARD type: PER_PAX category: DISCOUNT value: 0.27 travellers: - id: "1" - id: "2" - level: CABIN_AND_BOARD type: PER_BOOKING category: DISCOUNT value: 0.27 travellers: - id: "1" - id: "2" total: - level: CABIN_AND_BOARD type: PER_PAX category: NET value: 1109.99 travellers: - id: "1" - id: "2" - level: CABIN_AND_BOARD type: PER_BOOKING category: NET value: 1109.99 travellers: - id: "1" - id: "2" total: - level: CABIN_AND_BOARD type: PER_BOOKING category: NET value: 1099.4 travellers: - id: "1" - id: "2" travellers: type: array items: $ref: "#/components/schemas/Traveller" SailingV2: type: object properties: id: type: string example: 1309874606/3 description: Atcom Id promotionCode: type: string example: CGCR description: Atcom Promo Code sourceCode: type: string example: XXXX0029/011 description: Atcom cruise code itinerary: $ref: "#/components/schemas/Itinerary" departurePoint: $ref: "#/components/schemas/Point" example: - code: LGW arrivalPoint: $ref: "#/components/schemas/Point" duration: allOf: - $ref: "#/components/schemas/Duration" - example: - checkInDate: 2023-06-07 checkInTime: 00:00:00.00 checkOutDate: 2023-06-14 checkOutTime: 00:00:00.00 numberOfNights: 7 ship: $ref: "#/components/schemas/Ship" Sailing: type: object properties: id: type: string example: 1309874606/3 description: Atcom Id promotionCode: type: string example: CGCR description: Atcom Promo Code sourceCode: type: string example: XXXX0029/011 description: Atcom cruise code itinerary: $ref: "#/components/schemas/Itinerary" departurePoint: $ref: "#/components/schemas/Point" example: - code: LGW arrivalPoint: $ref: "#/components/schemas/Point" duration: allOf: - $ref: "#/components/schemas/Duration" - example: - checkInDate: 2023-06-07 checkInTime: 00:00:00.00 checkOutDate: 2023-06-14 checkOutTime: 00:00:00.00 numberOfNights: 7 ship: $ref: "#/components/schemas/Ship" cabinBoardRate: type: array items: $ref: "#/components/schemas/CabinBoardRate" description: "" additionalProperties: false example: - cabinType: ZI01 boardType: AI termsConditions: CNX7D occupancy: adult: 1 child: 1 travellers: - id: 1 type: ADULT - id: 3 type: CHILD prices: - breakdowns: - fare: - level: CABIN_AND_BOARD type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" - level: CABIN_AND_BOARD type: PER_BOOKING category: NET value: 99.4 travellers: - id: "1" - id: "2" discount: - level: CABIN_AND_BOARD type: PER_PAX category: DISCOUNT value: 0.27 travellers: - id: "1" - id: "2" total: - level: CABIN_AND_BOARD type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" - id: "2" total: - level: CABIN_AND_BOARD category: GROSS value: 99.4 travellers: - id: "1" - id: "2" Itinerary: type: object properties: id: type: string example: "101426" name: type: string example: Treasures of the Mediterranean Duration: title: Duration required: - checkInDate - checkOutDate - numberOfNights type: object properties: checkInDate: type: string example: "2023-06-07" checkInTime: type: string example: "00:00:00.00" checkOutDate: type: string example: "2023-06-14" checkOutTime: type: string example: "00:00:00.00" numberOfNights: type: integer format: int32 example: 7 Ship: type: object properties: code: type: string example: "150016" name: type: string example: MARELLA VOYAGER cruiseLine: $ref: "#/components/schemas/CruiseLine" CruiseLine: type: object properties: name: type: string example: Marella CabinBoardRate: title: CabinBoardRate required: - cabinType - boardType - travellers - prices type: object properties: cabinType: type: string example: ZI01 boardType: type: string example: AI termsConditions: type: string example: CNX7D occupancy: allOf: - $ref: "#/components/schemas/Occupancy" - example: adult: 1 child: 1 travellers: type: array items: $ref: "#/components/schemas/Traveller" description: "" example: - id: 1 type: ADULT - id: 3 type: CHILD prices: type: array items: $ref: "#/components/schemas/PriceDetail" description: "" example: - breakdowns: - fare: - level: HOLIDAY type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 299.4 travellers: - id: "1" - id: "2" discount: - level: HOLIDAY type: PER_PAX category: DISCOUNT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: DISCOUNT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" deposit: - level: HOLIDAY type: PER_PAX category: LOW_DEPOSIT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: HOLIDAY type: PER_BOOKING category: LOW_DEPOSIT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" total: - level: HOLIDAY type: PER_PAX category: NET value: 1984.969 travellers: - id: "1" - id: "2" - level: HOLIDAY type: PER_BOOKING category: NET value: 1984.96 travellers: - id: "1" - id: "2" total: - level: HOLIDAY type: PER_BOOKING category: NET value: 5954.89 travellers: - id: "1" - id: "2" Decks: type: object properties: number: type: string cabins: type: array items: $ref: "#/components/schemas/CabinSel" CabinSel: type: object properties: number: type: string cabinType: type: array items: $ref: "#/components/schemas/CabinType" CabinType: type: object properties: id: type: string description: Atcom Id for the cabin units code: type: string decks: type: string grade: $ref: "#/components/schemas/CabinGrade" occupancy: allOf: - $ref: "#/components/schemas/Occupancy" - example: - adult: 1 child: 1 travellers: type: array items: $ref: "#/components/schemas/Traveller" description: "" example: - id: 1 type: ADULT - id: 3 type: CHILD prices: type: array items: $ref: "#/components/schemas/PriceDetail" example: - fare: - level: CABIN type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" tax: - level: CABIN type: PER_PAX category: AIRPORT_TAX code: BE2 value: 0.27 travellers: - id: "1" total: - level: CABIN type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" - id: "2" CabinGrade: type: object properties: name: type: string example: Outside StayResponse: title: Stay required: - accommodation type: object properties: accommodation: allOf: - $ref: "#/components/schemas/Accommodation" - example: id: 1309874606/3 promotionCode: CGCR sourceCode: XXXX0029/011 code: A0421241 name: Avani Bentota Resort duration: checkInDate: 2023-06-07 checkInTime: "00:00:00.00" checkOutDate: 2023-06-14 checkOutTime: 00:00:00.00 numberOfNights: 7 roomBoardRate: - roomType: DDBT boardType: HB termsConditions: CNX7D occupancy: adult: 1 child: 1 travellers: - id: "1" type: ADULT - id: "3" type: CHILD prices: - breakdowns: - fare: - level: ROOM_AND_BOARD type: PER_PAX category: NET value: 599.4 travellers: - id: "1" - id: "2" - level: ROOM_AND_BOARD type: PER_BOOKING category: NET value: 599.4 travellers: - id: "1" - id: "2" discount: - level: ROOM_AND_BOARD type: PER_PAX category: DISCOUNT value: 145.27 travellers: - id: "1" - id: "2" - level: ROOM_AND_BOARD type: PER_BOOKING category: DISCOUNT value: 145.27 travellers: - id: "1" - id: "2" total: - level: ROOM_AND_BOARD type: PER_PAX category: NET value: 1109.99 travellers: - id: "1" - id: "2" - level: ROOM_AND_BOARD type: PER_BOOKING category: NET value: 1109.99 travellers: - id: "1" - id: "2" total: - level: ROOM_AND_BOARD type: PER_PAX category: NET value: 799.4 travellers: - id: "1" type: ADULT - level: ROOM_AND_BOARD type: PER_BOOKING category: NET value: 799.4 travellers: - id: "1" type: ADULT room: - code: DDBT name: Deluxe Double Room with Balcony or Terrace minPax: 1 maxPax: 2 default: true freeKids: false prices: - breakdowns: - fare: - level: ROOM type: PER_PAX category: NET value: 99.4 travellers: - id: "1" discount: - level: ROOM type: PER_PAX category: DISCOUNT value: 0.27 travellers: - id: "1" total: - level: ROOM type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" total: level: ROOM category: GROSS value: 99.4 travellers: - id: "1" board: - id: string code: HB name: Half board prices: - breakdowns: - fare: - level: BOARD type: PER_PAX category: NET value: 99.4 travellers: - id: "1" discount: - level: BOARD type: PER_PAX category: DISCOUNT value: 0.27 travellers: - id: "1" total: - level: BOARD type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" sourceInformation: category: CONTRACTED system: TUIAccommodationSourcing Accommodation: title: Accommodation required: - code - duration - room type: object properties: id: type: string example: 1309874606/3 description: Atcom Id promotionCode: type: string example: CGCR description: Atcom Promo Code sourceCode: type: string example: XXXX0029/011 description: Atcom accommodation code code: type: string example: A0421241 name: type: string example: Avani Bentota Resort duration: allOf: - $ref: "#/components/schemas/Duration" - example: - checkInDate: 2023-06-07 checkInTime: 00:00:00.00 checkOutDate: 2023-06-14 checkOutTime: 00:00:00.00 numberOfNights: 7 roomBoardRate: type: array items: $ref: "#/components/schemas/RoomBoardRate" description: "" example: - roomType: DDBT boardType: HB termsConditions: CNX7D occupancy: adult: 1 child: 1 travellers: - id: 1 type: ADULT - id: 3 type: CHILD prices: - breakdowns: - fare: - level: ROOM_AND_BOARD type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" discount: - level: ROOM_AND_BOARD type: PER_PAX category: DISCOUNT value: 0.27 travellers: - id: "1" - id: "2" total: - level: ROOM_AND_BOARD type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" - id: "2" total: - level: ROOM_AND_BOARD type: PER_BOOKING category: GROSS value: 99.4 travellers: - id: "1" - id: "2" room: type: array items: $ref: "#/components/schemas/Room" description: "" example: - code: DDBT name: Deluxe Double Room with Balcony or Terrace minPax: 1 maxPax: 2 default: true freeKids: false prices: - breakdowns: - fare: - level: ROOM type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" discount: - level: ROOM type: PER_PAX category: DISCOUNT value: 0.27 travellers: - id: "1" - id: "2" total: - level: ROOM type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" - id: "2" total: - level: ROOM category: GROSS value: 99.4 travellers: - id: "1" - id: "2" board: type: array items: $ref: "#/components/schemas/Board" description: "" example: - id: string code: HB name: Half board prices: - breakdowns: - fare: - level: BOARD type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" discount: - level: BOARD type: PER_PAX category: DISCOUNT value: 0.27 travellers: - id: "1" - id: "2" total: - level: BOARD type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" - id: "2" total: - level: BOARD type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" - id: "2" sourceInformation: allOf: - $ref: "#/components/schemas/SourceInformation" - example: - category: CONTRACTED system: TUIAccommodationSourcing RoomBoardRate: title: RoomBoardRate required: - roomType - boardType - travellers - prices type: object properties: roomType: type: string example: DDBT boardType: type: string example: HB termsConditions: type: string example: CNX7D occupancy: allOf: - $ref: "#/components/schemas/Occupancy" - example: - adult: 1 child: 1 travellers: type: array items: $ref: "#/components/schemas/Traveller" description: "" example: - id: 1 type: ADULT - id: 3 type: CHILD prices: type: array items: $ref: "#/components/schemas/PriceDetail" description: "" example: - breakdowns: - fare: - level: ROOM_AND_BOARD type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" discount: - level: ROOM_AND_BOARD type: PER_PAX category: DISCOUNT value: 0.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" total: - level: ROOM_AND_BOARD type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" - id: "2" total: - level: ROOM_AND_BOARD category: GROSS value: 99.4 travellers: - id: "1" - id: "2" Room: title: Room required: - code type: object properties: code: type: string example: DDBT name: type: string example: Deluxe Double Room with Balcony or Terrace minPax: type: integer format: int32 example: 1 maxPax: type: integer format: int32 example: 2 default: type: boolean example: true freeKids: type: boolean example: false prices: type: array items: $ref: "#/components/schemas/PriceDetail" description: "" example: - breakdowns: - fare: - level: ROOM type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" discount: - level: ROOM type: PER_PAX category: DISCOUNT value: 0.27 travellers: - id: "1" - id: "2" total: - level: ROOM type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" - id: "2" total: - level: ROOM category: GROSS value: 99.4 travellers: - id: "1" - id: "2" Board: title: Board required: - code type: object properties: id: type: string example: string code: type: string example: HB name: type: string example: Half board prices: type: array items: $ref: "#/components/schemas/PriceDetail" description: "" example: - breakdowns: - fare: - level: BOARD type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" discount: - level: BOARD type: PER_PAX category: DISCOUNT value: 0.27 travellers: - id: "1" - id: "2" total: - level: BOARD type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" - id: "2" total: - level: BOARD type: PER_PAX category: GROSS value: 109.99 travellers: - id: "1" - id: "2" SeenPrice: type: object properties: currency: type: string example: GBP value: type: string example: "199.99" required: - value Money: type: object properties: currency: $ref: "#/components/schemas/Currency" value: default: 0.0 type: number example: 100.0 required: - value Currency: title: Currency required: - code type: object properties: code: type: string example: EUR FlightSchedule: type: array description: Flight Schedule items: type: object required: - departureAirportCode - arrivalAirportCode - schedule - carrier properties: flightLeg: type: integer format: int32 example: 1 departureAirportCode: type: string pattern: ^[A-Z]{3}$ example: LGW arrivalAirportCode: type: string pattern: ^[A-Z]{3}$ example: PMI schedule: type: object required: - departureDate - departureTime - arrivalDate - arrivalTime properties: departureDate: type: string description: Departure date example: "2016-12-25" departureTime: type: string pattern: ^(2[0-3]|[01]?[0-9]):([0-5]?[0-9])$ description: Formatted time in string 24 hours format example: "07:10" arrivalDate: type: string description: Arrival date example: "2016-12-25" arrivalTime: type: string description: Formatted time in string 24 hours format pattern: ^(2[0-3]|[01]?[0-9]):([0-5]?[0-9])$ example: "23:20" additionalProperties: false carrier: type: object required: - code - flightNumber properties: code: type: string description: Carrier unique identifier example: "TOM" flightNumber: type: string description: Flight number example: "121" operatingCarrier: type: string description: Carrier unique identifier example: "TOM" additionalProperties: false OfferGroupRequest: type: object required: - id - groupId - code - promotionCode properties: id: type: string example: M1309869340/3/457/14|1310491357/2/0|1310491289/1309873711/3|1310491347/897937623/3 description: atcom/inventory id groupId: type: string example: 1310491357/MC/AB description: MC Itinerary id code: type: string example: XXXX0029/011 promotionCode: type: string example: CGCR OfferGroup: type: object properties: id: type: string example: M1309869340/3/457/14|1310491357/2/0|1310491289/1309873711/3|1310491347/897937623/3 description: atcom/inventory id groupId: type: string example: 1310491357/MC/AB description: MC Itinerary id code: type: string example: XXXX0029/011 promotionCode: type: string example: CGCR prices: type: array items: $ref: "#/components/schemas/PriceDetail" example: - breakdowns: - fare: - level: OFFER_GROUP type: PER_PAX category: NET value: 99.4 travellers: - id: "1" - id: "2" - level: OFFER_GROUP type: PER_BOOKING category: NET value: 299.4 travellers: - id: "1" - id: "2" discount: - level: OFFER_GROUP type: PER_PAX category: DISCOUNT value: 99.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" - level: OFFER_GROUP type: PER_BOOKING category: DISCOUNT value: 199.27 travellers: - id: "1" - id: "2" - id: "3" - id: "4" total: - level: OFFER_GROUP type: PER_PAX category: NET value: 1984.96 travellers: - id: "1" - id: "2" - level: OFFER_GROUP type: PER_BOOKING category: NET value: 1984.96 travellers: - id: "1" - id: "2" total: - level: OFFER_GROUP type: PER_BOOKING category: NET value: 5954.89 travellers: - id: "1" - id: "2" Airports: title: Aiport codes type: array items: type: string pattern: ^[A-Z]{3}$ example: [LGW, LTN, LHR] ValidationProblem: type: object properties: problem: $ref: "#/components/schemas/Problem" validationIssues: type: array items: type: string Extras: type: object required: - code properties: code: type: string example: WCF1/A description: Extras item code name: type: string example: Tui Care foundation description: Extras item name prices: type: array items: $ref: "#/components/schemas/PriceDetail" minItems: 1 travellers: type: array items: $ref: "#/components/schemas/Traveller" description: "" example: code: WCF1/A name: TUI Care Foundation prices: - total: - type: PER_BOOKING value: 109.99 travellers: - id: "1" - id: "2" Problem: description: Error details in case of problems with request type: object properties: type: type: string description: Type or code of the error system: type: string description: System where error occurred title: type: string details: type: string additionalProperties: false