openapi: 3.2.0 info: title: OPERA Cloud Distribution Book Reservation Request API 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 servers: - url: /book/v1 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. paths: /hotels/{hotelCode}/reservations: post: summary: Create reservation operationId: postReservation description:

Create new reservation.

OperationId:postReservation

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

Modify a reservation.

OperationId:putReservation

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

Get reservation.

OperationId:getReservation

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

Cancel a reservation.

OperationId:postCancelReservation

tags: - Reservation Request parameters: - $ref: '#/components/parameters/hotelCodePath' - $ref: '#/components/parameters/confirmationNumberPath' - $ref: '#/components/parameters/x-tracing-key' - $ref: '#/components/parameters/authKey' - $ref: '#/components/parameters/channelCodeHeader' - $ref: '#/components/parameters/appKey' - $ref: '#/components/parameters/Accept-Language' - $ref: '#/components/parameters/x-request-id' - $ref: '#/components/parameters/x-originating-application' responses: '200': description: Ok headers: Content-Language: description: Audience language x-example: en-GB schema: type: string pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/CancelResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '413': $ref: '#/components/responses/413' '414': $ref: '#/components/responses/414' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' requestBody: content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/CancelRequestType' required: true /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 parameters: - $ref: '#/components/parameters/hotelCodePath' - $ref: '#/components/parameters/confirmationNumberPath' - $ref: '#/components/parameters/x-tracing-key' - $ref: '#/components/parameters/authKey' - $ref: '#/components/parameters/channelCodeHeader' - $ref: '#/components/parameters/appKey' - $ref: '#/components/parameters/Accept-Language' - $ref: '#/components/parameters/x-request-id' - $ref: '#/components/parameters/x-originating-application' responses: '200': description: Ok headers: Content-Language: description: Audience language x-example: en-GB schema: type: string pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*' content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/OnHoldResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '406': $ref: '#/components/responses/406' '413': $ref: '#/components/responses/413' '414': $ref: '#/components/responses/414' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' '502': $ref: '#/components/responses/502' '503': $ref: '#/components/responses/503' requestBody: content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/OnHoldRequestType' required: true components: schemas: 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. * AvailableForSale - Room amenity is available for sale. * NoAvailability - Room amenity is not available for sale ' 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 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 Total: type: object description: 'Reservation Total Rate Information * If the rate plan is configured as Tax Inclusive, Amount After Tax is returned. * If the rate Plan is configured as Tax Exclusive, Amount Before Tax is returned. ' properties: taxes: type: object description: Total Tax details applicable for this reservation $ref: '#/components/schemas/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: '#/components/schemas/CurrencyCode' 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 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: '#/components/schemas/ErrorDetailsObj' required: - logId - title - status 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 Location: type: object properties: propertyLocation: type: string maxLength: 1024 example: ABC hills RoomRate: type: object properties: base: type: object description: 'Base Rate Details * If the rate plan is configured as Tax Inclusive, Amount After Tax is expected in reservation requests. * If the rate Plan is configured as Tax exclusive, Amount Before Tax is expected in reservation requests. ' 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: '#/components/schemas/CurrencyCode' start: description: 'Effective Start Date of the room rate. * Value must be of format ''date'' ' type: string format: date example: '2024-05-16' end: description: 'Effective End Date of the room rate. * Value must be of format ''date'' ' type: string format: date example: '2024-05-16' 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 OfferDistanceUnit: type: string enum: - Kilometers - Miles description: Distance unit of measure 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: '#/components/schemas/Address' required: - surname ReservationGuestResponse: type: object description: Reservation Guest Information properties: profileInfo: type: object properties: profileIdList: $ref: '#/components/schemas/ProfileIdListResponse' profile: $ref: '#/components/schemas/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: '#/components/schemas/ReservationTransport' departureTransport: description: Departure Transport details of the Guest $ref: '#/components/schemas/ReservationTransport' required: - profileInfo ReservationIdCreate: type: object properties: id: type: string description: Global reservation number from external channel. Maximum length is 50 alphanumeric characters without spaces. example: '5030863' Url: type: object properties: url: type: string urlType: type: string urlTypeCode: type: string 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' 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: '#/components/schemas/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. Either of guaranteeCode or guaranteeType should be provided. ' guaranteeType: type: string example: '8' description: 'Accepts OTA Standard Guarantee Type. Possible Values : Type assigned to the Guarantee. Valid values: 5 = Credit Card, 8 = Deposit, 19 = Travel agency IATA number, 22 = Frequent guest, 38 = None. Either of guaranteeCode or guaranteeType should be provided. ' 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: '#/components/schemas/ExpectedTimesType' bookingMedium: description: Indicates the Origin of the reservation type: string minLength: 1 maxLength: 20 example: OTA required: - arrivalDate - departureDate - roomRates - guarantee ProfileType: type: string enum: - Guest - TravelAgent - Source - Company example: Guest description: The type of profile being sent ReservationGuestRequest: type: object description: Reservation Guest Information properties: profileInfo: type: object properties: profileIdList: $ref: '#/components/schemas/ProfileIdListRequest' profile: $ref: '#/components/schemas/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: '#/components/schemas/ReservationTransport' departureTransport: description: Departure Transport details of the Guest $ref: '#/components/schemas/ReservationTransport' required: - profileInfo 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 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' 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. Either of guaranteeCode or guaranteeType should be provided. ' guaranteeType: type: string example: '5' description: 'Accepts OTA Standard Guarantee Type. Possible Values : Type assigned to the Guarantee. Valid values: 5 = Credit Card, 8 = Deposit, 19 = Travel agency IATA number, 22 = Frequent guest, 30 = Corporate ID/CD Number, 38 = None. Either of guaranteeCode or guaranteeType should be provided. ' 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: '#/components/schemas/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: '#/components/schemas/Total' expectedTimes: description: Expected Arrival and Departure Time information. $ref: '#/components/schemas/ExpectedTimesType' bookingMedium: description: Indicates the Origin of the reservation type: string minLength: 1 maxLength: 20 example: OTA required: - arrivalDate - departureDate - roomRates - guarantee CreateRequestType: type: object properties: reservations: type: array items: $ref: '#/components/schemas/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 Response: type: array items: $ref: '#/components/schemas/BookingResponse' 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 Profile: type: object properties: customer: type: object properties: personName: type: array minItems: 1 items: $ref: '#/components/schemas/PersonName' language: type: string description: Reservation Language Code example: en-us required: - personName profileType: $ref: '#/components/schemas/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: '#/components/schemas/Address' 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. CancelResponse: type: array items: $ref: '#/components/schemas/CancelResponseItem' 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 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' 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 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: '#/components/schemas/OfferAddress' propertyAmenities: type: array items: $ref: '#/components/schemas/OfferHotelAmenity' transportations: type: array items: $ref: '#/components/schemas/Transportation' direction: type: object $ref: '#/components/schemas/Direction' location: type: object $ref: '#/components/schemas/Location' generalInformation: type: object description: This section contain information about property check-in, check-out time $ref: '#/components/schemas/GeneralInformation' communications: type: object $ref: '#/components/schemas/Communications' alternateProperties: type: array items: $ref: '#/components/schemas/OfferAlternateProperty' pointOfInterest: type: array items: $ref: '#/components/schemas/OfferPointOfInterest' marketingMessage: type: string description: Property level marketing message. example: Thank you for choosing our property. CancelReservationRequest: type: object properties: reservationIdList: type: array minItems: 1 items: $ref: '#/components/schemas/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 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: '#/components/schemas/OfferDistanceUnit' compassDirection: type: string description: Relative direction from hotel to alternate property $ref: '#/components/schemas/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. Phone: type: object properties: phoneTechType: type: string phoneTechTypeCode: type: string phoneLocationType: type: string phoneLocationTypeCode: type: string phoneNumber: type: string BookingResponse: type: object properties: reservationIds: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/RoomStayData' reservationGuests: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/PaymentMethod' reservationMemberships: type: array items: $ref: '#/components/schemas/ReservationMembership' reservationPolicies: $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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 OfferCompassDirection: type: string enum: - N - NE - E - SE - S - SW - W - NW description: Relative direction from hotel to alternate property CreateReservationRequest: type: object properties: reservationIdList: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/RoomStay' reservationGuests: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/PaymentMethod' reservationMemberships: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/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 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' CancelResponseItem: type: object properties: reservationIds: type: array items: $ref: '#/components/schemas/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 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 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 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 RatePlanMealPlanType: type: string enum: - Breakfast - Lunch - Dinner - AllInclusive description: Type of meal plan the rate plan includes DepositPolicyResponse: type: object properties: revenueType: description: Revenue Type type: string enum: - Rooms - Catering - All example: Rooms policy: type: object properties: deadline: $ref: '#/components/schemas/Deadline' amountPercent: $ref: '#/components/schemas/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 OnHoldResponse: type: object properties: reservationIds: type: array items: $ref: '#/components/schemas/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 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 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: '#/components/schemas/PaymentCard' required: - paymentMethod MealPlan: type: object properties: mealPlanIncluded: description: Type of meal plan type: object $ref: '#/components/schemas/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 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' OnHoldRequestType: type: object properties: reservations: type: array items: $ref: '#/components/schemas/OnHoldReservationRequest' minItems: 1 Direction: type: object properties: propertyDirection: type: string maxLength: 1024 example: SE ABC hills InfoRoomRate: type: object properties: rates: type: object properties: rate: type: array items: $ref: '#/components/schemas/RoomRate' guestCounts: $ref: '#/components/schemas/GuestCount' reservationBlock: type: object description: Block related information properties: blockIdList: description: List of Block Ids type: array items: $ref: '#/components/schemas/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. * Rate plan code is mandatory for Transient ( non Block) reservation requests. * Rate Plan Code is optional if the reservation is for a Business Block. ' 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. * Value must be of format ''date'' ' type: string format: date example: '2024-05-16' end: description: 'Effective End Date of the room rate. * Value must be of format ''date'' ' type: string format: date example: '2024-05-16' required: - guestCounts - roomType 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 ReservationPoliciesResponse: type: object properties: cancellationPolicies: type: array minItems: 1 items: $ref: '#/components/schemas/CancellationPolicy' depositPolicies: type: array minItems: 1 items: $ref: '#/components/schemas/DepositPolicyResponse' 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 Email: type: object properties: emailType: type: string emailTypeCode: type: string email: type: string OnHoldReservationRequest: type: object properties: reservationIdList: type: array items: $ref: '#/components/schemas/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 InfoRoomRateData: type: object description: The response object for InfoRoomRate allOf: - $ref: '#/components/schemas/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: '#/components/schemas/GdsDescription' mealPlan: description: Type of meal plan the rate plan includes type: object $ref: '#/components/schemas/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: '#/components/schemas/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 CancellationPolicy: type: object properties: revenueType: description: Revenue Type type: string enum: - Rooms - Catering - All example: Rooms policy: type: object properties: deadline: $ref: '#/components/schemas/Deadline' amountPercent: $ref: '#/components/schemas/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 Taxes: type: object description: Tax details. properties: tax: type: array description: List of taxes applicable for this reservation minItems: 1 items: $ref: '#/components/schemas/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 ModifyRequestType: type: object properties: reservations: type: array items: $ref: '#/components/schemas/ModifyReservationRequest' minItems: 1 CancelRequestType: type: object properties: reservations: type: array items: $ref: '#/components/schemas/CancelReservationRequest' minItems: 1 required: - reservations 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 ModifyReservationRequest: type: object properties: reservationIdList: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/RoomStay' reservationGuests: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/PaymentMethod' reservationMemberships: type: array items: $ref: '#/components/schemas/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: '#/components/schemas/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 OfferAlternateProperty: type: object allOf: - $ref: '#/components/schemas/PropertyInfo' - type: object properties: distance: description: The alternates property distance information $ref: '#/components/schemas/OfferAlternatePropertyDistance' 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: '#/components/schemas/Country' state: description: State Code. type: string example: MD 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 Communications: type: object properties: phones: type: array items: $ref: '#/components/schemas/Phone' minItems: 1 emails: type: array items: $ref: '#/components/schemas/Email' urls: type: array items: $ref: '#/components/schemas/Url' responses: '406': description: Not acceptable. '414': description: Request URI Too Large '503': description: Service Unavailable '413': description: Request Entity Too Large '500': description: System Error content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionObj' '400': description: Bad Request content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionObj' '502': description: Bad Gateway '403': description: Forbidden '415': description: Unsupported Media Type '404': description: Resource not found content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/ExceptionObj' '401': description: Unauthorized '405': description: Method not allowed parameters: confirmationNumberPath: name: confirmationNum description: OPERA Confirmation Number in: path required: true x-example: '89786934' schema: type: string minLength: 1 x-tracing-key: name: x-hdp-tracing-key in: header description: Unique tracing key e.g. 4664ab3423434a45 required: true x-example: 4664ab3423434a45 schema: type: string authKey: name: authorization in: header description: Bearer token that needs to be passed which is generated post user authentication required: true schema: type: string idExtension: name: idExtension description: This is the index number for multi leg reservations. Numeric values only. in: query required: false x-example: '1' schema: type: string minLength: 1 Accept-Language: name: Accept-Language description: Language code in: header schema: type: string pattern: \s*([a-z]{2})(?:-[A-Z]{2})?(?:\s*;q=([0-9]\.[0-9]))?(?:\s*,|$) hotelCodePath: name: hotelCode description: The unique identifier of the Property in Channel system. in: path required: true x-example: XUSXXYY99 schema: type: string minLength: 1 x-originating-application: name: x-originating-application description: Customer's Integration Application Id in: header schema: type: string appKey: name: x-app-key in: header description: OHIP Partner required: false schema: type: string pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$ x-request-id: name: x-request-id description: Unique tracing key e.g. 4664ab3423434a45 in: header x-example: 4664ab3423434a45 schema: type: string channelCodeHeader: name: x-channelCode in: header description: Channel code. required: true x-example: CH1 schema: type: string pattern: ^[a-zA-Z0-9]*$ externalDocs: description: Find out more about Oracle Hospitality url: https://docs.oracle.com/en/industries/hospitality/integration_platforms.html