{ "swagger": "2.0", "info": { "title": "OPERA Cloud Distribution Book", "description": "OPERA Cloud Distribution Reservations API allows authorized channel partners to create and update reservations for any active property in Oracle Hospitality Distribution (regardless if the property is using OPERA Cloud, OPERA V5 / Suite8 / on-premise PMS Versions).
Regardless of how the reservation is created, either directly in Oracle Hospitality Distribution API (reservation request operations) or already created and committed in another external system (reservation notification operations) the same API can be used.

Compatible with OPERA Cloud release 26.2.0.0

This document and all content within is available under the Universal Permissive License v 1.0 (https://oss.oracle.com/licenses/upl). Copyright (c) 2020, 2026 Oracle and/or its affiliates.

", "version": "26.2.0.0", "termsOfService": "https://www.oracle.com/legal/terms.html", "contact": { "email": "hospitality_apis_ww_grp@oracle.com" }, "license": { "name": "UPL", "url": "https://opensource.org/licenses/upl" } }, "basePath": "/book/v1", "schemes": [ "https" ], "produces": [ "application/json; charset=utf-8" ], "paths": { "/hotels/{hotelCode}/reservations": { "post": { "summary": "Create reservation", "operationId": "postReservation", "description": "

Create new reservation.

OperationId:postReservation

", "tags": [ "Reservation Request" ], "consumes": [ "application/json; charset=utf-8" ], "parameters": [ { "in": "body", "name": "body", "schema": { "$ref": "#/definitions/CreateRequestType" }, "required": true }, { "$ref": "#/parameters/hotelCodePath" }, { "$ref": "#/parameters/x-tracing-key" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/channelCodeHeader" }, { "$ref": "#/parameters/appKey" }, { "$ref": "#/parameters/Accept-Language" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" } ], "responses": { "200": { "description": "Ok", "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "schema": { "$ref": "#/definitions/Response" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } } } }, "/hotels/{hotelCode}/reservations/{confirmationNum}": { "put": { "summary": "Modify reservation", "operationId": "putReservation", "description": "

Modify a reservation.

OperationId:putReservation

", "tags": [ "Reservation Request" ], "consumes": [ "application/json; charset=utf-8" ], "parameters": [ { "in": "body", "name": "body", "schema": { "$ref": "#/definitions/ModifyRequestType" }, "required": true }, { "$ref": "#/parameters/hotelCodePath" }, { "$ref": "#/parameters/confirmationNumberPath" }, { "$ref": "#/parameters/x-tracing-key" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/channelCodeHeader" }, { "$ref": "#/parameters/appKey" }, { "$ref": "#/parameters/Accept-Language" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" } ], "responses": { "200": { "description": "Ok", "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "schema": { "$ref": "#/definitions/Response" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } } }, "get": { "summary": "Retrieve reservation", "operationId": "getReservation", "description": "

Get reservation.

OperationId:getReservation

", "tags": [ "Reservation Request" ], "produces": [ "application/json; charset=utf-8" ], "parameters": [ { "$ref": "#/parameters/hotelCodePath" }, { "$ref": "#/parameters/x-tracing-key" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/channelCodeHeader" }, { "$ref": "#/parameters/appKey" }, { "$ref": "#/parameters/confirmationNumberPath" }, { "$ref": "#/parameters/idExtension" }, { "$ref": "#/parameters/Accept-Language" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" } ], "responses": { "200": { "description": "Ok", "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "schema": { "$ref": "#/definitions/Response" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } } } }, "/hotels/{hotelCode}/reservations/{confirmationNum}/cancellations": { "post": { "summary": "Cancel reservation", "operationId": "postCancelReservation", "description": "

Cancel a reservation.

OperationId:postCancelReservation

", "tags": [ "Reservation Request" ], "consumes": [ "application/json; charset=utf-8" ], "parameters": [ { "in": "body", "name": "body", "schema": { "$ref": "#/definitions/CancelRequestType" }, "required": true }, { "$ref": "#/parameters/hotelCodePath" }, { "$ref": "#/parameters/confirmationNumberPath" }, { "$ref": "#/parameters/x-tracing-key" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/channelCodeHeader" }, { "$ref": "#/parameters/appKey" }, { "$ref": "#/parameters/Accept-Language" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" } ], "responses": { "200": { "description": "Ok", "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "schema": { "$ref": "#/definitions/CancelResponse" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } } } }, "/hotels/{hotelCode}/reservations/{confirmationNum}/status": { "post": { "summary": "Commit/Ignore an onHold reservation", "operationId": "postOnHoldReservation", "description": "

Commit/Ignore an onHold reservation.

OperationId:postOnHoldReservation

", "tags": [ "Reservation Request" ], "consumes": [ "application/json; charset=utf-8" ], "parameters": [ { "in": "body", "name": "body", "schema": { "$ref": "#/definitions/OnHoldRequestType" }, "required": true }, { "$ref": "#/parameters/hotelCodePath" }, { "$ref": "#/parameters/confirmationNumberPath" }, { "$ref": "#/parameters/x-tracing-key" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/channelCodeHeader" }, { "$ref": "#/parameters/appKey" }, { "$ref": "#/parameters/Accept-Language" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" } ], "responses": { "200": { "description": "Ok", "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "schema": { "$ref": "#/definitions/OnHoldResponse" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } } } } }, "definitions": { "Response": { "type": "array", "items": { "$ref": "#/definitions/BookingResponse" } }, "BookingResponse": { "type": "object", "properties": { "reservationIds": { "type": "array", "items": { "$ref": "#/definitions/ReservationId" } }, "lastModifyDateTime": { "type": "string", "format": "date-time", "description": "Date and time when this reservation was last updated, including time zone information. Timestamp as defined in ISO 8601 format and always be in the following format: YYYY-MM-DDThh:mm:ssZ (time is UTC).", "example": "2023-11-17T12:21:00Z" }, "releaseTime": { "type": "string", "example": "22:30" }, "roomStay": { "$ref": "#/definitions/RoomStayData" }, "reservationGuests": { "type": "array", "items": { "$ref": "#/definitions/ReservationGuestResponse" }, "example": [ { "profileInfo": { "profile": { "customer": { "personName": [ { "surname": "Smith", "givenName": "Mary", "middleName": "Angel", "nameTitle": "Mr and Mrs", "nameType": "Primary", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } ], "language": "en-us" }, "profileType": "Guest" } }, "primary": true, "arrivalTransport": { "comments": "Comments Area", "type": "adf", "transportCode": "XXXX", "carrierCode": "XXXX", "stationCode": "XXXX", "dateTime": "2020-09-17T12:21:00.000Z", "transportationReqd": true }, "departureTransport": { "comments": "Comments Area", "type": "adf", "transportCode": "XXXX", "carrierCode": "XXXX", "stationCode": "XXXX", "dateTime": "2020-09-17T12:21:00.000Z", "transportationReqd": true } }, { "profileInfo": { "profileIdList": [ { "id": "12345671", "idContext": "Central", "type": "TravelAgent" } ], "profile": { "profileType": "TravelAgent", "companyInfo": { "companyName": "Smith Travel1", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } } }, "primary": true }, { "profileInfo": { "profileIdList": [ { "id": "12345672", "idContext": "Central", "type": "Source" } ], "profile": { "profileType": "Source", "companyInfo": { "companyName": "Smith Travel POS1", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } } }, "primary": true }, { "profileInfo": { "profileIdList": [ { "id": "", "idContext": "Central", "type": "Company" } ], "profile": { "profileType": "Company", "companyInfo": { "companyName": "Oracle Corporation1", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } }, "primary": true } } ] }, "reservationPaymentMethods": { "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/PaymentMethod" } }, "reservationMemberships": { "type": "array", "items": { "$ref": "#/definitions/ReservationMembership" } }, "reservationPolicies": { "$ref": "#/definitions/ReservationPoliciesResponse" }, "hotelCode": { "description": "The unique identifier of the Property in Channel system.", "type": "string", "example": "XUSXXYY99" }, "comments": { "type": "array", "description": "Comments associated to the Reservation", "items": { "type": "object", "properties": { "comment": { "$ref": "#/definitions/CommentType" } } } }, "reservationStatus": { "type": "string", "enum": [ "Reserved", "ReservedChanged", "Cancelled", "OnHold" ], "example": "Reserved" }, "isSessionRequest": { "type": "boolean", "default": false, "example": false, "description": "Used to determine if the incoming reservation should be treated as a session reservation. By default this parameter is set to false." }, "printRate": { "description": "Defines if the rate is printed on various correspondence. Possible values are 'true' or 'false'.", "type": "boolean", "example": false }, "optedForCommunication": { "description": "Defines if guest agreed to receive correspondence from the property via email, phone, letter, etc. Possible values are 'true' or 'false'.", "type": "boolean", "example": false }, "propertyInfo": { "type": "object", "$ref": "#/definitions/PropertyInfo" }, "subChannelCode": { "type": "string", "description": "Sub Channel Code associated to reservation.", "example": "CH1" }, "travelPurpose": { "description": "Indicates the purpose of Guest Stay", "type": "string", "enum": [ "Leisure", "Business" ] } }, "required": [ "reservationIds", "roomStay", "reservationGuests", "reservationPaymentMethods" ] }, "ReservationMembership": { "type": "object", "description": "Details of the membership added to the reservation.", "properties": { "membershipLevel": { "type": "string", "example": "ENTRY", "description": "Code that designates this membership level." }, "membershipId": { "type": "string", "example": "O12345F", "description": "The guest's membership ID number" }, "membershipType": { "type": "string", "example": "MF", "description": "The membership type belonging to the program the guest is enrolled with" } }, "required": [ "membershipId" ] }, "PropertyInfo": { "type": "object", "description": "Property Info section data", "properties": { "hotelId": { "type": "string", "description": "The Hotel ID associated to the Hotel", "example": "Hotel1" }, "hotelCode": { "type": "string", "description": "The unique identifier of the Property in Channel system.", "example": "XUSXXYY99" }, "hotelName": { "type": "string", "description": "The name of the Hotel", "example": "The Palmyra Resort" }, "chainCode": { "type": "string", "description": "Chain code associated with the Hotel", "example": "CHAIN1" }, "address": { "description": "The alternates property adress", "$ref": "#/definitions/OfferAddress" }, "propertyAmenities": { "type": "array", "items": { "$ref": "#/definitions/OfferHotelAmenity" } }, "transportations": { "type": "array", "items": { "$ref": "#/definitions/Transportation" } }, "direction": { "type": "object", "$ref": "#/definitions/Direction" }, "location": { "type": "object", "$ref": "#/definitions/Location" }, "generalInformation": { "type": "object", "description": "This section contain information about property check-in, check-out time", "$ref": "#/definitions/GeneralInformation" }, "communications": { "type": "object", "$ref": "#/definitions/Communications" }, "alternateProperties": { "type": "array", "items": { "$ref": "#/definitions/OfferAlternateProperty" } }, "pointOfInterest": { "type": "array", "items": { "$ref": "#/definitions/OfferPointOfInterest" } }, "marketingMessage": { "type": "string", "description": "Property level marketing message.", "example": "Thank you for choosing our property." } } }, "OfferHotelAmenity": { "type": "object", "properties": { "hotelAmenity": { "type": "string", "example": "12", "description": "descriptive id of hotel amenity" }, "description": { "type": "string", "example": "Swimming Pool" }, "quantity": { "type": "integer", "example": 1 }, "includeInRate": { "type": "boolean", "example": true }, "confirmable": { "type": "boolean", "example": false } } }, "Transportation": { "type": "object", "properties": { "transportationCode": { "type": "string", "description": "Transportation type ex: Bus, Taxi. Enum values from globalCodes TRP - Transportation Code", "example": "Metro" }, "description": { "type": "string", "maxLength": 1024, "example": "Description for a Transportation" }, "includeInRate": { "type": "boolean", "description": "Indicates whether charge rate is included or excluded", "example": false }, "reservationRequired": { "type": "boolean", "description": "Indicates whether reservation is required for this Transportation", "example": true } } }, "OfferAlternateProperty": { "type": "object", "allOf": [ { "$ref": "#/definitions/PropertyInfo" }, { "type": "object", "properties": { "distance": { "description": "The alternates property distance information", "$ref": "#/definitions/OfferAlternatePropertyDistance" } } } ] }, "OfferAlternatePropertyDistance": { "type": "object", "properties": { "distance": { "type": "number", "format": "double", "description": "Distance from hotel to alternate property", "example": 12.5, "minimum": 0.01 }, "distanceUnit": { "type": "string", "description": "Measured Distance Unit from hotel to alternate property", "$ref": "#/definitions/OfferDistanceUnit" }, "compassDirection": { "type": "string", "description": "Relative direction from hotel to alternate property", "$ref": "#/definitions/OfferCompassDirection" }, "comments": { "type": "string", "description": "Free text comment provided by the user for the alternate property", "example": "ITC Royal Bengal is the next pereferred hotel after JW Marriott Kolkata." } } }, "OfferCompassDirection": { "type": "string", "enum": [ "N", "NE", "E", "SE", "S", "SW", "W", "NW" ], "description": "Relative direction from hotel to alternate property" }, "OfferDistanceUnit": { "type": "string", "enum": [ "Kilometers", "Miles" ], "description": "Distance unit of measure" }, "GeneralInformation": { "type": "object", "description": "This section contain information about property check-in, check-out time", "properties": { "checkInTime": { "type": "string", "pattern": "^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$", "example": "04:30", "description": "check in time for the property" }, "checkOutTime": { "type": "string", "pattern": "^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$", "example": "14:30", "description": "check out time for the property" } } }, "Direction": { "type": "object", "properties": { "propertyDirection": { "type": "string", "maxLength": 1024, "example": "SE ABC hills" } } }, "OfferPointOfInterest": { "type": "object", "description": "The point of interest for guests to get to the hotel.", "properties": { "name": { "type": "string", "description": "The name of the point of interest.", "example": "Dallas airport, Park" }, "pointOfInterestType": { "type": "string", "description": "The point of interest type available to choose.", "example": "AIRPORT", "enum": [ "AIRPORT", "ATTRACTIONS" ] }, "description": { "description": "The description of the point of interest.", "type": "string" }, "airportCode": { "description": "The unique 3 letter IATA code to identify the airport.", "type": "string", "example": "DAL" }, "distance": { "description": "The distance from the point of interest to the hotel", "type": "number", "format": "double", "example": 6.3 }, "distanceUnit": { "description": "Unit of measurement for the distance", "type": "string", "example": "Kilometers" }, "attractionDirection": { "description": "The attraction direction from point of interest to the hotel.", "type": "string", "example": "N", "enum": [ "N", "W", "S", "E", "NW", "NE", "SW", "SE" ] }, "transportation": { "description": "The transportation type for the chosen point of interest.", "type": "array", "items": { "type": "string" }, "example": [ "objId" ] }, "directionDescription": { "description": "The description for how to get from point of interest to the hotel.", "type": "string", "example": "Free text to describe route from property to attraction" }, "drivingTime": { "description": "The driving time it will take to get from point of interest to the hotel.", "type": "number", "format": "double", "example": 3.5 } } }, "Communications": { "type": "object", "properties": { "phones": { "type": "array", "items": { "$ref": "#/definitions/Phone" }, "minItems": 1 }, "emails": { "type": "array", "items": { "$ref": "#/definitions/Email" } }, "urls": { "type": "array", "items": { "$ref": "#/definitions/Url" } } } }, "Phone": { "type": "object", "properties": { "phoneTechType": { "type": "string" }, "phoneTechTypeCode": { "type": "string" }, "phoneLocationType": { "type": "string" }, "phoneLocationTypeCode": { "type": "string" }, "phoneNumber": { "type": "string" } } }, "Url": { "type": "object", "properties": { "url": { "type": "string" }, "urlType": { "type": "string" }, "urlTypeCode": { "type": "string" } } }, "Email": { "type": "object", "properties": { "emailType": { "type": "string" }, "emailTypeCode": { "type": "string" }, "email": { "type": "string" } } }, "Location": { "type": "object", "properties": { "propertyLocation": { "type": "string", "maxLength": 1024, "example": "ABC hills" } } }, "OfferAddress": { "type": "object", "properties": { "addressLine": { "type": "array", "items": { "type": "string" }, "minItems": 1, "maxItems": 2, "example": [ "Street 123", "Box 1" ] }, "countryCode": { "type": "string", "example": "US" }, "cityName": { "type": "string", "description": "Name of the City", "example": "Miami" }, "stateProv": { "type": "string", "example": "Florida" }, "postalCode": { "type": "string", "example": "90210" } } }, "ReservationGuestResponse": { "type": "object", "description": "Reservation Guest Information", "properties": { "profileInfo": { "type": "object", "properties": { "profileIdList": { "$ref": "#/definitions/ProfileIdListResponse" }, "profile": { "$ref": "#/definitions/Profile" } }, "required": [ "profile" ] }, "primary": { "type": "boolean", "example": true, "description": "Indicates if the profile is primary if multiple profiles of the same type are being sent. Should be true by default if only one profile of same type is sent" }, "arrivalTransport": { "description": "Arrival Transport details of the Guest", "$ref": "#/definitions/ReservationTransport" }, "departureTransport": { "description": "Departure Transport details of the Guest", "$ref": "#/definitions/ReservationTransport" } }, "required": [ "profileInfo" ] }, "Profile": { "type": "object", "properties": { "customer": { "type": "object", "properties": { "personName": { "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/PersonName" } }, "language": { "type": "string", "description": "Reservation Language Code", "example": "en-us" } }, "required": [ "personName" ] }, "profileType": { "$ref": "#/definitions/ProfileType" }, "companyInfo": { "type": "object", "properties": { "companyName": { "type": "string", "description": "Name of the associated Company, Source or Travel Agent" }, "email": { "type": "string", "description": "Email of Guest", "example": "customer@example.com" }, "phoneNumber": { "type": "string", "description": "Phone number of Guest", "example": "415.555.0100" }, "address": { "$ref": "#/definitions/Address" } } } } }, "Address": { "type": "object", "properties": { "addressLine": { "description": "Guest Address Details", "type": "array", "minItems": 1, "items": { "type": "string" }, "example": [ "Street 7031 Columbia Gateway Dr." ] }, "cityName": { "description": "Name of the City", "type": "string", "example": "Columbia" }, "postalCode": { "description": "Postal Code of the Guest Address", "type": "string", "example": "Z23457A9" }, "country": { "$ref": "#/definitions/Country" }, "state": { "description": "State Code.", "type": "string", "example": "MD" } } }, "Country": { "type": "object", "properties": { "code": { "type": "string", "description": "Supported codes for countries are ISO 3166-1 Alpha-2 values only, ie. US, not USA.", "example": "US" } } }, "ProfileType": { "type": "string", "enum": [ "Guest", "TravelAgent", "Source", "Company" ], "example": "Guest", "description": "The type of profile being sent" }, "PersonName": { "type": "object", "properties": { "givenName": { "type": "string", "description": "Given Name of Guest", "example": "Mary" }, "surname": { "type": "string", "description": "Last Name of Guest", "minLength": 2, "example": "Smith" }, "middleName": { "type": "string", "description": "Indicates the Middle Name of the Guest", "example": "Mathew" }, "nameTitle": { "type": "string", "description": "Title of Guest", "example": "Mr and Mrs" }, "nameType": { "type": "string", "description": "Name Type. Valid value 'Primary'", "example": "Primary" }, "email": { "type": "string", "description": "Email of Guest", "example": "customer@example.com" }, "phoneNumber": { "type": "string", "description": "Phone number of Guest", "example": "415.555.0100" }, "address": { "$ref": "#/definitions/Address" } }, "required": [ "surname" ] }, "ReservationTransport": { "type": "object", "properties": { "comments": { "type": "string", "minLength": 0, "maxLength": 2000, "description": "Any additional info regarding the travel can be sent here" }, "type": { "type": "string", "minLength": 0, "maxLength": 20, "description": "Method of conveyance of the guest. For Ex : Air, Rail, Bus, Private Auto, Boat, Other" }, "transportCode": { "type": "string", "minLength": 0, "maxLength": 20, "description": "Enter the transportation Code such as the airline flight number/city of origin applicable to the guest mode of transportation upon arrival. For example Flight 1660" }, "carrierCode": { "type": "string", "minLength": 0, "maxLength": 20, "description": "Enter the code associated with the air, rail, bus or car rental transport company being used by this guest at arrival; for example, Delta, Amtrak, Greyhound, Avis." }, "stationCode": { "type": "string", "minLength": 0, "maxLength": 20, "description": "Enter the code for the airport, bus station or other location of the guest arrival; for example, JFK International, Penn Station, Port Authority Bus Terminal." }, "dateTime": { "type": "string", "format": "date-time", "description": "Enter the expected time here" }, "transportationReqd": { "type": "boolean", "description": "Indicates if transportation is required or not" } } }, "ProfileIdListResponse": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique ID associated with that profile" }, "idContext": { "type": "string", "example": "Central", "description": "The Context of the ID sent above. Possible Values : Central" }, "type": { "type": "string", "description": "The type of profile being sent Possible Values : Guest, TravelAgent, Source, Company and Profile" } } } }, "PaymentMethod": { "type": "object", "description": "Reservation Payment Method details including payment Card details.", "properties": { "paymentMethod": { "type": "string", "description": "Indicates how the payment would be done. Possible Values : 5 (Credit Card), 1 (Cash).", "example": "1" }, "folioView": { "type": "string", "description": "folio number for payment method (example: use 1 for guest guarantee, 2 for company/travel agent guarantee)", "example": "1" }, "paymentCard": { "$ref": "#/definitions/PaymentCard" } }, "required": [ "paymentMethod" ] }, "PaymentCard": { "type": "object", "properties": { "cardType": { "description": "Type of the Credit Card", "type": "string", "example": "MC" }, "cardNumber": { "description": "Full Card Number or the Card Token", "type": "string", "example": "5105105105105100" }, "expirationDate": { "description": "Expiration date in format MM/YY", "type": "string", "pattern": "^((?:0[1-9]|1[0-2])\\/([0-9][0-9])|(?:\\d{4})-(?:0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))$", "example": "06/21" }, "cardHolderName": { "description": "Credit card holder name", "type": "string", "example": "Mary Smith" }, "cardNumberMasked": { "description": "Masked card number.", "type": "string", "example": "XXXXXXXXXXXX0005", "minLength": 0, "maxLength": 80 }, "cardOrToken": { "type": "string", "description": "This contains information on whether credit card is tokenized (token enabled). A value of 'Token' indicates cardNumber holds token value and 'CardNumber' indicates cardNumber holds credit card number.", "enum": [ "CardNumber", "Token" ] }, "citId": { "type": "string", "description": "Customer Initiated Transaction(CIT) Id for Credit Cards. This is only used when PAYMENT SERVICES DIRECTIVE (PSD2) Opera Control is active.", "minLength": 0, "maxLength": 16, "example": "654321ABC1234578" } }, "required": [ "cardType", "cardNumber", "expirationDate", "cardHolderName" ] }, "ReservationPoliciesResponse": { "type": "object", "properties": { "cancellationPolicies": { "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/CancellationPolicy" } }, "depositPolicies": { "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/DepositPolicyResponse" } } } }, "DepositPolicyResponse": { "type": "object", "properties": { "revenueType": { "description": "Revenue Type", "type": "string", "enum": [ "Rooms", "Catering", "All" ], "example": "Rooms" }, "policy": { "type": "object", "properties": { "deadline": { "$ref": "#/definitions/Deadline" }, "amountPercent": { "$ref": "#/definitions/AmountPercent" }, "description": { "type": "string", "description": "description", "example": "Test" }, "depositReceiptNo": { "type": "integer", "format": "int32", "description": "deposit receipt number", "example": 123 }, "transactionDate": { "type": "string", "format": "date", "description": "Transaction Date", "example": "2022-05-29" }, "depositReqReversed": { "type": "boolean", "description": "Deposit Request Reversed", "example": true }, "formattedRule": { "type": "string", "description": "Formatted rule", "example": "Yes" }, "typeOfCharges": { "description": "Type of charges", "type": "string", "enum": [ "Rooms", "Catering", "All" ], "example": "Rooms" }, "policyCode": { "type": "string", "description": "policy code", "example": "abc" }, "manual": { "type": "boolean", "description": "manual", "example": true }, "nonRefundable": { "type": "boolean", "description": "nonRefundable", "example": false }, "taxInclusive": { "type": "boolean", "description": "taxInclusive", "example": false }, "amount": { "type": "number", "description": "amount", "example": 10 }, "basisType": { "description": "Basis Type", "type": "string", "enum": [ "FlatAmount", "Percentage", "Nights", "NightPercentage", "FullAmount" ], "example": "FlatAmount" } } }, "comments": { "type": "string", "description": "description", "example": "Test" }, "description": { "type": "string", "description": "description", "example": "This is description in brief" }, "amountPaid": { "type": "object", "properties": { "amount": { "type": "number", "format": "double", "description": "amount", "example": 10 }, "currencyCode": { "type": "string", "description": "currency code", "example": "EUR" } } }, "amountDue": { "type": "object", "properties": { "amount": { "type": "integer", "format": "int32", "description": "amount", "example": 10 }, "currencyCode": { "type": "string", "description": "currency code", "example": "EUR" } } }, "policyId": { "type": "object", "properties": { "id": { "type": "string", "description": "id value", "example": "test_id" }, "type": { "type": "string", "description": "type", "example": "new" } } }, "paymentTypes": { "type": "array", "items": { "type": "object", "properties": { "paymentCode": { "type": "string" }, "paymentDescription": { "type": "string" } } } } } }, "AmountPercent": { "type": "object", "properties": { "basisType": { "description": "Basis Type", "type": "string", "enum": [ "FlatAmount", "Percentage", "Nights", "NightPercentage", "FullAmount" ], "example": "FlatAmount" }, "nights": { "type": "integer", "format": "int32", "description": "nights", "example": 2 }, "percent": { "type": "number", "format": "double", "description": "percent value", "example": 20 }, "amount": { "type": "number", "format": "double", "description": "amount", "example": 50 }, "taxInclusive": { "type": "boolean", "description": "taxInclusive", "example": true }, "currencyCode": { "type": "string", "description": "currency code", "example": "EUR" } } }, "Deadline": { "type": "object", "properties": { "absoluteDeadline": { "type": "string", "format": "date-time", "description": "Absolute Deadline", "example": "2021-04-01T15:46:40.134+01:00" }, "offsetFromArrival": { "type": "integer", "format": "int32", "description": "offset from arrival", "example": 2 }, "offsetDropTime": { "type": "string", "enum": [ "BeforeArrival", "AfterBooking" ], "description": "offset drop time", "example": "BeforeArrival" }, "offsetFromBookingDate": { "type": "integer", "format": "int32", "description": "offset value from booking date", "example": 5 }, "offsetUnitMultiplier": { "type": "integer", "format": "int32", "description": "offset value Unit multiplier", "example": 8 }, "offsetTimeUnit": { "type": "string", "enum": [ "Year", "Month", "Day", "Hour" ], "description": "offset time unit", "example": "Hour" } } }, "CancellationPolicy": { "type": "object", "properties": { "revenueType": { "description": "Revenue Type", "type": "string", "enum": [ "Rooms", "Catering", "All" ], "example": "Rooms" }, "policy": { "type": "object", "properties": { "deadline": { "$ref": "#/definitions/Deadline" }, "amountPercent": { "$ref": "#/definitions/AmountPercent" }, "penaltyDescription": { "type": "string", "description": "penalty description", "example": "Test" }, "offsetUnit": { "description": "Offset unit", "type": "string", "enum": [ "Year", "Month", "Day", "Hour" ], "example": "Day" }, "formattedRule": { "type": "string", "description": "formatted rule", "example": "Yes" }, "policyCode": { "type": "string", "description": "policy code", "example": "PC" }, "manual": { "type": "boolean", "description": "manual", "example": true }, "effective": { "type": "boolean", "description": "effective", "example": true } } }, "percentageDue": { "type": "integer", "format": "int32", "description": "percentage due", "example": 10 }, "comments": { "type": "string", "description": "comments", "example": "Test" }, "policyId": { "type": "object", "properties": { "id": { "type": "string", "description": "id value", "example": "test_id" }, "type": { "type": "string", "description": "type", "example": "new" } } } } }, "ReservationId": { "type": "object", "properties": { "id": { "type": "string", "description": "Global reservation number from external channel. Maximum length is 50 alphanumeric characters without spaces.", "example": "5030863" }, "type": { "type": "string", "description": "Type of id", "example": "Confirmation" }, "idContext": { "type": "string", "description": "Context of the Id.", "example": "Central" }, "idExtension": { "type": "string", "description": "This is the index number for multi leg reservations. Numeric values only.", "example": "1" } } }, "CommentType": { "type": "object", "properties": { "text": { "type": "object", "description": "Comment Free Text", "properties": { "value": { "type": "string", "example": "Room away from the elevator." } } }, "commentTitle": { "description": "Title of the Comment", "type": "string", "example": "Notes from Channel" } } }, "RoomStayData": { "type": "object", "description": "List of room stay information including Room Rates, Promotion, Guest Counts and Guarantee", "properties": { "arrivalDate": { "type": "string", "format": "date", "description": "Arrival Date of the Reservation. Value must be of format YYYY-MM-DD", "example": "2024-05-16" }, "departureDate": { "type": "string", "format": "date", "description": "Departure Date of the Reservation. Value must be of format YYYY-MM-DD", "example": "2024-05-17" }, "guestCounts": { "type": "object", "description": "Reservation Guest Count details in room Stay level", "properties": { "adults": { "type": "integer", "format": "int32", "description": "Adults count", "example": 2 }, "children": { "type": "integer", "format": "int32", "description": "Children count", "example": 3 }, "childAges": { "description": "Ages of children", "type": "array", "items": { "type": "integer", "format": "int32" }, "example": [ 4, 9, 17 ] } }, "required": [ "adults" ] }, "promotion": { "description": "Details of Promotion attached to the reservation.", "type": "object", "properties": { "promotionCode": { "type": "string", "example": "EARLYBIRD", "description": "Promotion code associated with the rate plan.", "minLength": 0, "maxLength": 20 } } }, "guarantee": { "type": "object", "description": "Reservation guarantee details.", "properties": { "guaranteeCode": { "type": "string", "example": "CC", "description": "Accepts Property Guarantee Code.\nEither of guaranteeCode or guaranteeType should be provided.\n" }, "guaranteeType": { "type": "string", "example": "5", "description": "Accepts OTA Standard Guarantee Type.\nPossible Values : Type assigned to the Guarantee.\nValid values: 5 = Credit Card, 8 = Deposit, 19 = Travel agency IATA number, 22 = Frequent guest, 30 = Corporate ID/CD Number, 38 = None.\nEither of guaranteeCode or guaranteeType should be provided.\n" }, "onHold": { "type": "boolean", "example": false, "description": "If true indicates this Guarantee Code is used only to hold the inventory during reservation process." } } }, "printRate": { "description": "Defines if the rate is printed on various correspondence. Possible values are 'true' or 'false'.", "type": "boolean", "example": false }, "roomRates": { "description": "Room Rate Information", "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/InfoRoomRateData" } }, "multiValueAttrs": { "description": "Informative indicators indicating different values of an attribute exists over the stay.", "type": "array", "maxItems": 4000, "items": { "type": "string", "maxLength": 2000 } }, "total": { "$ref": "#/definitions/Total" }, "expectedTimes": { "description": "Expected Arrival and Departure Time information.", "$ref": "#/definitions/ExpectedTimesType" }, "bookingMedium": { "description": "Indicates the Origin of the reservation", "type": "string", "minLength": 1, "maxLength": 20, "example": "OTA" } }, "required": [ "arrivalDate", "departureDate", "roomRates", "guarantee" ] }, "ExpectedTimesType": { "type": "object", "description": "Expected Arrival and Departure Time information.", "properties": { "reservationExpectedArrivalTime": { "description": "Indicates the expected Arrival Time of the reservation guest.", "type": "string", "format": "date-time", "example": "2026-11-17T12:21:00.000Z" }, "reservationExpectedDepartureTime": { "description": "Indicates the expected Departure Time of the reservation guest.", "type": "string", "format": "date-time", "example": "2026-11-20T12:21:00.000Z" } } }, "Total": { "type": "object", "description": "Reservation Total Rate Information\n* If the rate plan is configured as Tax Inclusive, Amount After Tax is returned.\n* If the rate Plan is configured as Tax Exclusive, Amount Before Tax is returned.\n", "properties": { "taxes": { "type": "object", "description": "Total Tax details applicable for this reservation", "$ref": "#/definitions/Taxes" }, "description": { "type": "string", "example": "string", "deprecated": true }, "currencySymbol": { "type": "string", "description": "Symbol of Rate Currency.", "example": "$" }, "decimalPlaces": { "type": "number", "description": "Rate Amount decimal Places.", "example": 1 }, "code": { "type": "string", "example": "string", "deprecated": true }, "rateOverride": { "type": "boolean", "description": "Indicated if the rate is ovverriden or not.", "example": true }, "amountAfterTax": { "type": "number", "example": 214.5, "description": "Reservation Total Rate including all known taxes, fees and surcharges." }, "amountBeforeTax": { "type": "number", "description": "Reservation Total Rate excluding all known taxes, fees and surcharges.", "example": 200 }, "currencyCode": { "$ref": "#/definitions/CurrencyCode" } } }, "Taxes": { "type": "object", "description": "Tax details.", "properties": { "tax": { "type": "array", "description": "List of taxes applicable for this reservation", "minItems": 1, "items": { "$ref": "#/definitions/Tax" } }, "totalTax": { "type": "number", "description": "Total Taxes applicable for the reservation", "example": 23.79 }, "totalFees": { "type": "number", "description": "Total Fees applicable for the reservation", "example": 25 }, "amount": { "type": "number", "description": "Total Tax amount applicable for the reservation.", "example": 20.3 }, "currencyCode": { "type": "string", "description": "ISO currency code of the tax.", "example": "EUR" }, "hotelTaxFeeDescriptions": { "type": "array", "description": "Hotel Tax / Fee Descriptions", "items": { "type": "object", "properties": { "description": { "type": "string", "example": "9% City Occupancy Tax" } } } } } }, "Tax": { "type": "object", "properties": { "description": { "type": "string", "description": "OTA Standard Fee Tax Type description", "example": "VAT (Value Added Tax)" }, "type": { "type": "string", "description": "Indicates if this tax is included or excluded in rate.", "enum": [ "Inclusive", "Exclusive" ], "example": "Exclusive" }, "code": { "type": "string", "description": "OTA Standard Fee Tax Type", "example": "36" }, "amount": { "type": "number", "description": "Total tax amount of given Fee Tax type.", "example": 10 }, "currencyCode": { "type": "string", "description": "ISO currency code of the tax.", "example": "EUR" }, "codeType": { "type": "string", "description": "Classification of the code:Tax or Fee", "enum": [ "Tax", "Fee" ], "example": "Tax" } } }, "CurrencyCode": { "type": "string", "description": "The rate currency code. This should be ISO currency code.\n * Matches regex pattern: [A-Z]{3}\n * Length of string must be less than, or equal to 3\n * Length of string must be greater than, or equal to 3\n", "example": "USD" }, "InfoRoomRateData": { "type": "object", "description": "The response object for InfoRoomRate", "allOf": [ { "$ref": "#/definitions/InfoRoomRate" }, { "type": "object", "properties": { "ratePlanInfo": { "type": "object", "description": "Rate Plan information", "properties": { "ratePlanType": { "type": "string", "description": "The rate plan type associated with the rate plan.", "example": "CORP" }, "ratePlanName": { "type": "string", "description": "The name of the rate plan.", "example": "Flexible Room Only Rate" }, "ratePlanLevel": { "type": "string", "description": "The rate level the rate plan is associated to.", "example": "DISC" }, "ratePlanCategory": { "type": "string", "description": "The rate category the rate plan is associated to.", "example": "FLEX" }, "identificationRequired": { "type": "boolean", "description": "Indicates if an ID is required during the Check-In for this rate booking.", "example": false }, "gdsDescription": { "$ref": "#/definitions/GdsDescription" }, "mealPlan": { "description": "Type of meal plan the rate plan includes", "type": "object", "$ref": "#/definitions/MealPlan" } } }, "roomTypeInfo": { "type": "object", "description": "Room Type Information", "properties": { "roomType": { "type": "string", "description": "The code for the room type.", "example": "A1K" }, "description": { "type": "array", "description": "Description of the room type.", "items": { "type": "string", "example": "Deluxe Suite Room with Ocean View" } }, "roomName": { "type": "string", "description": "Name of the room type.", "example": "Deluxe Suite" }, "roomCategory": { "type": "string", "description": "Room category with which the room type is associated.", "example": "SUITE" }, "roomAmenities": { "type": "array", "description": "List of amenities for the room type.", "items": { "$ref": "#/definitions/RoomAmenities" } }, "roomViewType": { "type": "string", "description": "The type of view the room type offers.", "example": "Ocean View" }, "nonSmokingInd": { "type": "boolean", "description": "When true the room type is non-smoking.", "example": true } } }, "suppressRate": { "type": "boolean", "description": "Used to suppress the display of the room rate in various correspondence. Possible values are 'true' or 'false'.", "example": false }, "commissionCode": { "type": "string", "description": "Commission Code applicable for the reservation.", "example": "COM20P" }, "commissionable": { "type": "boolean", "description": "Indicates if a rate plan is commissionable or not", "example": true }, "commissionPercentage": { "type": "number", "description": "commissionPercentage value", "example": 10 } } } ] }, "GdsDescription": { "type": "object", "description": "Multi line description of the rate plan.", "properties": { "line1": { "description": "First line of rate plan description.", "type": "string", "example": "Room Only Rate with free wifi" }, "line2": { "description": "Second line of rate plan description.", "type": "string", "example": "Continental Breakfast for additional fee" }, "line3": { "description": "Third line of rate plan description.", "type": "string", "example": "Cancel anytime" }, "detailedDescription": { "description": "Detailed information about the rate plan.", "type": "string", "example": "An outdoor pool is also available for guests staying at the lodge during the summertime." } } }, "RoomAmenities": { "type": "object", "properties": { "roomAmenity": { "description": "The code for an amenity offered with the room type.", "type": "string", "example": "13" }, "description": { "description": "Description of the amenity for the room type.", "type": "string", "example": "Bathtub" }, "availabilityStatus": { "description": "Indicates the availability status of the room amenity.\n* AvailableForSale - Room amenity is available for sale.\n* NoAvailability - Room amenity is not available for sale\n", "type": "string", "enum": [ "AvailableForSale", "NoAvailability" ], "example": "AvailableForSales" }, "quantity": { "description": "The number of amenities within the room amenity code.", "type": "integer", "format": "int32" }, "includeInRate": { "description": "When true indicates if the room amenity is included with the room rate.", "type": "boolean" }, "confirmable": { "description": "When true indicates there is a need to contact the property to confirm the availability of the room amenity.", "type": "boolean" } } }, "InfoRoomRate": { "type": "object", "properties": { "rates": { "type": "object", "properties": { "rate": { "type": "array", "items": { "$ref": "#/definitions/RoomRate" } } } }, "guestCounts": { "$ref": "#/definitions/GuestCount" }, "reservationBlock": { "type": "object", "description": "Block related information", "properties": { "blockIdList": { "description": "List of Block Ids", "type": "array", "items": { "$ref": "#/definitions/blockIdList" } }, "blockName": { "description": "Name of the Block", "type": "string", "maxLength": 2000, "example": "ABC Annual Meet" } } }, "roomType": { "type": "string", "description": "Room Type Code for which the reservation is requested for.", "example": "XA1K" }, "ratePlanCode": { "type": "string", "description": "* Rate Plan Code for which the reservation is requested.\n* Rate plan code is mandatory for Transient ( non Block) reservation requests.\n* Rate Plan Code is optional if the reservation is for a Business Block.\n", "example": "XDAILY" }, "numberOfUnits": { "type": "integer", "format": "int32", "description": "Number of rooms to be booked for this reservation", "example": 1 }, "marketCode": { "type": "string", "description": "The code that relates to the market being sold to (e.g., the corporate market, packages).", "example": "BR" }, "sourceCode": { "type": "string", "description": "To specify where the business came from e.g.radio, newspaper ad, etc.", "example": "OTA" }, "start": { "description": "Effective Start Date of the room rate.\n* Value must be of format 'date'\n", "type": "string", "format": "date", "example": "2024-05-16" }, "end": { "description": "Effective End Date of the room rate.\n* Value must be of format 'date'\n", "type": "string", "format": "date", "example": "2024-05-16" } }, "required": [ "guestCounts", "roomType" ] }, "blockIdList": { "type": "object", "properties": { "id": { "description": "Unique OPERA Block ID which is a primary identification of a Block in OPERA.", "type": "string", "maxLength": 40, "example": "ABCEVENT0523" }, "type": { "description": "Type of the Block Id. Valid value 'BlockCode'", "type": "string", "enum": [ "BlockCode" ] } } }, "GuestCount": { "type": "object", "description": "Reservation Guest Count details in room Stay level", "properties": { "childAges": { "description": "Ages of children", "type": "array", "items": { "type": "integer", "format": "int32" }, "example": [ 4, 9, 17 ] }, "adults": { "description": "Number of adults", "type": "integer", "format": "int32", "example": 2 }, "children": { "description": "Number of children", "type": "integer", "format": "int32", "example": 3 } }, "required": [ "adults" ] }, "RoomRate": { "type": "object", "properties": { "base": { "type": "object", "description": "Base Rate Details\n* If the rate plan is configured as Tax Inclusive, Amount After Tax is expected in reservation requests.\n* If the rate Plan is configured as Tax exclusive, Amount Before Tax is expected in reservation requests.\n", "properties": { "amountAfterTax": { "type": "number", "example": 214.5, "description": "Room Rate including all known taxes, fees and surcharges." }, "amountBeforeTax": { "type": "number", "description": "Room Rate excluding all known taxes, fees and surcharges.", "example": 200 }, "currencyCode": { "$ref": "#/definitions/CurrencyCode" } } }, "start": { "description": "Effective Start Date of the room rate.\n* Value must be of format 'date'\n", "type": "string", "format": "date", "example": "2024-05-16" }, "end": { "description": "Effective End Date of the room rate.\n* Value must be of format 'date'\n", "type": "string", "format": "date", "example": "2024-05-16" } } }, "MealPlan": { "type": "object", "properties": { "mealPlanIncluded": { "description": "Type of meal plan", "type": "object", "$ref": "#/definitions/RatePlanMealPlanType" }, "mealPlanCode": { "description": "The meal plan code", "type": "string", "example": "1" }, "mealPlanDescription": { "description": "The meal plan description", "type": "string", "example": "All inclusive meal plan" }, "mealsIncluded": { "description": "Type of meal plan the rate plan includes", "type": "array", "items": { "type": "string" }, "example": [ "Breakfast", "Lunch", "Dinner" ] } } }, "RatePlanMealPlanType": { "type": "string", "enum": [ "Breakfast", "Lunch", "Dinner", "AllInclusive" ], "description": "Type of meal plan the rate plan includes" }, "ModifyRequestType": { "type": "object", "properties": { "reservations": { "type": "array", "items": { "$ref": "#/definitions/ModifyReservationRequest" }, "minItems": 1 } } }, "ModifyReservationRequest": { "type": "object", "properties": { "reservationIdList": { "type": "array", "items": { "$ref": "#/definitions/ReservationId" } }, "isSessionRequest": { "type": "boolean", "example": false, "description": "Used to determine if the incoming reservation should be treated as a session reservation. By default this parameter is set to false." }, "lastModifyDateTime": { "type": "string", "format": "date-time", "description": "Date and time when this reservation was last updated, including time zone information. Timestamp as defined in ISO 8601 format and always be in the following format: YYYY-MM-DDThh:mm:ssZ (time is UTC).", "example": "2023-11-17T12:21:00Z" }, "roomStay": { "$ref": "#/definitions/RoomStay" }, "reservationGuests": { "type": "array", "items": { "$ref": "#/definitions/ReservationGuestRequest" }, "example": [ { "profileInfo": { "profile": { "customer": { "personName": [ { "surname": "Smith", "givenName": "Mary", "middleName": "Angel", "nameTitle": "Mr and Mrs", "nameType": "Primary", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } ], "language": "en-us" }, "profileType": "Guest" } }, "primary": true, "arrivalTransport": { "comments": "Comments Area", "type": "adf", "transportCode": "XXXX", "carrierCode": "XXXX", "stationCode": "XXXX", "dateTime": "2020-09-17T12:21:00.000Z", "transportationReqd": true }, "departureTransport": { "comments": "Comments Area", "type": "adf", "transportCode": "XXXX", "carrierCode": "XXXX", "stationCode": "XXXX", "dateTime": "2020-09-17T12:21:00.000Z", "transportationReqd": true } }, { "profileInfo": { "profileIdList": [ { "id": "12345671", "idContext": "Central", "type": "TravelAgent" } ], "profile": { "profileType": "TravelAgent", "companyInfo": { "companyName": "Smith Travel", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } } }, "primary": true }, { "profileInfo": { "profileIdList": [ { "id": "12345672", "idContext": "Central", "type": "Source" } ], "profile": { "profileType": "Source", "companyInfo": { "companyName": "Smith Travel POS", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } } }, "primary": true }, { "profileInfo": { "profileIdList": [ { "id": "", "idContext": "Central", "type": "Company" } ], "profile": { "profileType": "Company", "companyInfo": { "companyName": "Oracle Corporation", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } }, "primary": true } } ] }, "reservationPaymentMethods": { "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/PaymentMethod" } }, "reservationMemberships": { "type": "array", "items": { "$ref": "#/definitions/ReservationMembership" } }, "hotelCode": { "description": "The unique identifier of the Property in Channel system.", "type": "string", "example": "XUSXXYY99" }, "messageId": { "description": "Reservation Message Number generated by the requester.", "type": "string", "example": "22922909" }, "comments": { "type": "array", "description": "Comments associated to the Reservation", "items": { "type": "object", "properties": { "comment": { "$ref": "#/definitions/CommentType" } } } }, "printRate": { "description": "Defines if the rate is printed on various correspondence. Possible values are 'true' or 'false'.", "type": "boolean", "example": false }, "optedForCommunication": { "description": "Defines if guest agreed to receive correspondence from the property via email, phone, letter, etc. Possible values are 'true' or 'false'.", "type": "boolean", "example": false }, "subChannelCode": { "type": "string", "description": "Sub Channel Code associated to reservation.", "example": "CH1" }, "travelPurpose": { "description": "Indicates the purpose of Guest Stay", "type": "string", "enum": [ "Leisure", "Business" ] } }, "required": [ "reservationIdList", "roomStay", "reservationGuests", "reservationPaymentMethods" ] }, "RoomStay": { "type": "object", "description": "List of room stay information including Room Rates, Promotion, Guest Counts and Guarantee", "properties": { "arrivalDate": { "type": "string", "format": "date", "description": "Arrival Date of the Reservation. Value must be of format YYYY-MM-DD", "example": "2024-05-16" }, "departureDate": { "type": "string", "format": "date", "description": "Departure Date of the Reservation. Value must be of format YYYY-MM-DD", "example": "2024-05-17" }, "roomRates": { "description": "Room Rate Information", "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/InfoRoomRate" } }, "guestCounts": { "type": "object", "properties": { "adults": { "type": "integer", "format": "int32", "description": "Adults count", "example": 2 }, "children": { "type": "integer", "format": "int32", "description": "Children count", "example": 3 }, "childAges": { "description": "Ages of children", "type": "array", "items": { "type": "integer", "format": "int32" }, "example": [ 4, 9, 17 ] } }, "required": [ "adults" ] }, "promotion": { "description": "Details of Promotion attached to the reservation.", "type": "object", "properties": { "promotionCode": { "type": "string", "example": "EARLYBIRD", "description": "Promotion code associated with the rate plan.", "minLength": 0, "maxLength": 20 } } }, "guarantee": { "description": "Reservation guarantee details.", "type": "object", "properties": { "guaranteeCode": { "type": "string", "example": "CC", "description": "Accepts Property Guarantee Code.\nEither of guaranteeCode or guaranteeType should be provided.\n" }, "guaranteeType": { "type": "string", "example": "8", "description": "Accepts OTA Standard Guarantee Type.\nPossible Values : Type assigned to the Guarantee.\nValid values: 5 = Credit Card, 8 = Deposit, 19 = Travel agency IATA number, 22 = Frequent guest, 38 = None.\nEither of guaranteeCode or guaranteeType should be provided.\n" }, "onHold": { "type": "boolean", "example": false, "description": "If true indicates this Guarantee Code is used only to hold the inventory during reservation process." } } }, "printRate": { "description": "Defines if the rate is printed on various correspondence. Possible values are 'true' or 'false'.", "type": "boolean", "example": false }, "expectedTimes": { "description": "Expected Arrival and Departure Time information.", "$ref": "#/definitions/ExpectedTimesType" }, "bookingMedium": { "description": "Indicates the Origin of the reservation", "type": "string", "minLength": 1, "maxLength": 20, "example": "OTA" } }, "required": [ "arrivalDate", "departureDate", "roomRates", "guarantee" ] }, "ReservationGuestRequest": { "type": "object", "description": "Reservation Guest Information", "properties": { "profileInfo": { "type": "object", "properties": { "profileIdList": { "$ref": "#/definitions/ProfileIdListRequest" }, "profile": { "$ref": "#/definitions/Profile" } }, "required": [ "profile" ] }, "primary": { "type": "boolean", "example": true, "description": "Indicates if the profile is primary if multiple profiles of the same type are being sent. Should be true by default if only one profile of same type is sent" }, "arrivalTransport": { "description": "Arrival Transport details of the Guest", "$ref": "#/definitions/ReservationTransport" }, "departureTransport": { "description": "Departure Transport details of the Guest", "$ref": "#/definitions/ReservationTransport" } }, "required": [ "profileInfo" ] }, "ProfileIdListRequest": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique ID associated with that profile" }, "idContext": { "type": "string", "example": "Central", "description": "The Context of the ID sent above. Possible Values : Central" }, "type": { "type": "string", "description": "The type of profile being sent Possible Values : Guest, TravelAgent, Source, Company" } } } }, "OnHoldResponse": { "type": "object", "properties": { "reservationIds": { "type": "array", "items": { "$ref": "#/definitions/ReservationId" }, "example": [ { "id": "3456-ADS-45687879", "type": "Others", "idContext": "ADSTEST", "idExtension": "1" }, { "id": "LZDI6496738895", "type": "Confirmation", "idContext": "Central", "idExtension": "1" } ] }, "reservationStatus": { "description": "Reservation Status", "type": "string", "enum": [ "Committed", "Ignored" ], "example": "Committed" }, "hotelCode": { "description": "The unique identifier of the Property in Channel system.", "type": "string", "example": "XUSXXYY99" } }, "required": [ "reservationIds", "reservationStatus" ] }, "ExceptionObj": { "type": "object", "properties": { "logId": { "type": "integer", "example": 884366973 }, "title": { "type": "string", "description": "Short, human-readable summary of the problem. The summary SHOULD NOT change for subsequent occurrences of the problem, except for purposes of localization.", "example": "Error Occurred During Reservation Processing" }, "status": { "type": "integer", "description": "HTTP status code for this occurrence of the problem, set by the origin server.", "example": 400 }, "o.errorCode": { "type": "string", "description": "HDP error code, which is different from HTTP error code.", "example": "DRSC10000" }, "type": { "type": "string", "description": "Absolute URI [RFC3986] that identifies the problem type. When dereferenced, it SHOULD provide a human-readable summary of the problem.", "example": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.x" }, "timestamp": { "type": "string", "example": "2021-09-17T08:17:18.321Z", "format": "date-time" }, "o.errorDetails": { "type": "array", "items": { "$ref": "#/definitions/ErrorDetailsObj" } } }, "required": [ "logId", "title", "status" ] }, "ErrorDetailsObj": { "type": "object", "properties": { "logId": { "type": "integer", "example": 443265783 }, "title": { "type": "string", "description": "Short, human-readable summary of the problem. The summary SHOULD NOT change for subsequent occurrences of the problem, except for purposes of localization.", "example": "Reservation Id was not found" }, "status": { "type": "integer", "description": "HTTP status code for this occurrence of the problem, set by the origin server.", "example": 400 }, "o.errorCode": { "type": "string", "description": "HDP error code, which is different from HTTP error code.", "example": "DRSV30007" }, "type": { "type": "string", "description": "Absolute URI [RFC3986] that identifies the problem type. When dereferenced, it SHOULD provide a human-readable summary of the problem.", "example": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.x" }, "timestamp": { "type": "string", "example": "2021-09-17T08:17:18.321Z", "format": "date-time" } } }, "CancelRequestType": { "type": "object", "properties": { "reservations": { "type": "array", "items": { "$ref": "#/definitions/CancelReservationRequest" }, "minItems": 1 } }, "required": [ "reservations" ] }, "CancelReservationRequest": { "type": "object", "properties": { "reservationIdList": { "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/ReservationId" } }, "isSessionRequest": { "type": "boolean", "example": false, "description": "Used to determine if the incoming reservation should be treated as a session reservation. By default this parameter is set to false." }, "lastModifyDateTime": { "type": "string", "format": "date-time", "description": "Date and time when this reservation was last updated, including time zone information. Timestamp as defined in ISO 8601 format and always be in the following format: YYYY-MM-DDThh:mm:ssZ (time is UTC).", "example": "2023-11-17T12:21:00Z" }, "hotelCode": { "description": "The unique identifier of the Property in Channel system.", "type": "string", "example": "XUSXXYY99" }, "messageId": { "description": "Reservation Message Number generated by the requester.", "type": "string", "example": "22922909" }, "subChannelCode": { "type": "string", "description": "Sub Channel Code associated to reservation.", "example": "CH1" } }, "required": [ "reservationIdList" ] }, "CancelResponse": { "type": "array", "items": { "$ref": "#/definitions/CancelResponseItem" } }, "CancelResponseItem": { "type": "object", "properties": { "reservationIds": { "type": "array", "items": { "$ref": "#/definitions/ReservationId" }, "example": [ { "id": "LZDI6496738895", "type": "Confirmation", "idContext": "Central", "idExtension": "1" }, { "id": "YMWSGD-1631707751742-8812771", "type": "Cancellation", "idContext": "Central", "idExtension": "1" } ] }, "lastModifyDateTime": { "type": "string", "format": "date-time", "description": "Date and time when this reservation was last updated, including time zone information. Timestamp as defined in ISO 8601 format and always be in the following format: YYYY-MM-DDThh:mm:ssZ (time is UTC).", "example": "2023-11-17T12:21:00Z" }, "hotelCode": { "description": "The unique identifier of the Property in Channel system.", "type": "string", "example": "XUSXXYY99" }, "reservationStatus": { "type": "string", "enum": [ "Reserved", "ReservedChanged", "Cancelled", "OnHold" ], "example": "Cancelled" }, "comments": { "type": "array", "description": "Comments associated to the Reservation", "items": { "type": "object", "properties": { "comment": { "type": "object", "properties": { "text": { "type": "object", "description": "Comment Free Text", "properties": { "value": { "type": "string", "example": "Too Late To Cancel -Cancel Penalty of USD10 May Apply" } } }, "commentTitle": { "type": "string", "description": "Title of the Comment", "example": "Reservation Info" } } } } } }, "isSessionRequest": { "type": "boolean", "default": false, "example": false, "description": "Used to determine if the incoming reservation should be treated as a session reservation. By default this parameter is set to false." }, "subChannelCode": { "type": "string", "description": "Sub Channel Code associated to reservation.", "example": "CH1" } }, "required": [ "reservationIds", "reservationStatus" ] }, "CreateRequestType": { "type": "object", "properties": { "reservations": { "type": "array", "items": { "$ref": "#/definitions/CreateReservationRequest" }, "minItems": 1, "example": [ { "roomStay": { "arrivalDate": "2021-06-12", "departureDate": "2021-06-14", "roomRates": [ { "rates": { "rate": [ { "start": "2021-06-12", "end": "2021-06-13", "base": { "amountBeforeTax": 198.64, "amountAfterTax": 702.73, "currencyCode": "EUR" } } ] }, "guestCounts": { "adults": 2, "childAges": [ 4, 9, 17 ], "children": 3 }, "reservationBlock": { "blockIdList": [ { "id": "ABCEVENT0523", "type": "BlockCode" } ], "blockName": "ABC Annual Meet" }, "roomType": "XA1K", "start": "2021-06-12", "end": "2021-06-13", "ratePlanCode": "XDAILY", "numberOfUnits": 1, "marketCode": "BR", "sourceCode": "OTA" } ], "guestCounts": { "adults": 2, "children": 3, "childAges": [ 4, 9, 17 ] }, "promotion": { "promotionCode": "EARLYBIRD" }, "guarantee": { "guaranteeCode": "CC", "guaranteeType": "5", "onHold": false }, "printRate": false }, "reservationGuests": [ { "profileInfo": { "profile": { "customer": { "personName": [ { "surname": "Smith", "givenName": "Mary", "middleName": "Angel", "nameTitle": "Mr and Mrs", "nameType": "Primary", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } ], "language": "en-us" }, "profileType": "Guest" } }, "primary": true, "arrivalTransport": { "comments": "Comments Area", "type": "adf", "transportCode": "XXXX", "carrierCode": "XXXX", "stationCode": "XXXX", "dateTime": "2020-09-17T12:21:00.000Z", "transportationReqd": true }, "departureTransport": { "comments": "Comments Area", "type": "adf", "transportCode": "XXXX", "carrierCode": "XXXX", "stationCode": "XXXX", "dateTime": "2020-09-17T12:21:00.000Z", "transportationReqd": true } }, { "profileInfo": { "profileIdList": [ { "id": "12345671,", "idContext": "Central", "type": "TravelAgent" } ], "profile": { "profileType": "TravelAgent", "companyInfo": { "companyName": "Smith Travel1", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } } }, "primary": true }, { "profileInfo": { "profileIdList": [ { "id": "12345672", "idContext": "Central", "type": "Source" } ], "profile": { "profileType": "Source", "companyInfo": { "companyName": "Smith Travel POS1", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } } }, "primary": true }, { "profileInfo": { "profileIdList": [ { "id": "", "idContext": "Central", "type": "Company" } ], "profile": { "profileType": "Company", "companyInfo": { "companyName": "Oracle Corporation1", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } }, "primary": true } } ], "reservationPaymentMethods": [ { "paymentMethod": "5", "folioView": "1", "paymentCard": { "cardType": "MC", "cardNumber": "4562967335452516", "expirationDate": "06/21", "cardHolderName": "Mary Smith", "cardNumberMasked": "XXXXXXXXXXXX0005", "cardOrToken": "Token", "citId": "654321ABC1234578" } } ], "reservationMemberships": [ { "membershipLevel": "ENTRY", "membershipId": "O12345F", "membershipType": "MF" } ], "hotelCode": "XUSXXYY99", "lastModifyDateTime": "2020-09-17T19:21:00.000Z", "messageId": "22922909", "comments": [ { "comment": { "text": { "value": "Channel Text note 1 king bed Non-Smoking Bill guest full stay" }, "commentTitle": "Notes from Channel" } } ], "printRate": false, "optedForCommunication": false, "isSessionRequest": false, "subChannelCode": "CH1" } ] } }, "required": [ "reservations" ] }, "CreateReservationRequest": { "type": "object", "properties": { "reservationIdList": { "type": "array", "items": { "$ref": "#/definitions/ReservationIdCreate" } }, "isSessionRequest": { "type": "boolean", "example": false, "description": "Used to determine if the incoming reservation should be treated as a session reservation. By default this parameter is set to false." }, "lastModifyDateTime": { "type": "string", "format": "date-time", "description": "Date and time when this reservation was last updated, including time zone information. Timestamp as defined in ISO 8601 format and always be in the following format: YYYY-MM-DDThh:mm:ssZ (time is UTC).", "example": "2023-11-17T12:21:00Z" }, "roomStay": { "$ref": "#/definitions/RoomStay" }, "reservationGuests": { "type": "array", "items": { "$ref": "#/definitions/ReservationGuestRequest" }, "example": [ { "profileInfo": { "profile": { "customer": { "personName": [ { "surname": "Smith", "givenName": "Mary", "middleName": "Angel", "nameTitle": "Mr and Mrs", "nameType": "Primary", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } ], "language": "en-us" }, "profileType": "Guest" } }, "primary": true, "arrivalTransport": { "comments": "Comments Area", "type": "adf", "transportCode": "XXXX", "carrierCode": "XXXX", "stationCode": "XXXX", "dateTime": "2020-09-17T12:21:00.000Z", "transportationReqd": true }, "departureTransport": { "comments": "Comments Area", "type": "adf", "transportCode": "XXXX", "carrierCode": "XXXX", "stationCode": "XXXX", "dateTime": "2020-09-17T12:21:00.000Z", "transportationReqd": true } }, { "profileInfo": { "profileIdList": [ { "id": "12345671", "idContext": "Central", "type": "TravelAgent" } ], "profile": { "profileType": "TravelAgent", "companyInfo": { "companyName": "Smith Travel", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } } }, "primary": true }, { "profileInfo": { "profileIdList": [ { "id": "12345672", "idContext": "Central", "type": "Source" } ], "profile": { "profileType": "Source", "companyInfo": { "companyName": "Smith Travel POS", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } } }, "primary": true }, { "profileInfo": { "profileIdList": [ { "id": "", "idContext": "Central", "type": "Company" } ], "profile": { "profileType": "Company", "companyInfo": { "companyName": "Oracle Corporation", "email": "customer@example.com", "phoneNumber": "415.555.0100", "address": { "addressLine": [ "Street 7031 Columbia Gateway Dr." ], "cityName": "Columbia", "postalCode": "21046", "country": { "code": "US" }, "state": "MD" } } }, "primary": true } } ] }, "reservationPaymentMethods": { "type": "array", "minItems": 1, "items": { "$ref": "#/definitions/PaymentMethod" } }, "reservationMemberships": { "type": "array", "items": { "$ref": "#/definitions/ReservationMembership" } }, "hotelCode": { "description": "The unique identifier of the Property in Channel system.", "type": "string", "example": "XUSXXYY99" }, "messageId": { "description": "Reservation Message Number generated by the requester.", "type": "string", "example": "22922909" }, "comments": { "type": "array", "description": "Comments associated to the Reservation", "items": { "type": "object", "properties": { "comment": { "$ref": "#/definitions/CommentType" } } } }, "printRate": { "description": "Defines if the rate is printed on various correspondence. Possible values are 'true' or 'false'.", "type": "boolean", "example": false }, "optedForCommunication": { "description": "Defines if guest agreed to receive correspondence from the property via email, phone, letter, etc. Possible values are 'true' or 'false'.", "type": "boolean", "example": false }, "subChannelCode": { "type": "string", "description": "Sub Channel Code associated to reservation.", "example": "CH1" }, "travelPurpose": { "description": "Indicates the purpose of Guest Stay", "type": "string", "enum": [ "Leisure", "Business" ] } }, "required": [ "roomStay", "reservationGuests", "reservationPaymentMethods" ] }, "ReservationIdCreate": { "type": "object", "properties": { "id": { "type": "string", "description": "Global reservation number from external channel. Maximum length is 50 alphanumeric characters without spaces.", "example": "5030863" } } }, "OnHoldRequestType": { "type": "object", "properties": { "reservations": { "type": "array", "items": { "$ref": "#/definitions/OnHoldReservationRequest" }, "minItems": 1 } } }, "OnHoldReservationRequest": { "type": "object", "properties": { "reservationIdList": { "type": "array", "items": { "$ref": "#/definitions/ReservationId" } }, "lastModifyDateTime": { "type": "string", "format": "date-time", "description": "Date and time when this reservation was last updated, including time zone information. Timestamp as defined in ISO 8601 format and always be in the following format: YYYY-MM-DDThh:mm:ssZ (time is UTC).", "example": "2023-11-17T12:21:00Z" }, "reservationStatus": { "description": "Reservation Status", "type": "string", "enum": [ "Commit", "Ignore" ], "example": "Commit" }, "hotelCode": { "description": "The unique identifier of the Property in Channel system.", "type": "string", "example": "XUSXXYY99" }, "messageId": { "description": "Reservation Message Number generated by the requester.", "type": "string", "example": "22922909" } }, "required": [ "reservationIdList", "reservationStatus" ] } }, "parameters": { "hotelCodePath": { "name": "hotelCode", "description": "The unique identifier of the Property in Channel system.", "type": "string", "in": "path", "required": true, "minLength": 1, "x-example": "XUSXXYY99" }, "x-tracing-key": { "name": "x-hdp-tracing-key", "in": "header", "description": "Unique tracing key e.g. 4664ab3423434a45", "required": true, "type": "string", "x-example": "4664ab3423434a45" }, "confirmationNumberPath": { "name": "confirmationNum", "description": "OPERA Confirmation Number", "type": "string", "in": "path", "required": true, "minLength": 1, "x-example": "89786934" }, "Accept-Language": { "name": "Accept-Language", "type": "string", "description": "Language code", "pattern": "\\s*([a-z]{2})(?:-[A-Z]{2})?(?:\\s*;q=([0-9]\\.[0-9]))?(?:\\s*,|$)", "in": "header" }, "idExtension": { "name": "idExtension", "description": "This is the index number for multi leg reservations. Numeric values only.", "type": "string", "in": "query", "required": false, "minLength": 1, "x-example": "1" }, "authKey": { "name": "authorization", "in": "header", "description": "Bearer token that needs to be passed which is generated post user authentication", "required": true, "type": "string" }, "channelCodeHeader": { "name": "x-channelCode", "in": "header", "description": "Channel code.", "pattern": "^[a-zA-Z0-9]*$", "type": "string", "required": true, "x-example": "CH1" }, "appKey": { "name": "x-app-key", "in": "header", "description": "OHIP Partner", "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$", "type": "string", "required": false }, "x-request-id": { "name": "x-request-id", "type": "string", "description": "Unique tracing key e.g. 4664ab3423434a45", "in": "header", "x-example": "4664ab3423434a45" }, "x-originating-application": { "name": "x-originating-application", "type": "string", "description": "Customer's Integration Application Id", "in": "header" } }, "responses": { "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/ExceptionObj" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/ExceptionObj" } }, "405": { "description": "Method not allowed" }, "406": { "description": "Not acceptable." }, "413": { "description": "Request Entity Too Large" }, "414": { "description": "Request URI Too Large" }, "415": { "description": "Unsupported Media Type" }, "500": { "description": "System Error", "schema": { "$ref": "#/definitions/ExceptionObj" } }, "502": { "description": "Bad Gateway" }, "503": { "description": "Service Unavailable" } }, "tags": [ { "name": "Reservation Request", "description": "Reservation Request API operations allow a channel to create, modify and cancel reservations in Oracle Hospitality Distribution.
It is usually used in conjunction with OPERA Cloud Distribution Shop API to retrieve available offers before creating a reservation.
For these operations, API will perform all the necessary validations to authorize the reservation request and generate a confirmation number." } ], "externalDocs": { "description": "Find out more about Oracle Hospitality", "url": "https://docs.oracle.com/en/industries/hospitality/integration_platforms.html" } }