openapi: 3.2.0 info: title: TUI Cruise Price and Availability. Cruise Unique Search API 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 tags: - name: Cruise Unique Search paths: /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' components: schemas: 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: 0.0 checkOutDate: 2023-06-14 checkOutTime: 0.0 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 SeenPrice: type: object properties: currency: type: string example: GBP value: type: string example: '199.99' required: - value 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 PointType: type: string example: PORT enum: - HOTEL - AIRPORT - PORT - POI - RESORT - CITY - DESTINATION - REGION - COUNTRY - CONTINENT Ship: type: object properties: code: type: string example: '150016' name: type: string example: MARELLA VOYAGER cruiseLine: $ref: '#/components/schemas/CruiseLine' 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' 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 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' PriceLevel: type: string example: SAILING enum: - DIRECTION - FLIGHT - HOLIDAY - ROOM - BOARD - ROOM_AND_BOARD - CABIN - CABIN_AND_BOARD - SAILING - OFFER_GROUP Point: type: object properties: code: type: string name: type: string type: $ref: '#/components/schemas/PointType' PriceCategory: type: string example: NET enum: - NET - TAX - GROSS - BASE_PRICE - AIRPORT_TAX - EARLY_BIRD_DISCOUNT - DISCOUNT - LOW_DEPOSIT - STANDARD_DEPOSIT CruiseType: title: Cruise Type type: string enum: - FLY_CRUISE - FLY_CRUISEANDSTAY - FLY_STAYANDCRUISE - FLY_BACKTOBACK_CRUISE - CRUISE_ONLY 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: 38700 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' 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: 45300 sectors: - departureAirport: code: LGW departureDate: 2023-10-11 departureTime: 09:45:00 arrivalAirport: code: PMI arrivalDate: 2023-10-11 arrivalTime: 45300 sourceInformation: category: CONTRACTED system: NewSkies journeyKey: string travellers: - id: 1 type: ADULT - id: 2 type: ADULT - id: 3 type: CHILD - id: 4 type: CHILD Supplier: title: Supplier required: - code type: object properties: code: type: string example: 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' Currency: title: Currency required: - code type: object properties: code: type: string example: EUR 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' 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' Money: type: object properties: currency: $ref: '#/components/schemas/Currency' value: default: 0.0 type: number example: 100.0 required: - value 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' PersonType: type: string enum: - ADULT - CHILD - INFANT DirectionType: type: string example: INBOUND enum: - INBOUND - OUTBOUND - ONEWAY - ROUNDTRIP Occupancy: title: Occupancy required: - adult - child type: object properties: adult: type: integer example: 1 child: type: integer example: 1 infant: type: integer example: 0 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 CruiseLine: type: object properties: name: type: string example: Marella 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.0 amount: $ref: '#/components/schemas/Money' travellers: type: array default: [] items: $ref: '#/components/schemas/TravellerRef' 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 BookingFee: type: object properties: prices: type: array default: [] items: $ref: '#/components/schemas/Price' total: type: array default: [] items: $ref: '#/components/schemas/Price' Itinerary: type: object properties: id: type: string example: '101426' name: type: string example: Treasures of the Mediterranean 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: '' 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 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: 0.0 checkOutDate: 2023-06-14 checkOutTime: 0.0 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' 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: 0.0 checkOutDate: 2023-06-14 checkOutTime: 0.0 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' 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 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 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 ValidationProblem: type: object properties: problem: $ref: '#/components/schemas/Problem' validationIssues: type: array items: type: string 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: 0.0 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 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' PriceType: type: string example: PER_PAX enum: - PER_ADULT - PER_CHILD - PER_PAX - PER_BOOKING - PER_INFANT 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' CruiseUniqueRequest: type: object required: - metaInformation - offer properties: metaInformation: $ref: '#/components/schemas/MetaInformation' offer: $ref: '#/components/schemas/CruiseOfferRequest' 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 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 TravellerRef: type: object properties: id: type: string example: '1' type: $ref: '#/components/schemas/PersonType' required: - id SourceInformation: title: SourceInformation required: - category type: object properties: category: type: string example: CONTRACTED system: type: string example: NewSkies journeyKey: type: string example: string 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' 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'