{
"swagger": "2.0",
"info": {
"title": "OPERA Cloud Reservation API",
"description": "APIs to cater for Reservation functionality in OPERA Cloud.
OPERA Cloud Reservations provides a complete set of capabilities for creating and updating reservations. Reservations are a central feature of OPERA Cloud. As a key source of information, the reservation specifies a guest's arrival date, departure date, room type, rate, packages, and many other details. It is also a gateway to dozens of other functions that contribute to the guest's experience. All reservations in OPERA Cloud require a guest profile.
You can create profiles while booking a reservation. If a profile already exists, you can look it up (using getProfiles in CRM module) and attach it to the reservation during the reservation booking process using the Profile ID.
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" } }, "schemes": [ "https" ], "basePath": "/rsv/v1", "produces": [ "application/json" ], "paths": { "/blockReservationStatisticsByDateAndRoomPool": { "get": { "summary": "Get block Reservation Statistics", "description": "Get block Reservation statistics by date and room poolOperationId:getBlockReservationStatisticsByDateAndRoomPool
This API allows a time span of 90 days.
", "operationId": "getBlockReservationStatisticsByDateAndRoomPool", "parameters": [ { "name": "excludeBlocksWithoutQuoteID", "in": "query", "required": false, "description": "Whether to exclude blocks without quote IDs from the statistics gathering.", "type": "boolean" }, { "name": "startDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "endDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "duration", "in": "query", "required": false, "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response for BlockReservationStatisticsByDateAndRoomPool operation.", "schema": { "$ref": "#/definitions/blockReservationStatistics" } }, "204": { "description": "BlockReservationStatisticsByDateAndRoomPool not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "RSVStats" ] } }, "/calls": { "post": { "summary": "Register Call", "description": "Register call on a reservation.OperationId:postCall
", "operationId": "postCall", "parameters": [ { "name": "registerCall", "in": "body", "required": true, "description": "Request to register call. Either creates a new call or updates an existing call.", "schema": { "allOf": [ { "$ref": "#/definitions/registerCall" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response that contains either created/updated call information if successful or error(s) if not.", "schema": { "$ref": "#/definitions/registerCall" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/calls/statistics": { "get": { "summary": "Get call statistics", "description": "Use this API to get call statistics.OperationId:getCallStatistics
This API allows a time span of 30 days.
", "operationId": "getCallStatistics", "parameters": [ { "name": "end", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "start", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "domain", "in": "query", "required": false, "type": "string" }, { "name": "appUserName", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object to the request to retrieve Call Statistics.", "schema": { "$ref": "#/definitions/callStatistics" } }, "204": { "description": "CallStatistics not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/externalSystems/{extSystemCode}/reservations": { "get": { "summary": "Get Reservations for a hotel", "description": "This API will allow a user to retrieve a list of reservations based on the search criteria specified in the request body. For example you can search for reservations using query parameters like first name, last name, arrival/departure date, external confirmation number.OperationId:getExternalSystemReservations
", "operationId": "getExternalSystemReservations", "deprecated": true, "parameters": [ { "name": "extSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "externalReferenceList", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": true }, { "name": "recentlyAccessed", "in": "query", "required": false, "description": "Mark this reservation as recently accessed.", "type": "boolean" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "name": "resvExternalReferencesToFetch", "in": "query", "type": "array", "maxItems": 10, "collectionFormat": "multi", "description": "Define the external system(s) to return external reference ids for reservations. A maximum of 10 different external systems can be be provided for this parameter.", "items": { "type": "string" }, "required": false }, { "name": "searchType", "in": "query", "required": false, "type": "string", "uniqueItems": true, "enum": [ "Any", "DayUse", "Arrival", "Arrived", "Departure", "WaitList", "Cancellation", "CheckedOut", "NoShow", "Complimentary", "InHouse", "PostStayPendingBalance", "PreRegistered", "PostToRoom", "OpenFolio", "ScheduledCheckOut", "Queued", "MobileCheckout", "RegisteredAndInHouse", "ResvBlockTraces", "GuestMessages", "MassCancellation", "Operator", "Turndown", "WalkIn", "AdvanceCheckedIn", "OpenBalance", "AutoFolioSettlement", "Routing", "PlayerSnapshot" ], "description": "Represents Reservation search type Player Snapshot." }, { "name": "hotelIds", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "List of Hotels to support searches with multiple resorts for which traces are to be fetched.", "items": { "type": "string" }, "required": false }, { "name": "text", "in": "query", "required": false, "description": "Free form text field for searching all reservation fields", "type": "string" }, { "name": "arrivalEndDate", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "arrivalStartDate", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "departureEndDate", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "departureStartDate", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "expectedArrivalStartTime", "in": "query", "required": false, "description": "The ending value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "expectedArrivalEndTime", "in": "query", "required": false, "description": "The starting value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "expectedReturnEndTime", "in": "query", "required": false, "description": "The ending value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "expectedReturnStartTime", "in": "query", "required": false, "description": "The starting value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "companyNames", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Attached profile name", "items": { "type": "string" }, "required": false }, { "name": "travelAgentIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "companyIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "sourceIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "contactIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "groupIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "billingContactIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "profileIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "membershipCardNumber", "in": "query", "required": false, "description": "Membership ID criteria.", "type": "string" }, { "name": "membershipLevels", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "membershipTypes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "surname", "in": "query", "required": false, "description": "Family name, last name.", "type": "string" }, { "name": "givenName", "in": "query", "required": false, "description": "Given name, first name or names", "type": "string" }, { "name": "anyVIPStatus", "in": "query", "required": false, "description": "VIP status of the customer.", "type": "boolean" }, { "name": "vipCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "VIP status of the customer.", "items": { "type": "string" }, "required": false }, { "name": "guaranteeCode", "in": "query", "required": false, "description": "Fetches the reservation having Guarantee Code(Reservation Type) supplied here.", "type": "string" }, { "name": "paymentMethod", "in": "query", "required": false, "description": "Fetches the reservation having method of payment supplied here.", "type": "string" }, { "name": "discountApplied", "in": "query", "default": false, "required": false, "description": "Fetches the reservation for which discount is applied", "type": "boolean" }, { "name": "user", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "createdBy", "in": "query", "required": false, "description": "Fetches reservation created by specified user. If both CreatedByUsers and CreatedBy is specified, CreatedByUsers will take precedence.", "type": "string" }, { "name": "cancelledByList", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Fetches reservations cancelled by list of users.", "items": { "type": "string" }, "required": false }, { "name": "cancelledOn", "in": "query", "required": false, "description": "Fetches the reservations which are cancelled on a specific date.", "type": "string", "format": "date" }, { "name": "ratePlanCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "sourceCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "marketCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "excludeBlockReservations", "in": "query", "required": false, "description": "If true the search result will exclude the blocks reservations.", "type": "boolean" }, { "name": "blockName", "in": "query", "required": false, "description": "The Name of the block that is attached to the reservation.", "type": "string" }, { "name": "blockIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "blockCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "customReference", "in": "query", "required": false, "description": "Custom reference", "type": "string" }, { "name": "recordLocator", "in": "query", "required": false, "description": "GDS Record Locator for reservation.", "type": "string" }, { "name": "orderBy", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "string", "enum": [ "Nights", "ArrivalDate", "ArrivalDateETR", "DepartureDate", "GuestSurname", "RateAmount", "RateCode", "Room", "RoomType" ] }, "required": false }, { "name": "sortOrder", "in": "query", "type": "array", "collectionFormat": "multi", "default": [ "Asc" ], "uniqueItems": true, "items": { "type": "string", "enum": [ "Asc", "Desc" ] }, "required": false }, { "name": "roomAssignedOnly", "in": "query", "required": false, "description": "Indicator to query reservations which have a room number assigned.", "type": "boolean" }, { "name": "roomUnassignedOnly", "in": "query", "required": false, "description": "Indicator to query reservations which does not have a room number assigned.", "type": "boolean" }, { "name": "roomId", "in": "query", "required": false, "description": "Room number of the reservation to search by.", "type": "string" }, { "name": "roomType", "in": "query", "required": false, "type": "array", "description": "Room Type.", "maxItems": 4000, "items": { "type": "string" } }, { "name": "roomFeatures", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A code representing a room feature.", "items": { "type": "string" }, "required": false }, { "name": "roomSpecials", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Preference value for display purposes.", "items": { "type": "string" }, "required": false }, { "name": "roomSmokingPreference", "in": "query", "required": false, "description": "Preference value for display purposes.", "type": "string" }, { "name": "roomFloorPreferences", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Preference value for display purposes.", "items": { "type": "string" }, "required": false }, { "name": "housekeepingRoomStatuses", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type for room status instructions to be used in requests for fetching housekeeping rooms. Valid status values are Clean, Dirty, Pickup, Inspected, OutOfOrder, OutOfService.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Clean", "Dirty", "Pickup", "Inspected", "OutOfOrder", "OutOfService" ] }, "required": false }, { "name": "roomClasses", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "roomRangeFrom", "in": "query", "required": false, "type": "string" }, { "name": "roomRangeTo", "in": "query", "required": false, "type": "string" }, { "name": "communication", "in": "query", "required": false, "description": "Any communication attached to the reservation from the primary guest's profile such as phone, fax or email address.", "type": "string" }, { "name": "phone", "in": "query", "required": false, "description": "The phone number attached to the reservation from the primary guest's profile.", "type": "string" }, { "name": "email", "in": "query", "required": false, "description": "The email address attached to the reservation from the primary guest's profile.", "type": "string" }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Instruction to fetch whether the room was assigned/upgraded by AI. This will also include Reservation instruction.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Reservation", "ReservationID", "Indicators", "Deposits", "RevenuesAndBalances", "GuestServiceStatus", "MasterInfo", "CancellationInfo", "BlockReservations", "TaxType", "GuestDeviceNotification", "RoomAssignedByAI", "OffshoreRates", "PostingIntervals" ] }, "required": false }, { "name": "allowPreRegistration", "in": "query", "required": false, "description": "Flag containing true or false value for reservation to be eligible for prior check in by guest using mobile device. Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is eligible for mobile check in yes / no. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, { "name": "hasDepositBalance", "in": "query", "required": false, "description": "Indicates that only reservations with deposit balance should be expected from the result.", "type": "boolean" }, { "name": "hasOpenBalance", "in": "query", "required": false, "description": "Indicates that only reservations with open balance should be expected from the result.", "type": "boolean" }, { "name": "hasOpenFolio", "in": "query", "required": false, "description": "Indicates that only reservations with open folio should be expected from the result.", "type": "boolean" }, { "name": "includeScheduledCheckOut", "in": "query", "required": false, "description": "Criteria that indicates whether to scheduled checkouts or not.", "type": "boolean" }, { "name": "linkedOnly", "in": "query", "required": false, "description": "Indicates that only linked reservations should be expected from the result.", "type": "boolean" }, { "name": "unlinkedOnly", "in": "query", "required": false, "description": "Indicates that only unlinked reservations should be expected from the result.", "type": "boolean" }, { "name": "actualArrivals", "in": "query", "required": false, "description": "Indicates if reservations which have already arrived on the Search Date is required.", "type": "boolean" }, { "name": "actualDepartures", "in": "query", "required": false, "description": "Indicates if reservations which were expected to depart on the Search Date and have already checked, is required.", "type": "boolean" }, { "name": "complimentaryReservations", "in": "query", "required": false, "description": "Indicates if reservations where rate codes are marked as Complimentary Rates , is required. This flag should be used in conjunction with the Arrivals, Departures or StayOvers criteria.", "type": "boolean" }, { "name": "dayOfArrivalCancels", "in": "query", "required": false, "description": "Indicates if reservations which have cancelled on the Search Date which is also the day of arrival is required.", "type": "boolean" }, { "name": "dayUse", "in": "query", "required": false, "description": "Indicates if reservations which are day use reservation on the Search Date, is required.", "type": "boolean" }, { "name": "earlyDepartures", "in": "query", "required": false, "description": "Indicates if reservations which checked out early on the Search Date, is required.", "type": "boolean" }, { "name": "expectedArrivals", "in": "query", "required": false, "description": "Indicates if reservations which are expected arrivals for the Search Date and who have not yet arrived, is required.", "type": "boolean" }, { "name": "expectedDepartures", "in": "query", "required": false, "description": "Indicates if reservations which are expected departures for the Search Date and who have not yet departed, is required.", "type": "boolean" }, { "name": "extendedStays", "in": "query", "required": false, "description": "Indicates if reservations which have extended their stays on the Search Date, is required.", "type": "boolean" }, { "name": "houseUseReservations", "in": "query", "required": false, "description": "Indicates if reservations where rate codes are marked as House Use Rates , is required. This flag should be used in conjunction with the Arrivals, Departures or StayOvers criteria.", "type": "boolean" }, { "name": "stayovers", "in": "query", "required": false, "description": "Indicates if reservations which are StayOvers on the Search Date, is required.", "type": "boolean" }, { "name": "stayDate", "in": "query", "required": false, "description": "Date for searching the reservations. This is the date for which the search types are applicable. If date is not available, the business date will be used by default.", "type": "string", "format": "date" }, { "name": "roomRoutingId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "excludePseudoRoomReservations", "in": "query", "required": false, "description": "Indicates to exclude Pseudo room reservations.", "type": "boolean" }, { "name": "excludeReservationIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "excludeVIPStatusCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "VIP status of the customer.", "items": { "type": "string" }, "required": false }, { "name": "excludeSpecials", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Preference value for display purposes.", "items": { "type": "string" }, "required": false }, { "name": "excludeFloorPreferences", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Preference value for display purposes.", "items": { "type": "string" }, "required": false }, { "name": "excludeAdvanceCheckedIn", "in": "query", "required": false, "description": "Indicates to exclude Advance Checked In Reservations from search result.", "type": "boolean" }, { "name": "excludeRoomFeatures", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Exclude the reservation(s) with provided room features from the search result.", "items": { "type": "string" }, "required": false }, { "name": "playerId", "in": "query", "required": false, "description": "Player ID associated to the reservation.", "type": "string" }, { "name": "gamingBalanceFrom", "in": "query", "required": false, "description": "Balance from.", "type": "number" }, { "name": "gamingBalanceTo", "in": "query", "required": false, "description": "Balance to.", "type": "number" }, { "name": "compAccountingBalanceFrom", "in": "query", "required": false, "description": "Comp Balance From", "type": "number" }, { "name": "compAccountingBalanceTo", "in": "query", "required": false, "description": "Comp Balance To", "type": "number" }, { "name": "searchTypes", "in": "query", "type": "array", "collectionFormat": "multi", "uniqueItems": true, "description": "Represents Reservation search type Player Snapshot.", "items": { "type": "string", "enum": [ "Any", "DayUse", "Arrival", "Arrived", "Departure", "WaitList", "Cancellation", "CheckedOut", "NoShow", "Complimentary", "InHouse", "PostStayPendingBalance", "PreRegistered", "PostToRoom", "OpenFolio", "ScheduledCheckOut", "Queued", "MobileCheckout", "RegisteredAndInHouse", "ResvBlockTraces", "GuestMessages", "MassCancellation", "Operator", "Turndown", "WalkIn", "AdvanceCheckedIn", "OpenBalance", "AutoFolioSettlement", "Routing", "PlayerSnapshot" ] }, "required": false }, { "name": "reservationStatuses", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Reservation status type for reservations search.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Cancelled", "CheckedOut", "CheckedIn", "DueIn", "DueOut", "InHouse", "NoShow", "WaitList" ] }, "required": false }, { "name": "transportationCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Codes to be searched.", "items": { "type": "string" }, "required": false }, { "name": "roomReadyStatuses", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Enum to denote the Status of Readiness messages sent to Guest Devices.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Pending", "Completed", "Failed", "Sent", "Received", "Cancelled", "PendingAvailability" ] }, "required": false }, { "name": "checkoutMessageReceived", "in": "query", "required": false, "description": "Fetches the reservations for which Checkout Message is received.", "type": "boolean" }, { "name": "optedForCommunication", "in": "query", "required": false, "description": "Fetches the reservations for which reservation communication has been opted.", "type": "boolean" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object to the Fetch Reservation Request operation. Based on the criteria, reservation information is returned.", "schema": { "$ref": "#/definitions/reservationsDetails" } }, "204": { "description": "ExternalSystemReservations not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/externalSystems/{extSystemCode}/reservations/searches": { "post": { "summary": "Get Reservations for a hotel from an external system", "description": "This API allows a user to retrieve a list of reservations based on search criteria in the request body. For example you can search for reservations using criteria like first name, last name, arrival/departure date, external confirmation number.OperationId:searchExternalSystemReservations
", "operationId": "searchExternalSystemReservations", "parameters": [ { "name": "extSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "searchExternalSystemReservationsRequest", "in": "body", "required": true, "schema": { "$ref": "#/definitions/searchExternalSystemReservationsRequest" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object to the reservation request. Based on the criteria, reservation information is returned.", "schema": { "$ref": "#/definitions/reservationsDetails" } }, "204": { "description": "ExternalSystemReservations not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/awardUpgrades": { "get": { "summary": "Get Award Upgrades", "description": "Get award upgrades for a specific property.OperationId:getAwardUpgrades
", "operationId": "getAwardUpgrades", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "profileId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "idContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "profileIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "membershipType", "in": "query", "required": false, "description": "The type of the membership.", "type": "string" }, { "name": "membershipCardNo", "in": "query", "required": false, "description": "The card number associated with this membership.", "type": "string" }, { "name": "membershipPoints", "in": "query", "required": false, "description": "Current membership points available for this guest.", "type": "integer" }, { "name": "id", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "reservationTimeSpanStartDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "reservationTimeSpanEndDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "reservationTimeSpanDuration", "in": "query", "required": false, "type": "string" }, { "name": "numberOfRooms", "in": "query", "required": false, "description": "The number of rooms.", "type": "integer" }, { "name": "roomType", "in": "query", "required": false, "description": "Room type associated with the reservation.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for available award upgrades.", "schema": { "$ref": "#/definitions/awardUpgrades" } }, "204": { "description": "AwardUpgrades not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/awards": { "get": { "summary": "Fetch Awards", "description": "Get certificates and awards associated with the Reservation.OperationId:getAwards
", "operationId": "getAwards", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response of fetch awards for a reservation.", "schema": { "$ref": "#/definitions/reservationAwards" } }, "204": { "description": "Awards not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/blocks/{blockId}/reservations": { "post": { "summary": "Create Reservation for a Block", "description": "Use this to create a new reservation for a block, you must know the block Code to create this reservation. In order to post a successful block reservation, please ensure you use the ListOfValues API's to know the hotel's codes; such as Address Type, Country Code, Titles, preferenceCodes etc.OperationId:postReservationByBlock
", "operationId": "postReservationByBlock", "parameters": [ { "name": "blockId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA internal ID for the block." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is created." }, { "name": "createReservation", "in": "body", "required": true, "description": "Request object to create reservations. Includes instructions for information which needs to be returned.", "schema": { "allOf": [ { "$ref": "#/definitions/createReservation" }, { "example": { "reservations": { "reservation": [ { "sourceOfSale": { "sourceType": "PMS", "sourceCode": "TOKYO" }, "roomStay": { "roomRates": [ { "total": { "amountBeforeTax": "200" }, "rates": { "rate": [ { "base": { "amountBeforeTax": "200", "currencyCode": "USD" }, "shareDistributionInstruction": "Full", "total": { "amountBeforeTax": "200" }, "start": "2016-12-05", "end": "2016-12-05" } ] }, "stayProfiles": [ { "profileIdList": [ { "id": "3223789", "type": "Profile" } ], "reservationProfileType": "Group" } ], "guestCounts": { "adults": "1", "children": "0" }, "reservationBlock": { "blockIdList": [ { "id": "32723", "type": "Block" } ] }, "roomType": "STTD", "ratePlanCode": "1HJ", "start": "2016-12-05", "end": "2016-12-05", "suppressRate": true, "marketCode": "COM", "marketCodeDescription": "COMPLIMENTARY", "sourceOfBusiness": "TW", "sourceOfBusinessDescription": "OnlineAgent", "numberOfUnits": "1", "pseudoRoom": false, "roomTypeCharged": "STTD", "houseUseOnly": false, "complimentary": false, "fixedRate": true, "discountAllowed": false, "bogoDiscount": false } ], "guestCounts": { "adults": "1", "children": "0" }, "arrivalDate": "2016-12-05", "departureDate": "2016-12-06", "guarantee": { "guaranteeCode": "6PM", "shortDescription": "6PM Hold" }, "roomNumberLocked": false, "printRate": false }, "reservationGuests": [ { "profileInfo": { "profileIdList": [ { "id": "3099001", "type": "Profile" } ], "profile": { "customer": { "personName": [ { "givenName": "Jennifer", "surname": "Smith", "nameType": "Primary" }, { "nameType": "External" } ], "language": "E" }, "profileType": "Guest" } }, "primary": true } ], "reservationProfiles": { "reservationProfile": [ { "profileIdList": [ { "id": "3223789", "type": "Profile" } ], "reservationProfileType": "Group" } ] }, "reservationPaymentMethods": [ { "paymentMethod": "CASH", "folioView": "1" } ], "hotelId": "HOTEL1", "roomStayReservation": true, "reservationStatus": "Reserved", "computedReservationStatus": "DueIn", "walkIn": false, "printRate": false, "preRegistered": false, "upgradeEligible": false, "allowAutoCheckin": false, "hasOpenFolio": false, "allowMobileCheckout": false, "allowMobileViewFolio": false, "allowPreRegistration": false, "optedForCommunication": false } ] } } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/cancellationPolicies": { "put": { "summary": "Change a Cancellation policy", "description": "Change cancellation policy that is configured for a property.OperationId:putCancellationPolicy
", "operationId": "putCancellationPolicy", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationCancellationPolicyCriteria", "in": "body", "required": true, "description": "Request object that holds the details of Cancellation Policy to be changed.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationCancellationPolicyCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/reservationCancellationPolicyCriteria" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/confirmationLetters": { "get": { "summary": "Fetch Confirmation Letters", "description": "Get a list of Reservations for which confirmation letters need to be sent.OperationId:getConfirmationLetters
This API allows a time span of 90 days.
", "operationId": "getConfirmationLetters", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "notAttached", "in": "query", "required": false, "description": "If true then the fetch result will include the reservations that do not have a letter attached to them.", "type": "boolean" }, { "name": "pending", "in": "query", "required": false, "description": "If true then the result will include only the pending confirmation letters.", "type": "boolean" }, { "name": "sent", "in": "query", "required": false, "description": "If true then the result will include only the confirmation letters that have been sent to the guest.", "type": "boolean" }, { "name": "createdOnEndDate", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "createdOnStartDate", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "arrivalEndDate", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "arrivalStartDate", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "letterStyleId", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "letterStyle", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Name of the confirmation letter style.", "items": { "type": "string" }, "required": false }, { "name": "letterStyleIdType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "reservationGuestId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "reservationGuestIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "membershipId", "in": "query", "required": false, "description": "Membership ID criteria.", "type": "string" }, { "name": "membershipLevelCode", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "membershipTypeCode", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "surname", "in": "query", "required": false, "description": "Family name, last name.", "type": "string" }, { "name": "givenName", "in": "query", "required": false, "description": "Given name, first name or names", "type": "string" }, { "name": "blockHotelId", "in": "query", "required": false, "description": "This is the HotelCode of the Block.", "type": "string" }, { "name": "blockId", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "blockIdType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "blockName", "in": "query", "required": false, "description": "The Name of the block that is attached to the reservation.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object to the request to fetch a list of reservations for which confirmation letters need to be sent.", "schema": { "$ref": "#/definitions/reservationConfirmationLetters" } }, "204": { "description": "ConfirmationLetters not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Create the confirmation letters", "description": "Create a confirmation letter for a property.OperationId:postConfirmationLetters
", "operationId": "postConfirmationLetters", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "confirmationLetters", "in": "body", "required": true, "description": "Request object to create a confirmation letter.", "schema": { "allOf": [ { "$ref": "#/definitions/confirmationLetters" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response object after creating a confirmation letter.", "schema": { "$ref": "#/definitions/confirmationLettersDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/depositPolicies": { "put": { "summary": "Change deposit policy", "description": "Change deposit policy which already exists for a property.OperationId:putDepositPolicy
", "operationId": "putDepositPolicy", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationDepositPolicyCriteria", "in": "body", "required": true, "description": "Request object that holds the details of hotel level Deposit Policy to be changed.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationDepositPolicyCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/changeDepositPolicyDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/linkedReservations/{reservationExternalId}": { "post": { "summary": "Link Reservations", "description": "This will allow you to link 1 or more reservations to an existing reservation.OperationId:postReservationLinksByExtId
", "operationId": "postReservationLinksByExtId", "parameters": [ { "name": "reservationExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External reservation ID." }, { "name": "externalSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "linkReservationsCriteria", "in": "body", "required": true, "description": "Request to link a list of reservations with another existing reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/linkReservationsCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Remove Reservation Links", "description": "Use this API to unlink a reservation from its currently associated reservation.OperationId:deleteReservationLinksByExtId
", "operationId": "deleteReservationLinksByExtId", "parameters": [ { "name": "reservationExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External reservation ID." }, { "name": "externalSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}": { "get": { "summary": "Get Reservation by external ID", "description": "Retrieve a reservation using the external ID.OperationId:getReservationByExtId
", "operationId": "getReservationByExtId", "parameters": [ { "name": "reservationExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External reservation Id." }, { "name": "externalSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on external reservation Id." }, { "name": "profileExternalReferencesToFetch", "in": "query", "type": "array", "maxItems": 10, "collectionFormat": "multi", "description": "Define the external system(s) to return external reference ids for associated profiles for the reservation. A maximum of 10 different external systems can be be provided for this parameter.", "items": { "type": "string" }, "required": false }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Instruction on which of the reservation's elements are to be returned e.g. DailySummary will return summarized information for each day of the reservation. Instructions are cumulative i.e. if multiple instructions are sent in a request, then the combined reservation elements would be returned, elements will not be duplicated in the response.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Reservation", "Comments", "GuestComments", "Packages", "TotalCostOfStay", "InventoryItems", "ReservationPaymentMethods", "RoutingInstructions", "Preferences", "Memberships", "Alerts", "Traces", "ConfirmationLetters", "CallHistory", "FixedCharges", "GuestMessages", "ReservationPolicies", "Indicators", "LinkedReservations", "RevenuesAndBalances", "GuestLastStay", "ECoupons", "TrackItItems", "ReservationAwards", "WebRegistrationCards", "ReservationActivities", "ScheduledActivities", "PrepaidCards", "Shares", "Attachments", "Locators", "ProfileAwards", "TransactionDiversions", "Tickets", "GuestMemberships", "ECertificates", "UpsellInfo", "RoomAssignedByAI", "DailySummary", "OffshoreRates", "PostingIntervals" ] }, "required": false }, { "name": "allowedActions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Flag indicating whether the Enrollment is in progress or not for the Profile associated with this Reservation.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Cancel", "Move", "PreCharge", "PostCharge", "FacilitySchedule", "Upsell", "PreCheckIn", "PostToNoShowCancel", "NoShow", "NameChange", "Discount", "HouseKeeping", "EnrollToPrimaryMembership", "EnrollInProgress" ] }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Return object to the request for information regarding a reservation.", "schema": { "$ref": "#/definitions/reservation" } }, "204": { "description": "ReservationByExtId not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Update Reservation by ID", "description": "Use this to update an existing reservation for a hotel, such as adding comments, changing the number of guests. There are many fields in putReservation defined by ListOfValues; ensure you have reviewed ListOfValues APIs in order successfully to use putReservation.OperationId:putReservationByExtId
", "operationId": "putReservationByExtId", "parameters": [ { "name": "reservationExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External reservation ID." }, { "name": "externalSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "changeReservation", "in": "body", "required": true, "description": "Request method to change a reservations information.", "schema": { "allOf": [ { "$ref": "#/definitions/changeReservation" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/changeReservationDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/addOnReservationPackagesByExtId": { "put": { "summary": "Update Add On (Sell Separate) packages on a reservation", "description": "This API will allow you to update Add On (Sell Separate) packages on a reservation's. Note: this API works as a full overlay for Reservation Add On Packages./OperationId:putAddOnReservationPackagesByExtId
", "operationId": "putAddOnReservationPackagesByExtId", "parameters": [ { "name": "reservationExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 50, "description": "External reservation ID." }, { "name": "externalSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 50, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel where reservation is searched based on External reservation ID." }, { "name": "legNumber", "in": "query", "required": false, "type": "number", "description": "External system Leg Number for the reservation." }, { "name": "reservationAddOnPackages", "in": "body", "required": true, "description": "Request object to overlay addon packages on an existing reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationAddOnPackagesType" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/addOnReservationPackagesType" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/cancellations": { "put": { "summary": "Reinstate a Reservation", "description": "Use this API to reinstate a cancelled reservation.OperationId:putReinstateReservationByExtId
", "operationId": "putReinstateReservationByExtId", "parameters": [ { "name": "reservationExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External reservation ID." }, { "name": "externalSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reinstateReservation", "in": "body", "required": true, "description": "Overriding the validation check will log the supposed errors in the warnings log if they would fail.", "schema": { "allOf": [ { "$ref": "#/definitions/reinstateReservation" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/reinstateReservationDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Cancel Reservation by ID", "description": "Use this if a guest would like to cancel their reservation. You will receive a cancellation number in the response.OperationId:postCancelReservationByExtId
", "operationId": "postCancelReservationByExtId", "parameters": [ { "name": "reservationExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External reservation ID." }, { "name": "externalSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "cancelReservation", "in": "body", "required": true, "description": "Request object for canceling reservations.", "schema": { "allOf": [ { "$ref": "#/definitions/cancelReservation" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response object for the request to cancel reservations. Response contains the reservations which were successfully canceled.", "schema": { "$ref": "#/definitions/cancelReservationDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/routingInstructions": { "post": { "summary": "Create routing instructions", "description": "You can use this API to create routing instructions on a reservation.OperationId:postRoutingInstructionsByExtId
", "operationId": "postRoutingInstructionsByExtId", "parameters": [ { "name": "reservationExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External reservation ID." }, { "name": "externalSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationRoutingCriteria", "in": "body", "required": true, "description": "Request to create a routing instruction.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationRoutingCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Change routing instructions", "description": "Change routing instructions on an existing reservation.OperationId:putRoutingInstructionsByExtId
", "operationId": "putRoutingInstructionsByExtId", "parameters": [ { "name": "reservationExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External reservation ID." }, { "name": "externalSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "routingInstructionsInfo", "in": "body", "required": true, "description": "Request when changing a routing instruction.", "schema": { "allOf": [ { "$ref": "#/definitions/routingInstructionsInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/separatedShare": { "put": { "summary": "Separate Share Reservation with the given external reservation id and apply rate amounts to separated and remaining share reservations from room rates provided by an external application on a daily basis.", "description": "This API can be used to separate the share reservation with the given external reservation id and apply rate amounts to separated and remaining share reservations from room rates provided by an external application on a daily basis.OperationId:putSeparateShareReservationByExtId
", "operationId": "putSeparateShareReservationByExtId", "parameters": [ { "name": "reservationExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External reservation ID." }, { "name": "externalSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "overrideInventoryCheck", "in": "query", "required": false, "description": "Indicate to Override the Room Inventory Check if applicable.", "type": "boolean" }, { "name": "overrideMaxOccupancyCheck", "in": "query", "required": false, "description": "Indicate to Override the check on Maximum Room Occupancy if applicable.", "type": "boolean" }, { "name": "overrideRateAvailabilityCheck", "in": "query", "required": false, "description": "Indicate to Override the check on Maximum Room Occupancy if applicable.", "type": "boolean" }, { "name": "separateShareReservation", "in": "body", "required": true, "description": "Request to separate Share Reservation and apply rate amounts to separated and remaining share reservations from room rates provided by an external application on a daily basis.", "schema": { "allOf": [ { "$ref": "#/definitions/separateShareReservation" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/externalSystems/{externalSystemCode}/reservations/{reservationExternalId}/shares": { "get": { "summary": "Get share Reservations", "description": "This API can be used to retrieve the share reservations that exist on a reservation.OperationId:getShareReservationsByExtId
", "operationId": "getShareReservationsByExtId", "parameters": [ { "name": "reservationExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External reservation ID." }, { "name": "externalSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on external reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response for the fetch share reservation request. This returns all sharer reservations including the request reservation.", "schema": { "$ref": "#/definitions/shareReservations" } }, "204": { "description": "ShareReservationsByExtId not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Combine Share Reservations", "description": "Combine share reservation for a given reservation idOperationId:postCombineShareReservationsByExtId
", "operationId": "postCombineShareReservationsByExtId", "parameters": [ { "name": "reservationExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External reservation ID." }, { "name": "externalSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "combineShareReservations", "in": "body", "required": true, "description": "Request to combine sharer reservations. This request requires a Reservation Name Id(Joining to) and a Joining Reservation Id", "schema": { "allOf": [ { "$ref": "#/definitions/combineShareReservations" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response for the combine share reservation request. Based on the request, this will return all sharer reservations including the request reservation.", "schema": { "$ref": "#/definitions/combineShareReservationsDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Separate share Reservations", "description": "This API can be used to separate the share reservations.OperationId:deleteShareReservationByExtId
", "operationId": "deleteShareReservationByExtId", "parameters": [ { "name": "reservationExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External reservation ID." }, { "name": "externalSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "overrideInventoryCheck", "in": "query", "required": false, "description": "Indicate to Override the Room Inventory Check if applicable.", "type": "boolean" }, { "name": "overrideMaxOccupancyCheck", "in": "query", "required": false, "description": "Indicate to Override the check on Maximum Room Occupancy if applicable.", "type": "boolean" }, { "name": "overrideRateAvailabilityCheck", "in": "query", "required": false, "description": "Indicate to Override the check on Maximum Room Occupancy if applicable.", "type": "boolean" }, { "name": "returnShareReservations", "in": "query", "required": false, "description": "After the break share operation, return the new list of Sharer Reservations.", "type": "boolean" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/fetchExternalSystemDeliveryHistory": { "get": { "summary": "Get External system delivery history", "description": "Get external system delivery history.OperationId:getExternalSystemDeliveryHistory
", "operationId": "getExternalSystemDeliveryHistory", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "reservationIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response that contains fetched reservation's delivery history.", "schema": { "$ref": "#/definitions/deliveryHistoryLog" } }, "204": { "description": "ExternalSystemDeliveryHistory not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/guestMessages": { "get": { "summary": "Get guest messages", "description": "Get guest messages which exist on a reservation.OperationId:getGuestMessages
The maximum allowable limit for this API is 100.
", "operationId": "getGuestMessages", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "name": "reservationId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "retrieveDeliveredMessages", "in": "query", "required": false, "description": "Flag that specified if Delivered Guest Messages will also be retrieved.", "type": "boolean" }, { "name": "room", "in": "query", "required": false, "description": "Room number attached to the reservation.", "type": "string" }, { "name": "travelAgent", "in": "query", "required": false, "description": "Lookup guest messages with this Travel agent name.", "type": "string" }, { "name": "company", "in": "query", "required": false, "description": "Lookup guest messages with the Company name.", "type": "string" }, { "name": "group", "in": "query", "required": false, "description": "Lookup guest messages with the Travel agent name.", "type": "string" }, { "name": "source", "in": "query", "required": false, "description": "Lookup guest messages with the Source name.", "type": "string" }, { "name": "reservationStatus", "in": "query", "required": false, "type": "string", "uniqueItems": true, "enum": [ "Any", "DayUse", "Arrival", "Arrived", "Departure", "WaitList", "Cancellation", "CheckedOut", "NoShow", "Complimentary", "InHouse", "PostStayPendingBalance", "PreRegistered", "PostToRoom", "OpenFolio", "ScheduledCheckOut", "Queued", "MobileCheckout", "RegisteredAndInHouse", "ResvBlockTraces", "GuestMessages", "MassCancellation", "Operator", "Turndown", "WalkIn", "AdvanceCheckedIn", "OpenBalance", "AutoFolioSettlement", "Routing", "PlayerSnapshot" ], "description": "Represents Reservation search type Player Snapshot." }, { "name": "retrieveUndeliveredMessages", "in": "query", "required": false, "description": "Flag that specified if Undelivered Guest Messages will also be retrieved.", "type": "boolean" }, { "name": "retrievePrintedMessages", "in": "query", "required": false, "description": "Flag that specified if Printed Guest Messages will also be retrieved.", "type": "boolean" }, { "name": "retrieveTextedMessages", "in": "query", "required": false, "description": "Flag that specified if Texted Guest Messages will also be retrieved.", "type": "boolean" }, { "name": "blockName", "in": "query", "required": false, "description": "Lookup messages using Block name.", "type": "string" }, { "name": "recipientName", "in": "query", "required": false, "description": "Lookup guest messages with the recipient name.", "type": "string" }, { "name": "confirmationNo", "in": "query", "required": false, "description": "Lookup guest messages using reservation confirmation no.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object to the request to retrieve Guest Messages for a Reservation.", "schema": { "$ref": "#/definitions/guestMessages" } }, "204": { "description": "GuestMessages not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/locks/{lockHandle}": { "delete": { "summary": "Release Reservation Lock", "description": "Release Reservation Lock.OperationId:deleteReservationLock
", "operationId": "deleteReservationLock", "parameters": [ { "name": "lockHandle", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Lock handle of the lock to be released." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Extend Reservation Lock", "description": "Extend Reservation Lock.OperationId:putReservationLock
", "operationId": "putReservationLock", "parameters": [ { "name": "lockHandle", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Lock handle of the lock to be extended." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "extendReservationLock", "in": "body", "required": true, "description": "Operation for extending the lifetime of a lock on a reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/extendReservationLock" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "This response will indicate whether or not the extension was successful. This operation may return errors when the lock being requested to be extended no longer exists. This can happen when the lock has already expired and cleaned up.", "schema": { "$ref": "#/definitions/extendReservationLockDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/preArrivalMembersReservations": { "get": { "summary": "Get preArrival Member Reservations", "description": "Get preArrival Member Reservations.OperationId:getPreArrivalMemberReservations
", "operationId": "getPreArrivalMemberReservations", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "end", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "start", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "membershipType", "in": "query", "required": false, "description": "Membership Type.", "type": "string" }, { "name": "externalReferenceType", "in": "query", "required": false, "description": "Type of the desired reservation external confirmation number.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Collection of PreArrivalMemberReservations.", "schema": { "$ref": "#/definitions/preArrivalMemberReservationsDetails" } }, "204": { "description": "PreArrivalMemberReservations not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/preConfiguredRoutingInstructions": { "get": { "summary": "Get pre-Configured Routing Instructions", "description": "Get preConfigured Routing Instructions.OperationId:getPreConfiguredRoutingInstructions
", "operationId": "getPreConfiguredRoutingInstructions", "deprecated": true, "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "rateCode", "in": "query", "required": false, "type": "string" }, { "name": "promotionCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Promotion Code for ComplimentaryRouting", "items": { "type": "string" }, "required": false }, { "name": "guestName", "in": "query", "required": false, "description": "Attached profile name", "type": "string" }, { "name": "guestIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "companyName", "in": "query", "required": false, "description": "Attached profile name", "type": "string" }, { "name": "companyIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "groupName", "in": "query", "required": false, "description": "Attached profile name", "type": "string" }, { "name": "groupIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "travelAgentName", "in": "query", "required": false, "description": "Attached profile name", "type": "string" }, { "name": "travelAgentIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "sourceName", "in": "query", "required": false, "description": "Attached profile name", "type": "string" }, { "name": "sourceIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "contactName", "in": "query", "required": false, "description": "Attached profile name", "type": "string" }, { "name": "contactIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "billingContactName", "in": "query", "required": false, "description": "Attached profile name", "type": "string" }, { "name": "billingContactIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "addresseeName", "in": "query", "required": false, "description": "Attached profile name", "type": "string" }, { "name": "addresseeIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "reservationId", "in": "query", "type": "string", "required": false, "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "This is the Response Message to the request for Pre-Configured Routing Instructions.", "schema": { "$ref": "#/definitions/preConfiguredRoutingInstructions" } }, "204": { "description": "PreConfiguredRoutingInstructions not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/preConfiguredRoutingInstructions/searches": { "post": { "summary": "Get pre-Configured Routing Instructions", "description": "Get preConfigured Routing Instructions.OperationId:searchPreConfiguredRoutingInstructions
", "operationId": "searchPreConfiguredRoutingInstructions", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "searchPreConfiguredRoutingInstructionsRequest", "in": "body", "required": false, "schema": { "$ref": "#/definitions/searchPreConfiguredRoutingInstructionsRequest" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "This is the Response Message to the request for Pre-Configured Routing Instructions.", "schema": { "$ref": "#/definitions/preConfiguredRoutingInstructions" } }, "204": { "description": "PreConfiguredRoutingInstructions not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/profiles/{profileIdtoShare}/share": { "get": { "summary": "Get Reservations to share ", "description": "Get Reservations to share by profile id.OperationId:getReservationsToShareByProfileId
The maximum allowable limit for this API is 100.
", "operationId": "getReservationsToShareByProfileId", "deprecated": true, "parameters": [ { "name": "profileIdtoShare", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "superSearch", "in": "query", "required": false, "description": "Free form text field for searching all reservation fields", "type": "string" }, { "name": "reservationGuestId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "reservationGuestIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "membershipId", "in": "query", "required": false, "description": "Membership ID criteria.", "type": "string" }, { "name": "membershipLevel", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "membershipType", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "surname", "in": "query", "required": false, "description": "Family name, last name.", "type": "string" }, { "name": "givenName", "in": "query", "required": false, "description": "Given name, first name or names", "type": "string" }, { "name": "roomId", "in": "query", "required": false, "description": "Room number", "type": "string" }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Instruction to fetch whether the room was assigned/upgraded by AI. This will also include Reservation instruction.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Reservation", "Comments", "GuestComments", "Packages", "InventoryItems", "ReservationPaymentMethods", "RoutingInstructions", "Preferences", "Memberships", "Alerts", "Traces", "ConfirmationLetters", "CallHistory", "FixedCharges", "GuestMessages", "ReservationPolicies", "Indicators", "LinkedReservations", "RevenuesAndBalances", "GuestLastStay", "ECoupons", "TrackItItems", "TotalCostOfStay", "ReservationAwards", "WebRegistrationCards", "ServiceRequests", "ReservationActivities", "ScheduledActivities", "PrepaidCards", "Shares", "Attachments", "Locators", "ProfileAwards", "TransactionDiversions", "Tickets", "GuestMemberships", "ECertificates", "UpsellInfo", "RoomAssignedByAI", "CustomNameValue", "CustomChargeExemptions" ] }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object to the Fetch UpgradeEligibilityReservations Request operation. Based on the criteria, reservation information is returned.", "schema": { "$ref": "#/definitions/fetchReservations" } }, "204": { "description": "ReservationsToShareByProfileId not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/rateInfoValidation": { "put": { "summary": "Validate rate information", "description": "Validate the rate plan information for a reservation.OperationId:validateRateInfo
", "operationId": "validateRateInfo", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "validateRateInfo", "in": "body", "required": true, "description": "Retrieve either the reservation's rate information or make a quotation for a rate information. SummaryInfo attribute specifies if the item being requested is of detail or summary type.", "schema": { "allOf": [ { "$ref": "#/definitions/validateRateInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response will either be Summary or Detail type, but not both. See the request for the summary attribute flag.", "schema": { "$ref": "#/definitions/rateInfo" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations": { "get": { "summary": "Get Reservations for a hotel", "description": "This API will allow a user to retrieve a list of reservations based on the search criteria specified in the request body. For example you can search for reservations using query parameters like first name, last name, arrival/departure date, external confirmation number.OperationId:getHotelReservations
", "operationId": "getHotelReservations", "deprecated": true, "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "keyTrack2", "in": "query", "required": false, "description": "keyTrack2 is an id which is either generated by the PMS or provided by the door lock system and which is associated to the reservation. With the keyTrack2 value a reservation can be identified.", "type": "string", "minLength": 1, "maxLength": 2000 }, { "name": "discrepancy", "in": "query", "enum": [ "Skip", "Sleep" ], "required": false, "type": "string", "uniqueItems": true }, { "name": "recentlyAccessed", "in": "query", "required": false, "description": "Mark this reservation as recently accessed.", "type": "boolean" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "name": "searchType", "in": "query", "required": false, "type": "string", "uniqueItems": true, "enum": [ "Any", "DayUse", "Arrival", "Arrived", "Departure", "WaitList", "Cancellation", "CheckedOut", "NoShow", "Complimentary", "InHouse", "PostStayPendingBalance", "PreRegistered", "PostToRoom", "OpenFolio", "ScheduledCheckOut", "Queued", "MobileCheckout", "RegisteredAndInHouse", "ResvBlockTraces", "GuestMessages", "MassCancellation", "Operator", "Turndown", "WalkIn", "AdvanceCheckedIn", "OpenBalance", "AutoFolioSettlement", "Routing", "PlayerSnapshot", "FiscalInfo", "CorrectionPostings", "Vouchers", "ScheduledRoomMoves" ], "description": "Represents Reservation search type Player Snapshot." }, { "name": "text", "in": "query", "required": false, "description": "Free form text field for searching all reservation fields", "type": "string" }, { "name": "reservationIdList", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "confirmationNumberList", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "cancellationNumberList", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "externalReferenceIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "externalSystemCodes", "in": "query", "type": "array", "collectionFormat": "multi", "default": [ "External" ], "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "externalReferenceLegId", "in": "query", "type": "number", "description": "External reference leg number", "required": false }, { "name": "arrivalEndDate", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "arrivalStartDate", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "departureEndDate", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "departureStartDate", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "stayOnStartDate", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "createdOnStartDate", "in": "query", "required": false, "description": "Fetches reservations which are created on the given property business date.", "type": "string", "format": "date" }, { "name": "expectedArrivalEndTime", "in": "query", "required": false, "description": "The ending value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "expectedArrivalStartTime", "in": "query", "required": false, "description": "The starting value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "depositDueEndDate", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "depositDueStartDate", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "expectedReturnEndTime", "in": "query", "required": false, "description": "The ending value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "expectedReturnStartTime", "in": "query", "required": false, "description": "The starting value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "companyNames", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Attached profile name", "items": { "type": "string" }, "required": false }, { "name": "sourceNames", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Attached profile name", "items": { "type": "string" }, "required": false }, { "name": "travelAgentNames", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Attached profile name", "items": { "type": "string" }, "required": false }, { "name": "groupNames", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Attached profile name", "items": { "type": "string" }, "required": false }, { "name": "travelAgentIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation. API expects CompanyName Query parameter along with the ID to obtain correct results.", "items": { "type": "string" }, "required": false }, { "name": "companyIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation. API expects CompanyName Query parameter along with the ID to obtain correct results.", "items": { "type": "string" }, "required": false }, { "name": "sourceIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation. API expects CompanyName Query parameter along with the ID to obtain correct results.", "items": { "type": "string" }, "required": false }, { "name": "contactIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation. API expects CompanyName Query parameter along with the ID to obtain correct results.", "items": { "type": "string" }, "required": false }, { "name": "groupIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation. API expects CompanyName Query parameter along with the ID to obtain correct results.", "items": { "type": "string" }, "required": false }, { "name": "billingContactIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation. API expects CompanyName Query parameter along with the ID to obtain correct results.", "items": { "type": "string" }, "required": false }, { "name": "profileId", "in": "query", "required": false, "description": "Unique Identifier for a guest profile associated with the reservation(s)", "type": "string" }, { "name": "commissionPaid", "in": "query", "required": false, "description": "Commission Paid criteria", "type": "boolean" }, { "name": "vouchersGenerated", "in": "query", "required": false, "description": "All reservations with generated vouchers to be returned if vouchersGenerated is set to true. All reservations without the generated vouchers to be returned if it is set to false.", "type": "boolean" }, { "name": "membershipCardNumber", "in": "query", "required": false, "description": "Membership ID criteria.", "type": "string" }, { "name": "membershipLevels", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "membershipTypes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "reservationsWithMembershipType", "in": "query", "required": false, "description": "When set to true, only reservations with a membership belonging to the specified membership type will be returned", "type": "boolean" }, { "name": "surname", "in": "query", "required": false, "description": "Family name, last name.", "type": "string" }, { "name": "givenName", "in": "query", "required": false, "description": "Given name, first name or names", "type": "string" }, { "name": "fromName", "in": "query", "required": false, "description": "Given name, first name or names", "type": "string" }, { "name": "toName", "in": "query", "required": false, "description": "Given name, first name or names", "type": "string" }, { "name": "anyVIPStatus", "in": "query", "required": false, "description": "VIP status of the customer.", "type": "boolean" }, { "name": "vipCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "VIP status of the customer.", "items": { "type": "string" }, "required": false }, { "name": "guaranteeCode", "in": "query", "required": false, "description": "Fetches the reservation having Guarantee Code(Reservation Type) supplied here.", "type": "string" }, { "name": "paymentMethod", "in": "query", "required": false, "description": "Fetches the reservation having method of payment supplied here.", "type": "string" }, { "name": "discountApplied", "in": "query", "default": false, "required": false, "description": "Fetches the reservation for which discount is applied", "type": "boolean" }, { "name": "user", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "createdBy", "in": "query", "required": false, "description": "Fetches reservation created by specified user. If both CreatedByUsers and CreatedBy is specified, CreatedByUsers will take precedence.", "type": "string" }, { "name": "cancelledByList", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Fetches reservations cancelled by list of users.", "items": { "type": "string" }, "required": false }, { "name": "cancelledOn", "in": "query", "required": false, "description": "Fetches reservations which are cancelled on the given property business date.", "type": "string", "format": "date" }, { "name": "ratePlanCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "sourceCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "marketCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "excludeBlockReservations", "in": "query", "required": false, "description": "If true the search result will exclude the blocks reservations.", "type": "boolean" }, { "name": "blockCriteriaHotelCode", "in": "query", "required": false, "description": "The Hotel Code of the Block.", "type": "string" }, { "name": "blockName", "in": "query", "required": false, "description": "The Name of the block that is attached to the reservation.", "type": "string" }, { "name": "blockIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "blockCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "customReference", "in": "query", "required": false, "description": "Custom reference", "type": "string" }, { "name": "recordLocator", "in": "query", "required": false, "description": "GDS Record Locator for reservation.", "type": "string" }, { "name": "orderBy", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "string", "enum": [ "Nights", "ArrivalDate", "ArrivalDateETR", "DepartureDate", "GuestSurname", "RateAmount", "RateCode", "Room", "RoomType", "QueuePriority", "QueueDurationTime" ] }, "required": false }, { "name": "sortOrder", "in": "query", "type": "array", "collectionFormat": "multi", "default": [ "Asc" ], "uniqueItems": true, "items": { "type": "string", "enum": [ "Asc", "Desc" ] }, "required": false }, { "name": "roomAssignedOnly", "in": "query", "required": false, "description": "Indicator to query reservations which have a room number assigned.", "type": "boolean" }, { "name": "roomUnassignedOnly", "in": "query", "required": false, "description": "Indicator to query reservations which does not have a room number assigned.", "type": "boolean" }, { "name": "roomId", "in": "query", "required": false, "description": "Room number of the reservation to search by.", "type": "string" }, { "name": "roomType", "in": "query", "required": false, "type": "array", "description": "Room Type.", "maxItems": 4000, "items": { "type": "string" } }, { "name": "roomFeatures", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A code representing a room feature.", "items": { "type": "string" }, "required": false }, { "name": "roomSpecials", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Preference value for display purposes.", "items": { "type": "string" }, "required": false }, { "name": "roomSmokingPreference", "in": "query", "required": false, "description": "Preference value for display purposes.", "type": "string" }, { "name": "roomFloorPreferences", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Preference value for display purposes.", "items": { "type": "string" }, "required": false }, { "name": "housekeepingRoomStatuses", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type for room status instructions to be used in requests for fetching housekeeping rooms. Valid status values are Clean, Dirty, Pickup, Inspected, OutOfOrder, OutOfService.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Clean", "Dirty", "Pickup", "Inspected", "OutOfOrder", "OutOfService" ] }, "required": false }, { "name": "roomClasses", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "roomRangeFrom", "in": "query", "required": false, "type": "string" }, { "name": "roomRangeTo", "in": "query", "required": false, "type": "string" }, { "name": "communication", "in": "query", "required": false, "description": "Any communication attached to the reservation from the primary guest's profile such as phone, fax or email address.", "type": "string" }, { "name": "phone", "in": "query", "required": false, "description": "The phone number attached to the reservation from the primary guest's profile.", "type": "string" }, { "name": "email", "in": "query", "required": false, "description": "The email address attached to the reservation from the primary guest's profile.", "type": "string" }, { "name": "profileExternalReferencesToFetch", "in": "query", "type": "array", "maxItems": 10, "collectionFormat": "multi", "description": "Define the external system(s) to return external reference ids for associated profiles for the reservation. A maximum of 10 different external systems can be be provided for this parameter.", "items": { "type": "string" }, "required": false }, { "name": "resvExternalReferencesToFetch", "in": "query", "type": "array", "maxItems": 10, "collectionFormat": "multi", "description": "Define the external system(s) to return external reference ids for reservations. A maximum of 10 different external systems can be be provided for this parameter.", "items": { "type": "string" }, "required": false }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Instruction on which elements of the reservation are to be fetched. Instructions are cumulative i.e. additional elements would be added, but not duplicated.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Reservation", "ReservationID", "Indicators", "Deposits", "RevenuesAndBalances", "GuestServiceStatus", "MasterInfo", "CancellationInfo", "BlockReservations", "TaxType", "GuestDeviceNotification", "RoomAssignedByAI", "SwapShiftRooms", "ReservationPreferences", "FiscalInfo", "CommissionsInfo", "DepartureReservationInfo", "MultipleMemberships", "FetchChildAges", "OffshoreRates", "PostingIntervals", "PreArrivals" ] }, "required": false }, { "name": "allowedReservationActions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Flag indicating whether the Enrollment is in progress or not for the Profile associated with this Reservation.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Cancel", "Move", "PreCharge", "PostCharge", "FacilitySchedule", "Upsell", "PreCheckIn", "PostToNoShowCancel", "NoShow", "NameChange", "Discount", "HouseKeeping", "EnrollToPrimaryMembership", "EnrollInProgress", "MemberAwardAttached" ] }, "required": false }, { "name": "allowPreRegistration", "in": "query", "required": false, "description": "Flag containing true or false value for reservation to be eligible for prior check in by guest using mobile device. Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is eligible for mobile check in yes / no. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, { "name": "excludeNoPost", "in": "query", "required": false, "description": "Indicates that reservations with No Post flag should not be expected from the result.", "type": "boolean" }, { "name": "excludePMRooms", "in": "query", "required": false, "description": "Indicates that reservations with PM room type should not be expected from the result.", "type": "boolean" }, { "name": "hasDepositBalance", "in": "query", "required": false, "description": "Indicates that only reservations with deposit balance should be expected from the result.", "type": "boolean" }, { "name": "hasOpenBalance", "in": "query", "required": false, "description": "Indicates that only reservations with open balance should be expected from the result.", "type": "boolean" }, { "name": "hasOpenFolio", "in": "query", "required": false, "description": "Indicates that only reservations with open folio should be expected from the result.", "type": "boolean" }, { "name": "includeScheduledCheckOut", "in": "query", "required": false, "description": "Criteria that indicates whether to scheduled checkouts or not.", "type": "boolean" }, { "name": "linkedOnly", "in": "query", "required": false, "description": "Indicates that only linked reservations should be expected from the result.", "type": "boolean" }, { "name": "unlinkedOnly", "in": "query", "required": false, "description": "Indicates that only unlinked reservations should be expected from the result.", "type": "boolean" }, { "name": "actualArrivals", "in": "query", "required": false, "description": "Indicates if reservations which have already arrived on the Search Date is required.", "type": "boolean" }, { "name": "actualDepartures", "in": "query", "required": false, "description": "Indicates if reservations which were expected to depart on the Search Date and have already checked, is required.", "type": "boolean" }, { "name": "complimentaryReservations", "in": "query", "required": false, "description": "Indicates if reservations where rate codes are marked as Complimentary Rates , is required. This flag should be used in conjunction with the Arrivals, Departures or StayOvers criteria.", "type": "boolean" }, { "name": "dayOfArrivalCancels", "in": "query", "required": false, "description": "Indicates if reservations which have cancelled on the Search Date which is also the day of arrival is required.", "type": "boolean" }, { "name": "dayUse", "in": "query", "required": false, "description": "Indicates if reservations which are day use reservation on the Search Date, is required.", "type": "boolean" }, { "name": "earlyDepartures", "in": "query", "required": false, "description": "Indicates if reservations which checked out early on the Search Date, is required.", "type": "boolean" }, { "name": "expectedArrivals", "in": "query", "required": false, "description": "Indicates if reservations which are expected arrivals for the Search Date and who have not yet arrived, is required.", "type": "boolean" }, { "name": "expectedDepartures", "in": "query", "required": false, "description": "Indicates if reservations which are expected departures for the Search Date and who have not yet departed, is required.", "type": "boolean" }, { "name": "extendedStays", "in": "query", "required": false, "description": "Indicates if reservations which have extended their stays on the Search Date, is required.", "type": "boolean" }, { "name": "houseUseReservations", "in": "query", "required": false, "description": "Indicates if reservations where rate codes are marked as House Use Rates , is required. This flag should be used in conjunction with the Arrivals, Departures or StayOvers criteria.", "type": "boolean" }, { "name": "stayovers", "in": "query", "required": false, "description": "Indicates if reservations which are StayOvers on the Search Date, is required.", "type": "boolean" }, { "name": "stayDate", "in": "query", "required": false, "description": "Date for searching the reservations. This is the date for which the search types are applicable. If date is not available, the business date will be used by default.", "type": "string", "format": "date" }, { "name": "roomRoutingId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "periodicFolio", "in": "query", "required": false, "type": "string", "description": "Periodic folio type.", "uniqueItems": true, "enum": [ "Weekly", "Monthly", "Days" ] }, { "name": "folioSettlementTypes", "in": "query", "required": false, "description": "Comma-delimited list of Folio Settlement Type codes.", "type": "string" }, { "name": "defaultDays", "in": "query", "required": false, "description": "Use the Number of Days For Settlement, defined for the Reservation.", "type": "boolean" }, { "name": "daysSinceLastAutoSettled", "in": "query", "required": false, "description": "Use the Number of days since last auto settled.", "type": "number" }, { "name": "dateSinceLastAutoSettled", "in": "query", "required": false, "description": "Use the Date since last auto settled.", "type": "string", "format": "date" }, { "name": "excludePseudoRoomReservations", "in": "query", "required": false, "description": "Indicates to exclude Pseudo room reservations.", "type": "boolean" }, { "name": "excludeReservationIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "excludeVIPStatusCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "VIP status of the customer.", "items": { "type": "string" }, "required": false }, { "name": "excludeSpecials", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Preference value for display purposes.", "items": { "type": "string" }, "required": false }, { "name": "excludeFloorPreferences", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Preference value for display purposes.", "items": { "type": "string" }, "required": false }, { "name": "excludeAdvanceCheckedIn", "in": "query", "required": false, "description": "Indicates to exclude Advance Checked In Reservations from search result.", "type": "boolean" }, { "name": "excludeRoomFeatures", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Exclude the reservation(s) with provided room features from the search result.", "items": { "type": "string" }, "required": false }, { "name": "playerId", "in": "query", "required": false, "description": "Player ID associated to the reservation.", "type": "string" }, { "name": "gamingBalanceFrom", "in": "query", "required": false, "description": "Balance from.", "type": "number" }, { "name": "gamingBalanceTo", "in": "query", "required": false, "description": "Balance to.", "type": "number" }, { "name": "compAccountingBalanceFrom", "in": "query", "required": false, "description": "Comp Balance From", "type": "number" }, { "name": "compAccountingBalanceTo", "in": "query", "required": false, "description": "Comp Balance To", "type": "number" }, { "name": "searchTypes", "in": "query", "type": "array", "collectionFormat": "multi", "uniqueItems": true, "description": "Represents Reservation search type Player Snapshot.", "items": { "type": "string", "enum": [ "Any", "DayUse", "Arrival", "Arrived", "Departure", "WaitList", "Cancellation", "CheckedOut", "NoShow", "Complimentary", "InHouse", "PostStayPendingBalance", "PreRegistered", "PostToRoom", "OpenFolio", "ScheduledCheckOut", "Queued", "MobileCheckout", "RegisteredAndInHouse", "ResvBlockTraces", "GuestMessages", "MassCancellation", "Operator", "Turndown", "WalkIn", "AdvanceCheckedIn", "OpenBalance", "AutoFolioSettlement", "Routing", "PlayerSnapshot" ] }, "required": false }, { "name": "reservationStatuses", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Reservation status type for reservations search.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Cancelled", "CheckedOut", "CheckedIn", "DueIn", "DueOut", "InHouse", "NoShow", "WaitList" ] }, "required": false }, { "name": "transportationCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Codes to be searched.", "items": { "type": "string" }, "required": false }, { "name": "roomReadyStatuses", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Enum to denote the Status of Readiness messages sent to Guest Devices.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Pending", "Completed", "Failed", "Sent", "Received", "Cancelled", "PendingAvailability" ] }, "required": false }, { "name": "checkoutMessageReceived", "in": "query", "required": false, "description": "Fetches the reservations for which Checkout Message is received.", "type": "boolean" }, { "name": "optedForCommunication", "in": "query", "required": false, "description": "Fetches the reservations for which reservation communication has been opted.", "type": "boolean" }, { "name": "swapShiftRoomReservationId", "in": "query", "required": false, "description": "Fetches the reservations for which this reservation room can be shifted or swapped.", "type": "string" }, { "name": "roomSmokingPreferences", "in": "query", "type": "array", "collectionFormat": "multi", "required": false, "description": "The smoking preferences of rooms to be fetched.", "items": { "type": "string" } }, { "name": "roomFeaturePreferences", "in": "query", "type": "array", "collectionFormat": "multi", "required": false, "description": "The room features of the rooms. Fetches reservations with rooms that have same room features. It has to be used in conjunction with roomType, arrivalStartDate, and arrivalEndDate.", "items": { "type": "string" } }, { "name": "roomsFloorPreferences", "in": "query", "type": "array", "collectionFormat": "multi", "required": false, "description": "The floor of the rooms. Fetches reservations with rooms that are on the same floor. It has to be used in conjunction with roomType, arrivalStartDate, and arrivalEndDate.", "items": { "type": "string" } }, { "name": "contactNames", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Name of Contact Profile associated with Reservation.", "items": { "type": "string", "minLength": 0, "maxLength": 82 }, "required": false }, { "name": "taRecordLocatorList", "in": "query", "type": "array", "maxItems": 30, "collectionFormat": "multi", "description": "Travel Agent Record Locators List.", "items": { "type": "string" }, "required": false }, { "name": "packageCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Package Codes and Package Groups to be searched, can only be used when searching for reservations at a single property with a maximum date range of 90 days. It is required to populate either Arrival From/To, Departure From/To, or the Stay Date filter(s).", "maxItems": 100, "items": { "type": "string", "minLength": 0, "maxLength": 20 }, "required": false }, { "name": "inventoryItems", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Inventory Items to be searched, can only be used when searching for reservations at a single property with a maximum date range of 90 days. It is required to populate either Arrival From/To, Departure From/To, or the Stay Date filter(s)", "maxItems": 100, "items": { "type": "string", "minLength": 0, "maxLength": 20 }, "required": false }, { "name": "guaranteeCodes", "in": "query", "required": false, "description": "Fetches the reservation having Guarantee Codes(Reservation Type) supplied here. Example guaranteeCodes=6PM", "type": "array", "collectionFormat": "multi", "maxItems": 100, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, { "name": "linkedName", "in": "query", "required": false, "description": "Name of the group of Linked Reservations to be searched.", "type": "string", "minLength": 0, "maxLength": 50 }, { "name": "backToBackOnly", "in": "query", "required": false, "description": "Indicates that only reservations marked as Back to Back should be expected in the result.", "type": "boolean" }, { "name": "backToBackDateOn", "in": "query", "required": false, "description": "Fetches linked Back to Back reservations with the specified Back to Back Date. Fetched reservations will be marked as Back to Back and they will either depart or arrive on the specified Back to Back day.", "type": "string", "format": "date" }, { "name": "scheduledRoomMoveDate", "in": "query", "required": false, "description": "Scheduled Move Rooms Date Criteria. This will parameter be mandatory when search Type is ScheduledRoomMove.", "type": "string", "format": "date" }, { "name": "scheduledRoomMoveStartTime", "in": "query", "required": false, "description": "Start of Scheduled Move Room Time Range Criteria (in 24 hour time format). Applicable when Search Type is ScheduledRoomMove. Uses the hotel's time zone.", "type": "string", "minLength": 0, "maxLength": 8, "pattern": "([0-1]?[0-9]|2[0-3]):[0-5][0-9]" }, { "name": "scheduledRoomMoveEndTime", "in": "query", "required": false, "description": "End of Scheduled Move Room Time Range Criteria (in 24 hour time format). Applicable when Search Type is ScheduledRoomMove. Uses the hotel's time zone.", "type": "string", "minLength": 0, "maxLength": 8, "pattern": "([0-1]?[0-9]|2[0-3]):[0-5][0-9]" }, { "name": "scheduledRoomMoveStatus", "in": "query", "required": false, "description": "Scheduled Move Room Status Criteria.", "type": "string", "uniqueItems": true, "enum": [ "Completed", "Pending" ] }, { "name": "excludeBackToBackReservations", "in": "query", "required": false, "description": "When this flag is set to true, it will exclude the linked reservations which are marked as Back to Back in the result. Marking reservations as Back to Back is available when the Back to Back Handling for Linked Reservations OPERA control is active.", "type": "boolean" }, { "name": "checkInInitiatedBy", "in": "query", "required": false, "description": "This indicates who initiated the Check In/Advance Check In.Advance Check In functionality is available when the Advance Check In OPERA Control is active.", "type": "string" }, { "name": "flexChar", "in": "query", "type": "array", "required": false, "description": "Search by User Defined Character Field. Available to be used when searchType = Arrival, Arrived, InHouse, Departure or CheckedOut. Format for searching by User Defined Character field is UDFCXX:OperationId:postReservation
", "operationId": "postReservation", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "createReservation", "in": "body", "required": true, "description": "Request object to create reservations. Includes instructions for information which needs to be returned.", "schema": { "allOf": [ { "$ref": "#/definitions/createReservation" }, { "example": { "reservations": { "reservation": [ { "sourceOfSale": { "sourceType": "PMS", "sourceCode": "HOTEL1" }, "roomStay": { "roomRates": [ { "total": { "amountBeforeTax": "200" }, "rates": { "rate": [ { "base": { "amountBeforeTax": "200", "currencyCode": "USD" }, "shareDistributionInstruction": "Full", "total": { "amountBeforeTax": "200" }, "start": "2021-07-01", "end": "2021-07-02" } ] }, "stayProfiles": [ { "profileIdList": [ { "id": "719616", "type": "Profile" } ], "reservationProfileType": "Group" } ], "guestCounts": { "adults": "1", "children": "0" }, "roomType": "STDK", "ratePlanCode": "DFLEX", "start": "2021-07-01", "end": "2021-07-02", "suppressRate": true, "marketCode": "ASSN", "marketCodeDescription": "Group Association", "sourceCode": "REF", "sourceCodeDescription": "Referral", "numberOfUnits": "1", "pseudoRoom": false, "roomTypeCharged": "STDK", "houseUseOnly": false, "complimentary": false, "fixedRate": true, "discountAllowed": false, "bogoDiscount": false } ], "guestCounts": { "adults": "1", "children": "0" }, "arrivalDate": "2021-07-01", "departureDate": "2021-07-02", "guarantee": { "guaranteeCode": "6PM", "shortDescription": "6PM Hold" }, "roomNumberLocked": false, "printRate": false }, "reservationGuests": [ { "profileInfo": { "profile": { "customer": { "personName": [ { "givenName": "Ben", "surname": "Smith", "nameType": "Primary" }, { "nameType": "External" } ], "language": "E" }, "profileType": "Guest" } }, "primary": true } ], "reservationProfiles": { "reservationProfile": [ { "profileIdList": [ { "id": "3223789", "type": "Profile" } ], "reservationProfileType": "Group" } ] }, "reservationPaymentMethods": [ { "paymentMethod": "CA", "folioView": "1" } ], "comments": [ { "comment": { "text": { "value": "This guest would like a corner room" }, "commentTitle": "General Notes", "notificationLocation": "RESERVATION", "type": "GEN", "internal": false } } ], "reservationPackages": [ { "packageHeaderType": { "primaryDetails": { "description": "Breakfast Buffet - Adult 1" }, "transactionDetails": { "allowance": true, "currency": "USD", "postingType": "D", "calculationRule": "F" }, "postingAttributes": { "addToRate": false, "printSeparateLine": false, "postNextDay": false, "forecastNextDay": false } }, "scheduleList": [ { "consumptionDate": "2021-07-01", "unitPrice": "25", "computedResvPrice": "25", "unitAllowance": "25", "reservationDate": "2021-07-01", "originalUnitPrice": "25", "originalUnitAllowance": "25" } ], "consumptionDetails": { "defaultQuantity": "1", "totalQuantity": "1", "allowanceConsumed": false }, "packageCode": "BBRFSTAS", "startDate": "2021-07-01", "endDate": "2021-07-02", "source": "Reservation" } ], "hotelId": "HOTEL1", "roomStayReservation": true, "reservationStatus": "Reserved", "computedReservationStatus": "DueIn", "walkIn": false, "printRate": false, "preRegistered": false, "upgradeEligible": false, "allowAutoCheckin": false, "hasOpenFolio": false, "allowMobileCheckout": false, "allowMobileViewFolio": false, "allowPreRegistration": false, "optedForCommunication": false } ] } } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response for created reservation", "schema": { "$ref": "#/definitions/createReservationType" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/activityLog": { "get": { "summary": "Fetch Reservation Activity Log", "description": "Get the activity log for a reservation.OperationId:getReservationActivityLog
This API allows a time span of 90 days.
", "operationId": "getReservationActivityLog", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "name": "parameterName", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Name of the parameter.", "items": { "type": "string" }, "required": false }, { "name": "parameterValue", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Value of the parameter.", "items": { "type": "string" }, "required": false }, { "name": "activityGroup", "in": "query", "required": false, "type": "string" }, { "name": "activityType", "in": "query", "required": false, "type": "string" }, { "name": "fromDate", "in": "query", "required": false, "description": "Search from date for the user activity log.", "type": "string", "format": "date" }, { "name": "toDate", "in": "query", "required": false, "description": "Search to date for the user activity log.", "type": "string", "format": "date" }, { "name": "searchText", "in": "query", "required": false, "description": "Search text for the user activity log.", "type": "string" }, { "name": "userByIdsUserId", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "integer" }, "required": false }, { "name": "userForIdsUserId", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "integer" }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for the request for the reservation user activity log.", "schema": { "$ref": "#/definitions/activityLog" } }, "204": { "description": "ReservationActivityLog not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/alerts": { "post": { "summary": "Create Bulk Reservation Alerts", "description": "Create or updates multiple alerts for multiple reservations in bulk.OperationId:postBulkReservationAlerts
", "operationId": "postBulkReservationAlerts", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationAlerts", "in": "body", "required": true, "description": "Request object to create or update multiple alerts information for multiple reservations in bulk.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationAlerts" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/cancellations": { "post": { "summary": "Cancel Reservations ", "description": "This API can be used to cancel multiple reservations.OperationId:postCancelReservations
", "operationId": "postCancelReservations", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "cancelReservations", "in": "body", "required": true, "description": "Request to submit batch cancel reservations.", "schema": { "allOf": [ { "$ref": "#/definitions/cancelReservations" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/linkedReservations/{reservationId}": { "post": { "summary": "Link Reservations", "description": "This will allow you to link 1 or more reservations to an existing reservation.OperationId:postReservationLinks
", "operationId": "postReservationLinks", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "linkReservationsCriteria", "in": "body", "required": true, "description": "Request to link a list of reservations with another existing reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/linkReservationsCriteria" }, { "example": { "hotelId": "TOKYO", "reservationIdList": [ { "id": "720933", "type": "Reservation" } ], "linkToReservationId": { "id": "720932", "type": "Reservation" }, "responseInstruction": { "fetchLinkedReservations": true } } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Remove Reservation Links", "description": "Use this API to unlink a reservation from its currently associated reservation.OperationId:deleteReservationLinks
", "operationId": "deleteReservationLinks", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Update Linked Reservations Common Details.", "description": "This Operation allows to update attributes common to all reservations that are linked to an existing reservation.OperationId:putReservationLinks
", "operationId": "putReservationLinks", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "changeLinkedReservationsCommonDetails", "in": "body", "required": true, "description": "Request object with attributes to be updated on all linked reservations.", "schema": { "$ref": "#/definitions/changeLinkedReservationsCommonDetails" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response object with new values for the attributes that were updated on all linked reservations.", "schema": { "$ref": "#/definitions/linkedReservationsCommonDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/packageCategoryReservations": { "get": { "summary": "Get Reservations by pacakge and consumption date", "description": "Use this API to get reservations with package consumption for a specific date.OperationId:getReservationsByPackage
", "operationId": "getReservationsByPackage", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "packageCategory", "in": "query", "required": false, "type": "array", "collectionFormat": "multi", "description": "Package Category of the package attached to the reservation. Reserved for future development.", "items": { "type": "string", "maxItems": 20 } }, { "name": "packageCode", "in": "query", "required": false, "type": "array", "collectionFormat": "multi", "description": "Package code of the package attached to the reservation", "items": { "type": "string", "maxItems": 20 } }, { "name": "date", "in": "query", "required": true, "type": "string", "format": "date", "description": "Forecasted package consumption date" }, { "name": "limit", "in": "query", "required": false, "description": "Indicated maximum number of reservations to be sent in the response", "type": "integer", "default": 30 }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object to the Fetch Reservations by package request operation. Based on the criteria, reservation information is returned.", "schema": { "$ref": "#/definitions/packageCategoryReservations" } }, "204": { "description": "HotelReservations not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation", "PackageCategory" ] } }, "/hotels/{hotelId}/reservations/policies": { "put": { "summary": "Get Deposit and Cancellation Policies that are applicable to the specified criteria.", "description": "This API fetches Deposit and Cancellation Policies that are applicable to the specified criteria. The criteria can include the rate plan code, arrival date, guarantee code and the profile information.OperationId:validatePolicies
", "operationId": "validatePolicies", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID that identifies a single hotel property." }, { "name": "validatePolicies", "in": "body", "required": true, "description": "Request Criteria to fetch Deposit and Cancellation Policies", "schema": { "$ref": "#/definitions/validatePoliciesType" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response object to fetch reservation policies.", "schema": { "$ref": "#/definitions/reservationGuaranteesPolicies" }, "examples": { "application/json": { "resGuarantees": [ { "guaranteeCode": "4PM", "shortDescription": { "defaultText": "4PM Hold" }, "policyRequirements": { "phoneNumber": false, "address": false, "creditCard": false, "arrivalTime": false, "deposit": false }, "onHold": false, "reserveInventory": true, "orderSequence": "1" }, { "guaranteeCode": "GNON", "shortDescription": { "defaultText": "Group Non Deduct" }, "policyRequirements": { "phoneNumber": false, "address": false, "creditCard": false, "arrivalTime": false, "deposit": false }, "onHold": false, "reserveInventory": false, "orderSequence": "3" }, { "guaranteeCode": "GDED", "shortDescription": { "defaultText": "Group Deduct" }, "policyRequirements": { "phoneNumber": false, "address": false, "creditCard": false, "arrivalTime": false, "deposit": false }, "onHold": false, "reserveInventory": true, "orderSequence": "4" }, { "guaranteeCode": "CC", "shortDescription": { "defaultText": "Credit Card Guarantee" }, "policyRequirements": { "phoneNumber": false, "address": false, "creditCard": true, "arrivalTime": false, "deposit": false }, "onHold": false, "reserveInventory": true, "orderSequence": "6" }, { "guaranteeCode": "DEPR", "shortDescription": { "defaultText": "Deposit Required" }, "policyRequirements": { "phoneNumber": false, "address": false, "creditCard": false, "arrivalTime": true, "deposit": false }, "onHold": false, "reserveInventory": true } ] } } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/rateInfo": { "get": { "summary": "Get rate information", "description": "Retrieve the rate plan information for a reservation.OperationId:getRateInfo
This API allows a time span of 21 days.
", "operationId": "getRateInfo", "deprecated": true, "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "currencyCode", "in": "query", "required": false, "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string" }, { "name": "summaryInfo", "in": "query", "required": false, "description": "Flag to indicate if summary information is required.", "type": "boolean" }, { "name": "criteriaStartDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "criteriaEndDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "adults", "in": "query", "required": false, "description": "Defines the number of Adults.", "type": "integer" }, { "name": "children", "in": "query", "required": false, "description": "Defines the number of Children.", "type": "integer" }, { "name": "childAge", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Age of a child in years.", "items": { "type": "integer" }, "required": false }, { "name": "bucket1Count", "in": "query", "required": false, "description": "Number of children classified under the first Age Qualifying Group(Child Bucket#1).", "type": "integer" }, { "name": "bucket2Count", "in": "query", "required": false, "description": "Number of children classified under the second Age Qualifying Group(Child Bucket#2).", "type": "integer" }, { "name": "bucket3Count", "in": "query", "required": false, "description": "Number of children classified under the third Age Qualifying Group(Child Bucket#3).", "type": "integer" }, { "name": "bucket4Count", "in": "query", "required": false, "description": "Number of children classified under the fourth Age Qualifying Group(Child Bucket#4).", "type": "integer" }, { "name": "bucket5Count", "in": "query", "required": false, "description": "Number of children classified under the fifth Age Qualifying Group(Child Bucket#5).", "type": "integer" }, { "name": "detailDate", "in": "query", "required": false, "description": "This field is only required when the criteria is meant for a detailed results. The date for the rate detail is needed.", "type": "string", "format": "date" }, { "name": "blockId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "blockIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "id", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "idExtension", "in": "query", "required": false, "description": "Additional identifying value assigned by the creating system.", "type": "integer" }, { "name": "idContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "type", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "ratePlanCode", "in": "query", "required": false, "type": "string", "description": "Used for codes in the OPERA Code tables. Possible values of this pattern are 1, 101, 101.EQP, or 101.EQP.X." }, { "name": "effectiveRateEnd", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The ending value of the date range.", "items": { "type": "string", "format": "date" }, "required": false }, { "name": "effectiveRateStart", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The starting value of the date range.", "items": { "type": "string", "format": "date" }, "required": false }, { "name": "roomType", "in": "query", "required": false, "type": "string", "description": "Used for codes in the OPERA Code tables. Possible values of this pattern are 1, 101, 101.EQP, or 101.EQP.X." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response will either be Summary or Detail type, but not both. See the request for the summary attribute flag.", "schema": { "$ref": "#/definitions/rateInfo" } }, "204": { "description": "RateInfo not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/rateInfo/searches": { "post": { "summary": "Get rate information", "description": "Retrieve the rate plan information for a reservation.OperationId:searchRateInfo
This API allows a time span of 21 days.
", "operationId": "searchRateInfo", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "searchRateInfoRequest", "in": "body", "required": false, "schema": { "$ref": "#/definitions/searchRateInfoRequest" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response will either be Summary or Detail type, but not both. See the request for the summary attribute flag.", "schema": { "$ref": "#/definitions/rateInfo" } }, "204": { "description": "RateInfo not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/reservationCancellations": { "post": { "summary": "Cancel reservations", "description": "Use this API to cancel reservations including multiple share reservations with single request. You will receive cancellation numbers in the response.OperationId:postCancelShareReservation
", "operationId": "postCancelShareReservation", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "cancelReservation", "in": "body", "required": true, "description": "Request object for canceling reservations.", "schema": { "allOf": [ { "$ref": "#/definitions/cancelReservation" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response object for the request to cancel reservations. Response contains the reservations which were successfully canceled.", "schema": { "$ref": "#/definitions/cancelReservationDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/searches": { "post": { "summary": "Get Reservations for a hotel", "description": "This API allows users to search for reservations at a hotel using criteria in the request body. For example, you can search using first name, last name, dates, external confirmation, and more.OperationId:searchHotelReservations
", "operationId": "searchHotelReservations", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "searchHotelReservationsRequest", "in": "body", "required": false, "schema": { "$ref": "#/definitions/searchHotelReservationsRequest" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object to the Fetch Reservation Request operation. Based on the criteria, reservation information is returned.", "schema": { "$ref": "#/definitions/reservationsDetails" } }, "204": { "description": "HotelReservations not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/statistics": { "get": { "summary": "Get Reservation DistributionReservationsSummary", "description": "Get DistributionReservationsSummary.OperationId:getDistributionReservationsSummary
", "operationId": "getDistributionReservationsSummary", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "This is the Hotel Code of the Reservations" }, { "name": "enterpriseId", "in": "query", "required": false, "type": "string", "minLength": 1, "maxLength": 2000, "description": "This is the EnterpriseId of Hotel Code" }, { "name": "channelCode", "in": "query", "required": false, "type": "array", "maxItems": 100, "collectionFormat": "multi", "uniqueItems": true, "items": { "type": "string" }, "description": "This is the ChannelCode of Hotel Code in the Reservations" }, { "name": "startDate", "in": "query", "required": false, "type": "string", "format": "date", "description": "This is the Last Updated From Date for a Reservation" }, { "name": "endDate", "in": "query", "required": false, "type": "string", "format": "date", "description": "This is the Last Updated To Date for a Reservation" }, { "name": "limit", "in": "query", "default": 20, "required": false, "description": "Indicates maximum number of records a Web Service should return.", "minimum": 0, "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "minimum": 0, "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response for checking allowed actions, existence of attached records.", "schema": { "$ref": "#/definitions/checkDistributionReservationsSummary" } }, "204": { "description": "DistributionReservationsSummary not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/summary": { "get": { "summary": "Get brief summary for Reservations", "description": "This operation fetches brief summary for the reservations and also supports the Global Parameter MAX ROWS FETCH COUNT.
By default this parameter is configured to support an overall fetch of 5000 Records in total, with maximum number of records that can be fetched at a time being 200 (limit). However, this parameter can be updated to support an overall fetch value being a valid number between 1 and 10000 with maximum number of records that can be fetched at a time being same i.e. 200 (limit).
Requests with an offset and limit sum exceeding the MAX ROWS FETCH COUNT configured would fail the request.
OperationId:getReservationsSummary
", "operationId": "getReservationsSummary", "deprecated": true, "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservations is being searched." }, { "name": "advancedCheckedIn", "in": "query", "required": false, "description": "This filter indicates if the reservation(s) has performed an Advance Check-In or not. Data fetched is for 30 days ahead of business date.", "type": "boolean" }, { "name": "limit", "in": "query", "default": "200", "required": false, "description": "This filter indicates number of records the API has to fetch.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "This filter is for the index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "name": "preRegistered", "in": "query", "required": false, "description": "This filter indicates whether the reservation is Pre-Registered for Internet Check-In or not. Data fetched is for 30 days ahead of business date.", "type": "boolean" }, { "name": "arrivalDate", "in": "query", "required": false, "description": "This filter is for the date of arrival of reservation.", "type": "string", "format": "date" }, { "name": "departureDate", "in": "query", "required": false, "description": "This filter is for the date of departure of reservation.", "type": "string", "format": "date" }, { "name": "createDateTime", "in": "query", "required": false, "description": "This filter is for the business date when reservation(s) was created in the system.", "type": "string", "format": "date" }, { "name": "cancelledOn", "in": "query", "required": false, "description": "This filter is for the date when reservation(s) was cancelled.", "type": "string", "format": "date" }, { "name": "folioClosedOn", "in": "query", "required": false, "description": "This filter is for the date when reservation(s) folio was closed.", "type": "string", "format": "date" }, { "name": "lastName", "in": "query", "required": false, "description": "This filter looks up reservations with this last Name. Data fetched is for +-2 business date only when passed alone.", "type": "string" }, { "name": "companyId", "in": "query", "required": false, "description": "This filter is ID of the company used for the reservation. Data fetched is for +-2 business date only when passed alone.", "type": "number" }, { "name": "guestNameId", "in": "query", "required": false, "description": "This filter is ID of the guest.", "type": "number" }, { "name": "reservationStatus", "in": "query", "required": false, "type": "string", "description": "This filter is computed reservation status of the reservation(s).", "uniqueItems": true, "enum": [ "Cancelled", "CheckedOut", "CheckedIn", "DueIn", "DueOut", "InHouse", "NoShow", "WaitList" ] }, { "name": "confirmationNumber", "in": "query", "required": false, "description": "This filter is ID of confirmation for the reservation.", "type": "string" }, { "name": "externalReferenceNumber", "in": "query", "required": false, "description": "This filter is ID of external reference for the reservation.", "type": "string" }, { "name": "cancellationNumber", "in": "query", "required": false, "description": "This filter is ID of cancellation for the reservation.", "type": "string" }, { "name": "membershipNumber", "in": "query", "required": false, "description": "This filter is used for looking up reservations with this membership number. Last Name is required along with membership number to filter the data.", "type": "string" }, { "name": "registeredCardNumber", "in": "query", "required": false, "description": "This filter is unique identifier of the registration card number. Last Name is required along with registration card number to filter the data.", "type": "string" }, { "name": "balance", "in": "query", "required": false, "description": "This filter checks reservations with balance amount greater than or equal to this amount. Departure date is required along with balance to filter the data.", "type": "number" }, { "name": "roomId", "in": "query", "required": false, "description": "This filter is for room number.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response that contains fetched reservation's delivery history.", "schema": { "$ref": "#/definitions/reservationsSummary" } }, "204": { "description": "ReservationsSummary not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/summary/searches": { "post": { "summary": "Search brief summary for Reservations", "description": "This operation fetches brief summary for the reservations and also supports the Global Parameter MAX ROWS FETCH COUNT.
By default this parameter is configured to support an overall fetch of 5000 Records in total, with maximum number of records that can be fetched at a time being 200 (limit). However, this parameter can be updated to support an overall fetch value being a valid number between 1 and 10000 with maximum number of records that can be fetched at a time being same i.e. 200 (limit).
Requests with an offset and limit sum exceeding the MAX ROWS FETCH COUNT configured would fail the request.
OperationId:searchReservationsSummary
", "operationId": "searchReservationsSummary", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservations is being searched." }, { "name": "searchReservationsSummaryRequest", "in": "body", "required": false, "schema": { "$ref": "#/definitions/searchReservationsSummaryRequest" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response that contains fetched reservation's delivery history.", "schema": { "$ref": "#/definitions/reservationsSummary" } }, "204": { "description": "ReservationsSummary not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/validations": { "put": { "summary": "Validate Reservation Before Creating or Applying Changes", "description": "Use this API to validate details of a reservation that you are about to create or modify. Elements to be validated will depend on the instructions provided e.g. StayDates, Packages, Shares etc. Use of this api will not change any data on the reservation.OperationId:putValidateReservationChanges
", "operationId": "putValidateReservationChanges", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "validateReservationChanges", "in": "body", "required": true, "description": "Request to validate reservation changes.", "schema": { "allOf": [ { "$ref": "#/definitions/validateReservationChanges" }, { "example": { "reservation": { "roomStay": { "roomRates": [ { "rates": { "rate": [ { "base": { "amountBeforeTax": "299" }, "start": "2020-11-23", "end": "2020-11-23" } ] }, "guestCounts": { "adults": 1, "children": 0 }, "roomType": "STDK", "ratePlanCode": "RACK", "suppressRate": false, "marketCode": "HOUSE", "sourceOfBusiness": "DIRECT", "numberOfUnits": 1, "pseudoRoom": false, "roomTypeCharged": "STDK", "houseUseOnly": false, "complimentary": false, "discountAllowed": false, "bogoDiscount": false, "start": "2020-11-28", "end": "2020-11-28" } ], "guestCounts": { "adults": 1, "children": 0 }, "arrivalDate": "2020-11-28", "departureDate": "2020-11-29", "expectedTimes": { "reservationExpectedArrivalTime": "2020-11-28", "reservationExpectedDepartureTime": "2020-11-29" }, "guarantee": { "guaranteeCode": "6PM", "onHold": false } }, "reservationGuests": [ { "profileInfo": { "profileIdList": [ { "id": "1156017", "type": "Profile" } ] }, "primary": false } ], "reservationPaymentMethods": { "paymentMethod": "CASH", "folioView": "1" }, "comments": [], "hotelId": "HOTEL1", "reservationStatus": "Reserved" }, "timeSpan": { "startDate": "2020-11-28", "endDate": "2020-11-29" }, "instructions": { "instruction": [ "StayHeader" ] }, "links": [] } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response for validating reservation changes.", "schema": { "$ref": "#/definitions/validateReservationChangesDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationIdtoShare}/share": { "get": { "summary": "Get Reservations to share by Reservation id", "description": "Fetch the reservation that can be shared with an existing reservation.OperationId:getReservationsToShareByReservationId
The maximum allowable limit for this API is 100.
", "operationId": "getReservationsToShareByReservationId", "parameters": [ { "name": "reservationIdtoShare", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "superSearch", "in": "query", "required": false, "description": "Free form text field for searching all reservation fields", "type": "string" }, { "name": "reservationGuestId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "reservationGuestIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "membershipId", "in": "query", "required": false, "description": "Membership ID criteria.", "type": "string" }, { "name": "membershipLevel", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "membershipType", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "surname", "in": "query", "required": false, "description": "Family name, last name.", "type": "string" }, { "name": "givenName", "in": "query", "required": false, "description": "Given name, first name or names", "type": "string" }, { "name": "roomId", "in": "query", "required": false, "description": "Room number", "type": "string" }, { "name": "cancellationNumberList", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "externalReferenceIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "externalSystemCodes", "in": "query", "type": "array", "collectionFormat": "multi", "default": [ "External" ], "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "confirmationNumberList", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "taRecordLocatorList", "in": "query", "type": "array", "maxItems": 30, "collectionFormat": "multi", "description": "Travel Agent Record Locators List.", "items": { "type": "string" }, "required": false }, { "name": "reservationStatuses", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Reservation status list for reservations search.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Cancelled", "CheckedOut", "CheckedIn", "DueIn", "DueOut", "InHouse", "NoShow", "WaitList" ] }, "required": false }, { "name": "linkedName", "in": "query", "required": false, "description": "Name of the group of Linked Reservations to be searched.", "type": "string", "minLength": 0, "maxLength": 50 }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Instruction to fetch whether the room was assigned/upgraded by AI. This will also include Reservation instruction.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Reservation", "Comments", "GuestComments", "Packages", "InventoryItems", "ReservationPaymentMethods", "RoutingInstructions", "Preferences", "Memberships", "Alerts", "Traces", "ConfirmationLetters", "CallHistory", "FixedCharges", "GuestMessages", "ReservationPolicies", "Indicators", "LinkedReservations", "RevenuesAndBalances", "GuestLastStay", "ECoupons", "TrackItItems", "TotalCostOfStay", "ReservationAwards", "WebRegistrationCards", "ServiceRequests", "ReservationActivities", "ScheduledActivities", "PrepaidCards", "Shares", "Attachments", "Locators", "ProfileAwards", "TransactionDiversions", "Tickets", "GuestMemberships", "ECertificates", "UpsellInfo", "RoomAssignedByAI", "CustomNameValue", "CustomChargeExemptions", "IncludeAllReservations" ] }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object to the Fetch UpgradeEligibilityReservations Request operation. Based on the criteria, reservation information is returned.", "schema": { "$ref": "#/definitions/fetchReservations" } }, "204": { "description": "ReservationsToShareByReservationId not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}": { "get": { "summary": "Get Reservation by ID", "description": "Retrieve a reservation using the internal ID.OperationId:getReservation
", "operationId": "getReservation", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "profileExternalReferencesToFetch", "in": "query", "type": "array", "maxItems": 10, "collectionFormat": "multi", "description": "Define the external system(s) to return external reference ids for associated profiles for the reservation. A maximum of 10 different external systems can be be provided for this parameter.", "items": { "type": "string" }, "required": false }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Instruction on which of the reservation's elements are to be returned e.g. DailySummary will return summarized information for each day of the reservation. Instructions are cumulative i.e. if multiple instructions are sent in a request, then the combined reservation elements would be returned, elements will not be duplicated in the response.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Reservation", "Comments", "ReservationMembershipAwards", "ReservationIdentification", "GuestComments", "Packages", "TotalCostOfStay", "InventoryItems", "ReservationPaymentMethods", "RoutingInstructions", "Preferences", "Memberships", "Alerts", "Traces", "ConfirmationLetters", "CallHistory", "FixedCharges", "GuestMessages", "ReservationPolicies", "Indicators", "LinkedReservations", "RevenuesAndBalances", "GuestLastStay", "ECoupons", "TrackItItems", "ReservationAwards", "WebRegistrationCards", "ReservationActivities", "ScheduledActivities", "PrepaidCards", "Shares", "Attachments", "Locators", "ProfileAwards", "TransactionDiversions", "Tickets", "GuestMemberships", "ECertificates", "UpsellInfo", "RoomAssignedByAI", "AutoCheckInRoomType", "Keys", "AccompanyingGuestProfile", "AccompanyingGuestMembership", "AccompanyingGuestRelationship", "Voucher", "ScheduledRoomMoves", "DailySummary", "RateInfoDetails", "OffshoreRates", "FetchChildAges", "TotalDepositPaid", "ReservationProtection", "PostingIntervals", "PreArrivals", "PackageAllowance" ] }, "required": false }, { "name": "allowedActions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Flag indicating whether the Enrollment is in progress or not for the Profile associated with this Reservation.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Cancel", "Move", "PreCharge", "PostCharge", "FacilitySchedule", "Upsell", "PreCheckIn", "PostToNoShowCancel", "NoShow", "NameChange", "Discount", "HouseKeeping", "EnrollToPrimaryMembership", "EnrollInProgress", "MemberAwardAttached", "UpgradeAwardAttached", "DiscountAwardAttached" ] }, "required": false }, { "name": "markAsRecentlyAccessed", "in": "query", "required": false, "description": "Marks the reservation as recently accessed.", "type": "boolean" }, { "name": "includeInSession", "in": "query", "required": false, "description": "Flag indicating whether to fetch the in-session reservation.", "type": "boolean" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Return object to the request for information regarding a reservation.", "schema": { "$ref": "#/definitions/reservation" }, "examples": { "application/json": { "reservations": { "reservation": [ { "reservationIdList": [ { "id": "571062", "type": "Reservation" }, { "id": "813595", "type": "Confirmation" } ], "roomStay": { "arrivalDate": "2020-01-13", "departureDate": "2020-01-14", "expectedTimes": { "reservationExpectedArrivalTime": "2020-01-13", "reservationExpectedDepartureTime": "2020-01-14" }, "guarantee": { "guaranteeCode": "6PM", "shortDescription": "6pm Hold" } }, "reservationGuests": [ { "profileInfo": { "profileIdList": [ { "id": "687128", "type": "Profile" } ], "profile": { "customer": { "personName": [ { "givenName": "Jennifer", "surname": "Clarke", "nameType": "Primary" } ] } } }, "primary": true } ], "comments": [ { "comment": { "text": { "value": "This is a sample reservation comment" }, "notificationLocation": "GEN", "type": "RESERVATION", "internal": false, "createDateTime": "2020-01-28 17:22:35.0", "creatorId": "BEN@HOTEL1", "lastModifyDateTime": "2020-01-28 17:22:35.0", "lastModifierId": "BEN@HOTEL1" }, "id": "113803", "type": "Comment" }, { "comment": { "text": { "value": "Cashier Comment will go here" }, "commentTitle": "Cashier Comment", "notificationLocation": "PROPHOTEL1", "type": "CASHIER", "internal": false, "createDateTime": "2020-01-28 17:23:38.0", "creatorId": "BEN@HOTEL1", "lastModifyDateTime": "2020-01-28 17:27:51.0", "lastModifierId": "BEN@HOTEL1" }, "id": "113804", "type": "Comment" } ], "hotelId": "HOTEL1", "reservationStatus": "Reserved", "createDateTime": "2020-01-28 14:33:54.0", "preRegistered": false, "allowMobileCheckout": false } ] } } } }, "204": { "description": "Reservation not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Update Reservation by ID", "description": "Use this to update an existing reservation for a hotel, such as adding comments, changing the number of guests. There are many fields in putReservation defined by ListOfValues; ensure you have reviewed ListOfValues APIs in order successfully to use putReservation.OperationId:putReservation
", "operationId": "putReservation", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "changeReservation", "in": "body", "required": true, "description": "Request method to change a reservations information.", "schema": { "allOf": [ { "$ref": "#/definitions/changeReservation" }, { "example": { "reservations": [ { "sourceOfSale": { "sourceType": "PMS", "sourceCode": "HOTEL1" }, "roomStay": { "roomRates": [ { "total": { "amountBeforeTax": "120" }, "rates": { "rate": [ { "base": { "amountBeforeTax": "120", "currencyCode": "USD" }, "shareDistributionInstruction": "Full", "total": { "amountBeforeTax": "120" }, "start": "2021-02-27", "end": "2021-02-27" } ] }, "guestCounts": { "adults": "1", "children": "0" }, "roomType": "STDK", "ratePlanCode": "IHUBFAST", "start": "2021-02-27", "end": "2021-02-27", "suppressRate": false, "marketCode": "CORP", "marketCodeDescription": "Group Corporate", "sourceCode": "REF", "sourceCodeDescription": "Referral", "numberOfUnits": "1", "pseudoRoom": false, "roomTypeCharged": "STDK", "houseUseOnly": false, "complimentary": false, "fixedRate": false, "discountAllowed": false, "bogoDiscount": false } ], "guestCounts": { "adults": "1", "children": "0" }, "arrivalDate": "2021-02-27", "departureDate": "2021-02-28", "guarantee": { "guaranteeCode": "GDED", "shortDescription": "Group Deduct" }, "total": { "amountBeforeTax": "120", "amountAfterTax": "121" }, "roomNumberLocked": false, "printRate": false, "remoteCheckInAllowed": false, "bookingMedium": "PMS", "bookingMediumDescription": "PMS Channel" }, "reservationGuests": { "reservationGuest": [ { "profileInfo": { "profileIdList": [ { "id": "687128", "type": "Profile" } ], "profile": { "customer": { "personName": [ { "givenName": "Sam", "surname": "Jones", "nameTitle": "Mr", "nameType": "Primary" }, { "nameType": "External" } ], "language": "E", "vipStatus": "GOLD", "vipDescription": "Gold Level" }, "profileType": "Guest" } }, "primary": true } ] }, "comments": { "commentInfo": [ { "comment": { "text": { "value": "The guest will be a late arrival" }, "commentTitle": "InHouse Comment", "notificationLocation": "PROPDFLT", "type": "RESERVATION", "internal": false }, "id": "120303", "type": "Comment" }, { "comment": { "text": { "value": "reservation comments" }, "commentTitle": "No Change To Reservation Comment", "notificationLocation": "GEN", "type": "RESERVATION", "internal": false }, "id": "120304", "type": "Comment" }, { "comment": { "text": { "value": "New Cashier Comment" }, "commentTitle": "New Cashier Comment", "notificationLocation": "Note1", "type": "CASHIER", "internal": false } } ] }, "hotelId": "HOTEL1", "roomStayReservation": true, "reservationStatus": "Reserved", "computedReservationStatus": "DueIn", "walkIn": false, "printRate": false, "createBusinessDate": "2021-02-27", "preRegistered": false, "upgradeEligible": false, "allowAutoCheckin": false, "hasOpenFolio": false, "allowMobileCheckout": false, "allowMobileViewFolio": false, "allowPreRegistration": false, "optedForCommunication": false, "chargeCardNumber": "5904606" } ] } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/changeReservationDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete a Reservation by resort", "description": "This API will delete only an on hold (in-session) reservation.OperationId:deleteOnHoldReservation
", "operationId": "deleteOnHoldReservation", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "number", "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is to delete only an on hold (in-session) reservation." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/addOnReservationPackages": { "put": { "summary": "Update Add On (Sell Separate) packages on a reservation.", "description": "This API will allow you to update Add On (Sell Separate) packages on a reservation. Note: this API works as a full overlay for Reservation's Add On Packages.OperationId:putAddOnReservationPackages
", "operationId": "putAddOnReservationPackages", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "number", "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationAddOnPackages", "in": "body", "required": true, "description": "Request object to overlay addon packages on an existing reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationAddOnPackagesType" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/addOnReservationPackagesType" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/alerts": { "get": { "summary": "Fetch Alert Notices", "description": "Get the alert notices including global alerts for a reservation.OperationId:getAlertNotices
", "operationId": "getAlertNotices", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "alertArea", "in": "query", "required": false, "type": "string", "uniqueItems": true, "enum": [ "CheckIn", "CheckOut", "Reservation", "Billing", "InHouse" ] }, { "name": "welcomeOffer", "in": "query", "required": false, "description": "Determines whether to fetch Global Alert Notices or Welcome Offer Alert Notice.", "type": "boolean" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response with the fetched alerts, includes global alerts, notes and undelivered guest messages.", "schema": { "$ref": "#/definitions/alerts" } }, "204": { "description": "AlertNotices not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/attachments": { "get": { "summary": "Get Reservation attachments", "description": "Get Reservation attachmentsOperationId:getReservationAttachments
", "operationId": "getReservationAttachments", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "webRegistrationCard", "in": "query", "required": false, "description": "Indicator to retrieve e-Signed registration card attachments.", "type": "boolean" }, { "name": "attachedFileName", "in": "query", "required": false, "type": "string", "minLength": 1, "maxLength": 2000, "description": "File name used to filter final list of attachments. For example, Document.txt." }, { "name": "description", "in": "query", "required": false, "type": "string", "minLength": 1, "maxLength": 100, "description": "Description used to filter final list of attachments. For example, Offical guest ID. (This parameter does not require wildcard characters like * or % )." }, { "name": "digitalRegistration", "in": "query", "required": false, "description": "Indicator to retrieve digital registration attachments.", "type": "boolean" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Return object to the request for information regarding reservation attachments.", "schema": { "$ref": "#/definitions/reservationAttachments" } }, "204": { "description": "ReservationAttachments not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/attachments/{attachmentId}": { "delete": { "summary": "Delete Reservation attachments", "description": "Delete attachments from a Reservation.OperationId:deleteReservationAttachment
", "operationId": "deleteReservationAttachment", "parameters": [ { "name": "attachmentId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Id of the attachment to be deleted." }, { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/breakshares/action/validate": { "put": { "summary": "Validate before breaking a share Reservation", "description": "This API performs a validation before separating share reservations.OperationId:putBreakShareValidations
", "operationId": "putBreakShareValidations", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "breakShareValidations", "in": "body", "required": true, "description": "Request for Break Share operation validations. This request should be done prior to the actual Break Share operation request. Based on the validations returned from this request the appropriate parameters can be returned in the actual break share request.", "schema": { "allOf": [ { "$ref": "#/definitions/breakShareValidations" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response for the Break Share Validation request. This returns all validation messages for the operation.", "schema": { "$ref": "#/definitions/breakShareValidationsDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/calls": { "get": { "summary": "Get the Reservation Call History", "description": "Get the Reservation Call HistoryOperationId:getCallHistory
", "operationId": "getCallHistory", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response that contains either the fetched call history if was successful or error(s) if not.", "schema": { "$ref": "#/definitions/callHistory" } }, "204": { "description": "CallHistory not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/cancellationHistory": { "get": { "summary": "Get cancellation history", "description": "Get cancellation history for a reservation.OperationId:getCancellationHistory
This API allows a time span of 30 days.
", "operationId": "getCancellationHistory", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "hotelName", "in": "query", "required": false, "type": "string" }, { "name": "roomStayStartDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "roomStayEndDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "roomStayDuration", "in": "query", "required": false, "type": "string" }, { "name": "roomClass", "in": "query", "required": false, "description": "Room class code", "type": "string" }, { "name": "roomType", "in": "query", "required": false, "description": "Room type code", "type": "string" }, { "name": "numberOfRooms", "in": "query", "required": false, "description": "Room Id", "type": "integer" }, { "name": "roomId", "in": "query", "required": false, "description": "Room Id", "type": "string" }, { "name": "ratePlanCode", "in": "query", "required": false, "description": "Rate plan code", "type": "string" }, { "name": "reservationBlockHotelId", "in": "query", "required": false, "description": "This is the HotelCode of the Block.", "type": "string" }, { "name": "reservationBlockId", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "reservationBlockIdType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "blockName", "in": "query", "required": false, "description": "The Name of the block that is attached to the reservation.", "type": "string" }, { "name": "bookingChannelCode", "in": "query", "required": false, "description": "Booking channel code", "type": "string" }, { "name": "linkCode", "in": "query", "required": false, "description": "Party code", "type": "string" }, { "name": "onHold", "in": "query", "required": false, "description": "Guarantee Code.", "type": "boolean" }, { "name": "membershipAccountId", "in": "query", "required": false, "description": "The account identification number for this particular member in this particular program.", "type": "string" }, { "name": "membershipBonusCode", "in": "query", "required": false, "description": "The code or name of the bonus program. BonusCode can be used to indicate the level of membership (Gold Club, Platinum member, etc.)", "type": "string" }, { "name": "membershipLevel", "in": "query", "required": false, "description": "The code or name of the membership level and indicates the level of membership (Gold Club, Platinum member, etc.). This is same as the BonusCode.", "type": "string" }, { "name": "membershipId", "in": "query", "required": false, "description": "Membership ID (Unique ID from the memberships table).", "type": "number" }, { "name": "lastStayDate", "in": "query", "required": false, "description": "Guest's last stay date.", "type": "string", "format": "date" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object to the request to retrieve cancellation history for a reservation.", "schema": { "$ref": "#/definitions/cancellationHistory" } }, "204": { "description": "CancellationHistory not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/cancellationPolicies": { "post": { "summary": "Create a Cancellation policy", "description": "Create a new cancellation policy for a property.OperationId:postCancellationPolicy
", "operationId": "postCancellationPolicy", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationCancellationPolicyCriteria", "in": "body", "required": true, "description": "Request object that holds the details of Cancellation Policy to be created.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationCancellationPolicyCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Compute the cancellation policies", "description": "Compute the cancellation policies for a reservation.OperationId:putComputeCancellationPolicies
", "operationId": "putComputeCancellationPolicies", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "computeCancellationPolicies", "in": "body", "required": true, "description": "Operation to fetch the details for cancellation rules, applicable to a reservation. Based on the criteria the rule information can be retrieved for all cancellation rules or for a particular rule.", "schema": { "allOf": [ { "$ref": "#/definitions/computeCancellationPolicies" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response for the cancellation rules configuration request. Contains computed details for the cancellation rules requested.", "schema": { "$ref": "#/definitions/computeCancellationPoliciesDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete a Cancellation policy", "description": "Delete an existing cancellation policy for a specific hotel.OperationId:deleteCancellationPolicy
", "operationId": "deleteCancellationPolicy", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "policyId", "in": "query", "required": true, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/cancellations": { "put": { "summary": "Reinstate a Reservation", "description": "Use this API to reinstate a cancelled reservation.OperationId:putReinstateReservation
", "operationId": "putReinstateReservation", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reinstateReservation", "in": "body", "required": true, "description": "Overriding the validation check will log the supposed errors in the warnings log if they would fail.", "schema": { "allOf": [ { "$ref": "#/definitions/reinstateReservation" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/reinstateReservationDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Cancel Reservation by ID", "description": "Use this if a guest would like to cancel their reservation. You will receive a cancellation number in the response.OperationId:postCancelReservation
", "operationId": "postCancelReservation", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "cancelReservation", "in": "body", "required": true, "description": "Request object for canceling reservations.", "schema": { "allOf": [ { "$ref": "#/definitions/cancelReservation" }, { "example": { "reason": { "description": "Bad weather has changed travel plans", "code": "WEATHER" }, "reservations": [ { "reservationIdList": [ { "id": "660082", "type": "Reservation" } ], "externalCancellationId": "123456", "roomStatus": "Clean", "allowedActions": [ "Cancel" ], "hotelId": "HOTEL1", "cxlInstr": { "deleteResTraces": true } } ], "verificationOnly": false } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response object for the request to cancel reservations. Response contains the reservations which were successfully canceled.", "schema": { "$ref": "#/definitions/cancelReservationDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/certificates": { "post": { "summary": "Attach Certificate", "description": "Attach a certificate to Reservation.OperationId:postReservationCertificate
", "operationId": "postReservationCertificate", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "attachCertificate", "in": "body", "required": true, "description": "Request to attach certificate to the Reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/attachCertificate" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Detach Certificate", "description": "Remove a certification from a reservation.OperationId:deleteReservationCertificate
", "operationId": "deleteReservationCertificate", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/combineshares/action/validate": { "put": { "summary": "Combine Share Validations", "description": "Validate before combining Reservations for shares.OperationId:putCombineShareValidations
", "operationId": "putCombineShareValidations", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "combineShareValidations", "in": "body", "required": true, "description": "Request to validate a combine share operation. This would be done prior to the actual Combine Share operation. Based on the validations returned from this request, the appropriate values can be returned to the Combine Share operation request.", "schema": { "allOf": [ { "$ref": "#/definitions/combineShareValidations" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response for the Combine Share Validation request. This returns all validation messages which may be required for the combine share operation.", "schema": { "$ref": "#/definitions/combineShareValidationsDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/consumedPackageQuantity": { "put": { "summary": "Update consumed package quantity for package codes.", "description": "Use this API to update the consumed package quantity for package codes.OperationId:putConsumedPackageQuantity
", "operationId": "putConsumedPackageQuantity", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "changePackageQuantity", "in": "body", "required": true, "description": "Request object to update package quantity.", "schema": { "allOf": [ { "$ref": "#/definitions/changePackageQuantityType" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/copy": { "post": { "summary": "Copy a Reservation", "description": "Copy a Reservation.OperationId:postReservationCopy
", "operationId": "postReservationCopy", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "copyReservation", "in": "body", "required": true, "description": "Request for copying a reservation's information as a template for a new reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/copyReservation" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/dailyRates/action/validate": { "put": { "summary": "Validate daily rate details change", "description": "Validate daily rate details change.OperationId:putReservationDailyRateDetailValidation
", "operationId": "putReservationDailyRateDetailValidation", "deprecated": true, "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationDailyRateDetail", "in": "body", "required": true, "description": "Request for validating Daily Rate Details modifications.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationDailyRateDetail" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response after validating the changes for Daily Rate Details modifications.", "schema": { "$ref": "#/definitions/reservationDailyRateDetailDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/depositPolicies": { "post": { "summary": "Create deposit policy", "description": "Create deposit policy for a property. This policy can then be used for reservations.OperationId:postDepositPolicy
", "operationId": "postDepositPolicy", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationDepositPolicyCriteria", "in": "body", "required": true, "description": "Request object that holds the details of hotel level Deposit Policy to be created.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationDepositPolicyCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Computes the deposit policies", "description": "Computes the deposit policies.OperationId:putComputeDepositPolicies
", "operationId": "putComputeDepositPolicies", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "computeDepositPolicies", "in": "body", "required": true, "description": "Operation to fetch the details for deposit rules, applicable to a reservation. Based on the criteria the rule information can be retrieved for all deposit rules or for a particular rule.", "schema": { "allOf": [ { "$ref": "#/definitions/computeDepositPolicies" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response for the deposit rules configuration request. Contains computed details for the deposit rules requested.", "schema": { "$ref": "#/definitions/computeDepositPoliciesDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete deposit policy", "description": "Delete deposit policy for a property.OperationId:deleteDepositPolicy
", "operationId": "deleteDepositPolicy", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "policyId", "in": "query", "required": true, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/eCoupons": { "get": { "summary": "Get Reservation Ecoupons", "description": "Get the Reservation Ecoupons.OperationId:getECoupons
", "operationId": "getECoupons", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching the eCoupons attached to Reservation.", "schema": { "$ref": "#/definitions/eCoupons" } }, "204": { "description": "ECoupons not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Create Reservation ECoupon", "description": "Create the Reservation Ecoupons.OperationId:postECoupons
", "operationId": "postECoupons", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "eCouponsInfo", "in": "body", "required": true, "description": "Request object for creating new eCoupons.", "schema": { "allOf": [ { "$ref": "#/definitions/eCouponsInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Change Reservation Ecoupon", "description": "Change the Reservation Ecoupons.OperationId:putECoupons
", "operationId": "putECoupons", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "eCouponsInfo", "in": "body", "required": true, "description": "Request object for changing the existing eCoupons attached to Reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/eCouponsInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/eCoupons" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete Reservation ECoupons", "description": "Delete the Reservation Ecoupons.OperationId:deleteECoupons
", "operationId": "deleteECoupons", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "eCouponId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/flexFieldCode/{flexFieldCode}": { "delete": { "summary": "Operation to delete a flex field.", "description": "Operation to delete a flex field Value.OperationId:deleteFlexFieldValue
", "operationId": "deleteRsvFlexFieldValue", "parameters": [ { "name": "flexFieldCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Flex field code" }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel in OPERA" }, { "name": "reservationId", "in": "path", "type": "string", "required": true, "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/flexFieldValues": { "get": { "summary": "Operation to fetch flex field values.", "description": "API to fetch flex field values.OperationId:getFlexFieldValue
", "operationId": "getRsvFlexFieldValue", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel in OPERA" }, { "name": "reservationId", "in": "path", "type": "string", "required": true, "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "flexFieldId", "in": "query", "type": "number", "description": "Flex field ID", "required": false }, { "name": "flexFieldCode", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Flex field code", "items": { "type": "string", "maxItems": 50 }, "required": false }, { "name": "flexFieldValue", "in": "query", "type": "string", "description": "Flex field Value", "required": false }, { "name": "limit", "in": "query", "required": false, "default": 50, "maximum": 100, "description": "Indicates maximum number of records a Web Service should return. Default is 50", "type": "integer" }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching flex field Values.", "schema": { "$ref": "#/definitions/flexFieldsResponse" } }, "204": { "description": "Flex field details not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Operation to create a flex field with value for a module.", "description": "Operation to create a flex field Value.OperationId:postFlexFieldValue
", "operationId": "createRsvFlexFieldValue", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel in OPERA" }, { "name": "reservationId", "in": "path", "type": "string", "required": true, "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "flexFieldValueInfo", "in": "body", "required": true, "description": "Request object to create a new flex field", "schema": { "allOf": [ { "$ref": "#/definitions/flexFieldValues" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Operation to update flex field value.", "description": "Operation to update flex field value.OperationId:putFlexFieldValue
", "operationId": "updateRsvFlexFieldValue", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel in OPERA" }, { "name": "reservationId", "in": "path", "type": "string", "required": true, "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "flexFieldValueInfo", "in": "body", "required": true, "description": "Request object for updating the configuration of flex fields.", "schema": { "allOf": [ { "$ref": "#/definitions/flexFieldValues" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/guestLocators": { "get": { "summary": "Fetch Reservation Guest Locator", "description": "Get the Guest locater for a Reservation.OperationId:getReservationLocators
", "operationId": "getReservationLocators", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object response to retrieve Guest Messages for a Reservation.", "schema": { "$ref": "#/definitions/reservationLocators" } }, "204": { "description": "ReservationLocators not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Create Reservation Guest Locator", "description": "Create Guest Locater for a list of Reservations.OperationId:postReservationLocators
", "operationId": "postReservationLocators", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationLocatorsDetailsInfo", "in": "body", "required": true, "description": "Request object for creating new Notes for the hotels", "schema": { "allOf": [ { "$ref": "#/definitions/reservationLocatorsDetailsInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response object for creating new Notes for the hotel.", "schema": { "$ref": "#/definitions/reservationLocatorsDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/guestLocators/{locatorId}": { "put": { "summary": "Change Reservation Guest Locators", "description": "Change a list of Guest Locater for a Reservation.OperationId:changeReservationLocators
", "operationId": "changeReservationLocators", "parameters": [ { "name": "locatorId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationLocatorsInfo", "in": "body", "required": true, "description": "Request object for changing hotel Notes for hotels.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationLocatorsInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/reservationLocatorsStatus" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Remove Reservation Locators", "description": "Delete a Guest Locater for a Reservation.OperationId:deleteReservationLocators
", "operationId": "deleteReservationLocators", "parameters": [ { "name": "locatorId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/guestMessages": { "post": { "summary": "Create guest messages", "description": "Create guest message for a guest reservation.OperationId:postGuestMessages
", "operationId": "postGuestMessages", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "createGuestMessages", "in": "body", "required": true, "description": "Request object for creating a new guest message.", "schema": { "allOf": [ { "$ref": "#/definitions/createGuestMessages" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response object to the request to create Guest Messages for a Reservation.", "schema": { "$ref": "#/definitions/guestMessagesDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Change Reservation Guest Messages", "description": "Change guest messages for Reservation.OperationId:putResvGuestMessages
", "operationId": "putResvGuestMessages", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "changeResvGuestMessages", "in": "body", "required": true, "description": "Request object for updating the Guest Messages for a Reservation Workspace.", "schema": { "allOf": [ { "$ref": "#/definitions/changeResvGuestMessages" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response object to the request to update Guest Messages for a Reservation.", "schema": { "$ref": "#/definitions/changeResvGuestMessages" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/guestMessages/{guestMessageId}": { "put": { "summary": "Change guest Message ", "description": "Change guest Message on a reservation.OperationId:putGuestMessages
", "operationId": "putGuestMessages", "parameters": [ { "name": "guestMessageId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Guest Message Id" }, { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "changeGuestMessages", "in": "body", "required": true, "description": "Request object for modifying an existing guest message.", "schema": { "allOf": [ { "$ref": "#/definitions/changeGuestMessages" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response object to the request to update Guest Messages for a Reservation.", "schema": { "$ref": "#/definitions/changeGuestMessages" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete guest messages", "description": "Delete guest messages from a reservation.OperationId:deleteGuestMessages
", "operationId": "deleteGuestMessages", "parameters": [ { "name": "guestMessageId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Guest Message Id" }, { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/header/action/validate": { "put": { "summary": "Validate Reservation header change", "description": "Validate Reservation header change.OperationId:putReservationHeaderValidation
", "operationId": "putReservationHeaderValidation", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationDailyRateDetail", "in": "body", "required": true, "description": "Request for validating Reservation Header modifications.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationDailyRateDetail" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response after validating the changes for the reservation header modifications.", "schema": { "$ref": "#/definitions/reservationDailyRateDetailDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/inventoryItems": { "get": { "summary": "Get Reserved Inventory Items ", "description": "Get the Inventory Items reserved for the Reservation.OperationId:getReservedInventoryItems
", "operationId": "getReservedInventoryItems", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Return object to the request for information regarding inventory Items reserved for a reservation.", "schema": { "$ref": "#/definitions/inventoryItems" } }, "204": { "description": "ReservedInventoryItems not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Reserve Reservation inventory items", "description": "Reserve Reservation inventory items.OperationId:postReserveInventoryItems
", "operationId": "postReserveInventoryItems", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reserveInventoryItems", "in": "body", "required": true, "description": "Request object to reserve inventory Items for a reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/reserveInventoryItems" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Change reserved Inventory Items ", "description": "Change the Inventory Items reserved for the Reservation.OperationId:putReservedInventoryItems
", "operationId": "putReservedInventoryItems", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservedInventoryItemsInfo", "in": "body", "required": true, "description": "Request object to change the reserved inventory Items for a reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/reservedInventoryItemsInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/reservedInventoryItemsInfo" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete Reserved Inventory Items", "description": "Delete the Inventory Items reserved for the Reservation.OperationId:deleteReservedInventoryItems
", "operationId": "deleteReservedInventoryItems", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/linked": { "get": { "summary": "Get linked Reservations ", "description": "Get linked Reservations for given Reservation.OperationId:getLinkedReservations
", "operationId": "getLinkedReservations", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "additionalReservationId", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "additionalReservationIdType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Instruction to fetch whether the room was assigned/upgraded by AI. This will also include Reservation instruction.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Reservation", "Comments", "GuestComments", "Packages", "InventoryItems", "ReservationPaymentMethods", "RoutingInstructions", "Preferences", "Memberships", "Alerts", "Traces", "ConfirmationLetters", "CallHistory", "FixedCharges", "GuestMessages", "ReservationPolicies", "Indicators", "LinkedReservations", "RevenuesAndBalances", "GuestLastStay", "ECoupons", "TrackItItems", "TotalCostOfStay", "ReservationAwards", "WebRegistrationCards", "ServiceRequests", "ReservationActivities", "ScheduledActivities", "PrepaidCards", "Shares", "Attachments", "Locators", "ProfileAwards", "TransactionDiversions", "Tickets", "GuestMemberships", "ECertificates", "UpsellInfo", "RoomAssignedByAI", "CustomNameValue", "CustomChargeExemptions" ] }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Return object for retrieving linked reservations.", "schema": { "$ref": "#/definitions/linkedHotelReservations" } }, "204": { "description": "LinkedReservations not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Update Linked Reservation by ID", "description": "Use this API to update an existing linked reservation for given reservation name id and hotel code.OperationId:putLinkedReservation
", "operationId": "putLinkedReservation", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "changeLinkedReservation", "in": "body", "required": true, "description": "Request object to change a linked reservation information.", "schema": { "allOf": [ { "$ref": "#/definitions/changeLinkedReservationType" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/linkedSummary": { "get": { "summary": "Get Reservation summary for linked Reservation", "description": "Get Reservation summary for linked Reservation of given Reservation id.OperationId:getLinkedReservationsSummary
", "operationId": "getLinkedReservationsSummary", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "additionalReservationId", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "additionalReservationIdType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "backToBackOnly", "in": "query", "required": false, "description": "Indicates that only reservations marked as Back to Back should be expected in the result. Returned linked Back to Back reservations will belong to the same group of linked Back to Back reservations as the specified reservation with the given reservation name id and hotel code.", "type": "boolean" }, { "name": "excludeCancelledReservations", "in": "query", "required": false, "description": "When true indicates that linked reservations with Cancelled status should not be included in search results.", "type": "boolean" }, { "name": "excludeNoShowReservations", "in": "query", "required": false, "description": "When true indicates that linked reservations with NoShow status should not be included in search results.", "type": "boolean" }, { "name": "limit", "in": "query", "required": false, "minimum": 0, "default": 200, "description": "Indicates maximum number of records this Web Service should return. Minimum is 0. Default is 200.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Return object for retrieving linked reservations.", "schema": { "$ref": "#/definitions/linkedReservationsInfo" } }, "204": { "description": "LinkedReservationsSummary not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/locks": { "put": { "summary": "Acquire Reservation Lock", "description": "Acquire Reservation Lock.OperationId:putAcquireReservationLock
", "operationId": "putAcquireReservationLock", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationLock", "in": "body", "required": true, "description": "Operation for requesting a lock on a reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationLock" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "This response will indicate whether the requested lock has been granted or some other user owns the lock.", "schema": { "$ref": "#/definitions/reservationLockDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/locks/break": { "post": { "summary": "Break Reservation lock", "description": "Break Reservation lock on a reservation.OperationId:postBreakReservationLock
", "operationId": "postBreakReservationLock", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationLock", "in": "body", "required": true, "description": "Operation for forcefully breaking a reservation lock This operation is subject to user permissions.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationLock" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/masterAccount": { "post": { "summary": "Create a Master Account", "description": "Create a master account for a reservation.OperationId:postMasterAccount
", "operationId": "postMasterAccount", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "masterAccount", "in": "body", "required": true, "description": "Request for CreateMasterAccount operation.", "schema": { "allOf": [ { "$ref": "#/definitions/masterAccount" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Change a Master Account", "description": "Change a master account on a reservation.OperationId:putMasterAccount
", "operationId": "putMasterAccount", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "masterAccount", "in": "body", "required": true, "description": "Request for ChangeMasterAccount operation.", "schema": { "allOf": [ { "$ref": "#/definitions/masterAccount" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response for ChangeMasterAccount operation.", "schema": { "$ref": "#/definitions/masterAccountSummary" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Cancel Master Account", "description": "Cancel Master account on a reservation.OperationId:deleteMasterAccount
", "operationId": "deleteMasterAccount", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/mergeReservations": { "put": { "summary": "Merge multiple Reservations", "description": "Use this API to merge multiple reservations.OperationId:mergeReservations
", "operationId": "mergeReservations", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationsToMerge", "in": "body", "required": true, "description": "Request method to Merge reservations.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationsToMerge" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/mergeReservationsStatus" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/move": { "put": { "summary": "Move the Reservation ", "description": "This API can be used to move a reservation to a different hotel.OperationId:putReservationHotelMove
", "operationId": "putReservationHotelMove", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "moveReservationHotel", "in": "body", "required": true, "description": "Request for moving a reservation and its valid sharers to a different hotel.", "schema": { "allOf": [ { "$ref": "#/definitions/moveReservationHotel" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "This API will potentially remove the following information to a moved reservation: - Routing Instructions - All routing information will have to be configured in the new hotel. - Packages - All packages will need to be re-configured, if it exist, in the new hotel. - Imperfect Share - An imperfect share was requested to be moved and has been ignored.", "schema": { "$ref": "#/definitions/moveReservationHotelDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/packages": { "get": { "summary": "Get Package", "description": "Get the package availability for a hotel code and reservation idOperationId:getPackage
", "operationId": "getPackage", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "postingRhythm", "in": "query", "required": false, "type": "string" }, { "name": "productCode", "in": "query", "required": true, "type": "string" }, { "name": "ratePlanCode", "in": "query", "required": false, "type": "string" }, { "name": "reservationTimeSpanStartDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "reservationTimeSpanEndDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "packageTimeSpanStartDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "packageTimeSpanEndDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "packageQuantity", "in": "query", "required": false, "type": "integer" }, { "name": "packageExcludedQuantity", "in": "query", "required": false, "type": "integer" }, { "name": "reservationAdults", "in": "query", "required": false, "description": "Defines the number of Adults.", "type": "integer" }, { "name": "reservationChildren", "in": "query", "required": false, "description": "Defines the number of Children.", "type": "integer" }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type for package instructions that can be used in requests for partial operations.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Primary", "Transaction", "Classification", "Schedule", "InventoryItems" ] }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response to fetch package availability with the data, success and warnings or errors.", "schema": { "$ref": "#/definitions/packages" } }, "204": { "description": "Package not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Add a package to a Reservation", "description": "This API will allow you to add packages to a reservation.OperationId:postReservationPackage
", "operationId": "postReservationPackage", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationPackagesInfo", "in": "body", "required": true, "description": "Request method to attach a package to an existing reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationPackagesInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Update a package on a Reservation", "description": "This API will allow you to update existing packages on a reservation.OperationId:putReservationPackage
", "operationId": "putReservationPackage", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationPackagesInfo", "in": "body", "required": true, "description": "Method to change/modify a reservation package on an existing reservation. The main information required are the Package Code, Resort, RateCode(if applicable), Original Begin Date(if applicable) and Original End Date(if applicable). These are the criteria by which the package will be identified in order to be modified/changed. The elements that can be changed are the Quantity, Excluded Quantity, Unit Price and Unit Allowance if existing. For RateCode packages, the begin date and end date cannot be changed. For non-RateCode packages, the begin date or end date can be changed.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationPackagesInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/reservationPackagesInfo" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete a package from a Reservation", "description": "This API will allow you to delete packages from a reservation.OperationId:deleteReservationPackage
", "operationId": "deleteReservationPackage", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/payeeSharer": { "put": { "summary": "Update Payee Sharer Information by ID.", "description": "Use this API to mark or un mark a shared reservation as the payee sharer for the group of shared reservations.OperationId:putPayeeSharer
", "operationId": "putPayeeSharer", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "changePayeeSharer", "in": "body", "required": true, "description": "Request object to to mark or unmark the payee sharer information.", "schema": { "allOf": [ { "$ref": "#/definitions/changePayeeSharerType" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/paymentMethods": { "post": { "summary": "Create a payment method ", "description": "Use this API to add a payment method to a reservation.OperationId:postPaymentMethods
", "operationId": "postPaymentMethods", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationPaymentMethods", "in": "body", "required": true, "description": "Request to create payment methods.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationPaymentMethods" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "get": { "summary": "Get a payment method ", "description": "This API will return the payment method(s) that exist on a reservation.OperationId:getPaymentMethods
", "operationId": "getPaymentMethods", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "includeAmounts", "in": "query", "required": false, "description": "Flag to notify the operation to also retrieve the outstanding balance, current authorized amount and amount needed to be approved for each folio.", "type": "boolean" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for the fetch payment method request. Retrieves the payment methods for the reservation.", "schema": { "$ref": "#/definitions/reservationPaymentMethods" } }, "204": { "description": "PaymentMethods not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete a payment method ", "description": "Use this API to delete a payment method from a reservation.OperationId:deletePaymentMethods
", "operationId": "deletePaymentMethods", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Change a payment method ", "description": "This API will update an existing payment method on a reservation.OperationId:putPaymentMethods
", "operationId": "putPaymentMethods", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationPaymentMethods", "in": "body", "required": true, "description": "Method to update a reservation's payment methods.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationPaymentMethods" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/reservationPaymentMethods" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/policies": { "get": { "summary": "Get Reservation Policies", "description": "This API will retrieve the reservation policies for a specified reservation.OperationId:getReservationPolicies
", "operationId": "getReservationPolicies", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "fetchDepositPolicies", "in": "query", "required": false, "description": "A flag which instructs whether the deposit policies needs to be fetched.", "type": "boolean" }, { "name": "fetchCancellationPolicies", "in": "query", "required": false, "description": "A flag which instructs whether the cancel policies needs to be fetched.", "type": "boolean" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response that contains deposit and cancellation policies attached with the reservation.", "schema": { "$ref": "#/definitions/reservationPolicies" } }, "204": { "description": "ReservationPolicies not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/preCheckIn": { "post": { "summary": "Pre-Checkin a Reservation", "description": "This will allow you to set a reservation as a pre-registered guest. The API request requires the guests confirmation number and you can optionally include arrival time. The behavior of the API will be dependent upon the Pre-registration rules configured for the hotel in OPERA Cloud administration.OperationId:postPreCheckInReservation
", "operationId": "postPreCheckInReservation", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "preCheckInReservation", "in": "body", "required": true, "description": "Request to pre-register a reservation eligible for pre-registration and change arrival details.", "schema": { "allOf": [ { "$ref": "#/definitions/preCheckInReservation" }, { "example": { "reservation": { "reservationId": { "type": "Confirmation", "idContext": "OPERA" } } } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Revert a PreCheckIn Reservation", "description": "This will cancel or rather revert the pre-checkin action for a guest's reservation. The reservation will return to DUEIN status.OperationId:deletePreCheckInReservation
", "operationId": "deletePreCheckInReservation", "deprecated": true, "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "resvIDExtension", "in": "query", "required": false, "description": "Additional identifying value assigned by the creating system.", "type": "integer" }, { "name": "arrivalTime", "in": "query", "required": false, "description": "The time at which the guest arrives at the hotel. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "roomNumber", "in": "query", "required": false, "description": "Room Number to be assigned to the reservation.", "type": "string" }, { "name": "guestPreferredCurrency", "in": "query", "required": false, "description": "Currency code preferred by guest.", "type": "string" }, { "name": "allowMobileViewFolio", "in": "query", "required": false, "description": "Attribute AllowMobileViewFolio is set to true when the reservation is eligible for viewing folio using mobile device.", "type": "boolean" }, { "name": "paymentMethodDescription", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "paymentMethodFolioView", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "integer" }, "required": false }, { "name": "paymentMethod", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "attachCreditCardToProfile", "in": "query", "required": false, "description": "Attach the credit card to profile.", "type": "boolean" }, { "name": "cardHolderName", "in": "query", "required": false, "type": "string" }, { "name": "cardNumber", "in": "query", "required": false, "type": "string" }, { "name": "cardNumberLast4Digits", "in": "query", "required": false, "type": "string" }, { "name": "cardNumberMasked", "in": "query", "required": false, "type": "string" }, { "name": "cardOrToken", "in": "query", "required": false, "type": "string", "description": "Simple type for indicating if credit card number is tokenized.", "uniqueItems": true, "enum": [ "CardNumber", "Token" ] }, { "name": "cardType", "in": "query", "required": false, "type": "string", "description": "This is required for Credit Card Payment Methods. This indicates the type of Credit Card associated with this payment method.", "uniqueItems": true, "enum": [ "Ab", "Am", "Ax", "Cb", "Dc", "Ds", "Dt", "Ec", "Er", "Jc", "Jl", "Mc", "Nb", "So", "St", "Sw", "Va", "Xy", "Zz", "Cp", "Cu" ] }, { "name": "expirationDate", "in": "query", "required": false, "description": "Expiration date of the credit card", "type": "string", "format": "date" }, { "name": "expirationDateExpired", "in": "query", "required": false, "type": "boolean" }, { "name": "expirationDateMasked", "in": "query", "required": false, "description": "Masked Expiration date of the credit card", "type": "string" }, { "name": "processing", "in": "query", "required": false, "type": "string", "uniqueItems": true, "enum": [ "Eft", "Manual" ] }, { "name": "swiped", "in": "query", "required": false, "type": "boolean" }, { "name": "userDefinedCardType", "in": "query", "required": false, "description": "Indicates the user defined credit card type if credit card type from a defined list is not provided", "type": "string" }, { "name": "cardId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "cardIdIDExtension", "in": "query", "required": false, "description": "Additional identifying value assigned by the creating system.", "type": "integer" }, { "name": "cardIdIDContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "cardIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "currentAuthorizedAmount", "in": "query", "required": false, "description": "A monetary amount.", "type": "number" }, { "name": "authorizedAmountCurrencyCode", "in": "query", "required": false, "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string" }, { "name": "approvalAmountNeeded", "in": "query", "required": false, "description": "A monetary amount.", "type": "number" }, { "name": "approvalAmountCurrencyCode", "in": "query", "required": false, "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string" }, { "name": "balanceAmount", "in": "query", "required": false, "description": "A monetary amount.", "type": "number" }, { "name": "balanceCurrencyCode", "in": "query", "required": false, "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string" }, { "name": "authorizationRuleCode", "in": "query", "required": false, "description": "The authorization rule code.", "type": "integer" }, { "name": "authorizationRuleAmount", "in": "query", "required": false, "description": "A monetary amount.", "type": "number" }, { "name": "authorizationRuleCurrencyCode", "in": "query", "required": false, "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string" }, { "name": "authorizationRulePercent", "in": "query", "required": false, "description": "A percentage value if the authorization rule is percentage based.", "type": "number" }, { "name": "emailFolio", "in": "query", "required": false, "type": "boolean" }, { "name": "emailFolioID", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "emailFolioIDExtension", "in": "query", "required": false, "description": "Additional identifying value assigned by the creating system.", "type": "integer" }, { "name": "emailFolioIDContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "emailFolioIDType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "emailFolioCreateDateTime", "in": "query", "required": false, "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "emailFolioCreatorID", "in": "query", "required": false, "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string" }, { "name": "emailFolioEmailAddress", "in": "query", "required": false, "description": "Defines the e-mail address.", "type": "string" }, { "name": "emailFolioEmailFormat", "in": "query", "required": false, "description": "Supported Email format.", "type": "string", "uniqueItems": true, "enum": [ "Html", "Text" ] }, { "name": "emailFolioLastModifierID", "in": "query", "required": false, "description": "Identifies the last software system or person to modify a record.", "type": "string" }, { "name": "emailFolioLastModifyDateTime", "in": "query", "required": false, "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "emailFolioOrderSequence", "in": "query", "required": false, "description": "Display Order sequence.", "type": "number" }, { "name": "emailFolioPrimaryInd", "in": "query", "required": false, "description": "When true, indicates a primary information.", "type": "boolean" }, { "name": "emailFolioPurgeDate", "in": "query", "required": false, "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" }, { "name": "emailFolioType", "in": "query", "required": false, "description": "Defines the purpose of the e-mail address (e.g. personal, business, listserve).", "type": "string" }, { "name": "emailFolioTypeDescription", "in": "query", "required": false, "description": "Describes the Type code", "type": "string" }, { "name": "arrivalCarrierCode", "in": "query", "required": false, "type": "string" }, { "name": "arrivalDateTime", "in": "query", "required": false, "description": "Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "arrivalStationCode", "in": "query", "required": false, "type": "string" }, { "name": "arrivalTransportCode", "in": "query", "required": false, "type": "string" }, { "name": "arrivalTransportationReqd", "in": "query", "required": false, "type": "boolean" }, { "name": "arrivalType", "in": "query", "required": false, "type": "string" }, { "name": "arrivalComments", "in": "query", "required": false, "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/preCheckIn/deletions": { "post": { "summary": "Revert a PreCheckIn Reservation", "description": "This will cancel or rather revert the pre-checkin action for a guest's reservation. The reservation will return to DUEIN status.OperationId:postDeletePreCheckInReservation
", "operationId": "postDeletePreCheckInReservation", "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "postDeletePreCheckInReservationRequest", "in": "body", "required": false, "schema": { "$ref": "#/definitions/postDeletePreCheckInReservationRequest" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/preferences": { "get": { "summary": "Get Reservation Preferences", "description": "You can use this API to retrieve the preferences that exist on a reservation.OperationId:getReservationPreference
", "operationId": "getReservationPreference", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "preferenceTypeCode", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response for the reservation's preferences.", "schema": { "$ref": "#/definitions/reservationPreference" } }, "204": { "description": "ReservationPreference not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Add a preference to a Reservation", "description": "This API will add a preference to a Reservation.OperationId:postReservationPreference
", "operationId": "postReservationPreference", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationPreferenceInfo", "in": "body", "required": true, "description": "Method to create a reservation preference on an existing reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationPreferenceInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/preferences/{preferenceCode}": { "put": { "summary": "Change a Reservation Preference", "description": "You can use this API to update the preferences that exist on a reservation.OperationId:putReservationPreference
", "operationId": "putReservationPreference", "parameters": [ { "name": "preferenceCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Preference Code" }, { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationPreferenceInfo", "in": "body", "required": true, "description": "Method to change a reservation preference on an existing reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationPreferenceInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/reservationPreferenceDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete a Reservation Preference", "description": "You can use this API to remove a preference that exist on a reservation.OperationId:deleteReservationPreference
", "operationId": "deleteReservationPreference", "parameters": [ { "name": "preferenceCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Preference Code" }, { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/reverseDepositPolicy/{policyId}": { "post": { "summary": "Reverse a deposit policy", "description": "You can use this API to reverse a deposit policy on a specified reservation.OperationId:postReverseDepositPolicy
", "operationId": "postReverseDepositPolicy", "deprecated": true, "parameters": [ { "name": "policyId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Policy ID" }, { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reverseDepositPolicy", "in": "body", "required": true, "description": "Request type to reverse deposit policy of a reservation.(This is applicable only when advance deposit handling is set to '17') ReverseDepositPolicy operation will reverse the policy by creating a new request with same opposite amount.", "schema": { "allOf": [ { "$ref": "#/definitions/reverseDepositPolicy" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/routingInstructions": { "get": { "summary": "Get routing instructions", "description": "Use this API to fetch a reservation's routing instructions. It requires a reservation ID, which can be fetched using getReservations.OperationId:getRoutingInstructions
The maximum allowable limit for this API is 20.
", "operationId": "getRoutingInstructions", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "includeWindowRouting", "in": "query", "required": false, "description": "Include the window routing instructions to the response.", "type": "boolean" }, { "name": "includeRoomRouting", "in": "query", "required": false, "description": "Include the room routing instructions in the response.", "type": "boolean" }, { "name": "includeCompRouting", "in": "query", "required": false, "description": "Include the comp routing instructions in the response.", "type": "boolean" }, { "name": "includeCompRoutingRequests", "in": "query", "required": false, "description": "Include the comp routing requests in the response.", "type": "boolean" }, { "name": "effectiveOn", "in": "query", "required": false, "description": "If date is included then the search result should only be valid for dates which includes this date.", "type": "string", "format": "date" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object containing routing instructions for a reservation.", "schema": { "$ref": "#/definitions/routingInstructions" } }, "204": { "description": "RoutingInstructions not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Create routing instructions for a reservation", "description": "You can use this API to create routing instructions on a reservation. It requires a reservation ID, which can be fetched using getReservations.OperationId:postRoutingInstructions
", "operationId": "postRoutingInstructions", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationRoutingCriteria", "in": "body", "required": true, "description": "Request to create a routing instruction.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationRoutingCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete routing instructions", "description": "You can use this API to delete routing instructions from a reservation.OperationId:deleteRoutingInstructions
", "operationId": "deleteRoutingInstructions", "deprecated": true, "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Change routing instructions", "description": "Change routing instructions on an existing reservation.OperationId:putRoutingInstructions
", "operationId": "putRoutingInstructions", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "routingInstructionsInfo", "in": "body", "required": true, "description": "Request when changing a routing instruction.", "schema": { "allOf": [ { "$ref": "#/definitions/routingInstructionsInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/scheduledRoomMoves/{scheduledMoveDate}": { "put": { "summary": "Update Scheduled Room Move Details based on reservationID and move date", "description": "Use this to update an existing scheduled room move for a reservation in a hotel and for a specific date. Use this to update move comments, move time etc.OperationId:putScheduledRoomMove
", "operationId": "putScheduledRoomMove", "parameters": [ { "name": "reservationId", "in": "path", "type": "string", "required": true, "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "description": "Property code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20, "required": true }, { "name": "scheduledMoveDate", "in": "path", "type": "string", "description": "The scheduled date of room move.", "format": "date", "required": true }, { "name": "scheduledRoomMoveDetails", "in": "body", "required": true, "description": "Request method to change a scheduled room move details.", "schema": { "allOf": [ { "$ref": "#/definitions/scheduledRoomMoveDetails" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/scheduledRoomMoveDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/separatedShare": { "put": { "summary": "Separate Share Reservation and apply rate amounts to separated and remaining share reservations from room rates provided by an external application on a daily basis.", "description": "This API can be used to separate the share reservation and apply rate amounts to separated and remaining share reservations from room rates provided by an external application on a daily basis.OperationId:putSeparateShareReservation
", "operationId": "putSeparateShareReservation", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "overrideInventoryCheck", "in": "query", "required": false, "description": "Indicate to Override the Room Inventory Check if applicable.", "type": "boolean" }, { "name": "overrideMaxOccupancyCheck", "in": "query", "required": false, "description": "Indicate to Override the check on Maximum Room Occupancy if applicable.", "type": "boolean" }, { "name": "overrideRateAvailabilityCheck", "in": "query", "required": false, "description": "Indicate to Override the check on Maximum Room Occupancy if applicable.", "type": "boolean" }, { "name": "separateShareReservation", "in": "body", "required": true, "description": "Request to separate Share Reservation and apply rate amounts to separated and remaining share reservations from room rates provided by an external application on a daily basis.", "schema": { "allOf": [ { "$ref": "#/definitions/separateShareReservation" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/shareRateAmount": { "put": { "summary": "Change Share Rate Amount", "description": "Change the share amounts of a reservationOperationId:putShareRateAmount
", "operationId": "putShareRateAmount", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "changeShareRateAmount", "in": "body", "required": true, "description": "Request to change the share amount for a sharer reservation. The amount change type can be Full, Entire or Split", "schema": { "allOf": [ { "$ref": "#/definitions/changeShareRateAmount" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response for the change share amount request.", "schema": { "$ref": "#/definitions/shareReservations" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/sharedGuestCount": { "put": { "summary": "Change Sharing Guests", "description": "Change the guest counts(adults or children) for a Sharing ReservationOperationId:putSharingGuests
", "operationId": "putSharingGuests", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "changeSharingGuests", "in": "body", "required": true, "description": "Request to change Sharing Reservations Guest Counts(adults or children) information.", "schema": { "allOf": [ { "$ref": "#/definitions/changeSharingGuests" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/changeSharingGuests" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/shares": { "get": { "summary": "Get share Reservations", "description": "This API can be used to retrieve the share reservations that exist on a reservation.OperationId:getShareReservations
", "operationId": "getShareReservations", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Instruction on which of the shared reservation's elements are to be returned e.g. DailySummary will return summarized information for each day of the shared reservation. Instructions are cumulative i.e. if multiple instructions are sent in a request, then the combined shared reservation elements would be returned, elements will not be duplicated in the response.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Reservation", "Comments", "ReservationMembershipAwards", "ReservationIdentification", "GuestComments", "Packages", "TotalCostOfStay", "InventoryItems", "ReservationPaymentMethods", "RoutingInstructions", "Preferences", "Memberships", "Alerts", "Traces", "ConfirmationLetters", "CallHistory", "FixedCharges", "GuestMessages", "ReservationPolicies", "Indicators", "LinkedReservations", "RevenuesAndBalances", "GuestLastStay", "ECoupons", "TrackItItems", "ReservationAwards", "WebRegistrationCards", "ReservationActivities", "ScheduledActivities", "PrepaidCards", "Shares", "Attachments", "Locators", "ProfileAwards", "TransactionDiversions", "Tickets", "GuestMemberships", "ECertificates", "UpsellInfo", "RoomAssignedByAI", "AutoCheckInRoomType", "Keys", "AccompanyingGuestProfile", "AccompanyingGuestMembership", "AccompanyingGuestRelationship", "Voucher", "ScheduledRoomMoves", "DailySummary", "RateInfoDetails", "OffshoreRates", "FetchChildAges", "TotalDepositPaid", "ReservationProtection" ] }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response for the fetch share reservation request. This returns all sharer reservations including the request reservation.", "schema": { "$ref": "#/definitions/shareReservations" } }, "204": { "description": "ShareReservations not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Combine Share Reservations", "description": "Combine share reservation for a given reservation idOperationId:postCombineShareReservations
", "operationId": "postCombineShareReservations", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "combineShareReservations", "in": "body", "required": true, "description": "Request to combine sharer reservations. This request requires a Reservation Name Id(Joining to) and a Joining Reservation Id", "schema": { "allOf": [ { "$ref": "#/definitions/combineShareReservations" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response for the combine share reservation request. Based on the request, this will return all sharer reservations including the request reservation.", "schema": { "$ref": "#/definitions/combineShareReservationsDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Separate share Reservations", "description": "This API can be used to separate the share reservations.OperationId:deleteShareReservation
", "operationId": "deleteShareReservation", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "overrideInventoryCheck", "in": "query", "required": false, "description": "Indicate to Override the Room Inventory Check if applicable.", "type": "boolean" }, { "name": "overrideMaxOccupancyCheck", "in": "query", "required": false, "description": "Indicate to Override the check on Maximum Room Occupancy if applicable.", "type": "boolean" }, { "name": "overrideRateAvailabilityCheck", "in": "query", "required": false, "description": "Indicate to Override the check on Maximum Room Occupancy if applicable.", "type": "boolean" }, { "name": "returnShareReservations", "in": "query", "required": false, "description": "After the break share operation, return the new list of Sharer Reservations.", "type": "boolean" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/stay/action/validate": { "put": { "summary": "Check overlapping stay", "description": "Validate overlapping stay for a reservationOperationId:putValidateOverlappingStay
", "operationId": "putValidateOverlappingStay", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "overlappingStay", "in": "body", "required": true, "description": "Request to check for overlapping stays of reservations.", "schema": { "allOf": [ { "$ref": "#/definitions/overlappingStay" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response for checking overlapping stays of reservations.", "schema": { "$ref": "#/definitions/overlappingStayDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/tickets": { "get": { "summary": "Get tickets", "description": "Get tickets for a reservation.OperationId:getTickets
", "operationId": "getTickets", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "packageCode", "in": "query", "required": false, "description": "Property where the tickets messages belongs to.", "type": "string" }, { "name": "retrieveIssuedOnly", "in": "query", "required": false, "description": "Flag that specified if only issued tickets will be retrieved.", "type": "boolean" }, { "name": "retrieveNotIssuedOnly", "in": "query", "required": false, "description": "Flag that specified if only not issued tickets will be retrieved.", "type": "boolean" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Common tickets request base type.", "schema": { "$ref": "#/definitions/tickets" } }, "204": { "description": "Tickets not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Create tickets", "description": "Use this API to create tickets on a reservation.OperationId:postTickets
", "operationId": "postTickets", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "ticketsInfo", "in": "body", "required": true, "description": "Common tickets request base type.", "schema": { "allOf": [ { "$ref": "#/definitions/ticketsInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Change tickets", "description": "Use this API to change tickets on a reservation.OperationId:putTickets
", "operationId": "putTickets", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "ticketsInfo", "in": "body", "required": true, "description": "Common tickets request base type.", "schema": { "allOf": [ { "$ref": "#/definitions/ticketsInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/tickets" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete tickets", "description": "You can use this API to delete tickets from a reservation.OperationId:deleteTickets
", "operationId": "deleteTickets", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/tickets/inquiry": { "get": { "summary": "Inquiry for Reservation tickets", "description": "You can use this API to perform a Inquiry for Reservation tickets.OperationId:getTicketsInquiry
", "operationId": "getTicketsInquiry", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "ticketId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "ticketIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "packageCode", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Package Code.", "items": { "type": "string" }, "required": false }, { "name": "reservationProductId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "reservationProductIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "ticketNumberId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "ticketNumberIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "ticketIssueDate", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Tickets issue date.", "items": { "type": "string", "format": "date" }, "required": false }, { "name": "ticketConsumptionDate", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Tickets comsumption date.", "items": { "type": "string", "format": "date" }, "required": false }, { "name": "ticketRateCode", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The Rate Code to which tickets belong to.", "items": { "type": "string" }, "required": false }, { "name": "ticketStatus", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The Status Code for outbound WS call.", "items": { "type": "string" }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Common tickets request base type.", "schema": { "$ref": "#/definitions/tickets" } }, "204": { "description": "TicketsInquiry not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/tickets/issue": { "post": { "summary": "Issue Reservation tickets", "description": "You can use this API to issue Reservation tickets.OperationId:postIssueTickets
", "operationId": "postIssueTickets", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "ticketsInfo", "in": "body", "required": true, "description": "Common tickets request base type.", "schema": { "allOf": [ { "$ref": "#/definitions/ticketsInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/tickets/refund": { "delete": { "summary": "Refund Reservation tickets", "description": "You can use this API to refund Reservation tickets.OperationId:deleteRefundTickets
", "operationId": "deleteRefundTickets", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/tickets/reprint": { "get": { "summary": "Reprints Reservation tickets", "description": "You can use this API to reprint Reservation tickets.OperationId:getReprintTickets
", "operationId": "getReprintTickets", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "ticketId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "ticketIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "packageCode", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Package Code.", "items": { "type": "string" }, "required": false }, { "name": "reservationProductId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "reservationProductIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "ticketNumberId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "ticketNumberIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "ticketIssueDate", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Tickets issue date.", "items": { "type": "string", "format": "date" }, "required": false }, { "name": "ticketConsumptionDate", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Tickets comsumption date.", "items": { "type": "string", "format": "date" }, "required": false }, { "name": "ticketRateCode", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The Rate Code to which tickets belong to.", "items": { "type": "string" }, "required": false }, { "name": "ticketStatus", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The Status Code for outbound WS call.", "items": { "type": "string" }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Common tickets request base type.", "schema": { "$ref": "#/definitions/tickets" } }, "204": { "description": "ReprintTickets not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/traces": { "get": { "summary": "Get traces for a Reservation", "description": "You can use this API to get traces for a Reservation.OperationId:getTracesByReservation
", "operationId": "getTracesByReservation", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Return object to the request for information regarding traces.", "schema": { "$ref": "#/definitions/traces" } }, "204": { "description": "TracesByReservation not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/transactionDiversions": { "get": { "summary": "Get Transaction Diversions ", "description": "You can use this API to get Transaction Diversions.OperationId:getTransactionDiversions
", "operationId": "getTransactionDiversions", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "transactionDiversionCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "includeDailyDetails", "in": "query", "required": false, "description": "Flag to check if the the daily details are required to be fetched for a particular transaciton.", "type": "boolean" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response to fetch the transaction diversion rules attached to a reservation.", "schema": { "$ref": "#/definitions/transactionDiversions" } }, "204": { "description": "TransactionDiversions not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Create Transaction Diversions ", "description": "You can use this API to create Transaction Diversions.OperationId:postTransactionDiversions
", "operationId": "postTransactionDiversions", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "transactionDiversionsInfo", "in": "body", "required": true, "description": "Request to create transaction diversion rules for a reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/transactionDiversionsInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Change Transaction Diversions ", "description": "You can use this API to change Transaction Diversions.OperationId:putTransactionDiversions
", "operationId": "putTransactionDiversions", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "transactionDiversionsInfo", "in": "body", "required": true, "description": "Request to modify transaction diversion rules attached to a reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/transactionDiversionsInfo" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/transactionDiversionsDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete Transaction Diversions ", "description": "You can use this API to delete Transaction Diversions.OperationId:deleteTransactionDiversions
", "operationId": "deleteTransactionDiversions", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/upgradeEligibleReservations": { "put": { "summary": "Set Upgrade Eligibility for Reservations", "description": "You can use this API to set Upgrade Eligibility for Reservations.OperationId:putReservationsUpgradeEligibility
", "operationId": "putReservationsUpgradeEligibility", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "reservationsUpgradeEligibility", "in": "body", "required": true, "description": "Request object containing a list of reservation name ids, hotel code and eligibility flag.", "schema": { "allOf": [ { "$ref": "#/definitions/reservationsUpgradeEligibility" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/reservationsUpgradeEligibilityDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/reservations/{reservationId}/upsell": { "post": { "summary": "Upsell a Reservation", "description": "This API will allow you to upsell a reservation in OPERA. You would need to already know the upsell rules that are available for this reservation - you can do this by using the getUpsell API.OperationId:postUpsellReservation
", "operationId": "postUpsellReservation", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "upsellReservation", "in": "body", "required": true, "description": "Request to upsell a reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/upsellReservation" }, { "example": { "hotelId": "HOTEL1", "reservationId": { "type": "Reservation", "idContext": "OPERA" }, "upsell": { "ruleId": { "id": "754", "type": "UpsellRuleId" }, "ratePlanCode": "PROM01", "roomType": { "roomType": "DLXK" }, "firstNightAmount": { "amount": { "amount": 150 } }, "totalStayAmount": { "amount": { "amount": 150 } }, "rates": [ { "date": "2020-02-16", "requiredAmount": { "amount": { "amount": 150 } } }, { "date": "2020-02-17", "requiredAmount": { "amount": { "amount": 150 } } } ] } } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "get": { "summary": "Get available Upsell offers", "description": "Use this API to retrieve the available upsell offers for a specific reservation. If no upsell options are configured for this hotel or available for this reservation, an appropriate error will be returned.OperationId:getReservationUpsellInfo
", "operationId": "getReservationUpsellInfo", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object to the that contains information for a reservation prior to upgrade.", "schema": { "$ref": "#/definitions/reservationUpsellInfo" } }, "204": { "description": "ReservationUpsellInfo not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete a Reservation Upsell", "description": "This API will enable you to delete an upsell from a reservation. There may be reservation policies that might prevent an upsell from being deleted and as such an appropriate response will be returned.OperationId:deleteUpsell
", "operationId": "deleteUpsell", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "overrideInventory", "in": "query", "required": false, "type": "boolean", "default": false, "description": "Indicates whether to Override the Room Inventory Check" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/roomCalendar": { "get": { "summary": "Get the room calendar", "description": "Use this API to get the room calendar for your Hotel.OperationId:getRoomCalendar
This API allows a time span of 366 days.
", "operationId": "getRoomCalendar", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "advanceCheckedIn", "in": "query", "required": false, "description": "If true, then filter room results to rooms with Advance Checked In Reservations.", "type": "boolean" }, { "name": "assignedRooms", "in": "query", "required": false, "description": "If 'Y', then filter room results to rooms that are assigned to guest.", "type": "string" }, { "name": "componentRooms", "in": "query", "required": false, "description": "If 'Y', then filter room results to component rooms.", "type": "string" }, { "name": "connectingRoomsOnly", "in": "query", "required": false, "description": "If 'Y', then filter room results to only connecting rooms.", "type": "string" }, { "name": "backToBackOnly", "in": "query", "required": false, "description": "Indicates that only reservations marked as Back to Back should be expected in the result.", "type": "boolean" }, { "name": "linkedReservationsOnly", "in": "query", "required": false, "description": "Indicates that only linked reservations are expected in the result.", "type": "boolean" }, { "name": "linkedName", "in": "query", "required": false, "description": "Name of the group of Linked Reservations to be searched.", "type": "string", "minLength": 0, "maxLength": 50 }, { "name": "scheduledRoomMoveOnly", "in": "query", "required": false, "description": "Indicates that only reservations having scheduled room moves should be expected in the result.", "type": "boolean" }, { "name": "dueOut", "in": "query", "required": false, "description": "If 'Y', then filter room results to rooms with Due Out Reservations.", "type": "string" }, { "name": "endDate", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "isSortDescending", "in": "query", "required": false, "description": "If true, then fetch result will be sorted in descending order.", "type": "boolean" }, { "name": "pageIndex", "in": "query", "required": false, "description": "Page index to be retrieved.", "type": "integer" }, { "name": "partiallyAssignedRooms", "in": "query", "required": false, "description": "If 'Y', then filter room results to component rooms that have at least one of its rooms assigned to guest.", "type": "string" }, { "name": "recordsPerPage", "in": "query", "required": false, "description": "Number of records per page.", "type": "integer" }, { "name": "roomConditions", "in": "query", "required": false, "description": "If 'Y', then filter room results to rooms with Room Conditions.", "type": "string" }, { "name": "ownerRoomsOnly", "in": "query", "required": false, "description": "If 'Y', then filter room results to rooms with rotation rooms only. It is supported only if OPERA Control Room Rotation is active.", "type": "string" }, { "name": "ownerExclusiveOnly", "in": "query", "required": false, "description": "If 'Y', then filter room results to rooms that are exclusive to the owner. It is supported only if OPERA Control Room Rotation is active.", "type": "string" }, { "name": "sortingBy", "in": "query", "required": false, "type": "string", "description": "A collection of supported sorting for room calendar.", "uniqueItems": true, "enum": [ "Default", "Room", "RoomType", "RoomStatus" ] }, { "name": "includeRoomMoveHistory", "in": "query", "required": false, "description": "Include Room Move History in result.", "type": "boolean" }, { "name": "includeComponentRoomBlockOutDates", "in": "query", "required": false, "description": "Include information about Component Room Reservation dates when fetching a component suite.", "type": "boolean" }, { "name": "startDate", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "unassignedRooms", "in": "query", "required": false, "description": "If 'Y', then filter room results to rooms that are not yet assigned to guest.", "type": "string" }, { "name": "roomId", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Room search filter.", "items": { "type": "string" }, "required": false }, { "name": "roomType", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Room Type search filter.", "items": { "type": "string" }, "required": false }, { "name": "roomClass", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Room Class search filter.", "items": { "type": "string" }, "required": false }, { "name": "floor", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Floor search filter.", "items": { "type": "string" }, "required": false }, { "name": "roomFeature", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A code representing a room feature.", "items": { "type": "string" }, "required": false }, { "name": "roomStatus", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type for room status instructions to be used in requests for fetching housekeeping rooms. Valid status values are Clean, Dirty, Pickup, Inspected, OutOfOrder, OutOfService.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Clean", "Dirty", "Pickup", "Inspected", "OutOfOrder", "OutOfService" ] }, "required": false }, { "name": "smokingPreference", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Smoking Preference filter.", "items": { "type": "string" }, "required": false }, { "name": "bedType", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "showRoomMoveSegments", "in": "query", "required": false, "description": "If set to true then reservations having past or future room moves will come according to the exact stay dates in the rooms.", "type": "boolean" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "This is the Response Message to information regarding existence of future reservation or business blocks.", "schema": { "$ref": "#/definitions/roomCalendar" } }, "204": { "description": "RoomCalendar not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/rooms/{roomId}/traces": { "get": { "summary": "Get traces for a Room", "description": "This API will fetch the traces for a Room.OperationId:getTracesByRoom
", "operationId": "getTracesByRoom", "parameters": [ { "name": "roomId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Room Id" }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Return object to the request for information regarding traces.", "schema": { "$ref": "#/definitions/traces" } }, "204": { "description": "TracesByRoom not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/script": { "get": { "summary": "Get a script", "description": "This API will get the script for your property.OperationId:getScript
", "operationId": "getScript", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "languageCode", "in": "query", "required": false, "type": "string", "description": "Used for codes in the OPERA Code tables. Possible values of this pattern are 1, 101, 101.EQP, or 101.EQP.X." }, { "name": "scriptType", "in": "query", "required": false, "type": "string", "description": "Used for Character Strings, length 0 to 40." }, { "name": "reservationId", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "reservationIdType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "displayOffshoreRateInfo", "in": "query", "required": false, "type": "boolean", "default": false, "description": "Indicates whether to display offshore rate information in the closing script or not." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Script for a Reservation based on its StayDetails as well as itinerary.", "schema": { "$ref": "#/definitions/script" } }, "204": { "description": "Script not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/sellMessages/config": { "get": { "summary": "Get sell messages ", "description": "Fetch the existing sell message configuration for a property.OperationId:getSellMessageConfig
", "operationId": "getSellMessageConfig", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "name": "message", "in": "query", "required": false, "description": "Sell Message text.", "type": "string" }, { "name": "roomType", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Room Type.", "items": { "type": "string" }, "required": false }, { "name": "ratePlanCode", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Rate Plan code.", "items": { "type": "string" }, "required": false }, { "name": "blockId", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "blockIdType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "blockCode", "in": "query", "required": false, "description": "Block Code to query for.", "type": "string" }, { "name": "languageCode", "in": "query", "required": false, "description": "Language code for the sell message.", "type": "string" }, { "name": "croCode", "in": "query", "required": false, "description": "CRO code to query for.", "type": "string" }, { "name": "displayDate", "in": "query", "required": false, "description": "The date on which the fetched sell message should be active.", "type": "string", "format": "date" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "This is the fetch response message type for fetch operation of sell messages.", "schema": { "$ref": "#/definitions/fetchSellMessageConfig" } }, "204": { "description": "SellMessageConfig not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Create sell message", "description": "Create sell message configuration for a property.OperationId:postSellMessageConfig
", "operationId": "postSellMessageConfig", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "sellMessageConfig", "in": "body", "required": true, "description": "This is the request message type for creating sell messages.", "schema": { "allOf": [ { "$ref": "#/definitions/sellMessageConfig" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Change sell message", "description": "Update the existing sell message configuration for a property.OperationId:putSellMessageConfig
", "operationId": "putSellMessageConfig", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "sellMessageConfig", "in": "body", "required": true, "description": "This is the request message type for sell message update operation.", "schema": { "allOf": [ { "$ref": "#/definitions/sellMessageConfig" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/sellMessageConfig" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete sell message", "description": "Delete an existing sell message configuration for a property.OperationId:deleteSellMessageConfig
", "operationId": "deleteSellMessageConfig", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/stay/action/validate": { "put": { "summary": "Check overlapping stay", "description": "Validate overlapping staysOperationId:putValidateOverlappingStays
", "operationId": "putValidateOverlappingStays", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "overlappingStay", "in": "body", "required": true, "description": "Request to check for overlapping stays of reservations.", "schema": { "allOf": [ { "$ref": "#/definitions/overlappingStay" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response for checking overlapping stays of reservations.", "schema": { "$ref": "#/definitions/overlappingStayDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/hotels/{hotelId}/turnaways": { "post": { "summary": "Register Turnaway", "description": "Register turnaways for a property.OperationId:postTurnawayReservation
", "operationId": "postTurnawayReservation", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel where reservation is searched based on reservation ID." }, { "name": "registerTurnaway", "in": "body", "required": true, "description": "Request to register turn away reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/registerTurnaway" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/profiles/{profileId}/reservations": { "get": { "summary": "Get Future Reservations on a profile", "description": "Use this API to identify whether there are future reservations or business block for the profile id.OperationId:getFutureReservationsOrBlocks
", "operationId": "getFutureReservationsOrBlocks", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA internal profile ID which is used to find any type of profile from OPERA. This ID is a primary identification of a profile in OPERA." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "This is the Response Message to information regarding existence of future reservation or business blocks.", "schema": { "$ref": "#/definitions/futureReservationsOrBlocksDetails" } }, "204": { "description": "FutureReservationsOrBlocks not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/recentlyAccessedReservations": { "get": { "summary": "Get recently accessed Reservations", "description": "This API will return all recently accessed Reservations.OperationId:getRecentlyAccessedReservations
", "operationId": "getRecentlyAccessedReservations", "parameters": [ { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "accessDate", "in": "query", "required": false, "description": "Indicates which date reservations to be returned", "type": "string", "format": "date" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response with the fetched recently accessed reservations.", "schema": { "$ref": "#/definitions/recentlyAccessedReservations" } }, "204": { "description": "RecentlyAccessedReservations not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/reservations": { "get": { "summary": "Get Reservations for a hotel", "description": "This API will allow a user to retrieve a list of reservations based on the search criteria specified in the request body. For example you can search for reservations using query parameters like first name, last name, arrival/departure date, external confirmation number.OperationId:getReservations
", "operationId": "getReservations", "deprecated": true, "parameters": [ { "name": "recentlyAccessed", "in": "query", "required": false, "description": "Mark this reservation as recently accessed.", "type": "boolean" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "name": "searchType", "in": "query", "required": false, "type": "string", "uniqueItems": true, "enum": [ "Any", "DayUse", "Arrival", "Arrived", "Departure", "WaitList", "Cancellation", "CheckedOut", "NoShow", "Complimentary", "InHouse", "PostStayPendingBalance", "PreRegistered", "PostToRoom", "OpenFolio", "ScheduledCheckOut", "Queued", "MobileCheckout", "RegisteredAndInHouse", "ResvBlockTraces", "GuestMessages", "MassCancellation", "Operator", "Turndown", "WalkIn", "AdvanceCheckedIn", "OpenBalance", "AutoFolioSettlement", "Routing", "PlayerSnapshot", "ScheduledRoomMoves" ], "description": "Represents Reservation search type Player Snapshot." }, { "name": "hotelIds", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "List of Hotels to support searches with multiple resorts for which traces are to be fetched.", "items": { "type": "string" }, "required": false }, { "name": "text", "in": "query", "required": false, "description": "Free form text field for searching all reservation fields", "type": "string" }, { "name": "reservationIdList", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "confirmationNumberList", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "cancellationNumberList", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "externalReferenceIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "externalSystemCodes", "in": "query", "type": "array", "collectionFormat": "multi", "default": [ "External" ], "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "arrivalEndDate", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "arrivalStartDate", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "departureEndDate", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "departureStartDate", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "expectedArrivalStartTime", "in": "query", "required": false, "description": "The ending value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "expectedArrivalEndTime", "in": "query", "required": false, "description": "The starting value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "expectedReturnEndTime", "in": "query", "required": false, "description": "The ending value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "expectedReturnStartTime", "in": "query", "required": false, "description": "The starting value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, { "name": "companyNames", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Attached profile name", "items": { "type": "string" }, "required": false }, { "name": "sourceNames", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Attached profile name", "items": { "type": "string" }, "required": false }, { "name": "travelAgentNames", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Attached profile name", "items": { "type": "string" }, "required": false }, { "name": "groupNames", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Attached profile name", "items": { "type": "string" }, "required": false }, { "name": "travelAgentIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "companyIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "sourceIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "contactIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "groupIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "billingContactIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "profileId", "in": "query", "required": false, "description": "Unique Identifier for a guest profile associated with the reservation(s)", "type": "string" }, { "name": "membershipCardNumber", "in": "query", "required": false, "description": "Membership ID criteria.", "type": "string" }, { "name": "membershipLevels", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "membershipTypes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "reservationsWithMembershipType", "in": "query", "required": false, "description": "When set to true, only reservations with a membership belonging to the specified membership type will be returned", "type": "boolean" }, { "name": "surname", "in": "query", "required": false, "description": "Family name, last name.", "type": "string" }, { "name": "givenName", "in": "query", "required": false, "description": "Given name, first name or names", "type": "string" }, { "name": "anyVIPStatus", "in": "query", "required": false, "description": "VIP status of the customer.", "type": "boolean" }, { "name": "vipCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "VIP status of the customer.", "items": { "type": "string" }, "required": false }, { "name": "guaranteeCode", "in": "query", "required": false, "description": "Fetches the reservation having Guarantee Code(Reservation Type) supplied here.", "type": "string" }, { "name": "paymentMethod", "in": "query", "required": false, "description": "Fetches the reservation having method of payment supplied here.", "type": "string" }, { "name": "discountApplied", "in": "query", "default": false, "required": false, "description": "Fetches the reservation for which discount is applied", "type": "boolean" }, { "name": "user", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "createdBy", "in": "query", "required": false, "description": "Fetches reservation created by specified user. If both CreatedByUsers and CreatedBy is specified, CreatedByUsers will take precedence.", "type": "string" }, { "name": "cancelledByList", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Fetches reservations cancelled by list of users.", "items": { "type": "string" }, "required": false }, { "name": "cancelledOn", "in": "query", "required": false, "description": "Fetches the reservations which are cancelled on a specific date.", "type": "string", "format": "date" }, { "name": "ratePlanCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "sourceCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "marketCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "excludeBlockReservations", "in": "query", "required": false, "description": "If true the search result will exclude the blocks reservations.", "type": "boolean" }, { "name": "blockName", "in": "query", "required": false, "description": "The Name of the block that is attached to the reservation.", "type": "string" }, { "name": "blockIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "blockCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "customReference", "in": "query", "required": false, "description": "Custom reference", "type": "string" }, { "name": "recordLocator", "in": "query", "required": false, "description": "GDS Record Locator for reservation.", "type": "string" }, { "name": "profileExternalReferencesToFetch", "in": "query", "type": "array", "maxItems": 10, "collectionFormat": "multi", "description": "Define the external system(s) to return external reference ids for associated profiles for the reservation. A maximum of 10 different external systems can be be provided for this parameter.", "items": { "type": "string" }, "required": false }, { "name": "resvExternalReferencesToFetch", "in": "query", "type": "array", "maxItems": 10, "collectionFormat": "multi", "description": "Define the external system(s) to return external reference ids for reservations. A maximum of 10 different external systems can be be provided for this parameter.", "items": { "type": "string" }, "required": false }, { "name": "orderBy", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "string", "enum": [ "Nights", "ArrivalDate", "ArrivalDateETR", "DepartureDate", "GuestSurname", "RateAmount", "RateCode", "Room", "RoomType" ] }, "required": false }, { "name": "sortOrder", "in": "query", "type": "array", "collectionFormat": "multi", "default": [ "Asc" ], "uniqueItems": true, "items": { "type": "string", "enum": [ "Asc", "Desc" ] }, "required": false }, { "name": "roomAssignedOnly", "in": "query", "required": false, "description": "Indicator to query reservations which have a room number assigned.", "type": "boolean" }, { "name": "roomUnassignedOnly", "in": "query", "required": false, "description": "Indicator to query reservations which does not have a room number assigned.", "type": "boolean" }, { "name": "roomId", "in": "query", "required": false, "description": "Room number of the reservation to search by.", "type": "string" }, { "name": "roomType", "in": "query", "required": false, "type": "array", "description": "Room Type.", "maxItems": 4000, "items": { "type": "string" } }, { "name": "roomFeatures", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A code representing a room feature.", "items": { "type": "string" }, "required": false }, { "name": "roomSpecials", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Preference value for display purposes.", "items": { "type": "string" }, "required": false }, { "name": "roomSmokingPreference", "in": "query", "required": false, "description": "Preference value for display purposes.", "type": "string" }, { "name": "roomFloorPreferences", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Preference value for display purposes.", "items": { "type": "string" }, "required": false }, { "name": "housekeepingRoomStatuses", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type for room status instructions to be used in requests for fetching housekeeping rooms. Valid status values are Clean, Dirty, Pickup, Inspected, OutOfOrder, OutOfService.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Clean", "Dirty", "Pickup", "Inspected", "OutOfOrder", "OutOfService" ] }, "required": false }, { "name": "roomClasses", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "roomRangeFrom", "in": "query", "required": false, "type": "string" }, { "name": "roomRangeTo", "in": "query", "required": false, "type": "string" }, { "name": "communication", "in": "query", "required": false, "description": "Any communication attached to the reservation from the primary guest's profile such as phone, fax or email address.", "type": "string" }, { "name": "phone", "in": "query", "required": false, "description": "The phone number attached to the reservation from the primary guest's profile.", "type": "string" }, { "name": "email", "in": "query", "required": false, "description": "The email address attached to the reservation from the primary guest's profile.", "type": "string" }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Instruction on which of the reservation's elements are to be returned. Instructions are cumulative i.e. if multiple instructions are sent in a request, then the combined reservation elements would be returned, elements will not be duplicated in the response.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Reservation", "ReservationID", "Indicators", "Deposits", "RevenuesAndBalances", "GuestServiceStatus", "MasterInfo", "CancellationInfo", "BlockReservations", "TaxType", "GuestDeviceNotification", "RoomAssignedByAI", "FetchChildAges", "OffshoreRates", "PostingIntervals", "PreArrivals" ] }, "required": false }, { "name": "allowedReservationActions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Flag indicating whether the Enrollment is in progress or not for the Profile associated with this Reservation.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Cancel", "Move", "PreCharge", "PostCharge", "FacilitySchedule", "Upsell", "PreCheckIn", "PostToNoShowCancel", "NoShow", "NameChange", "Discount", "HouseKeeping", "EnrollToPrimaryMembership", "EnrollInProgress", "MemberAwardAttached" ] }, "required": false }, { "name": "allowPreRegistration", "in": "query", "required": false, "description": "Flag containing true or false value for reservation to be eligible for prior check in by guest using mobile device. Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is eligible for mobile check in yes / no. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, { "name": "hasDepositBalance", "in": "query", "required": false, "description": "Indicates that only reservations with deposit balance should be expected from the result.", "type": "boolean" }, { "name": "hasOpenBalance", "in": "query", "required": false, "description": "Indicates that only reservations with open balance should be expected from the result.", "type": "boolean" }, { "name": "hasOpenFolio", "in": "query", "required": false, "description": "Indicates that only reservations with open folio should be expected from the result.", "type": "boolean" }, { "name": "includeScheduledCheckOut", "in": "query", "required": false, "description": "Criteria that indicates whether to scheduled checkouts or not.", "type": "boolean" }, { "name": "linkedOnly", "in": "query", "required": false, "description": "Indicates that only linked reservations should be expected from the result.", "type": "boolean" }, { "name": "unlinkedOnly", "in": "query", "required": false, "description": "Indicates that only unlinked reservations should be expected from the result.", "type": "boolean" }, { "name": "actualArrivals", "in": "query", "required": false, "description": "Indicates if reservations which have already arrived on the Search Date is required.", "type": "boolean" }, { "name": "actualDepartures", "in": "query", "required": false, "description": "Indicates if reservations which were expected to depart on the Search Date and have already checked, is required.", "type": "boolean" }, { "name": "complimentaryReservations", "in": "query", "required": false, "description": "Indicates if reservations where rate codes are marked as Complimentary Rates , is required. This flag should be used in conjunction with the Arrivals, Departures or StayOvers criteria.", "type": "boolean" }, { "name": "dayOfArrivalCancels", "in": "query", "required": false, "description": "Indicates if reservations which have cancelled on the Search Date which is also the day of arrival is required.", "type": "boolean" }, { "name": "dayUse", "in": "query", "required": false, "description": "Indicates if reservations which are day use reservation on the Search Date, is required.", "type": "boolean" }, { "name": "earlyDepartures", "in": "query", "required": false, "description": "Indicates if reservations which checked out early on the Search Date, is required.", "type": "boolean" }, { "name": "expectedArrivals", "in": "query", "required": false, "description": "Indicates if reservations which are expected arrivals for the Search Date and who have not yet arrived, is required.", "type": "boolean" }, { "name": "expectedDepartures", "in": "query", "required": false, "description": "Indicates if reservations which are expected departures for the Search Date and who have not yet departed, is required.", "type": "boolean" }, { "name": "extendedStays", "in": "query", "required": false, "description": "Indicates if reservations which have extended their stays on the Search Date, is required.", "type": "boolean" }, { "name": "houseUseReservations", "in": "query", "required": false, "description": "Indicates if reservations where rate codes are marked as House Use Rates , is required. This flag should be used in conjunction with the Arrivals, Departures or StayOvers criteria.", "type": "boolean" }, { "name": "stayovers", "in": "query", "required": false, "description": "Indicates if reservations which are StayOvers on the Search Date, is required.", "type": "boolean" }, { "name": "stayDate", "in": "query", "required": false, "description": "Date for searching the reservations. This is the date for which the search types are applicable. If date is not available, the business date will be used by default.", "type": "string", "format": "date" }, { "name": "roomRoutingId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "excludePseudoRoomReservations", "in": "query", "required": false, "description": "Indicates to exclude Pseudo room reservations.", "type": "boolean" }, { "name": "excludeReservationIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "excludeVIPStatusCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "VIP status of the customer.", "items": { "type": "string" }, "required": false }, { "name": "excludeSpecials", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Preference value for display purposes.", "items": { "type": "string" }, "required": false }, { "name": "excludeFloorPreferences", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Preference value for display purposes.", "items": { "type": "string" }, "required": false }, { "name": "excludeAdvanceCheckedIn", "in": "query", "required": false, "description": "Indicates to exclude Advance Checked In Reservations from search result.", "type": "boolean" }, { "name": "excludeRoomFeatures", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Exclude the reservation(s) with provided room features from the search result.", "items": { "type": "string" }, "required": false }, { "name": "playerId", "in": "query", "required": false, "description": "Player ID associated to the reservation.", "type": "string" }, { "name": "gamingBalanceFrom", "in": "query", "required": false, "description": "Balance from.", "type": "number" }, { "name": "gamingBalanceTo", "in": "query", "required": false, "description": "Balance to.", "type": "number" }, { "name": "compAccountingBalanceFrom", "in": "query", "required": false, "description": "Comp Balance From", "type": "number" }, { "name": "compAccountingBalanceTo", "in": "query", "required": false, "description": "Comp Balance To", "type": "number" }, { "name": "searchTypes", "in": "query", "type": "array", "collectionFormat": "multi", "uniqueItems": true, "description": "Represents Reservation search type Player Snapshot.", "items": { "type": "string", "enum": [ "Any", "DayUse", "Arrival", "Arrived", "Departure", "WaitList", "Cancellation", "CheckedOut", "NoShow", "Complimentary", "InHouse", "PostStayPendingBalance", "PreRegistered", "PostToRoom", "OpenFolio", "ScheduledCheckOut", "Queued", "MobileCheckout", "RegisteredAndInHouse", "ResvBlockTraces", "GuestMessages", "MassCancellation", "Operator", "Turndown", "WalkIn", "AdvanceCheckedIn", "OpenBalance", "AutoFolioSettlement", "Routing", "PlayerSnapshot" ] }, "required": false }, { "name": "reservationStatuses", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Reservation status type for reservations search.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Cancelled", "CheckedOut", "CheckedIn", "DueIn", "DueOut", "InHouse", "NoShow", "WaitList" ] }, "required": false }, { "name": "transportationCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Codes to be searched.", "items": { "type": "string" }, "required": false }, { "name": "roomReadyStatuses", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Enum to denote the Status of Readiness messages sent to Guest Devices.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Pending", "Completed", "Failed", "Sent", "Received", "Cancelled", "PendingAvailability" ] }, "required": false }, { "name": "checkoutMessageReceived", "in": "query", "required": false, "description": "Fetches the reservations for which Checkout Message is received.", "type": "boolean" }, { "name": "optedForCommunication", "in": "query", "required": false, "description": "Fetches the reservations for which reservation communication has been opted.", "type": "boolean" }, { "name": "createdOn", "in": "query", "required": false, "description": "Fetches reservations which were created on the given property business date.", "type": "string", "format": "date" }, { "name": "stayOn", "in": "query", "required": false, "description": "Fetches all reservations that are scheduled to stay over the selected date.", "type": "string", "format": "date" }, { "name": "contactNames", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Name of Contact Profile associated with Reservation.", "items": { "type": "string", "minLength": 0, "maxLength": 82 }, "required": false }, { "name": "taRecordLocatorList", "in": "query", "type": "array", "maxItems": 30, "collectionFormat": "multi", "description": "Travel Agent Record Locators List.", "items": { "type": "string" }, "required": false }, { "name": "guaranteeCodes", "in": "query", "required": false, "description": "Fetches the reservation having Guarantee Codes(Reservation Type) supplied here. Example guaranteeCodes=6PM", "type": "array", "collectionFormat": "multi", "maxItems": 100, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, { "name": "linkedName", "in": "query", "required": false, "description": "Name of the group of Linked Reservations to be searched.", "type": "string", "minLength": 0, "maxLength": 50 }, { "name": "backToBackOnly", "in": "query", "required": false, "description": "Indicates that only reservations marked as Back to Back should be expected in the result.", "type": "boolean" }, { "name": "backToBackDateOn", "in": "query", "required": false, "description": "Fetches linked Back to Back reservations with the specified Back to Back Date. Fetched reservations will be marked as Back to Back and they will either depart or arrive on the specified Back to Back day.", "type": "string", "format": "date" }, { "name": "scheduledRoomMoveDate", "in": "query", "required": false, "description": "Scheduled Move Rooms Date Criteria. This will parameter be mandatory when Search Type is ScheduledRoomMove.", "type": "string", "format": "date" }, { "name": "scheduledRoomMoveStartTime", "in": "query", "required": false, "description": "Start of Scheduled Move Room Time Range Criteria (in 24 hour time format). Applicable when Search Type is ScheduledRoomMove. Uses the hotel's time zone.", "type": "string", "minLength": 0, "maxLength": 8, "pattern": "([0-1]?[0-9]|2[0-3]):[0-5][0-9]" }, { "name": "scheduledRoomMoveEndTime", "in": "query", "required": false, "description": "End of Scheduled Move Room Time Range Criteria (in 24 hour time format). Applicable when Search Type is ScheduledRoomMove. Uses the hotel's time zone.", "type": "string", "minLength": 0, "maxLength": 8, "pattern": "([0-1]?[0-9]|2[0-3]):[0-5][0-9]" }, { "name": "scheduledRoomMoveStatus", "in": "query", "required": false, "description": "Scheduled Move Room Status Criteria.", "type": "string", "uniqueItems": true, "enum": [ "Completed", "Pending" ] }, { "name": "checkInInitiatedBy", "in": "query", "required": false, "description": "This indicates who initiated the Check In/Advance Check In.Advance Check In functionality is available when the Advance Check In OPERA Control is active.", "type": "string" }, { "name": "flexChar", "in": "query", "type": "array", "required": false, "description": "Search by User Defined Character Field. Available to be used when searchType = Arrival, Arrived, InHouse, Departure or CheckedOut. Format for searching by User Defined Character field is UDFCXX:OperationId:getReservationIndicators
", "operationId": "getReservationIndicators", "parameters": [ { "name": "reservationId", "in": "query", "type": "array", "maxItems": 100, "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "hotelId", "in": "query", "type": "array", "maxItems": 100, "collectionFormat": "multi", "description": "Hotel code of each reservation ID. If more than one reservation id is requested from multiple hotels, this is needed to identify per reservation id. Example reservationId=123&hotelId=PROP1&reservationId=456&hotelId=PROP2", "uniqueItems": true, "items": { "type": "string" }, "required": false }, { "name": "checkInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type that corresponds to check reservation instructions.", "uniqueItems": true, "items": { "type": "string", "enum": [ "HasDepositPolicies", "HasCancellationPolicies" ] }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response for checking allowed actions, existence of attached records, or indicators of a reservation.", "schema": { "$ref": "#/definitions/checkReservationsDetails" } }, "204": { "description": "ReservationIndicators not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/reservations/linkedReservations/{reservationId}": { "post": { "summary": "Link Reservations By Chain", "description": "This will allow you to link 1 or more reservations to an existing reservation.OperationId:postReservationLinksByChain
", "operationId": "postReservationLinksByChain", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "linkReservationsCriteria", "in": "body", "required": true, "description": "Request to link a list of reservations with another existing reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/linkReservationsCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Remove Reservation Links By Chain", "description": "Use this API to unlink a reservation from its currently associated reservation.OperationId:deleteReservationLinksByChain
", "operationId": "deleteReservationLinksByChain", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/reservations/pace": { "get": { "summary": "Get Reservation pace", "description": "Use this API to get Reservation pace.OperationId:getReservationPace
", "operationId": "getReservationPace", "parameters": [ { "name": "hotelId", "in": "query", "required": false, "description": "Hotel code from which the reservations will be fetched.", "type": "string" }, { "name": "stayDate", "in": "query", "required": false, "description": "Target stay date for report", "type": "string", "format": "date" }, { "name": "leadDays", "in": "query", "required": false, "description": "Number of lead days from stay date", "type": "integer" }, { "name": "channels", "in": "query", "required": false, "description": "List of Channels for which pace to be computed", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "FetchReservationPace response.", "schema": { "$ref": "#/definitions/reservationPace" } }, "204": { "description": "ReservationPace not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "RSVStats" ] } }, "/reservations/searches": { "post": { "summary": "Search Reservations for a hotel", "description": "This API will allow a user to retrieve a list of reservations based on the search criteria specified in the request body. For example you can search for reservations using query parameters like first name, last name, arrival/departure date, external confirmation number.OperationId:searchReservations
", "operationId": "searchReservations", "parameters": [ { "name": "searchReservationsRequest", "in": "body", "required": false, "schema": { "$ref": "#/definitions/searchReservationsRequest" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object to the Fetch Reservation Request operation. Based on the criteria, reservation information is returned.", "schema": { "$ref": "#/definitions/reservationsDetails" } }, "204": { "description": "Reservations not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/reservations/statistics": { "get": { "summary": "Get Reservation Statistics", "description": "Use this API to get Reservation Statistics.OperationId:getReservationStatistics
This API allows a time span of 90 days.
", "operationId": "getReservationStatistics", "parameters": [ { "name": "chainName", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The name of the hotel chain (e.g., Hilton, Marriott, Hyatt).", "items": { "type": "string" }, "required": false }, { "name": "hotelCityCode", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The IATA city code; for example DCA, ORD.", "items": { "type": "string" }, "required": false }, { "name": "hotelId", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The code that uniquely identifies a single hotel property. The hotel code is decided between vendors.", "items": { "type": "string" }, "required": false }, { "name": "hotelCodeContext", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A text field used to communicate the context (or source of - ex Sabre, Galileo, Worldspan, Amadeus) the HotelReferenceGroup codes.", "items": { "type": "string" }, "required": false }, { "name": "hotelName", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A text field used to communicate the proper name of the hotel.", "items": { "type": "string" }, "required": false }, { "name": "requestedReportsTypeEndDate", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The ending value of the date range.", "items": { "type": "string", "format": "date" }, "required": false }, { "name": "fiscalDate", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Hotel fiscal date for statistics.", "items": { "type": "string", "format": "date" }, "required": false }, { "name": "reportCode", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Identifies the type of statistics collected. Each ReportCode corresponds to a set of category summaries based upon a predetermined agreement.", "items": { "type": "string", "enum": [ "ChannelMonitorSummary", "ReservationAndRevenueSummary" ] }, "required": false }, { "name": "requestedReportsTypeStartDate", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The starting value of the date range.", "items": { "type": "string", "format": "date" }, "required": false }, { "name": "requestedReportsTypeParameterName", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Name of the parameter.", "items": { "type": "string" }, "required": false }, { "name": "requestedReportsTypeParameterValue", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Value of the parameter.", "items": { "type": "string" }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Collection of statistic data of a reservation.", "schema": { "$ref": "#/definitions/reservationStatistics" } }, "204": { "description": "ReservationStatistics not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "RSVStats" ] } }, "/reservations/{reservationId}": { "delete": { "summary": "Delete a Reservation", "description": "This API will delete only an on hold (in-session) reservation.OperationId:deleteReservation
", "operationId": "deleteReservation", "deprecated": true, "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is to delete only an on hold (in-session) reservation." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/reservations/{reservationId}/split": { "put": { "summary": "Split multi room Reservation", "description": "You can use this API to split a multi room reservation. This will create a new confirmation number for the split reservation.OperationId:putSplitMultiRoomReservation
", "operationId": "putSplitMultiRoomReservation", "parameters": [ { "name": "reservationId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." }, { "name": "splitMultiRoomReservation", "in": "body", "required": true, "description": "Request to split multi-room reservation into separate reservations.", "schema": { "allOf": [ { "$ref": "#/definitions/splitMultiRoomReservation" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response for splitting multi-room reservation into separate reservations.", "schema": { "$ref": "#/definitions/splitMultiRoomReservationDetails" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/sellMessages": { "get": { "summary": "Get sell messages", "description": "Fetch the configured sell messages for a property.OperationId:getSellMessages
", "operationId": "getSellMessages", "parameters": [ { "name": "croCode", "in": "query", "required": false, "description": "This is the Central Reservation office code.", "type": "string" }, { "name": "hotelId", "in": "query", "required": false, "description": "This is the hotel code or resort.", "type": "string" }, { "name": "criteriaId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "criteriaIdType", "in": "query", "required": false, "description": "This is the language code.", "type": "string" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "ratePlanCode", "in": "query", "required": false, "description": "This represents the rate plan code of the room type.", "type": "string" }, { "name": "roomType", "in": "query", "required": false, "description": "This represents the room type code.", "type": "string" }, { "name": "stickyFlagYn", "in": "query", "required": false, "description": "Flag which tells if this message is Sticky (Y/N).", "type": "string" }, { "name": "criteriaType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "startDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "endDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "duration", "in": "query", "required": false, "type": "string" }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Instruction to fetch all Room Type sell messages configured.", "uniqueItems": true, "items": { "type": "string", "enum": [ "RateCodes", "RoomTypes" ] }, "required": false }, { "name": "usedInModule", "in": "query", "required": false, "description": "This represents the moduleType of the SellMessages to be fetched.", "type": "string", "uniqueItems": true, "enum": [ "Blocks", "Reservations", "FunctionDiary", "LookToBookSales", "GroupRoomsControl" ] }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "This is the Response Message Type to the request for retrieving Sell Messages.", "schema": { "$ref": "#/definitions/sellMessages" } }, "204": { "description": "SellMessages not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/sellMessages/config": { "get": { "summary": "Get sell messages by chain", "description": "Fetch the existing sell message configuration.OperationId:getSellMessageConfigByChain
", "operationId": "getSellMessageConfigByChain", "parameters": [ { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "name": "message", "in": "query", "required": false, "description": "Sell Message text.", "type": "string" }, { "name": "roomType", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Room Type.", "items": { "type": "string" }, "required": false }, { "name": "ratePlanCode", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Rate Plan code.", "items": { "type": "string" }, "required": false }, { "name": "blockId", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "blockIdType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "blockCode", "in": "query", "required": false, "description": "Block Code to query for.", "type": "string" }, { "name": "languageCode", "in": "query", "required": false, "description": "Language code for the sell message.", "type": "string" }, { "name": "hotelIds", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Hotel code.", "items": { "type": "string" }, "required": false }, { "name": "chainId", "in": "query", "required": false, "description": "Chain code to query for.", "type": "string" }, { "name": "croCode", "in": "query", "required": false, "description": "CRO code to query for.", "type": "string" }, { "name": "displayDate", "in": "query", "required": false, "description": "The date on which the fetched sell message should be active.", "type": "string", "format": "date" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "This is the fetch response message type for fetch operation of sell messages.", "schema": { "$ref": "#/definitions/fetchSellMessageConfig" } }, "204": { "description": "SellMessageConfigByChain not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "post": { "summary": "Create sell message by chain", "description": "Create sell message configuration.OperationId:postSellMessageConfigByChain
", "operationId": "postSellMessageConfigByChain", "parameters": [ { "name": "sellMessageConfig", "in": "body", "required": true, "description": "This is the request message type for creating sell messages.", "schema": { "allOf": [ { "$ref": "#/definitions/sellMessageConfig" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "put": { "summary": "Change sell message by chain", "description": "Update the existing sell message configuration.OperationId:putSellMessageConfigByChain
", "operationId": "putSellMessageConfigByChain", "parameters": [ { "name": "sellMessageConfig", "in": "body", "required": true, "description": "This is the request message type for sell message update operation.", "schema": { "allOf": [ { "$ref": "#/definitions/sellMessageConfig" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/sellMessageConfig" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] }, "delete": { "summary": "Delete sell message by chain", "description": "Delete an existing sell message configuration.OperationId:deleteSellMessageConfigByChain
", "operationId": "deleteSellMessageConfigByChain", "parameters": [ { "name": "sellMessageConfigId", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/services/reservationExternal/status": { "get": { "summary": "Ping", "description": "Get the version for Reservation External ServiceOperationId:pingReservationExternalService
", "operationId": "pingReservationExternalService", "parameters": [ { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response for Ping operation.", "schema": { "$ref": "#/definitions/operaVersion" } }, "204": { "description": "pingReservationExternalService not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "ReservationExternal" ] } }, "/services/reservations/status": { "get": { "summary": "Ping", "description": "Get the reservation service versionOperationId:pingReservationService
", "operationId": "pingReservationService", "parameters": [ { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response for Ping operation.", "schema": { "$ref": "#/definitions/operaVersion" } }, "204": { "description": "pingReservationService not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } }, "/services/rsvStats/status": { "get": { "summary": "Ping", "description": "Get version for RSV Stats serviceOperationId:pingRSVStatsService
", "operationId": "pingRSVStatsService", "parameters": [ { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response for Ping operation.", "schema": { "$ref": "#/definitions/operaVersion" } }, "204": { "description": "pingRSVStatsService not found." }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "RSVStats" ] } }, "/turnaways": { "post": { "summary": "Register Hub Turnaway", "description": "Register Hub turnaways for a destination or multi-properties.OperationId:postHubTurnawayReservation
", "operationId": "postHubTurnawayReservation", "parameters": [ { "name": "registerTurnaway", "in": "body", "required": true, "description": "Request to register Hub turn away reservation.", "schema": { "allOf": [ { "$ref": "#/definitions/registerTurnaway" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "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" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Reservation" ] } } }, "parameters": { "externalData": { "name": "externalData", "type": "string", "description": "Pass this header as true, if payload needs DVM", "in": "header" }, "authKey": { "name": "authorization", "description": "Bearer token that needs to be passed which is generated post user authentication", "type": "string", "in": "header", "required": true }, "x-app-key": { "name": "x-app-key", "description": "Client or Partner's Application Key", "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}$", "in": "header", "required": true }, "x-request-id": { "name": "x-request-id", "type": "string", "pattern": "~*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}", "description": "Request Id of an incoming request", "in": "header" }, "x-originating-application": { "name": "x-originating-application", "type": "string", "description": "Customer's Integration Application Id", "in": "header" }, "x-hotelid": { "name": "x-hotelid", "type": "string", "description": "Mandatory parameter to identify the hotel code where the end user is logged in", "in": "header", "required": true }, "x-externalsystem": { "name": "x-externalsystem", "type": "string", "maxLength": 40, "description": "External system code.", "in": "header", "x-example": "EXTERNALSYSTEMCODE" }, "Accept-Language": { "name": "Accept-Language", "type": "string", "description": "Language code", "in": "header" }, "x-hubid": { "name": "x-hubid", "type": "string", "description": "x-hubid is a logical grouping of multiple properties that allows api consumers to manage data from a group of properties. This x-hubid is a valid list of hub codes configured in OPERA to which the user has access. Rest APIs without hotelId in the operation path can support hub level integration using x-hubid", "in": "header" } }, "responses": { "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/exceptionDetailType" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Resource not found", "schema": { "$ref": "#/definitions/exceptionDetailType" } }, "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/exceptionDetailType" } }, "502": { "description": "Bad Gateway" }, "503": { "description": "Service Unavailable" } }, "definitions": { "blockReservationStatistics": { "type": "object", "description": "Response for BlockReservationStatisticsByDateAndRoomPool operation.", "properties": { "blockReservationStatisticsByDateAndRoomPool": { "description": "Block reservation statistics.", "$ref": "#/definitions/blockReservationStatisticsByDateAndRoomPoolType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "blockReservationStatisticsByDateAndRoomPoolType": { "type": "object", "description": "Statistics of block reservations summarized by date and room pools.", "properties": { "dailyStats": { "description": "Collection of daily statistics.", "$ref": "#/definitions/dailyStatsType" } } }, "dailyStatsType": { "type": "array", "description": "Statistics of one day.", "maxItems": 4000, "items": { "$ref": "#/definitions/dailyStatType" } }, "dailyStatType": { "type": "object", "description": "Statistics of one day.", "properties": { "statisticDate": { "description": "Date of statistics.", "type": "string", "format": "date" }, "blockStats": { "description": "Collection of block statistics.", "$ref": "#/definitions/blockStatsType" } } }, "blockStatsType": { "type": "array", "description": "Statistics of one block.", "maxItems": 4000, "items": { "$ref": "#/definitions/blockStatType" } }, "blockStatType": { "type": "object", "description": "Statistics of one block.", "properties": { "blockIdList": { "description": "Unique IDs of the business block being represented.", "$ref": "#/definitions/blockIdList" }, "roomPoolStats": { "description": "Collection of room pool statistics.", "$ref": "#/definitions/roomPoolStatsType" } } }, "blockIdList": { "type": "array", "description": "Unique Id that references an object uniquely in the system.", "maxItems": 4000, "items": { "$ref": "#/definitions/uniqueID_Type" } }, "uniqueID_Type": { "type": "object", "description": "An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).", "properties": { "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 }, "idExtension": { "description": "Additional identifying value assigned by the creating system. Eg: ConfirmationLegNumber, ExternalLegNumber", "type": "integer" } } }, "roomPoolStatsType": { "type": "array", "description": "Statistics of one room pool.", "maxItems": 4000, "items": { "$ref": "#/definitions/roomPoolStatType" } }, "roomPoolStatType": { "type": "object", "description": "Statistics of one room pool.", "properties": { "roomPool": { "description": "Room pool (room pool represents a group of room types).", "type": "string", "minLength": 0, "maxLength": 20 }, "paidRooms": { "description": "Number of non-complementary rooms.", "type": "integer" }, "compRooms": { "description": "Number of complementary rooms.", "type": "integer" }, "roomRevenue": { "description": "Room revenue amount.", "$ref": "#/definitions/currencyAmountType" } } }, "currencyAmountType": { "type": "object", "description": "A monetary value expressed with a currency code.", "properties": { "amount": { "description": "A monetary amount.", "type": "number" }, "currencyCode": { "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string", "minLength": 3, "maxLength": 3 } } }, "links": { "type": "array", "items": { "$ref": "#/definitions/instanceLink" } }, "instanceLink": { "type": "object", "description": "Metadata describing link description objects that MAY appear in the JSON instance representation.", "properties": { "href": { "description": "URI [RFC3986] or URI Template [RFC6570]. If the value is set to URI Template, then the \"templated\" property must be set to true.", "type": "string" }, "rel": { "description": "Name of the link relation that, in addition to the type property, can be used to retrieve link details. For example, href or profile.", "type": "string" }, "templated": { "description": "Boolean flag that specifies that \"href\" property is a URI or URI Template. If the property is a URI template, set this value to true. By default, this value is false.", "type": "boolean", "default": false }, "method": { "description": "HTTP method for requesting the target of the link.", "type": "string", "enum": [ "GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS", "HEAD" ] }, "targetSchema": { "description": "Link to the metadata of the resource, such as JSON-schema, that describes the resource expected when dereferencing the target resource..", "type": "string" }, "operationId": { "description": "The operationId of the path you can call to follow this link. This allows you to look up not only the path and method, but the description of that path and any parameters you need to supply.", "type": "string" }, "title": { "description": "Exact copy of the \"summary\" field on the linked operation.", "type": "string" } } }, "warningsType": { "type": "array", "description": "Used in conjunction with the Success element to define a business error.", "maxItems": 4000, "items": { "$ref": "#/definitions/warningType" } }, "warningType": { "type": "object", "description": "Used when a message has been successfully processed to report any warnings or business errors that occurred.", "properties": { "value": { "type": "string", "description": "Property Value" }, "shortText": { "description": "An abbreviated version of the error in textual format.", "type": "string", "maxLength": 2000 }, "code": { "description": "If present, this refers to a table of coded values exchanged between applications to identify errors or warnings.", "type": "string", "minLength": 0, "maxLength": 20 }, "docURL": { "description": "If present, this URL refers to an online description of the error that occurred.", "type": "string", "maxLength": 2000 }, "status": { "description": "If present, recommended values are those enumerated in the ErrorRS, (NotProcessed Incomplete Complete Unknown) however, the data type is designated as string data, recognizing that trading partners may identify additional status conditions not included in the enumeration.", "type": "string", "maxLength": 2000 }, "tag": { "description": "If present, this attribute may identify an unknown or misspelled tag that caused an error in processing. It is recommended that the Tag attribute use XPath notation to identify the location of a tag in the event that more than one tag of the same name is present in the document. Alternatively, the tag name alone can be used to identify missing data [Type=ReqFieldMissing].", "type": "string", "maxLength": 2000 }, "recordId": { "description": "If present, this attribute allows for batch processing and the identification of the record that failed amongst a group of records. This value may contain a concatenation of a unique failed transaction ID with specific record(s) associated with that transaction.", "type": "string", "maxLength": 2000 }, "type": { "description": "The Warning element MUST contain the Type attribute that uses a recommended set of values to indicate the warning type. The validating XSD can expect to accept values that it has NOT been explicitly coded for and process them by using Type =\"Unknown\".", "type": "string", "minLength": 0, "maxLength": 20 }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "rph": { "description": "Reference Place Holder used as an index for this warning.", "type": "string", "minLength": 1, "maxLength": 8 } } }, "exceptionDetailType": { "title": "Error Detail", "description": "Complex type that contains error details for a REST call.", "type": "object", "properties": { "type": { "type": "string", "description": "Absolute URI [RFC3986] that identifies the problem type. When dereferenced, it SHOULD provide a human-readable summary of the problem (for example, using HTML)." }, "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." }, "status": { "type": "integer", "description": "HTTP status code for this occurrence of the problem, set by the origin server." }, "detail": { "type": "string", "description": "Human-readable description specific to this occurrence of the problem." }, "instance": { "type": "string", "description": "Absolute URI that identifies the specific occurrence of the problem. It may or may not provide additional information if dereferenced." }, "o:errorCode": { "type": "string", "description": "Application error code, which is different from HTTP error code." }, "o:errorPath": { "type": "string", "description": "Path to the problem at the resource or property level." }, "o:errorDetails": { "description": "Details of the error message, consisting of a hierarchical tree structure.", "type": "array", "items": { "$ref": "#/definitions/errorInstance" } }, "links": { "$ref": "#/definitions/links" } }, "required": [ "type", "title" ] }, "errorInstance": { "title": "Error Instance Details", "description": "Complex type that contains error instance details for a REST call.", "type": "object", "properties": { "type": { "type": "string", "description": "Absolute URI [RFC3986] that identifies the problem type. When dereferenced, it SHOULD provide a human-readable summary of the problem (for example, using HTML)." }, "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." }, "status": { "type": "integer", "description": "HTTP status code for this occurrence of the problem, set by the origin server." }, "detail": { "type": "string", "description": "Human-readable description specific to this occurrence of the problem." }, "instance": { "type": "string", "description": "Absolute URI that identifies the specific occurrence of the problem. It may or may not provide additional information if dereferenced." }, "o:errorCode": { "type": "string", "description": "Application error code, which is different from HTTP error code." }, "o:errorPath": { "type": "string", "description": "Path to the problem at the resource or property level." } }, "required": [ "type", "title" ] }, "registerCall": { "type": "object", "description": "Request to register call. Either creates a new call or updates an existing call.", "properties": { "call": { "description": "Call information including caller info, reservation info and comments. Refer to the Generic common types document for information on CallType.", "$ref": "#/definitions/callType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "callType": { "type": "object", "description": "Holds call information.", "properties": { "dateTimeSpan": { "description": "Call Time Span. Start Date and End Date is used for the Call duration.", "$ref": "#/definitions/dateTimeSpanType" }, "caller": { "description": "Holds caller information.", "$ref": "#/definitions/callerType" }, "reservation": { "description": "Holds Reservation Id and Hotel Code.", "type": "object", "properties": { "reservationIdList": { "description": "Holds Reservation related Ids.", "$ref": "#/definitions/reservationIdList" }, "hotelId": { "description": "Holds Hotel Code.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "turnawayCode": { "description": "Call turn away code.", "type": "string", "minLength": 0, "maxLength": 20 }, "comments": { "description": "Call comments.", "type": "string", "minLength": 0, "maxLength": 200 }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" } } }, "dateTimeSpanType": { "type": "object", "description": "Allows for a choice in description of the amount of time spanned by this type. EndDate specifies a specific date, while Duration provides a measure of time to add to the StartDate to yield end date.", "properties": { "startDateTime": { "type": "string", "format": "date-time", "description": "Uses the hotel's time zone." }, "endDateTime": { "type": "string", "format": "date-time", "description": "Uses the hotel's time zone." } } }, "callerType": { "type": "object", "description": "Holds caller information.", "properties": { "givenName": { "description": "Caller First Name.", "type": "string", "minLength": 0, "maxLength": 280 }, "surname": { "description": "Caller Last Name.", "type": "string", "minLength": 0, "maxLength": 80 }, "phone": { "description": "Caller Phone Number.", "type": "string", "minLength": 0, "maxLength": 80 }, "email": { "description": "Caller Email.", "type": "string", "minLength": 0, "maxLength": 80 }, "fax": { "description": "Caller Fax Number.", "type": "string", "minLength": 0, "maxLength": 80 }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" } } }, "reservationIdList": { "type": "array", "description": "Unique Id that references an object uniquely in the system.", "maxItems": 4000, "items": { "$ref": "#/definitions/uniqueID_Type" } }, "callStatistics": { "type": "object", "description": "Response object to the request to retrieve Call Statistics.", "properties": { "callStatisticsList": { "description": "List of Call Statistics.", "$ref": "#/definitions/callStatisticsListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "callStatisticsListType": { "type": "array", "description": "Holds Call Statistics Information.", "maxItems": 4000, "items": { "$ref": "#/definitions/callStatisticsType" } }, "callStatisticsType": { "type": "object", "description": "Holds Call Statistics Information.", "properties": { "appUserName": { "description": "Application User for which the Call Statistics is being retrieved.", "type": "string", "minLength": 0, "maxLength": 20 }, "totalCallTime": { "description": "Holds Total Call Time by Agent.", "type": "integer" }, "totalCalls": { "description": "Holds Total Calls made by Agent.", "type": "integer" }, "averageCallTime": { "description": "Holds Average Call Time of Agent.", "type": "integer" }, "totalSales": { "description": "Holds Total Sales by Agent.", "type": "integer" }, "totalRevenue": { "description": "Holds Total Revenue of the Reservations made by Agent.", "$ref": "#/definitions/currencyAmountType" } } }, "reservationsDetails": { "type": "object", "description": "Response object to the Fetch Reservation Request operation. Based on the criteria, reservation information is returned.", "properties": { "reservations": { "description": "Collection of Reservations and their information.", "type": "object", "properties": { "reservationInfo": { "description": "Contains details of the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationInfoType" } }, "similaritySearchResults": { "description": "Total number of results returned by similarity search. Returned only when similaritySearch query parameter is true.", "type": "integer" }, "totalPages": { "description": "Evaluated total page count based on the requested max fetch count.", "type": "integer" }, "offset": { "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, "limit": { "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "masterInfoList": { "type": "array", "items": { "$ref": "#/definitions/masterInfoType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationInfoType": { "type": "object", "description": "The Reservation class contains the current reservation being created or altered.", "properties": { "reservationIdList": { "description": "Unique identifiers for the reservation for both internal and external systems", "$ref": "#/definitions/reservationIdList" }, "externalReferences": { "description": "External Reference information for Reservation.", "$ref": "#/definitions/externalReferencesType" }, "roomStay": { "description": "Collection of room stays.", "$ref": "#/definitions/stayInfoType" }, "departureReservationInfo": { "description": "Information related to the departure reservation.", "$ref": "#/definitions/departureReservationInfoType" }, "reservationGuest": { "description": "Collection of guests associated with the reservation.", "$ref": "#/definitions/resGuestInfoType" }, "reservationMemberships": { "description": "List of reservation memberships which are attached from profile.", "type": "array", "maxItems": 10, "items": { "$ref": "#/definitions/reservationMembershipType" } }, "sharedGuests": { "description": "Collection of guests who share this reservation.", "$ref": "#/definitions/resSharedGuestListType" }, "attachedProfiles": { "description": "List of attached profiles", "$ref": "#/definitions/resAttachedProfileListType" }, "reservationPaymentMethod": { "description": "Payment method used for this reservation", "$ref": "#/definitions/reservationPaymentMethodType" }, "reservationFolioWindows": { "description": "Collection of reservation folio windows.", "$ref": "#/definitions/reservationFolioWindowsType" }, "commissionsInfo": { "description": "Information related to commissions", "$ref": "#/definitions/reservationCommissionInfoType" }, "specials": { "description": "Set of reservation preferences which belongs to the Specials group.", "type": "string", "minLength": 0, "maxLength": 4000 }, "displayColor": { "description": "Color setting of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "displayColorDetails": { "description": "Information of reservation display color, determined based on OPERA parameter RESERVATION_COLOR_DEFINITION ", "$ref": "#/definitions/reservationDisplayColorInfoType" }, "reservationIndicators": { "description": "Indicators of additional information attached to the reservation", "$ref": "#/definitions/indicatorsType" }, "roomStatus": { "description": "Current room status", "$ref": "#/definitions/housekeepingRoomStatusType" }, "searchMatches": { "description": "Super Search matching terms.", "$ref": "#/definitions/searchMatchesType" }, "sourceOfSale": { "description": "Point of Sale of reservation. Identifies the entity/channel who made the reservation.", "$ref": "#/definitions/sourceOfSaleType" }, "waitlist": { "description": "Information regarding why reservation has been/was waitlisted. This could hold information as history even if reservation is not in Waitlist status anymore.", "$ref": "#/definitions/waitlistResType" }, "queue": { "description": "Information about the time and duration this reservation was on Queue for Checkin.", "$ref": "#/definitions/reservationQueueInformationType" }, "housekeeping": { "description": "Information regarding housekeeping for this reservation.", "$ref": "#/definitions/resHousekeepingType" }, "cashiering": { "description": "Holds cashiering related information for the reservation.", "$ref": "#/definitions/resCashieringType" }, "taxType": { "description": "This stores the code for the type of tax calculation especially with tax exemption, etc.", "$ref": "#/definitions/taxTypeType" }, "deposit": { "description": "Holds reservation deposit information.", "$ref": "#/definitions/reservationDepositType" }, "allowedActions": { "description": "Collection of reservation allowed actions.", "$ref": "#/definitions/reservationAllowedActionsType" }, "revenuesAndBalances": { "description": "Revenues and Balances Amount summary for the reservation.", "$ref": "#/definitions/resRevenueBalanceType" }, "mobileNotifications": { "description": "Denotes the status of Room Ready, Key Ready messages.", "$ref": "#/definitions/resMobileNotificationsType" }, "reservationCommunication": { "description": "Collection of reservation communication details.", "$ref": "#/definitions/resCommunicationType" }, "advanceCheckIn": { "description": "Information relating to Reservation's Advance Checked In state and Expected Time of Return", "$ref": "#/definitions/advanceCheckInType" }, "welcomeOffer": { "description": "This flag will determine wheather the reservation is eligible for Welcome Offer or not.", "type": "boolean" }, "cancellationInfo": { "description": "Information regarding why reservation has been/was cancelled.", "type": "object", "properties": { "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "code": { "type": "string", "minLength": 0, "maxLength": 20 }, "date": { "description": "Date when reservation was last cancelled.", "type": "string", "format": "date" } } }, "keyCount": { "description": "Number of keys created for the reservation.", "type": "integer" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "hotelName": { "type": "string", "minLength": 0, "maxLength": 80 }, "expectedServiceTime": { "type": "string", "minLength": 0, "maxLength": 20 }, "roomStayReservation": { "description": "Boolean True if this reservation is reserving rooms. False if it is only reserving services.", "type": "boolean" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" }, "reservationStatus": { "description": "Indicates the status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "computedReservationStatus": { "description": "Indicates the status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "walkInIndicator": { "description": "When true, indicates the reservation is for a guest that walks-in without a reservation. When false, the reservation is not a walk-in.", "type": "boolean" }, "accessRestriction": { "description": "Indicates user restriction on the reservation based on the Access exclusion functionality such as Restriction on Changes, Cancellation or both.", "$ref": "#/definitions/resAccessRestrictionType" }, "commissionPayoutTo": { "description": "If not null, reservation is considered to pay out commission to either Travel Agent, Source or both.", "$ref": "#/definitions/commissionPayoutToType" }, "paymentMethod": { "description": "Payment Method.", "type": "string", "minLength": 0, "maxLength": 20 }, "preRegistered": { "description": "Defines if the reservation is pre-registered or not.", "type": "boolean" }, "openFolio": { "description": "Returns true when reservation has an open folio.", "type": "boolean" }, "allowMobileCheckout": { "description": "Flag containing true or false value for reservation to be eligible for self-checkout by guest using mobile device . Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is eligible for mobile checkout yes / no. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, "allowMobileViewFolio": { "description": "Attribute AllowMobileViewFolio is set to true when the reservation is eligible for viewing folio using mobile device.", "type": "boolean" }, "optedForCommunication": { "description": "Attribute OptedForCommunication is set to true when the guest has opted for receiving communicationsl related to the reservation.", "type": "boolean" }, "roomFeatures": { "description": "Set of reservation preferences which belongs to the Room Features.", "type": "string", "minLength": 0, "maxLength": 4000 }, "fiscalInfo": { "description": "Fiscal related information for a reservation.", "$ref": "#/definitions/fiscalInfoType" }, "parentReservationHotelId": { "description": "Property associated with the Linked Reservation that serves as parent to this reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "scheduledRoomMoveInfo": { "description": "Scheduled Room Move information for a reservation.", "$ref": "#/definitions/scheduledRoomMoveInfoType" }, "checkInInitiatedBy": { "description": "This indicates who initiated the Check In/Advance Check In.Advance Check In functionality is available when the Advance Check In OPERA Control is active.", "type": "string", "minLength": 0, "maxLength": 40 }, "userDefinedFields": { "description": "Collections of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" }, "pkgConsumptionInfo": { "description": "Package consumption information linked to the reservation, including package code, description, category, and consumption details.", "type": "array", "maxItems": 200, "items": { "$ref": "#/definitions/packageInfoType" } }, "preArrivalReviewStatus": { "description": "The review status of a Pre-Arrival Reservation indicates whether the reservation has been reviewed, is pending review, or has been modified after the initial review.", "$ref": "#/definitions/preArrivalReviewStatusType" } } }, "externalReferencesType": { "type": "array", "description": "This type contains unique information of external reference.", "maxItems": 4000, "items": { "$ref": "#/definitions/externalReferenceType" } }, "externalReferenceType": { "type": "object", "description": "This type contains unique information of external reference.", "properties": { "id": { "description": "Unique ID of external reference.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system for the external reference number. It is only applicable to reservation external references.", "type": "integer" }, "idContext": { "description": "ID context for external reference.", "type": "string", "minLength": 0, "maxLength": 80 } } }, "stayInfoType": { "type": "object", "description": "Details on the Room Stay including Guest Counts, Time Span of this Room Stay, pointers to Res Guests, guest Memberships, Comments and Special Requests pertaining to this particular Room Stay and finally financial information related to the Room Stay, including Guarantee, Deposit and Payment and Cancellation Penalties.", "properties": { "arrivalDate": { "type": "string", "format": "date" }, "departureDate": { "type": "string", "format": "date" }, "originalTimeSpan": { "description": "The Original Time Span covers the Room Stay dates of the original reservation.", "$ref": "#/definitions/timeSpanType" }, "bookingTimeSpan": { "description": "The booking time span of the reservation, only applicable when time increments are being used.", "$ref": "#/definitions/bookingTimeSpanType" }, "expectedTimes": { "description": "The expected arrival, return and departure times of the guest.", "$ref": "#/definitions/resExpectedTimesType" }, "adultCount": { "description": "A collection of Guest Counts associated with Room Stay.", "type": "integer" }, "childCount": { "description": "A collection of Child Counts associated with Room Stay.", "type": "integer" }, "childAges": { "description": "Defines Children's Ages. Number of children ages mentioned may mot match with children counts.", "$ref": "#/definitions/childAgesType" }, "childBuckets": { "description": "Defines children counts with Age Qualifying Group(Child Bucket#1) classification.", "$ref": "#/definitions/childBucketsType" }, "roomClass": { "description": "Room class code", "type": "string", "minLength": 0, "maxLength": 20 }, "roomType": { "description": "Room type code", "type": "string", "minLength": 0, "maxLength": 20 }, "numberOfRooms": { "description": "Room Id", "type": "integer" }, "roomId": { "description": "Room Id", "type": "string", "minLength": 0, "maxLength": 20 }, "roomOwnershipType": { "description": "Provides the information of the assigned reservation room is an Owner, Referral or regular room.This value is returned when Room Rotation OPERA Control is active and room number is assigned to a reservation.", "$ref": "#/definitions/reservationRoomOwnershipType" }, "scheduledRoomMoveRoomPending": { "type": "boolean", "description": "Pending Scheduled Move Room." }, "ratePlanCode": { "description": "Rate plan code", "type": "string", "minLength": 0, "maxLength": 20 }, "postingInterval": { "description": "Specifies the frequency at which charges are posted for the rate plan on the reservation.", "$ref": "#/definitions/postingIntervalType" }, "rateAmount": { "description": "Rate amount", "$ref": "#/definitions/currencyAmountType" }, "offshoreRateInformation": { "$ref": "#/definitions/offshoreRateType" }, "points": { "description": "The Points contains the number of points used to book a particular room type.", "$ref": "#/definitions/pointsType" }, "rateSuppressed": { "description": "Whether this rate should be suppressed from view", "type": "boolean" }, "reservationBlock": { "description": "Key information about the block for this reservation.", "$ref": "#/definitions/reservationBlockType" }, "bookingChannelCode": { "description": "Classifies the medium(Channel field on reservation screen) through which the reservation is made.", "type": "string", "minLength": 0, "maxLength": 40 }, "linkCode": { "description": "Party code", "type": "string", "maxLength": 2000 }, "fixedRate": { "description": "True if the rate is a fixed rate, otherwise false", "type": "boolean" }, "totalAmount": { "description": "The total amount charged for the Room Stay including additional occupant amounts and fees. If TaxInclusive is set to True, then taxes are included in the total amount.", "$ref": "#/definitions/currencyAmountType" }, "guarantee": { "description": "The guarantee information associated to the Room Stay. A maximum of 5 occurances are available for use depending on the context.", "$ref": "#/definitions/resGuaranteeType" }, "promotion": { "description": "Promotion Codes", "$ref": "#/definitions/promotionType" }, "marketCode": { "description": "Market code", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceCode": { "description": "Source of business", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceCodeDescription": { "description": "Description of the source of business.", "type": "string", "minLength": 0, "maxLength": 4000 }, "balance": { "description": "Balance amount", "$ref": "#/definitions/currencyAmountType" }, "compBalance": { "description": "Comp Balance amount", "$ref": "#/definitions/currencyAmountType" }, "roomTypeCharged": { "description": "Room type code that was charged", "type": "string", "minLength": 0, "maxLength": 20 }, "depositPayments": { "description": "A collection of deposit and/or payments for the Room Stay.", "$ref": "#/definitions/currencyAmountType" }, "guestServiceStatus": { "description": "Service Status of In House guest like DND or MUP", "$ref": "#/definitions/guestHousekeepingServiceRequestType" }, "scheduledCheckoutTime": { "description": "Indicates that this reservation is scheduled for automated check out.", "type": "string", "format": "date" }, "roomNumberLocked": { "description": "When true, indicates a room number cannot be changed. When false, indicates a room number may be changed.", "type": "boolean" }, "pseudoRoom": { "description": "True indicates as pseudo room type. This is usually used for a posting master reservation.", "type": "boolean" }, "assignedByAI": { "description": "Represents the room was assigned by AI Room Assignment.", "type": "boolean" }, "upgradedByAI": { "description": "Represents the room was assigned by AI Room Assignment.", "type": "boolean" }, "roomAvailableNights": { "description": "Number of nights this room is avaiable if room is assigned to reservation", "type": "integer" }, "backToBack": { "description": "This attribute indicates if the linked reservation is marked as Back to Back or not.", "type": "boolean" }, "backToBackSequence": { "description": "This attribute represents Back To Back Sequence of Linked Reservations(e.g. '1 of 2' i.e, 1 indicates Sequence Position of total count 2). This is applicable when OPERA control Back to Back Handling for Linked Reservations is active.", "$ref": "#/definitions/backToBackResSequenceType" }, "scheduledRoomMoveResponseType": { "description": "Scheduled Room Move Response Information.", "$ref": "#/definitions/scheduledRoomMoveResponseType" }, "backToBackGroupId": { "description": "This attribute represents a common identifier for a subgroup of linked reservations marked as Back to Back in a group of linked reservations.", "type": "string", "minLength": 0, "maxLength": 80 } } }, "timeSpanType": { "type": "object", "description": "Allows for a choice in description of the amount of time spanned by this type. EndDate specifies a specific date, while Duration provides a measure of time to add to the StartDate to yield end date.", "properties": { "startDate": { "type": "string", "format": "date" }, "endDate": { "type": "string", "format": "date" }, "duration": { "type": "string" } } }, "resExpectedTimesType": { "type": "object", "description": "Holds the Arrival and Departure Time Information", "properties": { "reservationExpectedArrivalTime": { "description": "Arrival Time. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "reservationExpectedDepartureTime": { "description": "Departure Time. Uses the hotel's time zone.", "type": "string", "format": "date-time" } } }, "pointsType": { "type": "object", "description": "The Redeem Points contains the number of points required to book a room type.", "properties": { "awardsType": { "description": "Awards type for the award type rate code.", "type": "string" }, "points": { "description": "No of points required to book this Room Stay.", "type": "integer" } } }, "reservationBlockType": { "type": "object", "description": "Key information about the block for a reservation.", "properties": { "blockIdList": { "description": "Collection of unique block identifiers for the reservation.", "$ref": "#/definitions/blockIdList" }, "blockName": { "description": "The Name of the block that is attached to the reservation.", "type": "string", "minLength": 0, "maxLength": 40 }, "hotelId": { "description": "This is the HotelCode of the Block.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "resGuaranteeType": { "type": "object", "description": "Validations type record returned after Validations are done.", "properties": { "guaranteeCode": { "description": "Guarantee Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "shortDescription": { "description": "Guarantee Code.", "type": "string", "minLength": 0, "maxLength": 80 }, "onHold": { "description": "Guarantee Code.", "type": "boolean" } } }, "promotionType": { "type": "object", "description": "Type to specify a rate promotion. Usually attached to a reservation to indicate a specific promotion is applied to the reservation.Note: For putReservation when promotion type element is sent with no value, existing promotion codes on the reservation will be removed.
", "properties": { "promotionCode": { "description": "Promotion code associated with the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "promotionName": { "description": "Promotion code Name associated with the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "couponCode": { "description": "Promotion Coupon Code when promotion is setup to have a valid coupon code.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "guestHousekeepingServiceRequestType": { "type": "string", "description": "Possible values for the Guest Service Status.", "enum": [ "DoNotDisturb", "MakeUpRoom", "NoStatusSelected", "ServiceDeclined" ] }, "resGuestInfoType": { "type": "object", "description": "Specifies Company or Travel Agent profile using IATA or Corp. No.", "properties": { "membership": { "description": "The Membership object identifying the frequent customer reward program.", "$ref": "#/definitions/membershipInfoType" }, "namePrefix": { "description": "Salutation of honorific. (e.g., Mr. Mrs., Ms., Miss, Dr.)", "$ref": "#/definitions/namePrefixType" }, "givenName": { "description": "Given name, first name or names", "$ref": "#/definitions/givenNameType" }, "alternateGivenName": { "description": "Alternate given name, first name or names", "type": "string", "minLength": 0, "maxLength": 40 }, "middleName": { "description": "The middle name of the person name", "type": "string", "minLength": 0, "maxLength": 40 }, "surname": { "description": "Family name, last name.", "$ref": "#/definitions/surnameType" }, "alternateSurname": { "description": "Alternate family name, last name.", "type": "string", "minLength": 0, "maxLength": 40 }, "alternateFullName": { "description": "Alternate full name", "type": "string" }, "nameTitle": { "description": "Degree or honors (e.g., Ph.D., M.D.)", "type": "string", "minLength": 0, "maxLength": 20 }, "fullName": { "description": "Full display name", "type": "string" }, "phoneNumber": { "description": "Phone number", "$ref": "#/definitions/phoneNumberType" }, "email": { "description": "Email address", "$ref": "#/definitions/basicEmailType" }, "birthDate": { "description": "Date of birth", "type": "string", "format": "date" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "nationality": { "description": "Affiliation or ethnicity to a particular country.", "$ref": "#/definitions/countryNameType" }, "vip": { "description": "The supplier's ranking of the customer (e.g., VIP, numerical ranking).", "$ref": "#/definitions/vIPType" }, "address": { "description": "Address information that is attached to the reservation guest", "$ref": "#/definitions/addressSearchType" }, "anonymization": { "description": "Provides information about the guest's anonymization status", "$ref": "#/definitions/anonymizationType" }, "accompanyGuests": { "description": "List of guest names that are accompanying the reservation guest", "$ref": "#/definitions/resAccompanyGuestListType" }, "guestLastStayInformation": { "description": "Contains information regarding the last stay of this guest.", "$ref": "#/definitions/guestLastStayInfoType" }, "guestRestrictedCode": { "description": "Guest profile restricted reason code", "type": "string" }, "guestRestrictedReasonDesc": { "description": "Guest profile restricted reason description", "type": "string" }, "guestRestricted": { "description": "True indicates there are restrictions associated with the current profile.", "type": "boolean" }, "registrationCardNo": { "description": "Unique identifier of the police registration card number.", "type": "string", "minLength": 0, "maxLength": 40 }, "nameType": { "$ref": "#/definitions/nameTypeType" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 }, "externalReferences": { "description": "External References information for this Profile. Will be returned in getReservations and getHotelReservations when the 'profileExternalReferencesToFetch' query parameter is sent.", "$ref": "#/definitions/externalReferencesType" } } }, "membershipInfoType": { "type": "object", "description": "The Membership object identifies the frequent customer reward program.", "properties": { "membershipId": { "description": "Membership ID Number(Unique ID from the memberships table).", "type": "number" }, "programCode": { "description": "The code or name of the membership program ('Hertz', 'AAdvantage', etc.).", "type": "string", "minLength": 0, "maxLength": 20 }, "bonusCode": { "description": "The code or name of the bonus program. BonusCode can be used to indicate the level of membership (Gold Club, Platinum member, etc.)", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipTypeDesc": { "description": "The description of the ProgramCode.(Delta Previlige for code DP)", "type": "string", "minLength": 0, "maxLength": 2000 }, "membershipLevelDesc": { "description": "The description of the Bonus Code.(Platinum for code P)", "type": "string", "minLength": 0, "maxLength": 2000 }, "accountId": { "description": "The account identification or membership card number for this particular member in this particular program.", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipLevel": { "description": "The code or name of the membership level and indicates the level of membership (Gold Club, Platinum member, etc.). This is same as the BonusCode.", "type": "string", "minLength": 0, "maxLength": 20 }, "playerRanking": { "description": "Ranking assigned to the Player Profile by the Gaming system.", "type": "integer" } } }, "namePrefixType": { "type": "string", "description": "Salutation of honorific. (e.g., Mr. Mrs., Ms., Miss, Dr.)", "minLength": 0, "maxLength": 40 }, "givenNameType": { "type": "string", "description": "Given name, first name or names", "minLength": 0, "maxLength": 40 }, "surnameType": { "type": "string", "description": "Family name, last name.", "minLength": 0, "maxLength": 80 }, "phoneNumberType": { "type": "string", "description": "Phone number", "minLength": 0, "maxLength": 40 }, "basicEmailType": { "type": "string", "description": "Email address", "minLength": 0, "maxLength": 2000 }, "countryNameType": { "type": "object", "description": "Used for Character Strings, length 0 to 200 - It indicates country/nationality description.", "properties": { "value": { "type": "string", "description": "Used for Character Strings, length 0 to 200.", "minLength": 0, "maxLength": 200 }, "code": { "description": "Code for a country or a nationality.", "type": "string", "minLength": 0, "maxLength": 20 }, "displayCountryFlag": { "description": "Setting this to true will display the guest profile's country flag in the OPERA Cloud user interface, if it is configured.", "type": "boolean" }, "isoCode": { "description": "ISO standard code for country.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "vIPType": { "type": "object", "description": "The supplier's ranking of the customer.", "properties": { "vipCode": { "description": "VIP Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "vipDescription": { "description": "VIP Description.", "type": "string", "minLength": 0, "maxLength": 80 } } }, "addressSearchType": { "type": "object", "description": "Address Details such as city, state, country, postal code etc.", "properties": { "cityName": { "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).", "type": "string", "minLength": 0, "maxLength": 40 }, "postalCode": { "description": "Post Office Code number.", "type": "string", "minLength": 0, "maxLength": 15 }, "state": { "description": "State or Province name (e.g., Texas).", "type": "string", "minLength": 0, "maxLength": 20 }, "streetAddress": { "description": "First Line of Street Address. For profile search it matches the first Address line.", "type": "string", "minLength": 0, "maxLength": 80 }, "country": { "description": "Country name (e.g., Ireland).", "$ref": "#/definitions/countryNameType" }, "excludeNoCity": { "description": "When true indicates that only profiles with city will be fetched.", "type": "boolean" } } }, "anonymizationType": { "type": "object", "description": "Provides information about guest's anonymization status.", "properties": { "anonymizationStatus": { "description": "Status of anonymization such as Requested or Anonymized.", "$ref": "#/definitions/anonymizationStatusType" } } }, "anonymizationStatusType": { "type": "string", "description": "Guest has been anonymized.", "enum": [ "Requested", "Anonymized" ] }, "resAccompanyGuestListType": { "type": "array", "description": "Collection of accompany guests", "maxItems": 4000, "items": { "$ref": "#/definitions/resAccompanyGuestInfoType" } }, "resAccompanyGuestInfoType": { "type": "object", "properties": { "firstName": { "description": "Given name, first name or names", "type": "string" }, "lastName": { "description": "Family name, last name.", "type": "string" }, "fullName": { "description": "String representation of the full name", "type": "string" }, "alternateFirstName": { "description": "Alternate first name", "type": "string" }, "alternateLastName": { "description": "Alternate last name.", "type": "string" }, "alternateFullName": { "description": "Alternate full name", "type": "string" }, "registrationCardNo": { "description": "Unique identifier of the police registration card number.", "type": "string", "minLength": 0, "maxLength": 40 }, "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems. In case of Travel Agent the IATA code and in case of Company can be any form of identifier as id.", "$ref": "#/definitions/profileIdList" }, "externalReferences": { "description": "External References information for this Profile. Will be returned in getReservations and getHotelReservations when the 'profileExternalReferencesToFetch' query parameter is sent.", "$ref": "#/definitions/externalReferencesType" } } }, "profileIdList": { "type": "array", "description": "Unique Id that references an object uniquely in the system.", "maxItems": 4000, "items": { "$ref": "#/definitions/uniqueID_Type" } }, "guestLastStayInfoType": { "type": "object", "description": "Contains last stay related details of the guest.", "properties": { "lastStayDate": { "description": "Guest's last stay date.", "type": "string", "format": "date" }, "lastStayRoom": { "description": "Room Number where the guest stayed.", "type": "string", "minLength": 0, "maxLength": 20 }, "lastStayRate": { "description": "The Rate amount of the guest's last stay.", "$ref": "#/definitions/currencyAmountType" }, "totalStay": { "description": "The total number of previous stay of the guest.", "type": "integer" } } }, "nameTypeType": { "type": "string", "enum": [ "Guest", "Company", "Agent", "Contact", "Source", "Group", "Employee", "Hotel", "Purge" ] }, "resSharedGuestListType": { "type": "array", "description": "Collection of shared guest reservations.", "maxItems": 4000, "items": { "$ref": "#/definitions/resSharedGuestInfoType" } }, "resSharedGuestInfoType": { "type": "object", "description": "Contains information regarding the share reservation.", "properties": { "profileId": { "$ref": "#/definitions/profileId" }, "reservationId": { "$ref": "#/definitions/reservationId" }, "firstName": { "description": "Given name, first name or names", "type": "string" }, "lastName": { "description": "Family name, last name.", "type": "string" }, "fullName": { "description": "String representation of the full name", "type": "string" } } }, "profileId": { "type": "object", "description": "An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).", "properties": { "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" } } }, "resAttachedProfileListType": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/resAttachedProfileType" } }, "resAttachedProfileType": { "type": "object", "properties": { "name": { "description": "Attached profile name", "type": "string" }, "profileIdList": { "description": "Collection of unique profile identifiers", "$ref": "#/definitions/profileIdList" }, "reservationProfileType": { "$ref": "#/definitions/resProfileTypeType" }, "externalReferences": { "description": "External References information for this Profile. Will be returned in getReservations and getHotelReservations when the 'profileExternalReferencesToFetch' query parameter is sent.", "$ref": "#/definitions/externalReferencesType" } } }, "resProfileTypeType": { "type": "string", "enum": [ "Guest", "Company", "Group", "TravelAgent", "Source", "ReservationContact", "BillingContact", "Addressee" ] }, "reservationPaymentMethodType": { "type": "object", "properties": { "paymentCard": { "$ref": "#/definitions/resPaymentCardType" }, "balance": { "$ref": "#/definitions/currencyAmountType" }, "authorizationRule": { "$ref": "#/definitions/authorizationRuleType" }, "emailFolioInfo": { "description": "Information on an email for the customer.", "type": "object", "properties": { "email": { "description": "eMail deatils for the profile.", "$ref": "#/definitions/emailType" }, "emailFolio": { "type": "boolean" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "paymentMethod": { "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "folioView": { "type": "integer" }, "confidential": { "type": "boolean", "description": "Flag indicating a billing window (2-8) as confidential. Applied only when Confidential Billing Window Opera Control is active." } } }, "resPaymentCardType": { "type": "object", "description": "Information on a credit card for the customer.", "properties": { "cardId": { "description": "credit card id", "$ref": "#/definitions/uniqueID_Type" }, "currentAuthorizedAmount": { "$ref": "#/definitions/currencyAmountType" }, "approvalAmountNeeded": { "$ref": "#/definitions/currencyAmountType" }, "approvalCode": { "description": "Approval code sent by the credit card company on a successful authorization.", "type": "string", "minLength": 0, "maxLength": 20 }, "cardType": { "description": "Indicates the type of credit card from a defined list", "$ref": "#/definitions/cardTypeType" }, "userDefinedCardType": { "description": "Indicates the user defined credit card type if credit card type from a defined list is not provided", "type": "string", "minLength": 0, "maxLength": 2 }, "cardNumber": { "type": "string", "minLength": 0, "maxLength": 80 }, "cardNumberMasked": { "type": "string", "minLength": 0, "maxLength": 80 }, "cardNumberLast4Digits": { "type": "string", "minLength": 0, "maxLength": 80 }, "expirationDate": { "description": "Expiration date of the credit card", "type": "string", "format": "date" }, "expirationDateMasked": { "description": "Masked Expiration date of the credit card", "type": "string", "minLength": 0, "maxLength": 20 }, "expirationDateExpired": { "type": "boolean" }, "cardHolderName": { "type": "string", "minLength": 0, "maxLength": 200 }, "storeToCreditCardWallet": { "description": "Indicate whether the credit card will be stored to the credit card wallet or not.", "type": "boolean" }, "processing": { "description": "This contains information on whether EFT is enabled. A value of 'C' indicates EFT is enabled and 'M' indicates manual authorization is available for this payment card type.", "$ref": "#/definitions/cardProcessingType" }, "swiped": { "type": "boolean" }, "cardPresent": { "description": "Flag to determine if the credit card was swiped/manually entered , This element is only used when PAYMENT SERVICE DIRECTIVE(PSD) Opera Control is active.", "type": "boolean" }, "cardOrToken": { "description": "This contains information on whether credit card is tokenized (token enabled). A value of 'Token' indicates credit card is token enabled and 'CardNumber' indicates non token environment for this payment card type.", "$ref": "#/definitions/cardNumberTypeType" }, "citId": { "description": "Customer Initiated Transaction(CIT) Id for Credit Cards. This is only used when PAYMENT SERVICES DIRECTIVE (PSD2) Opera Control is active.", "type": "string", "minLength": 0, "maxLength": 30 } } }, "cardTypeType": { "type": "string", "description": "This is required for Credit Card Payment Methods. This indicates the type of Credit Card associated with this payment method.", "enum": [ "Ab", "Am", "Ax", "Cb", "Dc", "Ds", "Dt", "Ec", "Er", "Jc", "Jl", "Mc", "Nb", "So", "St", "Sw", "Va", "Xy", "Zz", "Cp", "Cu" ] }, "cardProcessingType": { "type": "string", "enum": [ "Eft", "Manual" ] }, "cardNumberTypeType": { "type": "string", "description": "Simple type for indicating if credit card number is tokenized.", "enum": [ "CardNumber", "Token" ] }, "authorizationRuleType": { "type": "object", "description": "Configured rule for computing the amount to authorize.", "properties": { "code": { "description": "The authorization rule code.", "type": "integer", "pattern": "[0-9]{1,9}" }, "amount": { "description": "The amount applicable to the authorization rule.", "$ref": "#/definitions/currencyAmountType" }, "percent": { "description": "A percentage value if the authorization rule is percentage based.", "type": "number" } } }, "emailType": { "type": "object", "description": "Information on an email for the customer.", "properties": { "emailAddress": { "description": "Defines the e-mail address.", "type": "string", "minLength": 0, "maxLength": 2000 }, "type": { "description": "Defines the purpose of the e-mail address (e.g. personal, business, listserve).", "type": "string", "minLength": 0, "maxLength": 20 }, "typeDescription": { "description": "Describes the Type code", "type": "string", "minLength": 0, "maxLength": 2000 }, "emailFormat": { "description": "Supported Email format.", "type": "string", "enum": [ "Html", "Text" ] }, "primaryInd": { "description": "When true, indicates a primary information.", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "reservationFolioWindowsType": { "type": "array", "description": "Collection of reservation folio windows.", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationFolioWindowType" } }, "reservationFolioWindowType": { "type": "object", "description": "Folio window view which holds the set of folios for a reservation.", "properties": { "payeeInfo": { "description": "The window's configured payee information.", "$ref": "#/definitions/payeeInfoType" }, "balance": { "description": "Running balance of the window.", "$ref": "#/definitions/currencyAmountType" }, "paymentMethod": { "description": "Payment Method Type", "type": "string", "minLength": 0, "maxLength": 20 }, "folioWindowNo": { "type": "integer" } } }, "payeeInfoType": { "type": "object", "description": "Payee information.", "properties": { "payeeId": { "description": "Opera name id of the payee.", "$ref": "#/definitions/uniqueID_Type" }, "payeeName": { "description": "Name of the payee.", "type": "string", "minLength": 0, "maxLength": 80 }, "payeeAddress": { "description": "Address of the payee.", "$ref": "#/definitions/addressInfoType" } } }, "indicatorsType": { "type": "array", "description": "Collection of lamp indicators.", "maxItems": 4000, "items": { "$ref": "#/definitions/indicatorType" } }, "indicatorType": { "type": "object", "description": "Lamp indicator Type.", "properties": { "indicatorName": { "description": "Name of the indicator.", "type": "string", "minLength": 0, "maxLength": 80 }, "count": { "description": "Indicates number of occurrences of the indicator.", "type": "integer" } } }, "housekeepingRoomStatusType": { "type": "string", "description": "Simple type for room status instructions to be used in requests for fetching housekeeping rooms. Valid status values are Clean, Dirty, Pickup, Inspected, OutOfOrder, OutOfService.", "enum": [ "Clean", "Dirty", "Pickup", "Inspected", "OutOfOrder", "OutOfService" ] }, "searchMatchesType": { "type": "array", "description": "List of Generic Name-Value-Pair Parameters used for super search matches.", "maxItems": 4000, "items": { "$ref": "#/definitions/searchMatchType" } }, "searchMatchType": { "type": "object", "description": "Search match indicating attribute and the matching value.", "properties": { "attribute": { "description": "Search match attribute.", "type": "string", "minLength": 0, "maxLength": 2000 }, "value": { "description": "Search match value.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "sourceOfSaleType": { "type": "object", "description": "Point of Sale of reservation. Identifies the entity/channel who made the reservation.", "properties": { "sourceType": { "description": "Type of entity/channel who made the reservation..", "type": "string", "minLength": 0, "maxLength": 40 }, "sourceCode": { "description": "The entity/channel who made the reservation.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "waitlistResType": { "type": "object", "description": "Information regarding why reservation is being /has been waitlisted.", "properties": { "reasonDescription": { "description": "Waitlist Reason Description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "priorityDescription": { "description": "Waitlist priority Description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "description": { "description": "Description why the reservation is being /has been waitlisted.", "type": "string", "minLength": 0, "maxLength": 2000 }, "reasonCode": { "description": "Waitlist Reason Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "priorityCode": { "description": "Waitlist Priority Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "telephone": { "description": "Guest telephone number.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "reservationQueueInformationType": { "type": "object", "description": "Information regarding the Date, Duration and Priority of the reservation on Queue for Check in.", "properties": { "timeSpan": { "description": "Allows for a choice in description of the amount of time spanned by this type. EndDate specifies a specific date, while Duration provides a measure of time to add to the StartDate to yield end date.", "type": "object", "properties": { "startDate": { "type": "string", "format": "date" }, "endDate": { "type": "string", "format": "date" }, "duration": { "type": "string" }, "durationInSeconds": { "description": "The total duration, in seconds, the reservation is on Queue.", "type": "integer" } } }, "guestTextInfo": { "description": "Information for the message sent to the user", "$ref": "#/definitions/queueTextInfoType" }, "priority": { "description": "The Queue Priority given to this reservation.", "type": "integer" }, "averageQueueTimeToCheckIn": { "description": "The average time, in seconds, a reservation was on queue prior to Check-In.", "type": "integer" }, "averageQueueTimeCurrentReservations": { "description": "The average time, in seconds, of the reservations currently in queue.", "type": "integer" }, "queueDate": { "description": "The Business date on which the reservation was due to arrive and is currently placed on Queue for Check In.", "type": "string", "format": "date" } } }, "queueTextInfoType": { "type": "object", "description": "Information regarding the message sent to guest.", "properties": { "sentTime": { "description": "Time the text was last sent to the user. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "sentBy": { "description": "User name of the user who sent message.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "resHousekeepingType": { "type": "object", "description": "Holds housekeeping turndown service information for the room.", "properties": { "instructions": { "description": "Turndown instructions for the room.", "type": "string" }, "turndownRequested": { "description": "Indicates whether guest wants turndown facility or not.", "type": "boolean" }, "expectedServiceTime": { "description": "Expected Start Time for housekeeping task(s).", "type": "string" }, "roomStatus": { "description": "Current room status. Current room status is populated only if room is assigned to the reservation and reservation is due in or in house.", "$ref": "#/definitions/housekeepingRoomStatusType" }, "frontOfficeStatus": { "description": "Front office status ( Occupied/Vacant ).", "$ref": "#/definitions/frontOfficeRoomStatusType" }, "housekeepingStatus": { "description": "Housekeeping status ( Occupied/Vacant ).", "$ref": "#/definitions/frontOfficeRoomStatusType" } } }, "resCashieringType": { "type": "object", "description": "Cashiering Information for the reservation.", "properties": { "revenuesAndBalances": { "description": "Revenues and Balances Amount summary for the reservation.", "$ref": "#/definitions/resRevenueBalanceType" }, "billingPrivileges": { "description": "Billing privileges set on the reservation.", "$ref": "#/definitions/billingPrivilegesType" }, "taxType": { "$ref": "#/definitions/reservationTaxTypeInfo" }, "bedTaxReporting": { "description": "This stores the information for Bed Tax Reporting. Mainly used in Maldives.", "$ref": "#/definitions/bedTaxReportingType" }, "folioTexts": { "description": "Additional text fields to display on the folio.", "$ref": "#/definitions/folioTextsType" }, "compAccounting": { "description": "Information regarding comp accounting on the reservation.", "$ref": "#/definitions/resCompAccountingType" }, "reservationPreConfiguredRoutingInstruction": { "description": "Information regarding the selected preconfigured routing instruction on the reservation. This will be used when Multiple Promotion Code Comp Routings is inactive.", "$ref": "#/definitions/resPreConfiguredRoutingInstrType" }, "lastRoomAndTaxPostedDate": { "description": "Date of the last Room And Tax posting. Used primarily to know the date in case of Advance Billing.", "type": "string", "format": "date" }, "reverseCheckInAllowed": { "description": "This attribute is to verify if reverse check-in is allowed for the reservation.", "type": "boolean" }, "reverseAdvanceCheckInAllowed": { "description": "This attribute is to verify if reverse advance check-in is allowed for the reservation.", "type": "boolean" }, "transactionsPosted": { "description": "Specifies whether reservation has a financial transaction associated with it.", "type": "boolean" }, "reservationPreConfiguredRoutingInstructions": { "description": "Information regarding the selected preconfigured routing instructions on the reservation. This will be used when Multiple Promotion Code Comp Routings is active.", "$ref": "#/definitions/reservationPreConfiguredRoutingInstructionsType" } } }, "resRevenueBalanceType": { "type": "object", "description": "Revenue and Balance Amount summary for the reservation.", "properties": { "totalFixedCharge": { "description": "Total Fixed Charges on the reservation.", "$ref": "#/definitions/currencyAmountType" }, "totalPayment": { "description": "Total of all payments on the guest ledger for the reservation.", "$ref": "#/definitions/currencyAmountType" }, "roomRevenue": { "description": "Room Revenue generated by the reservation.", "$ref": "#/definitions/currencyAmountType" }, "foodAndBevRevenue": { "description": "Food and Beverage Revenue generated by the reservation.", "$ref": "#/definitions/currencyAmountType" }, "otherRevenue": { "description": "Other Revenue generated by the reservation.", "$ref": "#/definitions/currencyAmountType" }, "nonRevenue": { "description": "Total Non Revenue posted on the reservation.", "$ref": "#/definitions/currencyAmountType" }, "totalRevenue": { "description": "Total Revenue generated by the reservation.", "$ref": "#/definitions/currencyAmountType" }, "balance": { "description": "Balance amount on the reservation.", "$ref": "#/definitions/currencyAmountType" }, "compBalance": { "description": "Comp Balance amount", "$ref": "#/definitions/currencyAmountType" }, "totalDepositPaid": { "description": "Total of all deposit payment posted to the reservation.", "$ref": "#/definitions/currencyAmountType" } } }, "billingPrivilegesType": { "type": "object", "description": "This stores the information for Bed Tax Reporting. Mainly used in Maldives.", "properties": { "excludeFromAutoAuthorization": { "description": "Indicates if the reseravtion will be excluded from auto athorization of Credit Cards.", "type": "boolean" }, "postingRestriction": { "description": "Flag used by interface program during check in.", "type": "boolean" }, "preStayCharging": { "description": "Indicates if the reservation has charging privileges before arrival.", "type": "boolean" }, "postStayCharging": { "description": "Indicates if the reservation has charging privileges after checkout.", "type": "boolean" }, "videoCheckout": { "description": "Indicates if the guest can do video checkout", "type": "boolean" }, "allowAutoCheckin": { "description": "Indicated if a new reservation should be created and automatically checked in whenever the room is checked out. Available for pseudo room types only.", "type": "boolean" }, "autoSettlement": { "description": "Indicates if the is a candidate for auto folio settlement.", "type": "boolean" }, "autoSettlementType": { "description": "The folio settlement type for auto folio settlement.", "type": "string", "minLength": 0, "maxLength": 40 }, "autoSettlementFreq": { "description": "The interval of days between each auto folio settlement.", "type": "integer" }, "creditLimitAutoPay": { "description": "Indicates if the reservation will be included in the Automatic Credit Limit Overages process and also be listed in the Credit Limit Overages screen results.", "type": "boolean" } } }, "reservationTaxTypeInfo": { "type": "object", "description": "Provides information about the Tax Type.", "properties": { "code": { "description": "Code of the Tax Type.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of the Tax Type.", "type": "string", "minLength": 0, "maxLength": 2000 }, "taxExemptNo": { "description": "Tax exempt number on the profile.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "bedTaxReportingType": { "type": "object", "description": "This stores the information for Bed Tax Reporting. Mainly used in Maldives.", "properties": { "taxRegistrationNo": { "description": "Tax Registration Number for Maldives Bed Tax Reporting.", "type": "number" } } }, "folioTextsType": { "type": "array", "description": "This stores the description for the type of tax calculation especially with tax exemption, etc.", "maxItems": 2, "items": { "type": "object", "properties": { "text": { "description": "Additional text field to display on the folio.", "type": "string", "minLength": 0, "maxLength": 50 }, "row": { "description": "Row number of the additional text.", "type": "integer" } } } }, "resCompAccountingType": { "type": "object", "description": "Information regarding comp accounting on the reservation.", "properties": { "compType": { "description": "Code used to identify the casino comp type and ranking of a guest.", "type": "string", "minLength": 0, "maxLength": 20 }, "authorizer": { "description": "ID of the employee who will act as the host for this guest.", "type": "string", "minLength": 0, "maxLength": 40 }, "compPostings": { "description": "Indicates if the Comp Billing/posting Exist", "type": "string", "minLength": 0, "maxLength": 5 } } }, "resPreConfiguredRoutingInstrType": { "type": "object", "description": "Instruction to attach Pre-Configured Routing Instructions to a Reservation.", "properties": { "authorizerInfo": { "description": "The authorizer information for Promotion Code with attached Complimentary Routing", "$ref": "#/definitions/authorizerInfoType" }, "ratePlanCode": { "description": "Rate Code with attached Routing Instruction.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileType": { "description": "Profile Type with attached Routing Instruction.", "$ref": "#/definitions/resProfileTypeType" }, "promotionCode": { "description": "Promotion Code with attached Complimentary Routing.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileId": { "description": "Profile Id with attached Routing Instruction.", "$ref": "#/definitions/profileId" }, "beginDate": { "description": "Begin Date for attached Routing Instruction.", "type": "string", "format": "date" }, "endDate": { "description": "End Date for attached Routing Instruction.", "type": "string", "format": "date" }, "folioView": { "description": "Folio Window.", "type": "integer" } } }, "authorizerInfoType": { "type": "object", "description": "Authorizer Information", "properties": { "authorizerId": { "$ref": "#/definitions/uniqueID_Type" }, "authorizerUserName": { "description": "Application user name of the authorizer", "type": "string", "minLength": 0, "maxLength": 40 }, "authorizerName": { "description": "Full name of the authorizer.", "type": "string", "minLength": 0, "maxLength": 100 }, "authorizerRateCode": { "description": "Rate code of the authorizer.", "type": "string", "minLength": 0, "maxLength": 20 }, "inheritAuthorizerRateCode": { "description": "Indicates whether user has the choice to have reservation inherit rate code from the authorizer.", "type": "boolean" } } }, "taxTypeType": { "type": "object", "description": "Provides information about the Tax Type.", "properties": { "code": { "description": "Code of the Tax Type.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of the Tax Type.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "reservationDepositType": { "type": "object", "description": "Reservation Deposit Type.", "properties": { "amountPaid": { "description": "Deposit Amount Paid.", "type": "number" }, "dueDate": { "description": "Deposit Due Date.", "type": "string", "format": "date" }, "postingDate": { "description": "Deposit Posting Date.", "type": "string", "format": "date" }, "hasPaid": { "description": "Resolves whether reservation has paid deposit.", "type": "boolean" }, "hasOutstanding": { "description": "Resolves whether reservation has outstanding deposit.", "type": "boolean" }, "amountRequired": { "description": "Deposit Amount Required.", "type": "number", "minLength": 0, "maxLength": 40 }, "amountOwed": { "description": "Deposit Amount Oustanding.", "type": "number", "minLength": 0, "maxLength": 40 } } }, "reservationAllowedActionsType": { "type": "array", "description": "Allowed action.", "maxItems": 11, "items": { "$ref": "#/definitions/reservationAllowedActionType" } }, "reservationAllowedActionType": { "type": "string", "description": "Flag indicating whether the Enrollment is in progress or not for the Profile associated with this Reservation.", "enum": [ "Cancel", "Move", "PreCharge", "PostCharge", "FacilitySchedule", "Upsell", "PreCheckIn", "PostToNoShowCancel", "NoShow", "NameChange", "Discount", "HouseKeeping", "EnrollToPrimaryMembership", "EnrollInProgress", "MemberAwardAttached", "UpgradeAwardAttached", "DiscountAwardAttached" ] }, "resMobileNotificationsType": { "type": "object", "description": "Contains the status of Room Ready and Key Ready messages.", "properties": { "roomReady": { "description": "Denotes the status of Room Ready message. It can have one of the values:PENDING, COMPLETED or FAILED", "$ref": "#/definitions/communicationStatusType" }, "keyReady": { "description": "Denotes the status of Key Ready message. It can have one of the values:PENDING, COMPLETED or FAILED", "$ref": "#/definitions/communicationStatusType" }, "checkoutMessageReceived": { "description": "Indicates if the Mobile checkout message is received.", "type": "boolean" }, "requiresAction": { "description": "Indicates if user action is required. The action could be for sending Room Ready or Key Ready Notification. It could also be for initiating Checkout", "type": "boolean" }, "errorMessage": { "description": "Error message when Mobile Notification has failed.", "type": "string" } } }, "communicationStatusType": { "type": "string", "description": "Enum to denote the Status of Readiness messages sent to Guest Devices.", "enum": [ "Pending", "Completed", "Failed", "Sent", "Received", "Cancelled", "PendingAvailability" ] }, "resCommunicationType": { "type": "object", "description": "Communication details for a reservation.", "properties": { "telephones": { "description": "List of Telephone Number Information", "type": "object", "properties": { "telephoneInfo": { "description": "Collection of Detailed information on telephone/fax for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/telephoneInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "emails": { "description": "List of email address for the customer.", "type": "object", "properties": { "emailInfo": { "description": "Collection of Detailed information on an eMail address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/emailInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } } } }, "telephoneInfoType": { "type": "object", "description": "Information on a telephone number for the customer.", "properties": { "telephone": { "description": "Phone details for the profile.", "$ref": "#/definitions/telephoneType" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "telephoneType": { "type": "object", "description": "Information on a telephone number for the customer.", "properties": { "phoneTechType": { "description": "Indicates type of technology associated with this telephone number, such as Voice, Data, Fax, Pager, Mobile, TTY, etc.", "type": "string", "minLength": 0, "maxLength": 20 }, "phoneUseType": { "description": "Describes the type of telephone number, in the context of its general use (e.g. Home, Business, Emergency Contact, Travel Arranger, Day, Evening).", "type": "string", "minLength": 0, "maxLength": 20 }, "phoneUseTypeDescription": { "description": "Description of the PhoneUseType code", "type": "string", "minLength": 0, "maxLength": 2000 }, "phoneNumber": { "description": "Telephone number assigned to a single location.", "type": "string", "minLength": 0, "maxLength": 40 }, "extension": { "description": "Extension to reach a specific party at the phone number.", "type": "string", "minLength": 0, "maxLength": 20 }, "primaryInd": { "description": "When true, indicates a primary information.", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "emailInfoType": { "type": "object", "description": "Information on an email for the customer.", "properties": { "email": { "description": "eMail deatils for the profile.", "$ref": "#/definitions/emailType" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "advanceCheckInType": { "type": "object", "description": "Information relating to Reservation's Advance Checked In state and Expected Time of Return", "properties": { "advanceCheckedIn": { "description": "Indicates if the reservation is marked as Advance Checked In", "type": "boolean" }, "expectedReturnTime": { "description": "Expected Return Time in the property's timezone. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "eTRComments": { "description": "ETR Comments", "type": "string", "minLength": 0, "maxLength": 2000 }, "advanceCheckInTime": { "description": "Time in the property's timezone the reservation is advance checked in, returned only with operation getReservation when a reservation is advance checked in. Uses the hotel's time zone.", "type": "string", "format": "date-time" } } }, "pMS_ResStatusType": { "type": "string", "description": "This reservation is in checked in status and the business date is past departure date. This could occur when ORS and PMS are in same environment.", "enum": [ "Reserved", "Requested", "NoShow", "Cancelled", "InHouse", "CheckedOut", "Waitlisted", "DueIn", "DueOut", "Walkin", "PendingCheckout" ] }, "resAccessRestrictionType": { "type": "string", "description": "Indicates any Updates/Changes on the reservation as well as Reservation Cancellation are not allowed.", "enum": [ "Change", "Cancel", "ChangeOrCancel" ] }, "commissionPayoutToType": { "type": "string", "enum": [ "TravelAgent", "Source", "TravelAgentSource", "None" ] }, "masterInfoType": { "type": "object", "properties": { "codeInfo": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/codeInfoType" } }, "codeType": { "$ref": "#/definitions/masterType" } } }, "codeInfoType": { "type": "object", "description": "", "properties": { "description": { "type": "string", "minLength": 0, "maxLength": 80 }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "code": { "type": "string", "minLength": 0, "maxLength": 20 } } }, "masterType": { "type": "string", "enum": [ "Country", "State", "AddressType", "PhoneType", "RateCategory", "CalculationRule", "PostingRythym", "BillingInstruction", "TransactionCode", "DisplaySet", "MailingActions", "DistanceType", "District", "Territory", "FiscalRegion", "InventoryItem", "Package", "RoomFeaturePreference", "SpecialPreference", "Promotion", "Department", "ReservationPreference", "FacilityTask", "RoomType", "RateCode", "OutOfOrderReason", "Block" ] }, "awardUpgrades": { "type": "object", "description": "Response object for available award upgrades.", "properties": { "awardUpgradeInfo": { "$ref": "#/definitions/awardUpgradeInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "awardUpgradeInfoType": { "type": "object", "properties": { "membershipType": { "description": "The type of the membership.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipCardNo": { "description": "The card number associated with this membership.", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipLevel": { "description": "The current level of the membership.", "type": "string", "minLength": 0, "maxLength": 20 }, "fromRoomType": { "description": "From Room type associated with the award.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationTimeSpan": { "description": "Arrival and Departure dates of the reservation.", "$ref": "#/definitions/timeSpanType" }, "membershipPoints": { "description": "Current membership points available for this guest.", "type": "integer" }, "awardUpgradeSummaries": { "description": "Summary information related to award upgrade.", "$ref": "#/definitions/awardUpgradeSummariesType" }, "hotelId": { "description": "Property associated with the award upgrade.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "awardUpgradeSummariesType": { "type": "array", "description": "Summary information related to award upgrade.", "maxItems": 4000, "items": { "$ref": "#/definitions/awardUpgradeSummaryType" } }, "awardUpgradeSummaryType": { "type": "object", "properties": { "awardCode": { "description": "User configured award code.", "type": "string", "minLength": 0, "maxLength": 40 }, "fromRoomType": { "description": "From Room type associated with the award.", "type": "string", "minLength": 0, "maxLength": 20 }, "toRoomType": { "description": "To Room type associated with the award.", "type": "string", "minLength": 0, "maxLength": 20 }, "pointsRequired": { "description": "Total Number of points required for the award.", "type": "integer" }, "penaltyPoints": { "description": "Total Number of penalty points if cancelled.", "type": "integer" }, "penaltyDays": { "description": "Number days before arrival to apply penalty for cancellation.", "type": "integer" }, "penaltyCharge": { "description": "Number points deducted if award is cancelled.", "type": "integer" }, "penaltyType": { "description": "Type of cancel penalty like Points, etc.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardUpgradeDetails": { "description": "Daily Details related to award upgrade.", "$ref": "#/definitions/awardUpgradeDetailsType" } } }, "awardUpgradeDetailsType": { "type": "array", "description": "Daily Details related to award upgrade.", "maxItems": 4000, "items": { "$ref": "#/definitions/awardUpgradeDetailType" } }, "awardUpgradeDetailType": { "type": "object", "properties": { "date": { "description": "Date on which the award details like points required and penalty points are applicable.", "type": "string", "format": "date" }, "pointsRequired": { "description": "Points required for the award detail date.", "type": "integer" }, "penaltyPoints": { "description": "Penalty Points applicable for the award detail date.", "type": "integer" } } }, "reservationAwards": { "type": "object", "description": "Response of fetch awards for a reservation.", "properties": { "reservationAwards": { "description": "Reservation awards and certificates.", "$ref": "#/definitions/awardsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "awardsType": { "type": "array", "description": "List of awards.", "maxItems": 4000, "items": { "$ref": "#/definitions/awardType" } }, "awardType": { "type": "object", "description": "Detailed information of the awards.", "properties": { "awardCode": { "description": "Award category.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardType": { "description": "Can be P (Paper) or E (E-Certificate).", "$ref": "#/definitions/awardKindType" }, "description": { "description": "Description of the award/certificate.", "type": "string" }, "certificateNo": { "description": "Certificate No.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipNo": { "description": "Membership No.", "type": "string" }, "hotelId": { "description": "Hotel Code for which the routing instructions are provided for a profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelCategory": { "description": "Indicates the lowest hotel category for which the certificate is valid.", "type": "string", "minLength": 0, "maxLength": 20 }, "externalHotelCode": { "description": "Hotel Code of the CRS application that this certificate belongs to.", "type": "string", "minLength": 0, "maxLength": 20 }, "externalConfirmationNo": { "description": "Confirmation Number given by a CRS application for this reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "categoryValid": { "description": "Indicates whether the category of certificate is valid or not for this resort.", "type": "boolean" }, "reservationCertificateType": { "description": "[R]=Reward, [I]=Incentive.", "$ref": "#/definitions/reservationCertificateType" }, "rewardCertificateType": { "description": "[RE]=Regular Certificate, [SA]=Stay Anytime Certificate, [PS]=Point Saver Certificate.", "$ref": "#/definitions/rewardCertificateType" }, "status": { "description": "Status of the award aka available.", "$ref": "#/definitions/awardStatusType" }, "expirationDate": { "description": "Expiration Date.", "type": "string", "format": "date" }, "gift": { "description": "Signifies whether award is gift or not.", "type": "boolean" }, "upgrade": { "description": "Signifies whether upgrade award or not.", "type": "boolean" }, "package": { "description": "Signifies whether upgrade is package or not.", "type": "boolean" }, "instantlyRedeemable": { "description": "Indicates if the award is an Instant Redemption award.", "type": "boolean" }, "paidUpgrade": { "description": "Indicates if this certificate was ordered using the \"Paid Upgrade\" option in the E-Certs screen.", "type": "boolean" }, "detailedCertificate": { "description": "Indicates if this certificate is detailed or not.", "type": "boolean" }, "nights": { "description": "Award Nights.", "type": "integer" }, "sourceType": { "description": "MRW : From MRW MAN:Entered manually.", "type": "string" }, "points": { "description": "No. of points used to order this award.", "type": "number" }, "reservationId": { "description": "Reservation IDs will be empty if award is not attached.", "$ref": "#/definitions/reservationId" }, "profileId": { "description": "Unique profile identifier requested to be fetched.", "$ref": "#/definitions/profileId" }, "quantity": { "description": "Quantity of such awards needed to be ordered.", "type": "integer" }, "displaySequence": { "description": "Indicates the order in which the certificates received from MRW.", "type": "number" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" } } }, "awardKindType": { "type": "string", "description": "Indicates that this is electronic certificate.", "enum": [ "Paper", "ECertificate" ] }, "reservationCertificateType": { "type": "string", "description": "Certificate is incentive.", "enum": [ "Reward", "Incentive" ] }, "rewardCertificateType": { "type": "string", "description": "Point Saver reward.", "enum": [ "Regular", "StayAnytime", "PointSaver" ] }, "awardStatusType": { "type": "string", "description": "Indicates that certificate is in use.", "enum": [ "Available", "NotAvailable", "InUse" ] }, "reservationId": { "type": "object", "description": "An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).", "properties": { "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 } } }, "createReservation": { "type": "object", "description": "Request object to create reservations. Includes instructions for information which needs to be returned.", "properties": { "reservations": { "description": "Collection of Reservations which have to be created.", "$ref": "#/definitions/hotelReservationsType" }, "fetchInstructions": { "description": "Instruction on what has to be fetched. Refer to Generic common types document.", "type": "array", "items": { "$ref": "#/definitions/reservationInstructionType" } }, "reservationsInstructionsType": { "description": "Collection of Reservations which have to be created.", "$ref": "#/definitions/reservationsInstructionsType" }, "channelInformation": { "description": "Channel specific information to be received in case the reservation is being created through a channel.", "$ref": "#/definitions/channelResvRQInfoType" }, "reservationNotification": { "description": "Boolean flag that forces reservation to updates in OPERA. By default, this value is false.", "type": "boolean", "default": false }, "externalDailyRates": { "type": "array", "description": "Collection of room rate information provided by an external application on a daily basis to be applied to share reservation based on the share rate distribution method. To be used when OPERA Control parameter 'External Availability, Rates and Inventory' is active.", "maxItems": 4000, "items": { "$ref": "#/definitions/externalDailyRateType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "hotelReservationsType": { "type": "object", "description": "A collection of Reservation objects and Unique IDs of Reservation.", "properties": { "reservation": { "description": "A collection of Reservations.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/hotelReservationType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "hotelReservationType": { "type": "object", "description": "The Reservation class contains the current reservation being created or altered.", "properties": { "reservationIdList": { "description": "Used to provide PMS and/or CRS identifiers.", "$ref": "#/definitions/reservationIdList" }, "externalReferences": { "description": "External Reference information for Reservation. Please note, for id and idContext elements within externalReferences for the reservation the following maximum character limits are applicable: 50 maximum characters for id and 20 maximum characters for idContext.", "$ref": "#/definitions/externalReferencesType" }, "sourceOfSale": { "description": "Point of Sale of reservation. Identifies the entity/channel who made the reservation.", "$ref": "#/definitions/sourceOfSaleType" }, "roomStay": { "description": "Room stays information.", "$ref": "#/definitions/roomStayType" }, "compAuthorizer": { "description": "Reservation Comp Authorizer.", "$ref": "#/definitions/compAuthorizerInfoType" }, "reservationGuests": { "description": "Collection of guests associated with the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/resGuestType" } }, "sharedGuests": { "description": "Collection of guests who share this reservation.", "$ref": "#/definitions/resSharedGuestListType" }, "additionalGuestInfo": { "description": "Entry Date into the country. (Croatian Requirements).", "$ref": "#/definitions/resGuestAdditionalInfoType" }, "reservationProfiles": { "description": "Collection of guests associated with the reservation.", "type": "object", "properties": { "reservationProfile": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationProfileType" } }, "commissionPayoutTo": { "description": "If not null, reservation is considered to pay out commission to either Travel Agent, Source or both.", "$ref": "#/definitions/commissionPayoutToType" } } }, "reservationCommunication": { "description": "Collection of reservation communication details.", "$ref": "#/definitions/resCommunicationType" }, "trackItItems": { "description": "Collection of TrackIt Items available for that reservation", "$ref": "#/definitions/trackItItemsType" }, "locators": { "description": "Collection of Locators available for that reservation", "$ref": "#/definitions/reservationLocatorsType" }, "attachments": { "description": "Collection of attachments available for that reservation", "$ref": "#/definitions/attachmentsType" }, "webRegistrationCards": { "description": "Collection of Web Registration Cards available for that reservation", "$ref": "#/definitions/attachmentsType" }, "serviceRequests": { "description": "Collection of Service Requests available for that reservation", "$ref": "#/definitions/serviceRequests" }, "reservationActivities": { "description": "Collection of Reservation Activities available for that reservation", "$ref": "#/definitions/activityLookUpList" }, "scheduledActivities": { "description": "Collection of Scheduled Activities available for that reservation", "$ref": "#/definitions/activityLookUpList" }, "prepaidCards": { "description": "Collection of Prepaid Cards available for that reservation", "$ref": "#/definitions/prepaidCardsType" }, "profileAwards": { "description": "Collection of profile awards available for that reservation", "$ref": "#/definitions/awardsType" }, "reservationPackages": { "description": "A Service object represents a non-room product provided to guests. Service products may have associated inventory and charges.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationPackageType" } }, "rateSummary": { "description": "Rate Summary of the Reservation.", "$ref": "#/definitions/reservationRateSummaryType" }, "inventoryItems": { "description": "A collection of inventory items attached to a reservation.", "$ref": "#/definitions/resInventoryItemsType" }, "comments": { "description": "List of Notes for the Guest related to the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "guestComments": { "description": "List of Notes for the Guest related to the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "guestMemberships": { "description": "List of Memberships for the Guest related to the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/membershipType" } }, "preferenceCollection": { "description": "Collection of reservation preferences.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/preferenceTypeType" } }, "reservationMemberships": { "description": "List of reservation memberships.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationMembershipType" } }, "reservationPaymentMethods": { "description": "A collection of Payment Method objects.", "$ref": "#/definitions/reservationPaymentMethodsType" }, "routingInstructions": { "description": "Set of Routing Instructions.", "$ref": "#/definitions/routingInfoListType" }, "reservationPolicies": { "description": "A collection of Cancellation Penalties objects.", "$ref": "#/definitions/reservationPoliciesType" }, "cashiering": { "description": "Holds cashiering related information for the reservation.", "$ref": "#/definitions/resCashieringType" }, "housekeeping": { "description": "Holds rooms housekeeping information.", "$ref": "#/definitions/resHousekeepingType" }, "linkedReservation": { "description": "Reservations related to the current Reservation.", "$ref": "#/definitions/linkedReservationsInfoType" }, "extSystemSync": { "type": "boolean" }, "userDefinedFields": { "description": "Collections of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" }, "reservationIndicators": { "description": "Indicators of additional information attached to the reservation", "$ref": "#/definitions/indicatorsType" }, "waitlist": { "description": "Information regarding why reservation has been/was waitlisted. This could hold information as history even if reservation is no more in Waitlist status.", "$ref": "#/definitions/waitlistResType" }, "cancellation": { "description": "Information regarding why reservation has been/was cancelled. This could hold information as history even if reservation is no more in in Cancelled status.", "type": "object", "properties": { "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "code": { "type": "string", "minLength": 0, "maxLength": 20 }, "cancellationNo": { "description": "Cancellation Number given when reservation was last cancelled.", "$ref": "#/definitions/uniqueID_Type" }, "date": { "description": "Date when reservation was last cancelled.", "type": "string", "format": "date" } } }, "catering": { "description": "Catering event information if reservation is associated with the catering event.", "$ref": "#/definitions/cateringResInfoType" }, "alerts": { "description": "List of reservation alerts.", "$ref": "#/definitions/alertsType" }, "traces": { "description": "List of reservation Traces.", "$ref": "#/definitions/hotelReservationTracesType" }, "confirmationLetters": { "description": "List of reservation confirmation letters.", "$ref": "#/definitions/confirmationsType" }, "callHistory": { "description": "List of reservation calls.", "$ref": "#/definitions/callHistoryType" }, "fixedCharges": { "description": "List of reservation fixed charges.", "$ref": "#/definitions/fixedChargesType" }, "depositPayment": { "description": "Request to post a deposit payment to a reservation.", "$ref": "#/definitions/depositPaymentType" }, "guestMessages": { "description": "List of Messages.", "$ref": "#/definitions/guestMessagesType" }, "lockHandle": { "description": "An id representing the record lock for this reservation. When passed, update operation will verify that this lock is still valid.", "type": "number" }, "overrideInstructions": { "description": "List of overrides done for the reservation.", "$ref": "#/definitions/overrideInstructionsType" }, "queue": { "description": "Information about the time and duration this reservation was on Queue for Checkin.", "$ref": "#/definitions/reservationQueueInformationType" }, "allowedActions": { "description": "Collection of allowed actions for the reservation.", "$ref": "#/definitions/reservationAllowedActionsType" }, "eCoupons": { "description": "List of eCoupons.", "$ref": "#/definitions/eCouponsType" }, "transactionDiversions": { "description": "List of transaction diversions attached to the reservation.", "type": "object", "properties": { "transactionDiversions": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationTransactionDiversionsType" } }, "actionType": { "type": "string", "maxLength": 2000 } } }, "advanceCheckIn": { "description": "Information relating to Reservation's Advance Checked In state and Expected Time of Return", "$ref": "#/definitions/advanceCheckInType" }, "tickets": { "description": "List of Reservation Tickets.", "$ref": "#/definitions/ticketsType" }, "accessRestrictionMessage": { "description": "Configurable Access Restriction Message for Excluded Block or Rate Code.", "type": "string", "minLength": 0, "maxLength": 4000 }, "eCertificates": { "description": "List of ECertificates attached to the reservation.", "$ref": "#/definitions/reservationECertificatesType" }, "customNameValueDetail": { "description": "List of Custom Name Value Information attached to the reservation.", "$ref": "#/definitions/nameValueDetailType" }, "customChargeExemptionDetails": { "description": "List of Custom Charge Exemptions attached to the reservation.", "$ref": "#/definitions/customChargeExemptionsType" }, "folios": { "description": "This element returns any automatically generated folios during check-in, based on the Fetch Instruction \"AutoFolios\". When the parameter \"Auto Generate Credit Bill for Deposit upon Check In\" is enabled, during check-in credit bills are automatically generated for the deposits. The generated credit bill details are returned so that user can preview/print the folio. For some countries like Portugal, it is mandatory to print the folio and hence this information is needed", "$ref": "#/definitions/foliosShortInfoType" }, "autoBorrowFromHouse": { "description": "This flag will force to borrow from house if borrow required for number of rooms requested, this will only applicable when reservation is attached to a Block.", "type": "boolean" }, "overrideExternalChecks": { "description": "Forcefully override the create/update action on the Reservation. For real-time CRS interfaces, this element is used as force selling indicator in case of Create or Update Reservation", "type": "boolean" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "roomStayReservation": { "description": "Boolean True if this reservation is reserving rooms. False if it is only reserving services.", "type": "boolean" }, "reservationStatus": { "description": "Indicates the Actual status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "computedReservationStatus": { "description": "Indicates the Computed status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "walkIn": { "description": "When true, indicates the reservation is for a guest that walks-in without a reservation. When false, the reservation is not a walk-in.", "type": "boolean" }, "printRate": { "description": "Indicates whether to show the rate or not on a printed document which includes the rate.", "type": "boolean" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" }, "createBusinessDate": { "description": "Business Date when the reservation was created.", "type": "string", "format": "date" }, "reinstateDate": { "description": "Business Date when the reservation was last reinstated.", "type": "string", "format": "date" }, "party": { "description": "Party/PartyCode when reservation is part of a party(a small group).", "type": "string", "minLength": 0, "maxLength": 50 }, "primaryEnrollmentResort": { "description": "Name Of the Resort/Hotel for the primary enrollment", "type": "string", "minLength": 0, "maxLength": 80 }, "primaryEnrollmentChain": { "description": "Name of the Chain for the primary enrollment", "type": "string", "minLength": 0, "maxLength": 80 }, "customReference": { "description": "Custom Reference to identify reservation.", "type": "string", "minLength": 0, "maxLength": 50 }, "displayColor": { "description": "The color to display this reservation on room grid displays.", "type": "string", "minLength": 0, "maxLength": 20 }, "displayColorDetails": { "description": "Information of reservation display color, determined based on OPERA parameter RESERVATION_COLOR_DEFINITION ", "$ref": "#/definitions/reservationDisplayColorInfoType" }, "markAsRecentlyAccessed": { "description": "Mark this reservation as recently accessed.", "type": "boolean" }, "overrideInventoryCheck": { "description": "Indicates to Override the Room Inventory Check if applicable.", "type": "boolean" }, "accessRestriction": { "description": "Indicates user restriction on the reservation based on the Access exclusion functionality such as Restriction on Changes, Cancellation or both.", "$ref": "#/definitions/resAccessRestrictionType" }, "preRegistered": { "description": "Is the reservation pre-registered.", "type": "boolean" }, "upgradeEligible": { "description": "Indicates whether the reservation is eligible for upgrade.", "type": "boolean" }, "overrideBlockRestriction": { "description": "Indicates whether the block restrictions should be overriden when creating a new block reservation.", "type": "boolean" }, "allowAutoCheckin": { "description": "Flag to allow auto checkin", "type": "boolean" }, "hasOpenFolio": { "type": "boolean" }, "allowMobileCheckout": { "description": "Flag containing true or false value for reservation to be eligible for self-checkout by guest using mobile device . Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is eligible for mobile checkout yes / no. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, "allowMobileViewFolio": { "description": "Attribute AllowMobileViewFolio is set to true when the reservation is eligible for viewing folio using mobile device.", "type": "boolean" }, "allowPreRegistration": { "description": "Flag containing true or false value for reservation to be eligible for prior check in by guest using mobile device . Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is eligible for mobile check in yes / no. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, "optedForCommunication": { "description": "Flag containing true or false value to determine if the guest has opted for communications pertaining to this reservation.Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is marked for communication. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, "chargeCardNumber": { "description": "This attribute represents Hotel charge card number. This number is generated automatically in OPERA when a reservation is created in OPERA. It is part of a functionality that provide the guest with the convenience of placing all their charges directly on their reservation folio.", "type": "string", "minLength": 0, "maxLength": 100 }, "overrideOutOfServiceCheck": { "description": "Indicates to Override the Room Out Of Service Check if applicable.", "type": "boolean" }, "overrideRotationRoom": { "description": "Override the rotation room that is next in the sequence with the room currently assigned to this reservation. This is applicable when Room Rotation OPERA Control is active.", "type": "boolean", "default": true }, "overrideRoomOwnership": { "description": "Override the room ownership of the room currently assigned to this reservation. This is applicable when Room Rotation OPERA Control is active.", "type": "boolean", "default": true }, "reservationMembershipAwards": { "description": "Collection of membership awards attached to a reservation", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationMembershipAwardType" } }, "resvIdentifications": { "description": "List of identification of the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/resvIdentificationInfoType" } }, "overrideRoomFeatures": { "description": "This flag indicates true/false. When this is true, it will allow to override the room feature preference validation while assigning rooms. The Reservation Room Features OPERA Control will determine which room feature preferences will be validated. When Reservation Room Features is on, the validation will be against the Room Feature preferences attached to the reservation. If the parameter is off, the validation will be against the room feature preferences attached to the profile. This is applicable when the Room Feature Validation OPERA Control is on.", "type": "boolean" }, "backToBack": { "description": "This attribute indicates if the linked reservation is marked as Back to Back or not.", "type": "boolean" }, "backToBackSequence": { "description": "This attribute represents Back To Back Sequence of Linked Reservations(e.g. '1 of 2' i.e, 1 indicates Sequence Position of total count 2). This is applicable when OPERA control Back to Back Handling for Linked Reservations is active.", "$ref": "#/definitions/backToBackResSequenceType" }, "payeeSharer": { "description": "This attribute indicates if the Shared reservation is marked as the Payee Sharer or not.", "type": "boolean" }, "scheduledRoomMoves": { "description": "Scheduled Room Moves", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/scheduledRoomMoveType" } }, "routeAllTransactionsToShare": { "description": "Indicates if this joining reservation should route all transactions to the 'Share To' reservation when including Share Reservations Instructions.", "type": "boolean" }, "backToBackGroupId": { "description": "This attribute represents a common identifier for a subgroup of linked reservations marked as Back to Back in a group of linked reservations.", "type": "string", "minLength": 0, "maxLength": 80 }, "overrideSharesStayingPastDepartureCheck": { "description": "Indicates to override the check on shared reservations to whom changes can be propagated until their departure date.", "type": "boolean" }, "trxCodesInfo": { "description": "Summary of Transaction codes information which are related to reservation.", "$ref": "#/definitions/trxCodesInfoType" }, "checkInInitiatedBy": { "description": "This indicates who initiated the Check In/Advance Check In.Advance Check In functionality is available when the Advance Check In OPERA Control is active.", "type": "string", "minLength": 0, "maxLength": 40 }, "reservationProtection": { "description": "Reservation Protection information related to the reservation.", "$ref": "#/definitions/reservationProtectionType" }, "preArrivalReviewStatus": { "description": "The review status of a Pre-Arrival Reservation indicates whether the reservation has been reviewed, is pending review, or has been modified after the initial review.", "$ref": "#/definitions/preArrivalReviewStatusType" } } }, "roomStayType": { "type": "object", "properties": { "registrationNumber": { "description": "Registration Number of the reservation for the current day.", "$ref": "#/definitions/uniqueID_Type" }, "currentRoomInfo": { "description": "Room information of the reservation for the current day.", "$ref": "#/definitions/currentRoomInfoType" }, "roomRates": { "description": "A collection of Room Rates associated with a particular Room Stay. Each Room Rate combination can have multiple rates. Example King room, Rack rate plan, Monday through Thursday, weekday amount, Friday and Saturday, weekend amount.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/roomRateType" } }, "hasExtendedStayRates": { "description": "Indicates if resertvation has a rate that is configured with a non-nightly posting interval.", "type": "boolean" }, "postingIntervals": { "type": "array", "description": "A collection of Posting Interval details for the reservation.", "maxItems": 4000, "items": { "$ref": "#/definitions/postingIntervalType" } }, "guestCounts": { "$ref": "#/definitions/guestCountsType" }, "arrivalDate": { "type": "string", "format": "date" }, "departureDate": { "type": "string", "format": "date" }, "bookingTimeSpan": { "description": "The booking time span of the reservation, only applicable when time increments are being used.", "$ref": "#/definitions/bookingTimeSpanType" }, "reservationKeyInfo": { "description": "Holds the room key information provided by the Door Lock System.", "$ref": "#/definitions/reservationKeyInfoType" }, "expectedTimes": { "description": "The Expected Arrival and Departure Times.", "$ref": "#/definitions/resExpectedTimesType" }, "originalTimeSpan": { "description": "The Original Time Span(Arrival, Departure) which covers the Room Stay. In case of Rolling No Show TimeSpan's StratDate moves forward but OriginalTimeSpan's StratDate remains the same.", "$ref": "#/definitions/timeSpanType" }, "guarantee": { "description": "The guarantee information associated to the Room Stay. A maximum of 5 occurances are available for use depending on the context.", "$ref": "#/definitions/resGuaranteeType" }, "promotion": { "description": "Promotions applied to the reservation to get the promotional rate.", "$ref": "#/definitions/promotionType" }, "suiteWith": { "description": "Connecting Rooms.", "type": "string", "minLength": 0, "maxLength": 200 }, "total": { "description": "The total amount charged for the Room Stay.", "$ref": "#/definitions/totalType" }, "totalPoints": { "description": "The total number of Points charged for the Room Stay.", "$ref": "#/definitions/pointsType" }, "multiValueAttrs": { "description": "Informative indicators indicating different values of an attribute exists over the stay.", "type": "array", "maxItems": 4000, "items": { "type": "string", "maxLength": 2000 } }, "upsellInfo": { "description": "Indicates Upsell Information to be applied on Reservation.", "$ref": "#/definitions/upsellInfoType" }, "mobileNotifications": { "description": "Denotes the status of Room Ready and Key Ready messages.", "$ref": "#/definitions/resMobileNotificationsType" }, "roomNumberLocked": { "description": "When true, indicates a room number cannot be changed. When false, indicates a room number may be changed.", "type": "boolean" }, "printRate": { "description": "This control whether rate info will be printed in confirmation letter.", "type": "boolean" }, "primaryShareType": { "description": "This is populated in case of primary share scenario. This indicates whether this reservation is primary or non primary. Changes or postings to the 'non-primary' share reservation is not allowed.", "$ref": "#/definitions/primaryShareTypeType" }, "remoteCheckInAllowed": { "description": "Indicates whether the reservation is pre-registered for internet check-in or not.", "type": "boolean" }, "bookingMedium": { "description": "Classifies the medium(Channel field on reservation screen) through which the reservation is made.", "type": "string", "minLength": 0, "maxLength": 40 }, "bookingMediumDescription": { "description": "Description of the booking medium.", "type": "string", "minLength": 0, "maxLength": 2000 }, "availableUpsellOfferCount": { "description": "Number of Upsell Offers Available for this stay. This will only be populated if the Upsell Instruction is included in the Allowed Instruction request", "type": "integer" }, "scheduledRoomMoveRoomPending": { "type": "boolean", "description": "Pending Scheduled Move Room." } } }, "currentRoomInfoType": { "type": "object", "description": "Room information of the reservation for the current day.", "properties": { "roomType": { "description": "Current room type.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomId": { "description": "Current room number.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomOwnershipType": { "description": "Provides the information of the assigned reservation room is an Owner/Referral or Regular room.This value is returned when Room Rotation OPERA Control is active and room number is assigned to a reservation.", "$ref": "#/definitions/reservationRoomOwnershipType" }, "suggestedRoomNumbers": { "description": "Suggested room numbers.", "$ref": "#/definitions/codeListType" }, "roomDescription": { "description": "Current room description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "roomViewCode": { "description": "Represents the room view code like City view, River view, Ocean view etc.", "type": "string", "minLength": 0, "maxLength": 40 }, "assignedByAI": { "description": "Represents the room was assigned by AI Room Assignment.", "type": "boolean" }, "upgradedByAI": { "description": "Represents the room was upgraded by AI Room Assignment.", "type": "boolean" } } }, "codeListType": { "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "reservationRoomOwnershipType": { "type": "string", "description": "Indicates if the assigned reservation room is an Owner/Referral or Regular room.", "enum": [ "Owner", "Referral", "Regular" ] }, "roomRateType": { "type": "object", "properties": { "total": { "$ref": "#/definitions/totalType" }, "totalPoints": { "$ref": "#/definitions/pointsType" }, "rates": { "$ref": "#/definitions/ratesType" }, "offshoreRateInformation": { "$ref": "#/definitions/offshoreRateType" }, "packages": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/packageElementType" } }, "stayProfiles": { "description": "Profile associated with the room Stay.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationProfileType" } }, "guestCounts": { "description": "A collection of Guest Counts associated with the room rate.", "$ref": "#/definitions/guestCountsType" }, "taxFreeGuestCounts": { "description": "A collection of Tax Free Guest Counts associated with the room rate. This list does not add to the guest count but just indicates number of tax free guests out of guest counts.", "$ref": "#/definitions/guestCountsType" }, "awards": { "description": "Membership Awards code applied on the reservation.", "$ref": "#/definitions/resAwardsType" }, "reservationBlock": { "description": "Key information about the block for this reservation.", "$ref": "#/definitions/reservationBlockType" }, "roomRateInfo": { "description": "Information about the Room Rate Combination.", "type": "string", "minLength": 0, "maxLength": 2000 }, "eligibilityCode": { "description": "Used by 3rd party CRS, the Eligible Reservation Code defines if this day/rate is eligible for points in the Loyalty System.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardCode": { "description": "Used by 3rd party CRS, the Award Code defines if this day/rate was booked as an Award in the Loyalty System.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardNumber": { "description": "Used by 3rd party CRS, the Award Number defines if this day/rate was booked as an Award in the Loyalty System.", "type": "string", "minLength": 0, "maxLength": 80 }, "roomType": { "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "membershipEligible": { "description": "Is rate plan code flagged as eligible for memberships? This flag controls whether the guest stay, which this rate plan is attached to, qualifies for point calculations for Frequent Flyer or Frequent Guest programs. If the rate plan associated to the reservation has not been flagged for Membership then the guest will not earn any points/miles for their stay.", "type": "boolean" }, "ownerUseRateCode": { "description": "Indicates if the rate code is restricted for use by Owner Reservations.", "type": "boolean" }, "ownerReferralRateCode": { "description": "Indicates if the rate code is restricted for use by Owner Referral Reservations", "type": "boolean" }, "promotionCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "start": { "description": "The starting value of the date range.", "type": "string", "format": "date" }, "end": { "description": "The ending value of the date range.", "type": "string", "format": "date" }, "rateIncludesTax": { "description": "Indicates if the calculated amount for the day is inclusive of tax.", "type": "boolean" }, "suppressRate": { "type": "boolean" }, "marketCode": { "description": "The code that relates to the market being sold to (e.g., the corporate market, packages).", "type": "string", "minLength": 0, "maxLength": 20 }, "marketCodeDescription": { "description": "Description of the market code.", "type": "string", "minLength": 0, "maxLength": 4000 }, "sourceCode": { "description": "To specify where the business came from e.g. radio, newspaper ad, etc.", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceCodeDescription": { "description": "Description of the source of business.", "type": "string", "minLength": 0, "maxLength": 4000 }, "numberOfUnits": { "description": "The number of rooms.", "type": "integer" }, "roomId": { "description": "A string value representing the unique identification of a room.", "type": "string", "minLength": 0, "maxLength": 20 }, "pseudoRoom": { "description": "True indicates as pseudo room type. This is usually used for a posting master reservation.", "type": "boolean" }, "roomTypeCharged": { "description": "Room Type used for the Rate calculation.", "type": "string", "minLength": 0, "maxLength": 20 }, "commissionCode": { "description": "Commission Code applicable for commission calculation for Travel Agent/Company.", "type": "string", "minLength": 0, "maxLength": 20 }, "commissionable": { "description": "Indicates Commission is applicable for commission calculation for Travel Agent/Company.", "type": "boolean" }, "houseUseOnly": { "description": "Indicates this reservation is for House use.", "type": "boolean" }, "complimentary": { "description": "Indicates this reservation rate is complimentary.", "type": "boolean" }, "inventoryLender": { "description": "Indicates whether the room type inventory was taken from the allotment or House availability.", "type": "string" }, "fixedRate": { "description": "Fixed Rate Indicator.", "type": "boolean" }, "barRanking": { "description": "Best Available rates ranking.", "type": "integer" }, "rateGroup": { "description": "For RatePlanSet equals BESTAVAILABLERATE, in case Rate Groups are enabled the element provides the rate group for the rate plan code.", "type": "string", "minLength": 0, "maxLength": 20 }, "discountAllowed": { "description": "Indicates if the Rate Code is discountable i.e discounts are allowed on the rate code.", "type": "boolean" }, "bogoDiscount": { "description": "Indicates if the Rate Code has BOGO(Bye one Get one) indicator.", "type": "boolean" }, "rateLevel": { "description": "Rate plan type like Corporate,Regular,Military,Weekend etc.", "type": "string", "minLength": 0, "maxLength": 20 }, "commissionPercentage": { "description": "Indicates commission percentage used by the rate plan.", "type": "integer" }, "commissionAmount": { "description": "Indicates commission amount used by the rate plan.", "type": "integer" }, "taxIncluded": { "description": "If true, indicates if tax is included in the rate code.", "type": "boolean" }, "allowAutoCheckIn": { "description": "It represents whether auto check-in is enabled or not for psuedo room types.", "type": "boolean" }, "bookingMedium": { "description": "Classifies the medium(Channel field on reservation screen) through which the reservation is made.", "type": "string", "minLength": 0, "maxLength": 40 }, "bookingMediumDescription": { "description": "Description of the booking medium.", "type": "string", "minLength": 0, "maxLength": 2000 }, "purposeOfStay": { "description": "Purpose of stay.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomNumberLocked": { "description": "This attribute is to verify if the move in room number is locked. When true the move in room number cannot be changed. Locking a room number is available when the Do Not Move OPERA Control is active.", "type": "boolean" }, "scheduledMoveStatus": { "description": "Scheduled room move status for the room segment of the reservation. Scheduled Room Move functionality is available when the Advance Daily Detail OPERA Control is active.", "$ref": "#/definitions/scheduledRoomMoveStatusType" } } }, "totalType": { "type": "object", "description": "The total amount charged for the service including additional amounts and fees.", "properties": { "taxes": { "description": "A collection of taxes.", "$ref": "#/definitions/taxesType" }, "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "amountBeforeTax": { "description": "The total amount not including any exclusive associated tax ( e.g., sales tax, VT, GST, or any associated tax configured as an exclusive generate ). Taxes marked as Tax Inclusive are included in this amount.", "type": "number" }, "amountBeforeAnyTax": { "description": "The total amount per room does not include any associated tax (e.g., sales tax, VAT, GST or any associated tax), for both Tax Exclusive/Inclusive.", "type": "number" }, "amountAfterTax": { "description": "The total amount including all associated taxes (e.g., sales tax, VAT, GST or any associated tax).", "type": "number" }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" }, "code": { "description": "Type of charge.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateOverride": { "description": "When true indicates that the rate amount has been overridden.", "type": "boolean" }, "baseAmount": { "description": "The rate's base price. Amount excluding price for any add to rate combine line package attached to the rate.Also excludes any discounts", "type": "number" }, "amountBeforeTaxPerRoom": { "description": "The total amount per room not including any associated tax (e.g., sales tax, VAT, GST or any associated tax).", "type": "number" }, "amountAfterTaxPerRoom": { "description": "The total amount per room including all associated taxes (e.g., sales tax, VAT, GST or any associated tax).", "type": "number" } } }, "taxesType": { "type": "object", "description": "A collection of taxes.", "properties": { "tax": { "description": "An individual tax.", "type": "array", "maxItems": 99, "items": { "$ref": "#/definitions/taxType" } }, "amount": { "description": "A monetary amount.", "type": "number" }, "totalTax": { "description": "A sum of the taxes which are related to Rate Info.", "type": "number" }, "currencyCode": { "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string", "minLength": 3, "maxLength": 3 } } }, "taxType": { "type": "object", "description": "Applicable tax element. This element allows for both percentages and flat amounts. If one field is used, the other should be zero since logically, taxes should be calculated in only one of the two ways.", "properties": { "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "type": { "description": "Used to indicate if the amount is inclusive or exclusive of other charges, such as taxes, or is cumulative (amounts have been added to each other).", "$ref": "#/definitions/amountDeterminationType" }, "code": { "description": "Code identifying the fee (e.g.,agency fee, municipality fee).", "type": "string", "minLength": 0, "maxLength": 20 }, "generateTransactionCode": { "description": "Unique identifier for Generate Tax Transaction code.", "type": "string", "minLength": 0, "maxLength": 20 }, "amount": { "description": "A monetary amount.", "type": "number" }, "currencyCode": { "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string", "minLength": 3, "maxLength": 3 } } }, "amountDeterminationType": { "type": "string", "description": "Used to indicate if an amount is inclusive or exclusive of other charges, such as taxes.", "enum": [ "Inclusive", "Exclusive" ] }, "ratesType": { "type": "object", "description": "Individual rate amount.", "properties": { "rate": { "description": "The Rate contains a collection of elements that define the amount of the rate, associated fees, additional occupant amounts. Taxes can be broken out or included within the various amounts. A currency can be associated to each amount.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/amountType" } } } }, "amountType": { "type": "object", "description": "Base charge and additional charges related to a room that includes such things as additional guest amounts, cancel fees, etc. Also includes Discount percentages, total amount, and the rate description.", "properties": { "base": { "description": "The base amount charged for the accommodation or service per unit of time (ex: Nightly, Weekly, etc). If TaxInclusive is set to True, then taxes are included in the base amount. Note that any additional charges should itemized in the other elements.", "$ref": "#/definitions/totalType" }, "discount": { "description": "Discount percentage and/or Amount, code and textual reason for discount", "$ref": "#/definitions/discountType" }, "shareRatePercentage": { "description": "Indicates the share rate percentage for the reservation if set to CUSTOMSPLIT.", "type": "number", "minimum": 0, "maximum": 100 }, "shareDistributionInstruction": { "description": "Last rate share distribution instruction applied on share reservation daily rate segment.", "$ref": "#/definitions/shareDistributionInstructionType" }, "total": { "description": "The total amount charged for this rate including additional occupant amounts and fees.", "$ref": "#/definitions/totalType" }, "requiredPoints": { "description": "The Points contains the number of points required to book a particular room type.", "$ref": "#/definitions/pointsType" }, "effectiveRate": { "description": "The reservation effective amount charged for the accommodation or service (i.e. base amount + amount for Add to Rate Combine Line packages) per unit of time", "$ref": "#/definitions/totalType" }, "start": { "description": "The starting value of the date range.", "type": "string", "format": "date" }, "end": { "description": "The ending value of the date range.", "type": "string", "format": "date" } } }, "discountType": { "type": "object", "description": "Identifies and provides details about the discount. This allows for both percentages and flat amounts. If one field is used, the other should be zero/not specified since logically.", "properties": { "discountReason": { "type": "string", "minLength": 0, "maxLength": 2000 }, "percent": { "description": "Percentage discount.", "type": "number" }, "amount": { "description": "A monetary amount.", "type": "number" }, "currencyCode": { "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string", "minLength": 3, "maxLength": 3 }, "discountCode": { "description": "Specifies the type of discount (e.g., No condition, LOS, Deposit or Total amount spent).", "type": "string", "minLength": 0, "maxLength": 20 } } }, "shareDistributionInstructionType": { "type": "string", "description": "The type of Rate Amount Change to be done on the Sharer reservation. This can be FULL -> Full Rate for each Sharer. SPLIT-> Split the Rate amount between Sharer Reservations. ENTIRE -> This Sharer will get the total amount of the rate code for all the Sharer Reservations.", "enum": [ "Full", "Entire", "Split", "CustomSplit" ] }, "packageElementType": { "type": "object", "properties": { "amount": { "$ref": "#/definitions/currencyAmountType" }, "allowance": { "$ref": "#/definitions/currencyAmountType" }, "description": { "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 2000 } }, "startDate": { "type": "string", "format": "date" }, "endDate": { "type": "string", "format": "date" }, "packageCode": { "type": "string" }, "calculationRule": { "type": "string" }, "postingRhythm": { "type": "string" }, "quantity": { "type": "integer" }, "includedInRate": { "type": "boolean" }, "addRateSeprateLine": { "type": "boolean" }, "addRateCombinedLine": { "type": "boolean" }, "startTime": { "type": "string" }, "endTime": { "type": "string" }, "sellSeparate": { "type": "boolean" } } }, "reservationProfileType": { "type": "object", "properties": { "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems. In case of Travel Agent the IATA code and in case of Company can be any form of identifier as id.", "$ref": "#/definitions/profileIdList" }, "profile": { "description": "Provides detailed information regarding either a company or a customer profile.", "$ref": "#/definitions/profileType" }, "reservationProfileType": { "$ref": "#/definitions/resProfileTypeType" }, "externalReferences": { "description": "External References information for this Profile. Will be returned in getReservation and getReservationByExtId calls when the 'profileExternalReferencesToFetch' query parameter is sent.", "$ref": "#/definitions/externalReferencesType" } } }, "profileType": { "type": "object", "description": "Type provides the detailed information about the profile and its children.", "properties": { "customer": { "description": "Detailed customer information for this profile.", "$ref": "#/definitions/customerType" }, "company": { "description": "Detailed company information for this profile.", "$ref": "#/definitions/companyType" }, "profileImage": { "description": "The profile image.", "$ref": "#/definitions/imageSetType" }, "addresses": { "description": "List of customer addresses.", "type": "object", "properties": { "addressInfo": { "description": "Collection of Detailed information on an address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/addressInfoType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "traceCode": { "description": "Trace Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "ownerCode": { "description": "Owner Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "telephones": { "description": "List of Telephone Number Information", "type": "object", "properties": { "telephoneInfo": { "description": "Collection of Detailed information on telephone/fax for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/telephoneInfoType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "emails": { "description": "List of email address for the customer.", "type": "object", "properties": { "emailInfo": { "description": "Collection of Detailed information on an eMail address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/emailInfoType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "uRLs": { "description": "List of Information on a URL for the customer.", "type": "object", "properties": { "uRLInfo": { "description": "Collection of Detailed information on web url/address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/uRLInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "comments": { "description": "List of Notes for the customer.", "type": "object", "properties": { "commentInfo": { "description": "Collection of Detailed information on comments for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profileDeliveryMethods": { "description": "List of Delivery methods configured against a Property for this Profile.", "type": "object", "properties": { "profileDeliveryMethod": { "description": "Collection of delivery methods for this Profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileDeliveryMethod" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profileMemberships": { "description": "List of loyalty program(s) the profile is subscribed to.", "type": "object", "properties": { "profileMembership": { "description": "Collection of Detailed information on memberships for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileMembershipType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "preferenceCollection": { "description": "List of customer preferences.", "type": "object", "properties": { "preferenceType": { "description": "Collection of Detailed information on preferences of the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/preferenceTypeType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "relationships": { "description": "Contains a collection of profiles that have a relationship with this profile.", "type": "object", "properties": { "relationship": { "description": "A collection of the profiles that have a relationship with this profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/relationshipInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "relationshipsSummary": { "description": "Contains a collection of profiles that have a relationship with this profile.", "type": "object", "properties": { "relationship": { "description": "A collection of the profiles summary that have a relationship with this profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/relationshipInfoSummaryType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "reservationInfoList": { "description": "Collection of Detailed information on history and future reservations associated with the profile.", "$ref": "#/definitions/reservationHistoryFutureInfoType" }, "stayReservationInfoList": { "description": "Collection of Detailed information on history and future reservations associated with the profile.", "$ref": "#/definitions/reservationStayHistoryFutureInfoType" }, "lastStayInfo": { "description": "Information on last stay of the profile.", "$ref": "#/definitions/lastStayInfoType" }, "profileRestrictions": { "description": "Detailed information on restrictions associated with the profile.", "$ref": "#/definitions/profileRestrictions" }, "cashiering": { "description": "Contains cashiering related details for the profile", "$ref": "#/definitions/profileCashieringType" }, "commissionInfoList": { "description": "Contains commission related details for the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileCommissionType" } }, "userDefinedFields": { "description": "Collections of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" }, "eCertificates": { "description": "E-Certificate assosiated with the profile.", "$ref": "#/definitions/eCertificatesType" }, "eligibleForFiscalFolio": { "description": "Eligible for Fiscal Folio/Payload generation.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomOwnershipsList": { "description": "Room Ownership records.", "type": "object", "properties": { "roomOwnershipInfo": { "description": "Collection of Detailed information on Room Ownership records.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/roomOwnershipType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profileType": { "description": "Type of profile such as Guest, Agent, Company, Group, Source, Employee, Hotel, Vendor or Contact.", "$ref": "#/definitions/profileTypeType" }, "statusCode": { "description": "Status of the profile. Active/Inactive", "$ref": "#/definitions/profileStatusType" }, "registeredProperty": { "description": "Hotel which this profile is registered with. This attribute is not used for configuration.", "type": "string", "minLength": 0, "maxLength": 20 }, "requestForHotel": { "description": "Hotel which this profile is to be registered. This attribute is only used during creation of profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "protectedBy": { "description": "What level this profile is protected.", "type": "string", "minLength": 0, "maxLength": 40 }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "markAsRecentlyAccessed": { "description": "Mark this profile as recently accessed.", "type": "boolean" }, "markForHistory": { "description": "\"true\" setting marks the profile to be kept from being purged, once the profile is marked inactive.", "type": "boolean" }, "hasCommission": { "description": "Populates true if the profile has commission configured false otherwise.", "type": "boolean" }, "showInactiveRoomOwners": { "description": "Flag to show inactive Room Owners.", "type": "boolean" }, "guestAge": { "description": "Age of a guest in years.", "type": "integer", "minimum": 0 } } }, "customerType": { "type": "object", "description": "Contains basic data on the customer's identity, location, relationships, finances, memberships, etc.", "properties": { "personName": { "description": "Detailed name information for the customer.", "type": "array", "maxItems": 5, "items": { "$ref": "#/definitions/personNameType" } }, "anonymization": { "description": "Provides information about the guest's anonymization status", "$ref": "#/definitions/anonymizationType" }, "identifications": { "description": "List of identification of the customer.", "type": "object", "properties": { "identificationInfo": { "description": "Collection of detailed information on the identification of the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/identificationInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "gender": { "description": "Identifies the profile gender code selected from Gender types List of values. Gender types LOV provides the values configured at gender configuration.", "type": "string", "minLength": 0, "maxLength": 20 }, "birthDate": { "description": "Indicates the date of birth as indicated in the document, in ISO 8601 prescribed format.", "type": "string", "format": "date" }, "birthDateMasked": { "description": "Indicates the date of birth as masked.", "type": "string" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "nationality": { "description": "Nationality code identification", "type": "string", "minLength": 0, "maxLength": 20 }, "nationalityDescription": { "description": "Nationality code description", "type": "string", "minLength": 0, "maxLength": 80 }, "customerValue": { "description": "The supplier's ranking of the customer (e.g., VIP, numerical ranking).", "type": "string", "minLength": 0, "maxLength": 20 }, "creditRating": { "description": "Credit Rating of the customer.", "type": "string", "minLength": 0, "maxLength": 20 }, "vipStatus": { "description": "VIP status of the customer.", "type": "string", "minLength": 0, "maxLength": 20 }, "vipDescription": { "description": "Description of the VIP status.", "type": "string", "minLength": 0, "maxLength": 2000 }, "birthPlace": { "description": "Place of birth.", "type": "string", "minLength": 0, "maxLength": 80 }, "privateProfile": { "description": "This element tells profile is property exclusive or not.", "type": "boolean" }, "blacklist": { "description": "This element tells if profile is blacklisted or not.", "type": "boolean" } } }, "personNameType": { "type": "object", "description": "This provides name information for a person.", "properties": { "namePrefix": { "description": "Salutation of honorific (e.g. Mr., Mrs., Ms., Miss, Dr.)", "type": "string", "minLength": 0, "maxLength": 40 }, "givenName": { "description": "Given name, first name or names.", "type": "string", "minLength": 0, "maxLength": 40 }, "middleName": { "description": "The middle name of the person name.", "type": "string", "minLength": 0, "maxLength": 40 }, "surname": { "description": "Family name, last name. May also be used for full name if the sending system does not have the ability to separate a full name into its parts, e.g. the surname element may be used to pass the full name.", "type": "string", "minLength": 0, "maxLength": 40 }, "nameTitle": { "description": "Degree or honors (e.g., Ph.D., M.D.)", "type": "string", "minLength": 0, "maxLength": 80 }, "salutation": { "description": "Salutation of the profile", "type": "string" }, "nameType": { "description": "Type of name of the individual, such as former, nickname, alternate or alias name.", "$ref": "#/definitions/personNameTypeType" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" } } }, "personNameTypeType": { "type": "string", "description": "Person's name in an external system.", "enum": [ "Primary", "Alternate", "Incognito", "External", "Phonetic" ] }, "identificationInfoType": { "type": "object", "description": "Information on the identification of the customer.", "properties": { "identification": { "description": "Detailed information on the identification of the customer.", "$ref": "#/definitions/identificationType" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "identificationType": { "type": "object", "description": "Identification information of the customer.", "properties": { "idType": { "description": "Identification Type. Eg Passport, Driving License etc.", "type": "string", "minLength": 0, "maxLength": 40 }, "idNumber": { "description": "Identification Number.", "type": "string", "minLength": 0, "maxLength": 80 }, "idNumberMasked": { "description": "Masked Identification Number.", "type": "string", "minLength": 0, "maxLength": 80 }, "issuedCountry": { "description": "The country where Identification was issued.", "type": "string", "minLength": 0, "maxLength": 20 }, "issuedDate": { "description": "Issued date of Identification.", "type": "string", "format": "date" }, "issuedPlace": { "description": "The place where Identification was issued.", "type": "string", "minLength": 0, "maxLength": 80 }, "expirationDate": { "description": "Expiration date of Identification.", "type": "string", "format": "date" }, "registeredProperty": { "description": "Property where the identification belongs to.", "type": "string", "minLength": 0, "maxLength": 20 }, "primaryInd": { "description": "When true, indicates a primary information.", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" } } }, "companyType": { "type": "object", "properties": { "companyName": { "description": "Name of the company.", "type": "string", "minLength": 0, "maxLength": 40 }, "alternateName": { "description": "Alternate Name of the Company. Mainly, it's the name of the company written in the Alternate Language.", "type": "string", "minLength": 0, "maxLength": 80 }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "nationality": { "description": "Nationality code identification", "type": "string", "minLength": 0, "maxLength": 20 }, "nationalityDescription": { "description": "Nationality code description", "type": "string", "minLength": 0, "maxLength": 80 }, "commissionCode": { "description": "Commission code of the company.", "type": "string", "minLength": 0, "maxLength": 20 }, "creditRating": { "description": "Credit Rating of the company.", "type": "string", "minLength": 0, "maxLength": 20 }, "corporateIdType": { "description": "The type of corporate ID", "type": "string", "minLength": 0, "maxLength": 20 }, "vipStatus": { "description": "VIP status of the company.", "type": "string", "minLength": 0, "maxLength": 20 }, "vipDescription": { "description": "Description of the VIP status.", "type": "string", "minLength": 0, "maxLength": 2000 }, "blacklist": { "description": "This element tells if profile is blacklisted or not.", "type": "boolean" } } }, "imageSetType": { "type": "object", "description": "Represents on image set record.", "properties": { "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "imageSet": { "description": "The image set name.", "type": "string", "minLength": 0, "maxLength": 800 }, "imageStyle": { "description": "The image set enumerated style.", "$ref": "#/definitions/imageStyleType" }, "hotelId": { "description": "The image set hotel code.", "type": "string", "minLength": 0, "maxLength": 20 }, "imageURL": { "description": "The image set URL.", "type": "string", "minLength": 0, "maxLength": 2000 }, "description": { "description": "The image set description.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "imageStyleType": { "type": "string", "description": "An enumeration of image styles.", "enum": [ "Full", "Thumbnail", "Icon", "Square", "Banner", "Button", "Lowres", "Highres" ] }, "addressInfoType": { "type": "object", "description": "Provides address information.", "properties": { "address": { "description": "Address details for the profile.", "$ref": "#/definitions/addressType" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "addressType": { "type": "object", "description": "Provides address information.", "properties": { "isValidated": { "description": "Indicator to define if the Address is validated by the Address Validation System.", "type": "boolean" }, "addressLine": { "description": "When the address is unformatted (FormattedInd=\"false\") these lines will contain free form address details. When the address is formatted and street number and street name must be sent independently, the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence.", "type": "array", "maxItems": 4, "items": { "type": "string", "minLength": 0, "maxLength": 80 } }, "cityName": { "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).", "type": "string", "minLength": 0, "maxLength": 40 }, "postalCode": { "description": "Post Office Code number.", "type": "string", "minLength": 0, "maxLength": 15 }, "cityExtension": { "description": "Post Office City Extension Code number. City Extension mainly used for UK addresses.", "type": "string", "minLength": 0, "maxLength": 20 }, "county": { "description": "County or District Name (e.g., Fairfax). This is read only.", "type": "string", "minLength": 0, "maxLength": 20 }, "state": { "description": "State or Province name (e.g., Texas).", "type": "string", "minLength": 0, "maxLength": 20 }, "country": { "description": "Country name (e.g., Ireland).", "$ref": "#/definitions/countryNameType" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "type": { "description": "Defines the type of address (e.g. home, business, other).", "type": "string", "minLength": 0, "maxLength": 20 }, "typeDescription": { "description": "Describes the type code", "type": "string" }, "primaryInd": { "description": "When true, indicates a primary information.", "type": "boolean" }, "updateReservations": { "description": "Indicates whether all future reservations for this profile should be updated with the primary address. When set to true, and the address is being updated to primary, any active reservations where this profile is the primary profile will automatically update to use the new primary address.", "type": "boolean" }, "barCode": { "description": "The postal barcode for the address.", "type": "string", "minLength": 0, "maxLength": 100 }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "uRLInfoType": { "type": "object", "description": "Web site address.", "properties": { "url": { "description": "Provides URL information.", "$ref": "#/definitions/uRLType" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "uRLType": { "type": "object", "description": "Web site address, in IETF(The Internet Engineering Task Force) specified format.", "properties": { "value": { "type": "string", "description": "Property Value" }, "type": { "description": "Defines the purpose of the URL address, such as personal, business, public, etc.", "type": "string", "minLength": 0, "maxLength": 20 }, "typeDescription": { "description": "Describes the Type code", "type": "string", "minLength": 0, "maxLength": 2000 }, "primaryInd": { "description": "When true, indicates a primary information.", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" } } }, "commentInfoType": { "type": "object", "description": "Comment related to the profile/reservation.", "properties": { "comment": { "description": "Comment details for the comment. It will be empty in case of delete comment.", "$ref": "#/definitions/commentType" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "commentType": { "type": "object", "description": "An indication of a new paragraph for a sub-section of a formatted text message.", "properties": { "text": { "description": "Formatted text content.", "$ref": "#/definitions/formattedTextTextType" }, "commentTitle": { "description": "Specifies Comment's Title.", "type": "string", "minLength": 0, "maxLength": 4000 }, "notificationLocation": { "description": "Notification Location associated with the Note.", "type": "string", "minLength": 0, "maxLength": 20 }, "type": { "description": "Specifies type of the comment.", "type": "string", "minLength": 0, "maxLength": 20 }, "typeDescription": { "description": "Comment type Description.", "type": "string", "minLength": 0, "maxLength": 200 }, "internal": { "description": "When true, the comment may not be shown to the consumer. When false, the comment may be shown to the consumer.", "type": "boolean" }, "confidential": { "description": "When true, the comment may be confidential.", "type": "boolean" }, "overrideInternal": { "description": "When true, the note internal could be modified.", "type": "boolean" }, "hotelId": { "description": "If specified comment belongs to the Hotel, otherwise it is a global comment.", "type": "string", "minLength": 0, "maxLength": 20 }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "formattedTextTextType": { "type": "object", "description": "Provides text and indicates whether it is formatted or not.", "properties": { "value": { "type": "string", "description": "Property Value" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" } } }, "profileDeliveryMethod": { "type": "object", "description": "Delivery Information type to the profile.", "properties": { "deliveryId": { "description": "Delivery ID. It will be empty in case of new delivery method.", "$ref": "#/definitions/uniqueID_Type" }, "deliveryType": { "description": "Delivery type can have a value EMAIL, ELECTRONIC etc and it depends on the parameter set in OPERA Control.", "type": "string", "minLength": 0, "maxLength": 20 }, "deliveryValue": { "description": "Delivery value holds the corresponding value of the delivery type..", "type": "string", "minLength": 0, "maxLength": 2000 }, "hotelId": { "description": "Property that has delivery methods configured.", "type": "string", "minLength": 0, "maxLength": 20 }, "deliveryModule": { "description": "Module where this delivery type will be used. Example : EFolio Export, EInvoice , Fiscal, etc..", "$ref": "#/definitions/profileDeliveryModuleType" }, "primaryInd": { "description": "When true, indicates a primary information.", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" } } }, "profileDeliveryModuleType": { "type": "string", "description": "Module where this delivery type will be used. Example : EFolio Export, EInvoice , Fiscal, etc..", "enum": [ "EfolioExport" ] }, "profileMembershipType": { "type": "object", "description": "Detailed information of the memberships.", "properties": { "comment": { "description": "Additional comments regarding to the membership.", "$ref": "#/definitions/paragraphType" }, "newMembershipNumber": { "description": "Card Number of the membership.", "type": "string" }, "nameOnCard": { "description": "Name to be displayed on the membership card.", "type": "string" }, "programDescription": { "description": "Description of the membership program.", "type": "string" }, "membershipLevel": { "description": "Indicates the membership level.", "type": "string" }, "membershipLevelDescription": { "description": "Indicates the membership level description.", "type": "string", "minLength": 0, "maxLength": 200 }, "membershipClass": { "description": "Indicates the membership class.", "type": "string" }, "earningPreference": { "description": "Earning preference to the membership.", "$ref": "#/definitions/membershipEarningPreferenceType" }, "inactive": { "description": "Indicates whether membership is active or inactive.", "type": "boolean" }, "benefits": { "description": "benefits for the membership.", "$ref": "#/definitions/benefitsType" }, "tierAdministration": { "description": "Defines the degree of participation for this membership in the tier management portion of the program.", "$ref": "#/definitions/tierAdministrationType" }, "downgrade": { "description": "Defines how downgrading will be handled for this membership.", "$ref": "#/definitions/downgradeType" }, "reIssueNewCard": { "description": "The status of issuing new membership card to the member.", "$ref": "#/definitions/cardReIssueType" }, "excludeFromBatch": { "description": "True if you want to exclude the member from the Membership Fulfillment extract,the member's actions will not be included in the fulfillment extract until this value set to false.", "type": "boolean" }, "upgradeDescription": { "description": "Indicates Upgrade information which includes member's next tier level, requirements for the next upgrade.", "type": "string", "minLength": 0, "maxLength": 32000 }, "downgradeDescription": { "description": "Indicates information regarding the member's possible downgrades.", "type": "string", "minLength": 0, "maxLength": 32000 }, "rating": { "description": "Value Rating Type Description for this membership.", "type": "string" }, "membershipEnrollmentCode": { "description": "Indicates how the guest enrolled in the program.", "type": "string", "minLength": 0, "maxLength": 20 }, "memberStatus": { "description": "Indicates where the guest is in the membership enrollment process.", "type": "string", "minLength": 0, "maxLength": 20 }, "currentPoints": { "description": "Profile MemberShip Points.", "type": "number" }, "pointsLabel": { "description": "Label used to refer to points for this membership type", "type": "string", "minLength": 0, "maxLength": 20 }, "enrollmentSource": { "description": "Source from where the enrollment is done.", "type": "string", "minLength": 0, "maxLength": 20 }, "enrollmentResort": { "description": "Resort/CRO where enrollment is done.", "type": "string", "minLength": 0, "maxLength": 20 }, "preferredCard": { "description": "Preferred Card.", "type": "boolean" }, "membershipId": { "description": "Card Number of the membership.", "type": "string" }, "membershipType": { "description": "Type of membership.", "type": "string" }, "primaryMembershipYn": { "description": "Indicator if Membership is a Primary Membership.", "type": "string", "minLength": 0, "maxLength": 1 }, "primaryMembership": { "description": "Boolean indicator set to True implies membership is a Primary Membership.", "type": "boolean" }, "membershipIdNo": { "description": "Membership ID Number.", "type": "integer" }, "playerRanking": { "description": "Ranking assigned to the Player Profile by the Gaming system.", "type": "integer" }, "centralSetup": { "description": "Indicates how the award points for this membership type will be managed.", "type": "boolean" }, "signupDate": { "description": "Indicates when the member signed up for the loyalty program.", "type": "string", "format": "date" }, "effectiveDate": { "description": "Indicates the starting date.", "type": "string", "format": "date" }, "expireDate": { "description": "Indicates the ending date.", "type": "string", "format": "date" }, "expireDateExclusiveIndicator": { "description": "When true, indicates that the ExpireDate is the first day after the applicable period (e.g. when expire date is Oct 15 the last date of the period is Oct 14).", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "paragraphType": { "type": "object", "description": "An indication of a new paragraph for a sub-section of a formatted text message.", "properties": { "text": { "description": "Formatted text content.", "$ref": "#/definitions/formattedTextTextType" } } }, "membershipEarningPreferenceType": { "type": "string", "description": "The earning preference of a membership, it depends on the type of property. eg. when the property is a airline it should be Miles, other than Points.", "enum": [ "Points", "Miles" ] }, "benefitsType": { "type": "array", "description": "Basic information about membership benefit.", "maxItems": 4000, "items": { "$ref": "#/definitions/benefitType" } }, "benefitType": { "type": "object", "description": "Basic information about membership benefit.", "properties": { "code": { "description": "Benefit code associated with a membership.", "type": "string", "minLength": 0, "maxLength": 20 }, "message": { "description": "Processing message for membership benefit.", "type": "string", "minLength": 0, "maxLength": 4000 }, "inactive": { "description": "Indicates whether membership benefit is active or inactive.", "type": "boolean" } } }, "tierAdministrationType": { "type": "string", "description": "Do not upgrade membership. The membership may be downgraded.", "enum": [ "Disabled", "NoUpgrade" ] }, "downgradeType": { "type": "string", "description": "Do not downgrade membership when the next downgrade process runs. When the downgrade process runs, the membership will be automatically set to Grace.", "enum": [ "Grace", "Never", "Period" ] }, "cardReIssueType": { "type": "string", "description": "Request to re issue a new card.", "enum": [ "Pending", "NotApplicable", "Requested" ] }, "preferenceTypeType": { "type": "object", "description": "Preference details for the profile.", "properties": { "preference": { "description": "Collection of Preferences for the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/preferenceType" } }, "preferenceType": { "description": "Preference group code.", "type": "string", "minLength": 0, "maxLength": 20 }, "preferenceTypeDescription": { "description": "Preference group description.", "type": "string" }, "sequence": { "description": "Preference Sequence.", "type": "string" }, "maxQuantity": { "description": "Maximum quantity of preferences allowed per preference group.", "type": "integer" }, "availableQuantity": { "description": "Available quantity of preferences (maximum quantity - Existing preferences)per preference group.", "type": "integer" }, "maxResortUsedQuantity": { "description": "Maximum quantity of preferences used by any resort per preference group.", "type": "integer" }, "reservationPreference": { "description": "Whether this preference is reservation preference or not.", "type": "boolean" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "preferenceType": { "type": "object", "description": "Guest Preference details for the profile.", "properties": { "preferenceValue": { "description": "Preference value for display purposes.", "type": "string", "minLength": 0, "maxLength": 200 }, "description": { "description": "Preference Description for display purposes.", "type": "string", "minLength": 0, "maxLength": 2000 }, "global": { "description": "Whether this preference is property specific or not.", "type": "boolean" }, "source": { "description": "Source of the preference.", "type": "string", "minLength": 0, "maxLength": 40 }, "hotels": { "description": "If specified preference belongs to the Hotels listed, otherwise it is a global preference.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "preferenceId": { "type": "string", "minLength": 0, "maxLength": 20 }, "excludedPreferencesCount": { "description": "Specifies the count of preferences excluded for the attached reservation preference.", "type": "integer" }, "copyToProfile": { "description": "Specifies whether to copy the reservation preference to the profile or not.", "type": "boolean" } } }, "relationshipInfoType": { "type": "object", "description": "Relationship Type contains information about the associations between and among individuals, companies, travel agents, groups, sources, and contact profiles.", "properties": { "relationshipProfile": { "description": "Refer to Relationship Profile type document.", "$ref": "#/definitions/relationshipProfileType" }, "id": { "description": "Relationship identifier.", "type": "string", "minLength": 0, "maxLength": 80 }, "relation": { "description": "Indicates the type of relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "relationDescription": { "description": "Displays the description of relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 200 }, "targetRelation": { "description": "Displays the type of relationship the Related profile(Target Profile) has with the current profile(Source Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "targetRelationDescription": { "description": "Displays the description of the target relation(Target Profile).", "type": "string", "minLength": 0, "maxLength": 200 } } }, "relationshipProfileType": { "type": "object", "properties": { "customer": { "description": "Detailed information of the customer", "$ref": "#/definitions/customerType" }, "company": { "description": "Detailed information of the Company.", "$ref": "#/definitions/companyType" }, "telephone": { "description": "Information on telephone details for the customer/company", "$ref": "#/definitions/telephoneInfoType" }, "address": { "description": "Information on address details for the customer/company", "$ref": "#/definitions/addressInfoType" }, "email": { "description": "Information on email address for the customer/company", "$ref": "#/definitions/emailInfoType" }, "uRLs": { "description": "Information on web url/address for the customer/company", "$ref": "#/definitions/uRLInfoType" }, "primaryOwner": { "description": "Primary Owner of the profile", "$ref": "#/definitions/ownerType" }, "profileIdList": { "description": "Original profile details for which the relationships was created", "$ref": "#/definitions/uniqueIDListType" }, "primary": { "description": "Indicates if this relationship is the primary relationship.", "type": "string", "minLength": 0, "maxLength": 20 }, "id": { "description": "Relationship identifier.", "type": "string", "minLength": 0, "maxLength": 80 }, "statusCode": { "description": "Status of the profile. Active/Inactive", "$ref": "#/definitions/profileStatusType" }, "profileType": { "description": "Type of profile such as Guest, Agent, Company, Group, Source, Employee, Hotel, Vendor or Contact.", "$ref": "#/definitions/profileTypeType" } } }, "ownerType": { "type": "object", "description": "Generic type for information about an owner.", "properties": { "hotel": { "description": "Hotel to which the owner belongs to.", "$ref": "#/definitions/codeDescriptionType" }, "userId": { "description": "Unique application user ID.", "$ref": "#/definitions/uniqueID_Type" }, "userName": { "description": "Unique application user name of the owner.", "type": "string", "minLength": 0, "maxLength": 40 }, "ownerCode": { "description": "Unique Code to identify the owner.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileId": { "description": "Unique owner profile information.", "$ref": "#/definitions/profileId" }, "name": { "description": "Provides name information of the owner.", "$ref": "#/definitions/personNameType" }, "department": { "description": "Department to which the owner belongs to.", "$ref": "#/definitions/codeDescriptionType" }, "email": { "description": "Email information of the owner.", "$ref": "#/definitions/emailInfoType" }, "phone": { "description": "Information on the telephone number of the owner.", "$ref": "#/definitions/telephoneInfoType" }, "relationship": { "description": "Relationship of the owner within the profile or block.", "$ref": "#/definitions/codeDescriptionType" }, "primary": { "description": "When true, this is a primary owner.", "type": "boolean" } } }, "codeDescriptionType": { "type": "object", "description": "This contains a generic code and description information.", "properties": { "code": { "description": "Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "description.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "uniqueIDListType": { "type": "array", "description": "Unique Id that references an object uniquely in the system.", "maxItems": 4000, "items": { "$ref": "#/definitions/uniqueID_Type" } }, "profileStatusType": { "type": "string", "enum": [ "Active", "Inactive" ] }, "profileTypeType": { "type": "string", "description": "The types of Profile handled by the web service.", "enum": [ "Guest", "Agent", "Company", "Group", "Source", "Employee", "Hotel", "Vendor", "Contact", "Purge", "BusinessHeader", "BillingAccount", "Activity", "Potential", "Account" ] }, "relationshipInfoSummaryType": { "type": "object", "description": "RelationshipInfoSummaryType contains information about the associations between and among individuals, companies, travel agents, groups, sources, and contact profiles.", "properties": { "relationshipProfile": { "description": "Refer to Relationship Profile Summary type document.", "$ref": "#/definitions/relationshipProfileSummaryType" }, "masterAccountDetails": { "description": "Refer to Master Profile type document.", "$ref": "#/definitions/masterAccountInfoType" }, "relationshipID": { "description": "Relationship identifier.", "type": "string", "minLength": 0, "maxLength": 80 }, "sourceRelation": { "description": "Indicates the type of relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceRelationDescription": { "description": "Displays the description of relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 200 }, "targetRelation": { "description": "Displays the type of relationship the Related profile(Target Profile) has with the current profile(Source Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "targetRelationDescription": { "description": "Displays the description of the target relation(Target Profile).", "type": "string", "minLength": 0, "maxLength": 200 } } }, "relationshipProfileSummaryType": { "type": "object", "properties": { "customerName": { "description": "Name of the customer", "type": "string", "minLength": 0, "maxLength": 40 }, "companyName": { "description": "Name of the company.", "type": "string", "minLength": 0, "maxLength": 40 }, "telephoneNumber": { "description": "Telephone number assigned to a single location", "type": "string", "minLength": 0, "maxLength": 40 }, "address": { "description": "Information on address details for the customer/company", "$ref": "#/definitions/relationshipAddressType" }, "emailAddress": { "description": "Defines the e-mail address.", "type": "string", "minLength": 0, "maxLength": 2000 }, "ownerCode": { "description": "Unique Code to identify the owner.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileIdList": { "description": "Original profile details for which the relationships was created", "$ref": "#/definitions/uniqueIDListType" }, "primary": { "description": "Indicates if this relationship is the primary relationship.", "type": "boolean" }, "profileStatus": { "description": "Status of the profile. Active/Inactive", "$ref": "#/definitions/profileStatusType" }, "primaryOwnerCode": { "description": "When true, this is a primary owner.", "type": "boolean" }, "profileType": { "description": "Type of profile such as Guest, Agent, Company, Group, Source, Employee, Hotel, Vendor or Contact.", "$ref": "#/definitions/profileTypeType" } } }, "relationshipAddressType": { "type": "object", "description": "Provides address information for a Relationship.", "properties": { "addressLine": { "description": "When the address is unformatted (FormattedInd=\"false\") these lines will contain free form address details. When the address is formatted and street number and street name must be sent independently, the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence.", "type": "array", "maxItems": 4, "items": { "type": "string", "minLength": 0, "maxLength": 80 } }, "city": { "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).", "type": "string", "minLength": 0, "maxLength": 40 }, "postalCode": { "description": "Post Office Code number.", "type": "string", "minLength": 0, "maxLength": 15 }, "state": { "description": "State or Province name (e.g., Texas).", "type": "string", "minLength": 0, "maxLength": 20 }, "country": { "description": "Country name (e.g., Ireland).", "type": "string", "minLength": 0, "maxLength": 200 } } }, "masterAccountInfoType": { "type": "object", "properties": {} }, "reservationHistoryFutureInfoType": { "type": "object", "description": "Information of History and Future Reservation details attached to Profiles.", "properties": { "historyList": { "description": "Refer to History list type document.", "$ref": "#/definitions/historyListType" }, "futureList": { "description": "Refer to Future list type document.", "$ref": "#/definitions/futureListType" } } }, "historyListType": { "type": "object", "description": "A collection of reservation history details attached to Profiles.", "properties": { "reservationInfo": { "description": "Additional reservation information attached to the profile . Eg : History reservation details", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "futureListType": { "type": "object", "description": "A collection of reservation history details attached to Profiles.", "properties": { "reservationInfo": { "description": "Additional reservation information attached to the profile . Eg : Future reservation details", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "reservationStayHistoryFutureInfoType": { "type": "object", "description": "Information of History and Future Reservation details attached to Profiles.", "properties": { "historyList": { "description": "Refer to History list type document.", "$ref": "#/definitions/stayHistoryListType" }, "futureList": { "description": "Refer to Future list type document.", "$ref": "#/definitions/stayFutureListType" } } }, "stayHistoryListType": { "type": "object", "description": "A collection of reservation history details attached to Profiles.", "properties": { "reservationInfo": { "description": "Additional reservation information attached to the profile . Eg : History reservation details", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stayReservationInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "stayReservationInfoType": { "type": "object", "description": "The Reservation class contains the current reservation being created or altered.", "properties": { "reservationIdList": { "description": "Unique identifiers for the reservation for both internal and external systems", "$ref": "#/definitions/reservationIdList" }, "roomStay": { "description": "Collection of room stays.", "$ref": "#/definitions/stayInfoType" }, "attachedProfiles": { "description": "List of attached profiles", "$ref": "#/definitions/resAttachedProfileListType" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "reservationStatus": { "description": "Indicates the status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "computedReservationStatus": { "description": "Indicates the status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" } } }, "stayFutureListType": { "type": "object", "description": "A collection of reservation history details attached to Profiles.", "properties": { "reservationInfo": { "description": "Additional reservation information attached to the profile . Eg : Future reservation details", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stayReservationInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "lastStayInfoType": { "type": "object", "description": "Contains last stay related details for the profile", "properties": { "lastRoom": { "description": "Used to hold last room information for the profile.", "type": "string" }, "totalStay": { "description": "The total number of previous stay of the profile.", "type": "integer" } } }, "profileRestrictions": { "type": "object", "properties": { "reason": { "description": "Restriction reason associated with the current profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "reasonDescription": { "description": "Description of restriction reason.", "type": "string", "minLength": 0, "maxLength": 2000 }, "restricted": { "description": "True indicates there are restrictions associated with the current profile.", "type": "boolean" } } }, "profileCashieringType": { "type": "object", "description": "Contains cashiering related details for the profile", "properties": { "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" } } }, "profileCommissionType": { "type": "object", "description": "This is the preconfigured routing instruction type.", "properties": { "hotelId": { "description": "Hotel Code for the commission being used for a profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "commissionCode": { "description": "commission Code for a profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "bankAccount": { "description": "Bank account used for the commission for a profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "paymentMethod": { "description": "Type of payment associated with the bank account.", "$ref": "#/definitions/commissionPaymentMethods" }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" } } }, "commissionPaymentMethods": { "type": "string", "description": "Check", "enum": [ "Cent", "Eft", "Chk" ] }, "userDefinedFieldsType": { "type": "object", "description": "A common type used to hold user defined fields(UDFs). This type should be used to handle UDFs on RReservation, Profiles, etc.", "properties": { "characterUDFs": { "description": "Collection of user defined fields of Character/String Type.", "$ref": "#/definitions/characterUDFsType" }, "numericUDFs": { "description": "Collection of user defined fields of Numeric Type.", "$ref": "#/definitions/numericUDFsType" }, "dateUDFs": { "description": "Collection of user defined fields of Date Type.", "$ref": "#/definitions/dateUDFsType" } } }, "characterUDFsType": { "type": "array", "description": "Used to hold collection of user defined fields of Character/String Type.", "maxItems": 4000, "items": { "$ref": "#/definitions/characterUDFType" } }, "characterUDFType": { "type": "object", "description": "Used to hold user defined field of Character/String Type.", "properties": { "name": { "description": "Used to hold user defined field of Character Type. It is highly recommended to use UDFC01, UDFC02,...UDFC40 (Total 40) as Character/String UDF names(commonly used on Reservation, Profile etc.). Name is not restricted using enumeration, to provide flexibility of different name usage if required.", "type": "string", "minLength": 0, "maxLength": 20 }, "value": { "description": "Value of user defined field.", "type": "string", "minLength": 0, "maxLength": 2000 }, "alternateName": { "description": "Label of user defined field used by vendors or customers.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "numericUDFsType": { "type": "array", "description": "Used to hold collection of user defined fields of Numeric Type.", "maxItems": 4000, "items": { "$ref": "#/definitions/numericUDFType" } }, "numericUDFType": { "type": "object", "description": "Used to hold user defined field of Numeric Type. It is highly recommended to use UDFN01, UDFN02,...UDFN40 (Total 40) as Numeric UDF names(commonly used on Reservation, Profile etc.). Name is not restricted using enumeration, to provide flexibility of different name usage if required.", "properties": { "name": { "description": "Name of user defined field.", "type": "string", "minLength": 0, "maxLength": 20 }, "value": { "description": "Value of user defined field.", "type": "number" }, "alternateName": { "description": "Label of user defined field used by vendors or customers.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "dateUDFsType": { "type": "array", "description": "Used to hold collection of user defined fields of Date Type.", "maxItems": 4000, "items": { "$ref": "#/definitions/dateUDFType" } }, "dateUDFType": { "type": "object", "description": "Used to hold user defined field of Date Type.", "properties": { "name": { "description": "Used to hold user defined field of Date Type. It is highly recommended to use UDFD01, UDFD02,...UDFN20 (Total 20) as Date UDF names(commonly used on Reservation, Profile etc.). Name is not restricted using enumeration, to provide flexibility of different name usage if required.", "type": "string", "minLength": 0, "maxLength": 20 }, "value": { "description": "Value of user defined field.", "type": "string", "format": "date" }, "alternateName": { "description": "Label of user defined field used by vendors or customers.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "eCertificatesType": { "type": "array", "description": "List of e-certificates for the profile.", "maxItems": 4000, "items": { "$ref": "#/definitions/eCertificateType" } }, "eCertificateType": { "type": "object", "description": "E-Certificates details.", "properties": { "voucherNo": { "description": "System generated unique voucher number.", "type": "string", "minLength": 0, "maxLength": 40 }, "certificateNo": { "description": "Printed certificate no. This has to be unique.", "type": "string", "minLength": 0, "maxLength": 40 }, "eCertificateInfo": { "$ref": "#/definitions/eCertificateInfoType" }, "expiryDate": { "description": "Date of expiry.", "type": "string", "format": "date" }, "profileId": { "description": "NameId.", "$ref": "#/definitions/profileId" }, "consumptionDetail": { "$ref": "#/definitions/eCertificateConsumptionType" }, "status": { "description": "Status of the certificate.", "$ref": "#/definitions/eCertificateStatusType" }, "printed": { "description": "Print status of the certificate.", "type": "boolean" }, "source": { "description": "Source of e-certificate.", "$ref": "#/definitions/eCertificateIssueSourceType" }, "issueDate": { "description": "Date when certificate was issued.", "type": "string", "format": "date" } } }, "eCertificateInfoType": { "type": "object", "description": "E-Certificates details.", "properties": { "certificateType": { "description": "User defined certificate code.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipType": { "description": "Membership type to which the certificate is linked to.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardCode": { "description": "Award type to which the certificate is linked to.", "type": "string", "minLength": 0, "maxLength": 20 }, "promotionCode": { "description": "Promotion code to which certificate is attached to.", "type": "string", "minLength": 0, "maxLength": 20 }, "voucherBenefitCode": { "description": "Voucher benefit code attached to the certificate.", "type": "string", "minLength": 0, "maxLength": 40 }, "hotels": { "description": "Hotel to which certificate is attached to.", "type": "object", "properties": { "code": { "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "scope": { "description": "Scope of e-cert: global,single property or multi property.", "$ref": "#/definitions/eCertificateScopeType" } } }, "description": { "description": "Description about the certificate.", "type": "string", "minLength": 0, "maxLength": 200 }, "longDescription": { "description": "Detail description about the certificate.", "type": "string", "minLength": 0, "maxLength": 4000 }, "label": { "description": "Label for the certificate.", "type": "string", "minLength": 0, "maxLength": 40 }, "value": { "description": "Value of the certificate for the guest.", "$ref": "#/definitions/currencyAmountType" }, "cost": { "description": "Cost of certificate.", "$ref": "#/definitions/currencyAmountType" }, "benefitSummary": { "description": "Summary of Benefits attached to this ECertificate.", "type": "string", "minLength": 0, "maxLength": 4000 } } }, "eCertificateScopeType": { "type": "string", "description": "Indicates that OPERA E-Certificate is available for a specific list of hotels.", "enum": [ "Global", "Hotel", "MultiHotel" ] }, "eCertificateConsumptionType": { "type": "object", "description": "E-Certificates details.", "properties": { "hotelId": { "description": "Property where certificate was consumed for.", "type": "string", "minLength": 0, "maxLength": 20 }, "source": { "description": "Source of consumption.", "$ref": "#/definitions/eCertificateConsumeSourceType" }, "surname": { "description": "Last name of the person who consumed the certificate..", "type": "string", "minLength": 0, "maxLength": 40 }, "firstName": { "description": "First name of the person who consumed the certificate.", "type": "string", "minLength": 0, "maxLength": 40 }, "middleName": { "description": "Middle name of the person who consumed the certificate.", "type": "string", "minLength": 0, "maxLength": 40 }, "email": { "description": "Email of the person who consumed the certificate.", "type": "string", "minLength": 0, "maxLength": 2000 }, "date": { "description": "Date the certificate was consumed.", "type": "string", "format": "date" }, "userName": { "description": "Application user who created the consumption.", "type": "string", "minLength": 0, "maxLength": 2000 }, "referenceId": { "description": "Any reference like reservation no etc against which the certificate was consumed.", "$ref": "#/definitions/uniqueID_Type" } } }, "eCertificateConsumeSourceType": { "type": "string", "description": "Indicates that OPERA E-Certificate is consumed by hotelPMS.", "enum": [ "Central", "Web", "Hotel" ] }, "eCertificateStatusType": { "type": "string", "description": "Indicates that OPERA E-Certificate is reserved.", "enum": [ "Cancelled", "Consumed", "Deleted", "Expired", "Issued", "Reserved" ] }, "eCertificateIssueSourceType": { "type": "string", "description": "Indicates that OPERA E-Certificate is issued by external system.", "enum": [ "Opera", "Web", "Interface" ] }, "roomOwnershipType": { "type": "object", "description": "Define the search criteria for retrieving room ownership records", "properties": { "roomOwnershipId": { "description": "Unique Id for Room Owner record.", "type": "integer" }, "contractNumber": { "description": "Contract number for room owner.", "type": "string" }, "roomId": { "description": "Room Id of room owner.", "type": "string" }, "roomCategory": { "description": "Room Category of the room ownership record.", "type": "string" }, "roomType": { "description": "Room Type of the room ownership record.", "type": "string" }, "startDate": { "description": "Start Date of the room ownership record.", "type": "string", "format": "date" }, "endDate": { "description": "End Date of the room ownership record.", "type": "string", "format": "date" }, "profileId": { "description": "Profile ID of the room ownership record.", "$ref": "#/definitions/uniqueID_Type" }, "status": { "description": "Status of the room ownership record.", "type": "string" } } }, "guestCountsType": { "type": "object", "description": "A collection of GuestCount by age group.", "properties": { "childAges": { "description": "Defines Children's Ages. Number of children ages mentioned may mot match with children counts.", "$ref": "#/definitions/childAgesType" }, "childBuckets": { "description": "Defines children counts with Age Qualifying Group(Child Bucket#1) classification.", "$ref": "#/definitions/childBucketsType" }, "adults": { "description": "Defines the number of Adults.", "type": "integer" }, "children": { "description": "Defines the number of Children.", "type": "integer" } } }, "childAgesType": { "type": "array", "description": "Age of a child in years.", "maxItems": 4000, "items": { "$ref": "#/definitions/childAgeType" } }, "childAgeType": { "type": "object", "description": "Defines Child's Age.", "properties": { "age": { "description": "Age of a child in years.", "type": "integer" } } }, "childBucketsType": { "type": "object", "description": "Defines children counts with Age Qualifying Group(Child Bucket) classification.", "properties": { "bucket1Count": { "description": "Number of children classified under the first Age Qualifying Group(Child Bucket#1).", "type": "integer" }, "bucket2Count": { "description": "Number of children classified under the second Age Qualifying Group(Child Bucket#2).", "type": "integer" }, "bucket3Count": { "description": "Number of children classified under the third Age Qualifying Group(Child Bucket#3).", "type": "integer" }, "bucket4Count": { "description": "Number of children classified under the fourth Age Qualifying Group(Child Bucket#4).", "type": "integer" }, "bucket5Count": { "description": "Number of children classified under the fifth Age Qualifying Group(Child Bucket#5).", "type": "integer" } } }, "resAwardsType": { "type": "object", "description": "Membership Awards code applied on the reservation.", "properties": { "membershipNo": { "description": "Membership program under which the award is applied.", "$ref": "#/definitions/uniqueID_Type" }, "originalRoomType": { "description": "Room Type before the Upgrade Award.", "type": "string", "minLength": 0, "maxLength": 20 }, "upgradeRoomType": { "description": "Room Type after the Upgrade Award.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "upsellInfoType": { "type": "object", "description": "Information regarding upsell for a reservation.", "properties": { "originalInfo": { "description": "Original Values of the reservation prior to upgrade.", "type": "object", "properties": { "rateCode": { "description": "The Rate Code of the Reservation before it was upgraded", "type": "string", "minLength": 0, "maxLength": 20 }, "totalAmount": { "description": "Total Amount of the reservation before it was upgraded.", "$ref": "#/definitions/currencyAmountType" }, "roomType": { "description": "Original Reservation Room Type before being upgraded.", "$ref": "#/definitions/codeDescriptionType" }, "nights": { "description": "The number of nights of the reservation before being upgraded.", "type": "integer" } } }, "upsellInfo": { "description": "Information of a reservation during the process of upgrade.", "type": "object", "properties": { "totalUpsellCharge": { "description": "Amount that was charged for the upsell.", "$ref": "#/definitions/currencyAmountType" }, "totalUpsellMoneyAmount": { "description": "Total Amount that was charged including upsell.", "$ref": "#/definitions/currencyAmountType" }, "firstNightUpsellAmount": { "description": "First Night Total Amount including Upsell.", "$ref": "#/definitions/currencyAmountType" }, "firstNightUpsellCharge": { "description": "First Night Upsell Charges.", "$ref": "#/definitions/currencyAmountType" }, "totalUpsellPoints": { "description": "Total Upsell Points.", "type": "integer" }, "totalActualRateAmount": { "description": "Actual Total Room Rate for the Target Upsell Room Type.", "$ref": "#/definitions/currencyAmountType" }, "roomType": { "description": "Reservation Room Type for Upsell.", "$ref": "#/definitions/codeDescriptionType" }, "roomLongDescription": { "description": "Detail description of the Room Type.", "type": "string", "minLength": 0, "maxLength": 2000 }, "ruleId": { "description": "Upsell Rule Id.", "type": "integer" }, "ruleCode": { "description": "Upsell rule code", "type": "string", "minLength": 0, "maxLength": 20 }, "ruleDescription": { "description": "Upsell rule description", "type": "string", "minLength": 0, "maxLength": 2000 }, "percentageSavings": { "description": "Percentage savings resulting from accepting upsell offer. This will be calculated as the ratio of the amount saved by accepting the upsell offer to the actual room rate (i.e. room rate when upsell is not offered)", "type": "number", "minimum": 0, "maximum": 100 }, "upsellDate": { "description": "The date on which reservation is upgraded.", "type": "string", "format": "date" }, "upsellUser": { "description": "User who upgraded the reservation.", "type": "string", "minLength": 0, "maxLength": 40 } } } } }, "primaryShareTypeType": { "type": "string", "enum": [ "Primary", "NonPrimary" ] }, "compAuthorizerInfoType": { "type": "object", "description": "Authorizer Information", "properties": { "authorizerId": { "$ref": "#/definitions/uniqueID_Type" }, "authorizerUserName": { "description": "Application user name of the authorizer", "type": "string", "minLength": 0, "maxLength": 40 }, "authorizerName": { "description": "Full name of the authorizer.", "type": "string", "minLength": 0, "maxLength": 100 } } }, "resGuestType": { "type": "object", "description": "A collection of ResGuest objects, identifying the guests associated with this reservation. Which guests are in which room is determined by each RoomStays ResGuestRPHs collection.", "properties": { "profileInfo": { "description": "A collection of Profiles or Unique IDs of Profiles.", "type": "object", "properties": { "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems. In case of Travel Agent the IATA code and in case of Company can be any form of identifier as id.", "$ref": "#/definitions/profileIdList" }, "externalReference": { "description": "External Reference information for Profile. Please note, for id and idContext elements within externalReferences for the reservationGuest the following maximum character limits are applicable: 80 maximum characters for id and 20 maximum characters for idContext. The idContext must match an existing external database.", "$ref": "#/definitions/externalReferenceType" }, "profile": { "description": "Provides detailed information regarding either a company or a customer profile.", "$ref": "#/definitions/profileType" }, "profileCashieringDetail": { "description": "Cashiering details for the profile.", "$ref": "#/definitions/profileCashieringDetailType" }, "registrationCardNo": { "description": "Unique identifier of the police registration card number.", "type": "string", "minLength": 0, "maxLength": 40 }, "attachDetachType": { "description": "Attach and Detach information for accompanying guest profile.", "$ref": "#/definitions/attachDetachType" }, "externalReferences": { "description": "External References information for this Profile. Will be returned in getReservation and getReservationByExtId calls when the 'profileExternalReferencesToFetch' query parameter is sent.", "$ref": "#/definitions/externalReferencesType" } } }, "arrivalTransport": { "$ref": "#/definitions/transportInfoType" }, "departureTransport": { "$ref": "#/definitions/transportInfoType" }, "visaInfo": { "$ref": "#/definitions/visaInfoType" }, "reservationGuestRPH": { "description": "This is a reference placeholder, used as an index for this guest in this reservation. In the ResGuest object it is used like all other RPH attributes to send the delta of a reservation. It is used by the RoomStay and Service objects to indicate which guests are associated with that room stay or service.", "type": "string", "minLength": 1, "maxLength": 8 }, "primary": { "description": "When true indicates this is the primary guest.", "type": "boolean" } } }, "profileCashieringDetailType": { "type": "object", "description": "The type contains routing instructions for the profile.", "properties": { "paymentMethod": { "description": "Payment Method Details.", "$ref": "#/definitions/codeDescriptionType" }, "routingInstructions": { "description": "Set of preconfigured transaction codes.", "$ref": "#/definitions/profileRoutingInstructionsType" }, "taxType": { "description": "Tax type code.", "type": "string", "minLength": 0, "maxLength": 20 }, "fiscalGuestType": { "description": "Guest type code.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "Hotel Code for which the routing instructions are provided for a profile.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "profileRoutingInstructionsType": { "type": "object", "description": "The type contains routing instructions for the profile.", "properties": { "transactionCodes": { "description": "Set of preconfigured transaction codes.", "$ref": "#/definitions/trxCodesInfoType" }, "billingInstructions": { "description": "Set of preconfigured Billing Instruction results.", "$ref": "#/definitions/billingInstructionsType" }, "autoPopulateRouting": { "description": "A flag which determines whether the instructions has to be automatically populated for this profile or not.", "type": "boolean" } } }, "trxCodesInfoType": { "type": "array", "description": "List of Transaction codes info.", "maxItems": 4000, "items": { "$ref": "#/definitions/trxInfoType" } }, "trxInfoType": { "type": "object", "description": "Transaction codes info.", "properties": { "description": { "description": "Transaction codes info.", "type": "string", "minLength": 0, "maxLength": 2000 }, "trxServiceType": { "description": "Contains service type for transaction code.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionCode": { "description": "Unique identifier for the Transaction code.", "type": "string", "minLength": 0, "maxLength": 20 }, "otaTaxType": { "description": "Open Travel Alliance(OTA) tax type for the given Transaction code.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "Hotel context of the Transaction code.", "type": "string", "minLength": 0, "maxLength": 20 }, "printTrxReceipt": { "description": "Print receipt flag that tells whether the transaction receipt is to be printed or not. This is based on the transaction code.", "type": "boolean" } } }, "billingInstructionsType": { "type": "array", "description": "Set of Billing Instruction codes.", "maxItems": 4000, "items": { "$ref": "#/definitions/billingInstructionType" } }, "billingInstructionType": { "type": "object", "description": "Configured Billing Instruction which represents a set of Transaction Codes.", "properties": { "desc": { "description": "Billing Instruction code description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "billingCode": { "description": "Unique identifier for the Billing Instruction.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "Hotel context of the Billing Instruction.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "transportInfoType": { "type": "object", "properties": { "comments": { "type": "string", "minLength": 0, "maxLength": 2000 }, "type": { "type": "string", "minLength": 0, "maxLength": 20 }, "transportCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "carrierCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "stationCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "dateTime": { "type": "string", "format": "date-time", "description": "Uses the hotel's time zone." }, "transportationReqd": { "type": "boolean" } } }, "visaInfoType": { "type": "object", "properties": { "visaIssueDate": { "type": "string", "format": "date" }, "visaExpiryDate": { "type": "string", "format": "date" }, "visaNumber": { "type": "string", "minLength": 0, "maxLength": 40 } } }, "resGuestAdditionalInfoType": { "type": "object", "properties": { "portOfEntry": { "description": "Entry point into the country. (Croatian Requirements).", "type": "string", "minLength": 0, "maxLength": 40 }, "dateOfEntry": { "description": "Entry Date into the country. (Croatian Requirements).", "type": "string", "format": "date" }, "nextDestination": { "description": "Entry Date into the country. (Croatian Requirements).", "type": "string" }, "preferredRoomType": { "description": "Preferred Room Type of the guest.", "type": "string", "minLength": 0, "maxLength": 20 }, "lastStay": { "description": "Last Stay information of the guest.", "$ref": "#/definitions/guestLastStayInfoType" }, "purposeOfStay": { "description": "Purpose of stay. This is field is mandatory for putReservation/postReservation Request when the Advanced Daily Details functionality is not active. When Advanced Daily Details is active, if a value is sent in the roomRateType object then it will take precedence over this value.", "type": "string", "minLength": 0, "maxLength": 20 }, "guestClassification": { "description": "Guest Classification for the data export.", "type": "string", "minLength": 0, "maxLength": 40 }, "guestStatus": { "description": "Guest Status for the data export.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "trackItItemsType": { "type": "array", "description": "", "maxItems": 4000, "items": { "$ref": "#/definitions/trackItItemType" } }, "trackItItemType": { "type": "object", "description": "Detailed information of a Track It item.", "properties": { "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "trackItId": { "$ref": "#/definitions/trackItId" }, "group": { "$ref": "#/definitions/trackItGroup" }, "ticketNumber": { "type": "string", "minLength": 0, "maxLength": 80 }, "referenceNumber": { "type": "string", "minLength": 0, "maxLength": 20 }, "type": { "$ref": "#/definitions/trackItType" }, "action": { "$ref": "#/definitions/trackItActionType" }, "location": { "$ref": "#/definitions/codeDescriptionType" }, "quantity": { "type": "integer" }, "followUpDate": { "type": "string", "format": "date" }, "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "assignedTo": { "$ref": "#/definitions/applicationUserType" }, "reservationInfo": { "$ref": "#/definitions/trackItReservationInfoType" }, "trackItLogList": { "$ref": "#/definitions/trackItLogListType" } } }, "trackItId": { "type": "object", "description": "An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).", "properties": { "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" } } }, "trackItGroup": { "type": "string", "description": "Group to which the Track It items belong.", "enum": [ "Parcel", "Valet", "Baggage", "Lost" ] }, "trackItType": { "type": "object", "description": "Identifies the kind of Parcel, Baggage, or Lost items or Valet-managed vehicles or services.", "properties": { "type": { "$ref": "#/definitions/codeDescriptionType" }, "url": { "$ref": "#/definitions/uRLType" } } }, "trackItActionType": { "type": "object", "description": "Identifies the response expected from staff or other parties relative to a Track It ticket.", "properties": { "trackItAction": { "$ref": "#/definitions/codeDescriptionType" }, "status": { "$ref": "#/definitions/actionStatusType" } } }, "actionStatusType": { "type": "string", "description": "Action status of the Track It item(Open, Closed).", "enum": [ "Open", "Closed" ] }, "applicationUserType": { "type": "object", "properties": { "hotel": { "description": "Hotel where user belongs.", "$ref": "#/definitions/codeDescriptionType" }, "appUser": { "type": "string", "minLength": 0, "maxLength": 250 }, "lDAPUser": { "type": "string", "minLength": 0, "maxLength": 250 }, "actAs": { "type": "string", "minLength": 0, "maxLength": 20 }, "actAt": { "type": "string", "minLength": 0, "maxLength": 20 }, "userDefaultLanguage": { "type": "string", "minLength": 0, "maxLength": 20 }, "appUserId": { "$ref": "#/definitions/uniqueID_Type" }, "cashierId": { "type": "integer" }, "cashierTitle": { "description": "Cashier title.", "type": "string", "minLength": 0, "maxLength": 2000 }, "department": { "type": "string", "minLength": 0, "maxLength": 60 }, "departmentLocation": { "type": "string", "minLength": 0, "maxLength": 60 }, "salesRepCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "expiryDate": { "type": "string", "format": "date" }, "disabledUntil": { "type": "string", "format": "date" }, "passwordChangeDate": { "type": "string", "format": "date" }, "userInfo": { "$ref": "#/definitions/employeeInfoType" }, "userSessionInfo": { "description": "This is only used during log-in.", "$ref": "#/definitions/userSessionInfoType" }, "attendantInfo": { "$ref": "#/definitions/attendantType" } } }, "employeeInfoType": { "type": "object", "properties": { "personName": { "$ref": "#/definitions/personNameType" }, "profileId": { "$ref": "#/definitions/uniqueID_Type" }, "addressInfo": { "$ref": "#/definitions/addressInfoType" }, "emailInfo": { "$ref": "#/definitions/emailInfoType" }, "phoneInfo": { "$ref": "#/definitions/telephoneInfoType" }, "department": { "$ref": "#/definitions/codeDescriptionType" }, "gender": { "description": "Identifies the profile gender code selected from Gender types List of values. Gender types LOV provides the values configured at gender configuration.", "type": "string", "minLength": 0, "maxLength": 20 }, "birthDate": { "description": "Indicates the date of birth as indicated in the document, in ISO 8601 prescribed format.", "type": "string", "format": "date" }, "birthDateMasked": { "description": "Indicates the date of birth as masked.", "type": "string" } } }, "userSessionInfoType": { "type": "object", "properties": { "businessDate": { "type": "string", "format": "date" }, "systemDate": { "type": "string", "format": "date" }, "terminal": { "type": "string" }, "runningApp": { "type": "string" }, "shareProfiles": { "type": "boolean" }, "hotel": { "$ref": "#/definitions/codeDescriptionType" }, "cro": { "$ref": "#/definitions/codeDescriptionType" }, "chain": { "type": "string", "minLength": 0, "maxLength": 20 }, "cROCountryCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "sessionDefaults": { "$ref": "#/definitions/userSessionDefaultsType" }, "parameters": { "$ref": "#/definitions/parametersType" } } }, "userSessionDefaultsType": { "type": "object", "properties": { "dbDateFormat": { "type": "string" }, "oracleDateFormat": { "type": "string" }, "oracleTimeFormat": { "type": "string" }, "javaDateFormat": { "type": "string" }, "javaTimeFormat": { "type": "string" }, "currencyCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "currencyFormat": { "type": "string" }, "defaultLanguage": { "type": "string" }, "baseLanguage": { "type": "string", "minLength": 0, "maxLength": 20 } } }, "parametersType": { "type": "array", "description": "Collection of generic Name-Value-Pair parameters.", "maxItems": 4000, "items": { "$ref": "#/definitions/parameterType" } }, "parameterType": { "type": "object", "description": "Name value pair type that will hold generic parameter information. Only use this type when the parameters being passed are too dynamic to be defined.", "properties": { "parameterName": { "description": "Name of the parameter.", "type": "string" }, "parameterValue": { "description": "Value of the parameter.", "type": "string" } } }, "attendantType": { "type": "object", "properties": { "attendantId": { "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 } } }, "trackItReservationInfoType": { "type": "object", "description": "Reservation info associated with a Track It item.", "properties": { "reservationIdList": { "$ref": "#/definitions/reservationIdList" }, "timeSpan": { "$ref": "#/definitions/timeSpanType" }, "guestInfo": { "$ref": "#/definitions/resGuestInfoType" }, "roomType": { "type": "string", "minLength": 0, "maxLength": 20 }, "roomId": { "type": "string", "minLength": 0, "maxLength": 20 }, "roomStatus": { "$ref": "#/definitions/housekeepingRoomStatusType" }, "guarantee": { "$ref": "#/definitions/resGuaranteeType" }, "reservationStatus": { "$ref": "#/definitions/pMS_ResStatusType" }, "computedReservationStatus": { "$ref": "#/definitions/pMS_ResStatusType" } } }, "trackItLogListType": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/trackItLogType" } }, "trackItLogType": { "type": "object", "description": "Individual activity log related to the Track It ticket.", "properties": { "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "trackItLogId": { "$ref": "#/definitions/uniqueID_Type" }, "trackItId": { "$ref": "#/definitions/trackItId" }, "type": { "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "type": "string", "minLength": 0, "maxLength": 200 }, "businessDate": { "type": "string", "format": "date" }, "logUserId": { "type": "integer" }, "logUserName": { "type": "string" }, "logDate": { "type": "string", "format": "date-time", "description": "Uses the hotel's time zone." } } }, "reservationLocatorsType": { "type": "array", "description": "Holds the Locator Information.", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationLocatorType" } }, "reservationLocatorType": { "type": "object", "description": "Holds the information for a Reservation Guest Locator", "properties": { "dateSpan": { "description": "Begin and End date range of the Guest Locator.", "$ref": "#/definitions/dateRangeType" }, "timeSpan": { "description": "Time span for the Guest Locator. Uses the hotel's time zone.", "$ref": "#/definitions/dateTimeSpanType" }, "locatorText": { "description": "The Locator Text for the guest.", "type": "string" }, "locatorOn": { "description": "Date and time of the Guest Locator.", "type": "string", "format": "date-time" }, "locatorBy": { "description": "User that entered this Guest Locator.", "type": "string" }, "locatorId": { "description": "Unique Id of the Guest Locator ( Locator Id )", "$ref": "#/definitions/uniqueID_Type" } } }, "dateRangeType": { "type": "object", "description": "Date Range with Start and End dates.", "properties": { "start": { "description": "The starting value of the date range.", "type": "string", "format": "date" }, "end": { "description": "The ending value of the date range.", "type": "string", "format": "date" } } }, "attachmentsType": { "type": "array", "description": "Attachment List.", "maxItems": 4000, "items": { "$ref": "#/definitions/attachmentType" } }, "attachmentType": { "type": "object", "description": "Attached files.", "properties": { "fileName": { "description": "Name of the file.", "type": "string", "minLength": 0, "maxLength": 2000 }, "fileSize": { "description": "Size of the file.", "type": "integer" }, "description": { "description": "Description for the file.", "type": "string", "minLength": 0, "maxLength": 4000 }, "global": { "description": "Flag to say if attachment is available across properties.", "type": "boolean" }, "hotelId": { "description": "Hotel Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "history": { "description": "History data associated with Attachment.", "$ref": "#/definitions/dateTimeStampGroupType" }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" } } }, "dateTimeStampGroupType": { "type": "object", "properties": { "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" } } }, "serviceRequests": { "type": "array", "description": "Service request.", "maxItems": 4000, "items": { "$ref": "#/definitions/serviceRequest" } }, "serviceRequest": { "type": "object", "description": "Service request.", "properties": { "hotelId": { "description": "Hotel Code of the service request.", "type": "string", "minLength": 0, "maxLength": 20 }, "code": { "description": "Service request code.", "type": "string", "minLength": 0, "maxLength": 20 }, "status": { "description": "The status of the service request.", "$ref": "#/definitions/serviceRequestStatusType" }, "priority": { "description": "The priority level of the service request.", "type": "string", "minLength": 0, "maxLength": 20 }, "department": { "description": "The department that is associated with the service request code.", "$ref": "#/definitions/codeDescriptionType" }, "reservationIdList": { "description": "Unique identifier of the reservation.", "$ref": "#/definitions/reservationIdList" }, "profileId": { "description": "Unique identifier of the guest.", "$ref": "#/definitions/profileId" }, "guestName": { "description": "The guest name.", "type": "string", "minLength": 0, "maxLength": 200 }, "room": { "description": "The room number in which the service request was created.", "type": "string", "minLength": 0, "maxLength": 20 }, "comment": { "description": "Description of the service request.", "type": "string", "minLength": 0, "maxLength": 2000 }, "action": { "description": "Description of the action taken to complete the request.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "serviceRequestStatusType": { "type": "string", "enum": [ "Open", "PendingFollowUp", "Closed", "DoNotDisturb", "MakeUpRoom" ] }, "activityLookUpList": { "type": "array", "description": "Criteria for fetching Activity Bookings.", "maxItems": 4000, "items": { "$ref": "#/definitions/fetchActivityBookingsType" } }, "fetchActivityBookingsType": { "type": "object", "description": "Used in the request message to describe the \"filtering Criteria\" when executing an activity lookup.", "properties": { "profileId": { "description": "ProfileID associated with the Activity under lookup.", "$ref": "#/definitions/uniqueIDListType" }, "personName": { "description": "Detailed name information for the customer.", "$ref": "#/definitions/personNameType" }, "address": { "description": "Detailed Address information for the customer.", "$ref": "#/definitions/addressType" }, "activities": { "description": "The specific activity information to be used for filtering the Look-up.", "$ref": "#/definitions/activityList" }, "hotelId": { "description": "Hotel Code, It is used to filter hotel specific children to this specific hotel code.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "activityList": { "type": "array", "description": "A collection of Activity objects.", "maxItems": 4000, "items": { "type": "object", "properties": { "activityIds": { "description": "A collection of reference ID values that identify this uniquely scheduled activity instance. May contain one ID per external system plus an internal identifier.", "$ref": "#/definitions/uniqueIDListType" }, "type": { "description": "The Type of the activity. Eg: SPA, Golf etc.", "type": "string" }, "location": { "description": "The Location where the activity takes place. Eg: Salon", "type": "string" }, "name": { "description": "Name of the people for whom the activity is scheduled. Can be more than one but should be equal to the number of persons", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 200 } }, "numberOfPersons": { "description": "The total number of the people for whom the activity is scheduled. Can be more than one but should be equal to the number of persons", "type": "integer" }, "timeSpan": { "description": "The time with-in which an activity falls (Starts/Ends/Spans)", "$ref": "#/definitions/dateTimeSpanType" }, "duration": { "description": "The time span of the activity falls", "$ref": "#/definitions/dateTimeSpanType" }, "description": { "description": "Description of the activity", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 2000 } }, "note": { "description": "Any additional notes or comments regarding the scheduled activity.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 2000 } }, "groupCode": { "description": "Any Block code associated with the activity if its a Group booking.", "type": "string" }, "amount": { "description": "The amount charged for the activity.", "$ref": "#/definitions/currencyAmountType" }, "deposit": { "description": "A monetary value expressed with a currency code.", "type": "object", "properties": { "amount": { "description": "A monetary amount.", "type": "number" }, "currencyCode": { "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string", "minLength": 3, "maxLength": 3 }, "collectedBy": { "type": "string", "enum": [ "Vendor", "Agent", "Other" ] } } }, "inactiveDate": { "description": "The Date by which the activity is deemed Cancelled/Deleted. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "participants": { "description": "The names of the participants.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/personNameType" } }, "uRLLink": { "description": "The URL link to launch the Activity Reservation System to view or edit full details of this activity.", "type": "string" }, "extensions": { "description": "Vendor extensions to the activity record.", "type": "array", "maxItems": 4000, "items": { "type": "string" } }, "status": { "description": "Activity reservation status. Typical examples are RESERVED, BOOKED, CANCELLED, and TENTATIVE.", "type": "string" }, "statusDescription": { "description": "Activity reservation status description. Typical examples are RESERVED, BOOKED, CANCELLED, and TENTATIVE.", "type": "string" }, "link": { "description": "When true indicates that activity link only needs to be inserted or deleted for this record.", "type": "boolean" } }, "description": "Represents a single instance of a scheduled activity." } }, "prepaidCardsType": { "type": "array", "description": "Holds fixed charge detail.", "maxItems": 4000, "items": { "$ref": "#/definitions/prepaidCardType" } }, "prepaidCardType": { "type": "object", "description": "Holds fixed charge information.", "properties": { "hotelId": { "description": "Hotel context for the Reservations.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "The unique ID of the reservation to which this record applies.", "$ref": "#/definitions/reservationId" }, "name": { "description": "Family name, last name or Company Name.", "type": "string", "minLength": 0, "maxLength": 80 }, "firstName": { "description": "Given name, first name or names.", "type": "string", "minLength": 0, "maxLength": 80 }, "profileId": { "description": "Card / Account holder name ID", "$ref": "#/definitions/profileId" }, "cardNo": { "description": "Prepaid card / account number.", "type": "string", "minLength": 0, "maxLength": 80 }, "cardNumberMasked": { "description": "Masked Prepaid card / account number.", "type": "string", "minLength": 0, "maxLength": 80 }, "amount": { "description": "Prepaid Card Amount.", "$ref": "#/definitions/currencyAmountType" }, "interfaceId": { "description": "The unique ID for the Interface.", "$ref": "#/definitions/uniqueID_Type" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" }, "giftCard": { "description": "Indicates a gift card type.", "type": "boolean" } } }, "reservationPackageType": { "type": "object", "description": "A ReservationPackageType class.", "properties": { "packageHeaderType": { "description": "Package information from configuration.", "$ref": "#/definitions/packageCodeHeaderType" }, "scheduleList": { "description": "A HotelPackageSchedule type.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationPackageScheduleType" } }, "newTimeSpan": { "description": "The changed dates(Start and End dates) for this product.", "$ref": "#/definitions/timeSpanType" }, "consumptionDetails": { "description": "Package consumption details. Includes information for quantity , allowance etc.", "$ref": "#/definitions/packageConsumptionType" }, "packageCode": { "description": "Package code. This is the unique code used for the package and is a required element.", "type": "string", "minLength": 0, "maxLength": 20 }, "internalId": { "description": "Reservation Package Opera Internal Unique Id. This is the unique Id used for this reservation package.", "type": "number" }, "ratePlanCode": { "description": "The rate code which contains this package. If the package is not part of a rate code, this will be empty. Required element and part of the key to fetch the correct package record on the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "startDate": { "description": "Required value when changing a reservation package. If the original start date was null, then null is required.", "type": "string", "format": "date" }, "endDate": { "description": "Required value when changing a reservation package. If the original end date was null, then null is required.", "type": "string", "format": "date" }, "packageGroup": { "description": "Package group code. If this package is part of a package group, the group code is indicated here. This is a required element and is part of the key to fetch the correct package record .", "type": "string", "minLength": 0, "maxLength": 20 }, "source": { "description": "Indicates if the source of the product is Rate header, Rate Detail or Reservation. For new development this field is to be used for passing the product scource", "$ref": "#/definitions/productSourceType" }, "awardCode": { "description": "This is the Award code used to redeem the package if the package is a redemption package.", "type": "string", "minLength": 0, "maxLength": 20 }, "points": { "description": "Indicates the points used to redeem the redemption package.", "type": "integer" } } }, "packageCodeHeaderType": { "type": "object", "properties": { "primaryDetails": { "description": "Package code header primary details.", "$ref": "#/definitions/configPackagePrimaryDetailsType" }, "transactionDetails": { "description": "Package code header transaction information.", "$ref": "#/definitions/configPackageTransactionType" }, "postingAttributes": { "description": "Package code posting attributes.", "$ref": "#/definitions/configPostingAttributesType" } } }, "configPackagePrimaryDetailsType": { "type": "object", "description": "A Config Package Info type.", "properties": { "description": { "description": "The description of the package.", "type": "string", "minLength": 0, "maxLength": 2000 }, "shortDescription": { "description": "The short description of the package.", "type": "string", "minLength": 0, "maxLength": 2000 }, "forecastGroup": { "description": "The Forecast group package belongs to.", "type": "string", "minLength": 0, "maxLength": 20 }, "arrangementCode": { "description": "Arrangement Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "beginSellDate": { "description": "Indicates the begin sell date of the package.", "type": "string", "format": "date" }, "endSellDate": { "description": "Indicates the end sell date of the package.", "type": "string", "format": "date" }, "externallyExcluded": { "type": "boolean", "description": "Flag to indicate if a package is configured as Externally Excluded." } } }, "configPackageTransactionType": { "type": "object", "description": "A HotelPackageTransaction type.", "properties": { "allowance": { "description": "Package is marked as an allowance, in case charge is expected back to the guest account from external interface eg. POS. which need to be offset against a consumption allowance.", "type": "boolean" }, "currency": { "description": "The currency code for this package.", "type": "string", "minLength": 0, "maxLength": 20 }, "postingType": { "description": "The posting frequency for this package, e.g., daily, arrival, departure, etc.", "type": "string", "minLength": 0, "maxLength": 20 }, "calculationRule": { "description": "The price calculation rule for this package.", "type": "string", "minLength": 0, "maxLength": 80 } } }, "configPostingAttributesType": { "type": "object", "description": "A config Package posting attributes type.", "properties": { "addToRate": { "description": "The package price is added to the room rate.", "type": "boolean" }, "printSeparateLine": { "description": "The package price is printed on separate line of the folio.", "type": "boolean" }, "sellSeparate": { "description": "Can the package be sold separate from rate plan code?", "type": "boolean" }, "postNextDay": { "description": "package charges will be posted next business day.", "type": "boolean" }, "forecastNextDay": { "description": "Package will be forecasted for consumption the next business day.", "type": "boolean" }, "formula": { "description": "The custom formula used for this package, if any.", "type": "string", "minLength": 0, "maxLength": 2000 }, "startTime": { "description": "Start time the package is valid.", "type": "string" }, "endTime": { "description": "End time the package is valid.", "type": "string" }, "catering": { "description": "Is package used for catering?", "type": "boolean" }, "postingRhythm": { "description": "The posting rhythm for this package.", "$ref": "#/definitions/packagePostingRhythmType" }, "priceCalculationRule": { "description": "The price calculation rule for this package.", "$ref": "#/definitions/packageCalculationRuleType" }, "ticket": { "description": "Indicates whether a package is configured as a ticket or not.", "type": "boolean" }, "inventoryItems": { "description": "Package Code Inventory Items type.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/pkgInventoryItemType" } }, "calculatedPrice": { "description": "Calculated Package Price based from Number of Adults, Children and Calculation Rule.", "type": "number" } } }, "packagePostingRhythmType": { "type": "object", "description": "Package Posting rhythm type.", "properties": { "everyXNightsStartingNightY": { "description": "Post the package every X nights Staring from Night Y.", "type": "object", "properties": { "startOnNightY": { "description": "Starting night for consumption and posting prices.", "type": "integer" }, "postEveryXNights": { "description": "Occurance of nights when the package needs to be posted and consumed.", "type": "integer" } } }, "certainNightsOfTheWeek": { "description": "Post the package on certain nights of the week.", "type": "object", "properties": { "sunday": { "type": "boolean" }, "monday": { "type": "boolean" }, "tuesday": { "type": "boolean" }, "wednesday": { "type": "boolean" }, "thursday": { "type": "boolean" }, "friday": { "type": "boolean" }, "saturday": { "type": "boolean" } } }, "customStaySchedule": { "description": "This user defined schedule lets you enter a posting rhythm over a 14-day period, starting with the arrival date, by assigning the day (number) within a guest stay for posting this package price.", "type": "object", "properties": { "night1": { "description": "Night 1 indicator.", "type": "boolean" }, "night2": { "description": "Night 2 indicator.", "type": "boolean" }, "night3": { "description": "Night 3 indicator.", "type": "boolean" }, "night4": { "description": "Night 4 indicator.", "type": "boolean" }, "night5": { "description": "Night 5 indicator.", "type": "boolean" }, "night6": { "description": "Night 6 indicator.", "type": "boolean" }, "night7": { "description": "Night 7 indicator.", "type": "boolean" }, "night8": { "description": "Night 8 indicator.", "type": "boolean" }, "night9": { "description": "Night 9 indicator.", "type": "boolean" }, "night10": { "description": "Night 10 indicator.", "type": "boolean" }, "night11": { "description": "Night 11 indicator.", "type": "boolean" }, "night12": { "description": "Night 12 indicator.", "type": "boolean" }, "night13": { "description": "Night 13 indicator.", "type": "boolean" }, "night14": { "description": "Night 14 indicator.", "type": "boolean" } } }, "customNightSchedule": { "description": "The start and end of the posting period is determined as follows: If the package is attached to a rate code: The period starts with the date when the rate code to which the package is attached becomes effective for the stay. The period ends with the date of the last night for that rate code (or the last night of the stay if the rate code remains in effect until the departure date). If the package is attached separately to the reservation: The Begin Date specified on the reservation when the package was attached is the start date for the period. The End Date specified on the reservation when the package was attached is the end date for the period. If no Begin Date and/or End Date are specified when the package is attached to the reservation, the Begin Date is assumed to be the arrival date and the End Date is assumed to be the departure date of the reservation, irrespective of when the package is attached to the reservation.", "type": "object", "properties": { "night1": { "description": "Night 1 indicator.", "type": "boolean" }, "night2": { "description": "Night 2 indicator.", "type": "boolean" }, "night3": { "description": "Night 3 indicator.", "type": "boolean" }, "night4": { "description": "Night 4 indicator.", "type": "boolean" }, "night5": { "description": "Night 5 indicator.", "type": "boolean" }, "night6": { "description": "Night 6 indicator.", "type": "boolean" }, "night7": { "description": "Night 7 indicator.", "type": "boolean" }, "night8": { "description": "Night 8 indicator.", "type": "boolean" }, "night9": { "description": "Night 9 indicator.", "type": "boolean" }, "night10": { "description": "Night 10 indicator.", "type": "boolean" }, "night11": { "description": "Night 11 indicator.", "type": "boolean" }, "night12": { "description": "Night 12 indicator.", "type": "boolean" }, "night13": { "description": "Night 13 indicator.", "type": "boolean" }, "night14": { "description": "Night 14 indicator.", "type": "boolean" } } }, "type": { "description": "Posting Rhythm for the package.", "$ref": "#/definitions/postingRhythmType" } } }, "postingRhythmType": { "type": "string", "description": "Simple type for posting Rhythm types.", "enum": [ "EveryNight", "ArrivalNight", "EveryXNightsStartingNightY", "CertainNightsOfTheWeek", "LastNight", "EveryNightExceptArrivalNight", "EveryNightExceptLast", "EveryNightExceptFirstAndLast", "CustomStaySchedule", "CustomNightSchedule", "FloatingAllowancePerStay", "TicketPosting" ] }, "packageCalculationRuleType": { "type": "string", "description": "Simple type for package caluculation rules.", "enum": [ "FlatRate", "PerPerson", "PerAdult", "PerChild", "PerRoom" ] }, "pkgInventoryItemType": { "type": "object", "properties": { "articleNumber": { "description": "Article Number of the inventory item.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of the inventory item.", "type": "string", "minLength": 0, "maxLength": 200 }, "quantity": { "description": "Quantity of the inventory item allocated to the package.", "type": "integer" }, "itemId": { "description": "Identifier for the inventory item.", "type": "integer" } } }, "reservationPackageScheduleType": { "type": "object", "description": "A HotelPackageSchedule type.", "properties": { "consumptionDate": { "description": "The date the package was used or can be used.", "type": "string", "format": "date" }, "unitPrice": { "description": "The price per unit of the package.", "type": "number" }, "totalQuantity": { "description": "The total quantity of the package for this date, calculated based on the calculation rule as defined in the PackageHeaderType", "type": "integer" }, "computedResvPrice": { "description": "Computed Reservation Price of the package. Calculation Will Be Performed Based On Other Parameters.", "type": "number" }, "computedResvAllowance": { "description": "Computed Reservation Allowance of the package. Calculation is based off of the allowance amount, posting rhythm, and quantity for the package.", "type": "number" }, "unitAllowance": { "description": "The allowance per unit of the package.", "type": "number" }, "reservationDate": { "description": "The date of the Reservation when this package is applicable. This can be different from the date the package will be consumed. Example are next day packages. Reservation date is when the package is applied to the guest and Consumption date is when the guest can consume the package.", "type": "string", "format": "date" }, "originalUnitPrice": { "description": "The original price per unit of the package if it has been changed.", "type": "number" }, "originalUnitAllowance": { "description": "The original allowance per unit of the package if it has been changed.", "type": "number" }, "ageBucket2OriginalUnitPrice": { "description": "The original price per unit for Child Bucket 2 / Guest Age Category 2 of the package. Applicable when Child Bucket or Guest Age Categories functionality is active and package's price calculation rule is Per Child", "type": "number" }, "ageBucket2OriginalUnitAllowance": { "description": "The original allowance per unit for Child Bucket 2 / Guest Age Category 2 of the package. Applicable when Child Bucket or Guest Age Categories functionality is active and package's price calculation rule is Per Child", "type": "number" }, "ageBucket2UnitPrice": { "description": "Unit Price for Child Bucket 2 /Guest Age Category 2. Applicable when Child Bucket or Guest Age Categories functionality is active and package's price calculation rule is Per Child.", "type": "number" }, "ageBucket2UnitAllowance": { "description": "Unit Allowance for Child Bucket 2 /Guest Age Category 2. Applicable when Child Bucket or Guest Age Categories functionality is active and package's price calculation rule is Per Child.", "type": "number" }, "ageBucket3OriginalUnitPrice": { "description": "The original price per unit for Child Bucket 3 / Guest Age Category 3 of the package. Applicable when Child Bucket or Guest Age Categories functionality is active and package's price calculation rule is Per Child", "type": "number" }, "ageBucket3OriginalUnitAllowance": { "description": "The original allowance per unit for Child Bucket 3 / Guest Age Category 3 of the package. Applicable when Child Bucket or Guest Age Categories functionality is active and package's price calculation rule is Per Child", "type": "number" }, "ageBucket3UnitPrice": { "description": "Unit Price for Child Bucket 3 /Guest Age Category 3. Applicable when Child Bucket or Guest Age Categories functionality is active and package's price calculation rule is Per Child", "type": "number" }, "ageBucket3UnitAllowance": { "description": "Unit Price for Child Bucket 3 /Guest Age Category 3. Applicable when Child Bucket or Guest Age Categories functionality is active and package's price calculation rule is Per Child", "type": "number" }, "calculatedQuantity": { "description": "The calculated quantity available to be consumed for the package based on the package's quantity and posting rhythm.", "type": "integer" }, "consumedQuantity": { "description": "The quantity consumed for the package.", "type": "integer" }, "forecastConsumptionDate": { "description": "The forecasted consumption date of the package.", "type": "string", "format": "date" }, "consumedAllowance": { "description": "The allowance amount consumed for the package based on transactions posted.", "type": "number" } } }, "packageConsumptionType": { "type": "object", "description": "Package Consumption Information. Includes information on quantity of the package used, allowance consumption etc.", "properties": { "defaultQuantity": { "description": "Quantity of packages to be attached i.e. the multiplier to be applied against the calculation rule to determine the total quantity of the packages.", "type": "integer" }, "excludedQuantity": { "description": "The quantity which has been excluded in the package.", "type": "integer" }, "totalQuantity": { "description": "The total quantity of the package, calculated based on the calculation rule as defined in the PackageHeaderType and defaultQuantity.", "type": "integer" }, "allowanceConsumed": { "description": "Indicates if Allowance(for POS packages) has been consumed/posted for today.", "type": "boolean" } } }, "productSourceType": { "type": "string", "description": "Sources of Products", "enum": [ "Reservation", "RateHeader", "RateDetail" ] }, "resInventoryItemsType": { "type": "object", "description": "Defines a collection of inventory items attached to a reservation.", "properties": { "item": { "description": "Inventory item attached to a reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/resInventoryItemType" } }, "itemClassCode": { "description": "The Item Class ID which the item belongs to.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "resInventoryItemType": { "type": "object", "description": "An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).", "properties": { "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" }, "item": { "description": "Specifies Items and its attributes. When used for data manipulation for Items setup on reservation, etc only code is considered. Other Attributes are for used to provide information during fetch operation.", "$ref": "#/definitions/itemInfoType" }, "quantity": { "description": "Number of items booked.", "type": "integer" }, "timeSpan": { "description": "Begin and end date and time of the items applicability.", "$ref": "#/definitions/dateRangeType" }, "source": { "description": "If exists specifies whether the item is setup due to a Rate Plan, Package or a Block.", "$ref": "#/definitions/resInventoryItemSourceType" } } }, "itemInfoType": { "type": "object", "description": "Basic information regarding an Item.", "properties": { "description": { "description": "Detail description of an item.", "type": "string", "minLength": 0, "maxLength": 2000 }, "availabilityPeriod": { "description": "Defines a Time period when the item is available.", "$ref": "#/definitions/timeWindowType" }, "timeSpan": { "description": "Date Range to get the inventories of the items.", "$ref": "#/definitions/timeSpanType" }, "quantity": { "description": "Quantity of hold Item", "type": "integer" }, "itemHoldId": { "description": "ID reference for the hold Item", "type": "number" }, "code": { "description": "Item Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "name": { "description": "Name of an item.", "type": "string", "minLength": 0, "maxLength": 200 }, "itemPool": { "description": "Indicates if it is an item pool. Not applicable for Item within the Item Pool.", "type": "boolean" }, "sellSeparate": { "description": "If true indicates that item is allowed to sell separately.", "type": "boolean" }, "sellInReservation": { "description": "If true indicates that item can be sold in reservation.", "type": "boolean" }, "sellInEvent": { "description": "If true indicates that item can be sold in event.", "type": "boolean" }, "requiredForBooking": { "description": "If true indicates that item is required for the reservation.", "type": "boolean" }, "fixedCharge": { "description": "If true indicates that item has fixed charge when it is attached to a reservation.", "type": "boolean" }, "outsideStay": { "description": "If true indicates that item could be held outside of the reservation stay days.", "type": "boolean" }, "defaultDuration": { "description": "Define the default duration in days when booking the item.", "type": "integer" } } }, "timeWindowType": { "type": "object", "description": "Defines a Time period with start time and an end time.", "properties": { "startTime": { "description": "Start Time of the Time window.", "type": "string" }, "endTime": { "description": "End Time of the Time window.", "type": "string" } } }, "resInventoryItemSourceType": { "type": "object", "description": "Defines whether the item is setup due to a Rate Plan, Package or a Block.", "properties": { "ratePlanCode": { "description": "Rate Plan Code, If populated specifies that the item is setup due to a Rate Plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "packageCode": { "description": "Package Code, If populated specifies that the item is setup due to a Package.", "type": "string", "minLength": 0, "maxLength": 20 }, "blockId": { "description": "Block Unique ID, If populated specifies that the item is setup due to a Block.", "$ref": "#/definitions/blockId" }, "welcomeOffer": { "description": "If true, it implies that the item has been attached to the reservation as part of a Welcome Offer", "type": "boolean" }, "packageInternalId": { "description": "Source Reservation Package Opera Internal Unique Id. This is the unique Id used for the reservation package associated with this item.", "type": "number" } } }, "blockId": { "type": "object", "description": "An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).", "properties": { "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" } } }, "membershipType": { "type": "object", "description": "Detailed information of the memberships.", "properties": { "comment": { "description": "Additional comments regarding to the membership.", "$ref": "#/definitions/paragraphType" }, "newMembershipNumber": { "description": "Card Number of the membership.", "type": "string" }, "nameOnCard": { "description": "Name to be displayed on the membership card.", "type": "string" }, "programDescription": { "description": "Description of the membership program.", "type": "string" }, "membershipLevel": { "description": "Indicates the membership level.", "type": "string" }, "membershipLevelDescription": { "description": "Indicates the membership level description.", "type": "string", "minLength": 0, "maxLength": 200 }, "membershipClass": { "description": "Indicates the membership class.", "type": "string" }, "earningPreference": { "description": "Earning preference to the membership.", "$ref": "#/definitions/membershipEarningPreferenceType" }, "inactive": { "description": "Indicates whether membership is active or inactive.", "type": "boolean" }, "benefits": { "description": "benefits for the membership.", "$ref": "#/definitions/benefitsType" }, "tierAdministration": { "description": "Defines the degree of participation for this membership in the tier management portion of the program.", "$ref": "#/definitions/tierAdministrationType" }, "downgrade": { "description": "Defines how downgrading will be handled for this membership.", "$ref": "#/definitions/downgradeType" }, "reIssueNewCard": { "description": "The status of issuing new membership card to the member.", "$ref": "#/definitions/cardReIssueType" }, "excludeFromBatch": { "description": "True if you want to exclude the member from the Membership Fulfillment extract,the member's actions will not be included in the fulfillment extract until this value set to false.", "type": "boolean" }, "upgradeDescription": { "description": "Indicates Upgrade information which includes member's next tier level, requirements for the next upgrade.", "type": "string", "minLength": 0, "maxLength": 32000 }, "downgradeDescription": { "description": "Indicates information regarding the member's possible downgrades.", "type": "string", "minLength": 0, "maxLength": 32000 }, "rating": { "description": "Value Rating Type Description for this membership.", "type": "string" }, "membershipEnrollmentCode": { "description": "Indicates how the guest enrolled in the program.", "type": "string", "minLength": 0, "maxLength": 20 }, "memberStatus": { "description": "Indicates where the guest is in the membership enrollment process.", "type": "string", "minLength": 0, "maxLength": 20 }, "currentPoints": { "description": "Profile MemberShip Points.", "type": "number" }, "pointsLabel": { "description": "Label used to refer to points for this membership type", "type": "string", "minLength": 0, "maxLength": 20 }, "enrollmentSource": { "description": "Source from where the enrollment is done.", "type": "string", "minLength": 0, "maxLength": 20 }, "enrollmentResort": { "description": "Resort/CRO where enrollment is done.", "type": "string", "minLength": 0, "maxLength": 20 }, "preferredCard": { "description": "Preferred Card.", "type": "boolean" }, "membershipId": { "description": "Card Number of the membership.", "type": "string" }, "membershipType": { "description": "Type of membership.", "type": "string" }, "primaryMembershipYn": { "description": "Indicator if Membership is a Primary Membership.", "type": "string", "minLength": 0, "maxLength": 1 }, "primaryMembership": { "description": "Boolean indicator set to True implies membership is a Primary Membership.", "type": "boolean" }, "membershipIdNo": { "description": "Membership ID Number.", "type": "integer" }, "playerRanking": { "description": "Ranking assigned to the Player Profile by the Gaming system.", "type": "integer" }, "centralSetup": { "description": "Indicates how the award points for this membership type will be managed.", "type": "boolean" }, "signupDate": { "description": "Indicates when the member signed up for the loyalty program.", "type": "string", "format": "date" }, "effectiveDate": { "description": "Indicates the starting date.", "type": "string", "format": "date" }, "expireDate": { "description": "Indicates the ending date.", "type": "string", "format": "date" }, "expireDateExclusiveIndicator": { "description": "When true, indicates that the ExpireDate is the first day after the applicable period (e.g. when expire date is Oct 15 the last date of the period is Oct 14).", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" }, "createDateTime": { "description": "Time stamp of the creation. Uses database time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses database time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" } } }, "reservationMembershipType": { "type": "object", "properties": { "comment": { "description": "Additional comments regarding to the membership.", "$ref": "#/definitions/paragraphType" }, "newMembershipNumber": { "description": "Card Number of the membership.", "type": "string" }, "nameOnCard": { "description": "Name to be displayed on the membership card.", "type": "string" }, "programDescription": { "description": "Description of the membership program.", "type": "string" }, "membershipLevel": { "description": "Indicates the membership level.", "type": "string" }, "membershipLevelDescription": { "description": "Indicates the membership level description.", "type": "string", "minLength": 0, "maxLength": 200 }, "membershipClass": { "description": "Indicates the membership class.", "type": "string" }, "earningPreference": { "description": "Earning preference to the membership.", "$ref": "#/definitions/membershipEarningPreferenceType" }, "inactive": { "description": "Indicates whether membership is active or inactive.", "type": "boolean" }, "benefits": { "description": "benefits for the membership.", "$ref": "#/definitions/benefitsType" }, "tierAdministration": { "description": "Defines the degree of participation for this membership in the tier management portion of the program.", "$ref": "#/definitions/tierAdministrationType" }, "downgrade": { "description": "Defines how downgrading will be handled for this membership.", "$ref": "#/definitions/downgradeType" }, "reIssueNewCard": { "description": "The status of issuing new membership card to the member.", "$ref": "#/definitions/cardReIssueType" }, "excludeFromBatch": { "description": "True if you want to exclude the member from the Membership Fulfillment extract,the member's actions will not be included in the fulfillment extract until this value set to false.", "type": "boolean" }, "upgradeDescription": { "description": "Indicates Upgrade information which includes member's next tier level, requirements for the next upgrade.", "type": "string", "minLength": 0, "maxLength": 32000 }, "downgradeDescription": { "description": "Indicates information regarding the member's possible downgrades.", "type": "string", "minLength": 0, "maxLength": 32000 }, "rating": { "description": "Value Rating Type Description for this membership.", "type": "string" }, "membershipEnrollmentCode": { "description": "Indicates how the guest enrolled in the program.", "type": "string", "minLength": 0, "maxLength": 20 }, "memberStatus": { "description": "Indicates where the guest is in the membership enrollment process.", "type": "string", "minLength": 0, "maxLength": 20 }, "currentPoints": { "description": "Profile MemberShip Points.", "type": "number" }, "pointsLabel": { "description": "Label used to refer to points for this membership type", "type": "string", "minLength": 0, "maxLength": 20 }, "enrollmentSource": { "description": "Source from where the enrollment is done.", "type": "string", "minLength": 0, "maxLength": 20 }, "enrollmentResort": { "description": "Resort/CRO where enrollment is done.", "type": "string", "minLength": 0, "maxLength": 20 }, "preferredCard": { "description": "Preferred Card.", "type": "boolean" }, "membershipId": { "description": "Card Number of the membership.", "type": "string" }, "membershipType": { "description": "Type of membership.", "type": "string" }, "primaryMembershipYn": { "description": "Indicator if Membership is a Primary Membership.", "type": "string", "minLength": 0, "maxLength": 1 }, "primaryMembership": { "description": "Boolean indicator set to True implies membership is a Primary Membership.", "type": "boolean" }, "membershipIdNo": { "description": "Membership ID Number.", "type": "integer" }, "playerRanking": { "description": "Ranking assigned to the Player Profile by the Gaming system.", "type": "integer" }, "centralSetup": { "description": "Indicates how the award points for this membership type will be managed.", "type": "boolean" }, "signupDate": { "description": "Indicates when the member signed up for the loyalty program.", "type": "string", "format": "date" }, "effectiveDate": { "description": "Indicates the starting date.", "type": "string", "format": "date" }, "expireDate": { "description": "Indicates the ending date.", "type": "string", "format": "date" }, "expireDateExclusiveIndicator": { "description": "When true, indicates that the ExpireDate is the first day after the applicable period (e.g. when expire date is Oct 15 the last date of the period is Oct 14).", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" }, "linkMembership": { "type": "boolean" }, "primary": { "type": "boolean" } }, "description": "Detailed information of the memberships." }, "reservationPaymentMethodsType": { "type": "array", "description": "Defines reservation payment methods.", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationPaymentMethodType" } }, "routingInfoListType": { "type": "array", "description": "A routing info object can either be of type Folio OR of type Room with its corresponding instructions.", "maxItems": 4000, "items": { "$ref": "#/definitions/routingInfoType" } }, "routingInfoType": { "type": "object", "description": "A routing info object can either be of type Folio OR of type Room with its corresponding object.", "properties": { "folio": { "description": "Folio routing type.", "type": "object", "properties": { "guestInfo": { "description": "Guest details", "type": "object", "properties": { "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems.", "$ref": "#/definitions/profileIdList" } } }, "payeeInfo": { "$ref": "#/definitions/payeeInfoType" }, "aRNumber": { "description": "Accounts Receivable.", "type": "string", "minLength": 0, "maxLength": 20 }, "instructions": { "description": "Set of routing instructions associated to this routing type.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/routingInstructionType" } }, "folioWindowNo": { "type": "integer" }, "paymentMethod": { "type": "string", "maxLength": 2000 } } }, "room": { "description": "Room routing type.", "type": "object", "properties": { "roomId": { "description": "Room number to route the instructions.", "type": "string", "minLength": 0, "maxLength": 20 }, "guestNameId": { "description": "Guest unique identifier to which the instruction will be routed.", "$ref": "#/definitions/uniqueID_Type" }, "guestDisplayName": { "description": "Display Name for the guest.", "type": "string", "minLength": 0, "maxLength": 80 }, "reservationNameId": { "description": "Reservation name id to which the instruction will be routed.", "$ref": "#/definitions/uniqueID_Type" }, "instructions": { "description": "Set of routing instructions associated to this routing type.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/routingInstructionType" } } } }, "comp": { "description": "Comp Accounting Routing Info", "type": "object", "properties": { "compAccountingInfo": { "$ref": "#/definitions/compAccountingType" }, "compRequestInfo": { "$ref": "#/definitions/compRoutingRequestType" }, "payeeInfo": { "$ref": "#/definitions/payeeInfoType" }, "instructions": { "description": "Set of routing instructions associated to this routing type.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/routingInstructionType" } }, "folioWindowNo": { "type": "integer" } } }, "request": { "description": "Comp Accounting Request routing", "type": "object", "properties": { "compRequestInfo": { "$ref": "#/definitions/compRoutingRequestType" }, "instructions": { "description": "Set of routing instructions associated to this routing type.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/routingInstructionType" } } } }, "refreshFolio": { "description": "On a successful update, the transactions that are already posted in the guest's folio will be re-organized based on the configured instructions.", "type": "boolean" } } }, "routingInstructionType": { "type": "object", "description": "Routing limit can be one of the three: Credit Limit, Percetage Limit, Covers Limit", "properties": { "duration": { "description": "Duration of this instruction.", "type": "object", "properties": { "timeSpan": { "$ref": "#/definitions/timeSpanType" }, "sunday": { "type": "boolean" }, "monday": { "type": "boolean" }, "tuesday": { "type": "boolean" }, "wednesday": { "type": "boolean" }, "thursday": { "type": "boolean" }, "friday": { "type": "boolean" }, "saturday": { "type": "boolean" }, "daily": { "description": "Flag to indicate if the routing instruction is a daily instruction.", "type": "boolean" } } }, "transactionCodes": { "description": "Set of Transaction Codes configured in this time span.", "$ref": "#/definitions/trxCodesInfoType" }, "billingInstructions": { "description": "Set of Billing Instructions configured in this time span.", "$ref": "#/definitions/billingInstructionsType" }, "creditLimit": { "description": "Allowable credit amount for this routing instruction. Null value means no limit, 0 equals zero.", "type": "number" }, "percentageLimit": { "description": "The routing limit percentage allowed for this routing instruction.", "type": "number" }, "covers": { "description": "Number of covers for this routing instruction.", "type": "number" }, "limitUsed": { "description": "Amount of Credit used for this routing instruction.", "type": "number" }, "routingLinkId": { "description": "Internal Routing Link Id identifier to which limit group the instruction belongs.", "$ref": "#/definitions/uniqueID_Type" } } }, "compAccountingType": { "type": "object", "description": "Authorizer Information", "properties": { "authorizerId": { "$ref": "#/definitions/uniqueID_Type" }, "authorizerUserName": { "description": "Application user name of the authorizer", "type": "string", "minLength": 0, "maxLength": 40 }, "authorizerName": { "description": "Full name of the authorizer.", "type": "string", "minLength": 0, "maxLength": 100 }, "authorizerRateCode": { "description": "Rate code of the authorizer.", "type": "string", "minLength": 0, "maxLength": 20 }, "inheritAuthorizerRateCode": { "description": "Indicates whether user has the choice to have reservation inherit rate code from the authorizer.", "type": "boolean" }, "aRNumber": { "description": "AR Account Number of the authorizer", "type": "string", "minLength": 0, "maxLength": 20 }, "compTypeCode": { "description": "The Comp Type for this Account. Used when using the Comp types functionality", "type": "string", "minLength": 0, "maxLength": 20 }, "compVoucherNo": { "description": "The coupon or voucher number used by the external gaming system to track postings made to this routing.", "type": "string", "minLength": 0, "maxLength": 30 }, "dateRange": { "description": "Arrival date range for comp routing", "$ref": "#/definitions/dateRangeType" }, "membershipId": { "description": "Membership number", "type": "string", "minLength": 0, "maxLength": 100 }, "membershipIdNo": { "description": "Unique Id of membership", "type": "integer" }, "membershipNameOnCard": { "description": "Name displayed on the membership card", "type": "string", "minLength": 0, "maxLength": 80 } } }, "compRoutingRequestType": { "type": "object", "description": "Type for the details of a Comp Routing Request", "properties": { "requestedBy": { "description": "User who requested the Comp Routing", "$ref": "#/definitions/userInfoType" }, "comments": { "type": "string", "minLength": 0, "maxLength": 2000 }, "declinedBy": { "description": "User information of user who declined comp routing request", "$ref": "#/definitions/userInfoType" }, "status": { "description": "Comp routing status", "$ref": "#/definitions/compRoutingStatusType" } } }, "userInfoType": { "type": "object", "description": "Opera User Information", "properties": { "userId": { "description": "User Id of the Opera User", "type": "integer" }, "userName": { "description": "Name of the Opera User", "type": "string", "minLength": 0, "maxLength": 40 } } }, "compRoutingStatusType": { "type": "string", "description": "Status which indicates that the Request of Comp Routing was declined", "enum": [ "Request", "Comp", "Declined" ] }, "reservationPoliciesType": { "type": "object", "description": "A collection of reservation deposit and cancellation policies.", "properties": { "cancellationPolicies": { "description": "A collection of reservation cancellation policies..", "$ref": "#/definitions/resCancellationPoliciesType" }, "depositPolicies": { "description": "A collection of reservation deposit policies.", "$ref": "#/definitions/resDepositPoliciesType" }, "reservationIdList": { "description": "A list of Ids for reservation.", "$ref": "#/definitions/uniqueIDListType" }, "name": { "description": "Name identifier for the reservation.", "type": "string" } } }, "resCancellationPoliciesType": { "type": "array", "description": "A list of reservation cancellation policies.", "maxItems": 4000, "items": { "$ref": "#/definitions/resCancellationPolicyType" } }, "resCancellationPolicyType": { "type": "object", "description": "A cancellation policy attached with the reservation.", "properties": { "revenueType": { "description": "Type of reservation.", "$ref": "#/definitions/depositCancelRevenueType" }, "policy": { "description": "Cancellation policy details.", "$ref": "#/definitions/resCancelPenaltyType" }, "percentageDue": { "description": "The percentage amount due for reservation cancellation.", "type": "number", "minimum": 0, "maximum": 100 }, "comments": { "description": "Comments attached with the reservation cancellation.", "type": "string", "minLength": 0, "maxLength": 2000 }, "policyId": { "description": "Unique ID of the Reservation Policy.", "$ref": "#/definitions/uniqueID_Type" } } }, "depositCancelRevenueType": { "type": "string", "description": "The type to indicate what revenue is to be used for calculating deposit/cancellation amounts.", "enum": [ "Rooms", "Catering", "All" ] }, "resCancelPenaltyType": { "type": "object", "description": "The CancelPenalty class defines the cancellation policy of the hotel facility.", "properties": { "deadline": { "description": "Cancellation deadline, absolute or relative.", "$ref": "#/definitions/policyDeadlineType" }, "amountPercent": { "description": "Cancellation fee expressed as a fixed amount, or percentage of/or room nights.", "$ref": "#/definitions/policyAmountPercentType" }, "penaltyDescription": { "description": "Text description of the Penalty in a given language.", "type": "string", "minLength": 0, "maxLength": 2000 }, "offsetUnit": { "$ref": "#/definitions/offsetUnitType" }, "formattedRule": { "description": "Formatted Text Rule of the Cancellation Penalty.", "type": "string", "minLength": 0, "maxLength": 2000 }, "policyCode": { "description": "Policy Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "manual": { "description": "Flag to indicate if the cancellation policy is manual.", "type": "boolean" }, "nonRefundable": { "description": "Indicates if the amount is refundable if booking is canceled.", "type": "boolean" }, "effective": { "description": "Indicator if Cancellation Penalty is currently applicable or not.", "type": "boolean" } } }, "policyDeadlineType": { "type": "object", "description": "Cancellation deadline, absolute or relative.", "properties": { "absoluteDeadline": { "description": "Defines the absolute deadline in Property TimeZone. Either this or the offset attributes may be used. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "offsetFromArrival": { "description": "The number of days before arrival that allows cancellation without penalties.", "type": "integer" }, "offsetDropTime": { "description": "Time on offset day the cancellation penalties applies. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "offsetFromBookingDate": { "description": "The number of days after booking deposit must be paid.", "type": "integer" } } }, "policyAmountPercentType": { "type": "object", "description": "Defines the percentage basis for calculating the fee amount or the amount.", "properties": { "basisType": { "description": "Provides the basis for how the amount of the guarantee is calculated.", "$ref": "#/definitions/policyBasisTypeType" }, "nights": { "description": "The number of nights of the hotel stay that are used to calculate the fee amount.", "type": "integer" }, "percent": { "description": "The percentage used to calculate the amount.", "type": "number", "minimum": 0, "maximum": 100 }, "amount": { "description": "A monetary amount.", "type": "number" }, "currencyCode": { "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string", "minLength": 3, "maxLength": 3 } } }, "policyBasisTypeType": { "type": "string", "description": "Full Amount.", "enum": [ "FlatAmount", "Percentage", "Nights", "NightPercentage", "FullAmount" ] }, "offsetUnitType": { "type": "string", "description": "Indicates deadline offset unit type.", "enum": [ "Year", "Month", "Day", "Hour" ] }, "resDepositPoliciesType": { "type": "array", "description": "A list of deposit policies attached with the reservation.", "maxItems": 4000, "items": { "$ref": "#/definitions/resDepositPolicyType" } }, "resDepositPolicyType": { "type": "object", "description": "A deposit policy attached with the reservation.", "properties": { "revenueType": { "description": "Type of reservation.", "$ref": "#/definitions/depositCancelRevenueType" }, "policy": { "description": "Reservation deposit policy details.", "$ref": "#/definitions/depositPolicyType" }, "comments": { "description": "Comments attached with a deposit.", "type": "string", "minLength": 0, "maxLength": 2000 }, "amountPaid": { "description": "Total amount paid against the reservation deposit.", "$ref": "#/definitions/currencyAmountType" }, "amountDue": { "description": "Total amount due against the reservation deposit.", "$ref": "#/definitions/currencyAmountType" }, "policyId": { "description": "Unique ID of the Reservation Policy.", "$ref": "#/definitions/uniqueID_Type" } } }, "depositPolicyType": { "type": "object", "description": "Used to define the deposit policy, guarantees policy, and/or accepted forms of payment.", "properties": { "amountPercent": { "description": "Payment expressed as a fixed amount, or a percentage of/or room nights.", "$ref": "#/definitions/policyAmountPercentType" }, "deadline": { "description": "Payment deadline, absolute or relative.", "$ref": "#/definitions/policyDeadlineType" }, "description": { "description": "Text description of the Payment in a given language.", "type": "string", "minLength": 0, "maxLength": 2000 }, "depositReceiptNo": { "description": "Receipt number associated with the deposit policy", "type": "integer" }, "transactionDate": { "description": "Transaction Date associated with the deposit policy", "type": "string", "format": "date" }, "depositReqReversed": { "description": "Flag to indicate if deposit policy is reversed", "type": "boolean" }, "formattedRule": { "description": "Formatted Text Rule of the deposit policy.", "type": "string", "minLength": 0, "maxLength": 2000 }, "typeOfCharges": { "description": "Defines if the deposit amount is calculated based on Room Charges, Catering Charges or both", "$ref": "#/definitions/depositCancelRevenueType" }, "policyCode": { "description": "Deposit Policy Code", "type": "string", "minLength": 0, "maxLength": 20 }, "manual": { "description": "Flag to indicate if the cancellation policy is manual.", "type": "boolean" } } }, "linkedReservationsInfoType": { "type": "object", "description": "Linked Reservations.", "properties": { "reservationInfo": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/linkedReservationInfoType" } }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" }, "linkedName": { "description": "Name of the group of Linked Reservation.", "type": "string", "minLength": 0, "maxLength": 50 } } }, "linkedReservationInfoType": { "type": "object", "properties": { "reservationIdList": { "$ref": "#/definitions/reservationIdList" }, "timeSpan": { "$ref": "#/definitions/timeSpanType" }, "givenName": { "type": "string", "minLength": 0, "maxLength": 40 }, "surname": { "type": "string", "minLength": 0, "maxLength": 40 }, "title": { "type": "string", "minLength": 0, "maxLength": 20 }, "roomType": { "type": "string", "minLength": 0, "maxLength": 20 }, "room": { "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "rate": { "$ref": "#/definitions/currencyAmountType" }, "guarantee": { "$ref": "#/definitions/resGuaranteeType" }, "balance": { "$ref": "#/definitions/currencyAmountType" }, "reservationBlock": { "description": "Key information about the block for the linked reservation.", "$ref": "#/definitions/reservationBlockType" }, "displayColor": { "type": "string", "minLength": 0, "maxLength": 20 }, "allowedActions": { "description": "Collection of allowed actions for the linked reservation.", "$ref": "#/definitions/reservationAllowedActionsType" }, "reservationStatus": { "description": "Indicates the Actual status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "linkReservationType": { "$ref": "#/definitions/linkedReservationType" }, "reverseCheckInAllowed": { "description": "This attribute is to verify if reverse check-in is allowed for the reservation.", "type": "boolean" }, "roomNumberLocked": { "description": "This attribute is to verify if room number is locked for the reservation. When true the room number cannot be changed", "type": "boolean" }, "suppressRate": { "description": "This attribute checks if rate is suppressed or not in order to properly show strike through.", "type": "boolean" }, "adultCount": { "description": "Number of adults of the reservation.", "type": "integer" }, "childCount": { "description": "Number of children of the reservation.", "type": "integer" }, "backToBack": { "description": "This attribute indicates if the linked reservation is marked as Back to Back or not.", "type": "boolean" }, "profileId": { "description": "Unique guest profile identifier for the linked reservation.", "$ref": "#/definitions/profileId" }, "backToBackSequence": { "description": "This attribute represents Back To Back Sequence of Linked Reservations(e.g. '1 of 2' i.e, 1 indicates Sequence Position of total count 2). This is applicable when OPERA control Back to Back Handling for Linked Reservations is active.", "$ref": "#/definitions/backToBackResSequenceType" }, "shared": { "description": "This attribute indicates if the linked reservation is a shared reservation or not.", "type": "boolean" }, "backToBackGroupId": { "description": "This attribute represents a common identifier for a subgroup of linked reservations marked as Back to Back in a group of linked reservations.", "type": "string", "minLength": 0, "maxLength": 80 } } }, "linkedReservationType": { "type": "string", "description": "Enumeration of the different Linked Reservation Types.", "enum": [ "Linked", "Shared", "Default" ] }, "cateringResInfoType": { "type": "object", "description": "Information regarding catering event and catering revenue type associated to the reservation.", "properties": { "eventId": { "description": "Unique ID on a catering event associated to the reservation.", "$ref": "#/definitions/eventId" }, "revenueType": { "description": "Catering revenue type associated to the reservation.", "type": "string" } } }, "eventId": { "type": "object", "description": "An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).", "properties": { "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" } } }, "alertsType": { "type": "array", "description": "List of alerts.", "maxItems": 4000, "items": { "$ref": "#/definitions/alertType" } }, "alertType": { "type": "object", "properties": { "code": { "description": "Code identifying the type of alert.", "type": "string", "minLength": 0, "maxLength": 20 }, "global": { "description": "Indicate whether the alert is a global that is automatically and dynamically attached to all reservations that meet the alert criteria.", "type": "boolean" }, "area": { "description": "The Area where the alert will be attached and shown.", "$ref": "#/definitions/alertAreaType" }, "description": { "description": "The alert message.", "type": "string" }, "screenNotification": { "description": "Notify by showing the alert on the screen", "type": "boolean" }, "printerNotification": { "description": "Notify by sending the message to the printer.", "type": "boolean" }, "printerName": { "description": "Printer used to print the alert notification.", "type": "string" }, "reportId": { "description": "The module id of the report. This is used to printer the alert.", "$ref": "#/definitions/uniqueID_Type" }, "reportName": { "description": "Report name of the report type.", "type": "string" }, "reportDescription": { "description": "Report description. Mainly used for as a parameter for printing the alerts.", "type": "string", "minLength": 0, "maxLength": 1000 }, "guestInfo": { "description": "Contains information regarding the guest.", "$ref": "#/definitions/alertGuestInfoType" }, "userDefinedFields": { "description": "Collections of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" }, "welcomeOffer": { "description": "Contains information regarding welcome offer.", "$ref": "#/definitions/welcomeOfferType" }, "stopCheckInCheckOut": { "description": "Indicates the Reservation Stop Check In/Check Out Global Alert.", "type": "boolean" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "createDateTime": { "description": "Time stamp of the creation. Uses database time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses database time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "image": { "description": "The Alert image.", "$ref": "#/definitions/imageSetType" }, "isAdvancedAlert": { "description": "Indicates whether the Alert is an Advanced Alert with script.", "type": "boolean" }, "script": { "description": "Script associated with Alert.", "type": "string", "format": "byte" } } }, "alertAreaType": { "type": "string", "enum": [ "CheckIn", "CheckOut", "Reservation", "Billing", "InHouse" ] }, "alertGuestInfoType": { "type": "object", "properties": { "guestName": { "description": "Guest Name.", "type": "string", "minLength": 0, "maxLength": 200 }, "membership": { "description": "Membership information of the guest.", "$ref": "#/definitions/membershipType" }, "vipStatus": { "description": "VIP status of the guest.", "$ref": "#/definitions/vIPStatusType" }, "lastHotelCode": { "description": "Hotel code of the last stay location of the guest.", "type": "string", "minLength": 0, "maxLength": 20 }, "lastStayDate": { "description": "Last stay date at the property.", "type": "string", "format": "date" }, "totalStay": { "description": "Holds total number of days that the guest have stayed in the property.", "type": "integer" }, "comments": { "description": "Additional alert information regarding the membership of the guest.", "type": "string" }, "preference": { "description": "Additional alert information regarding the guest.", "type": "string" }, "preference2": { "description": "Additional mandatory alert information regarding the guest preferences.", "type": "string" }, "guestPreferredLanguage": { "description": "Holds the language preferred by the guest.", "$ref": "#/definitions/languageType" }, "totalBrandStay": { "description": "Holds total number of days that the guest have stayed in the properties for the same brand.", "type": "integer" }, "birthDate": { "description": "Indicates the date of birth as indicated in the document, in ISO 8601 prescribed format.", "type": "string", "format": "date" }, "birthDateMasked": { "description": "Indicates the date of birth as masked.", "type": "string" } } }, "vIPStatusType": { "type": "object", "description": "VIP status of the customer.", "properties": { "value": { "type": "string", "description": "Used for Character Strings, length 0 to 2000.", "minLength": 0, "maxLength": 2000 }, "code": { "description": "VIP status of the customer.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "languageType": { "type": "string", "minLength": 0, "maxLength": 40 }, "welcomeOfferType": { "type": "object", "properties": { "status": { "description": "Determines the status of the welcome offer.", "type": "string", "minLength": 0, "maxLength": 20 }, "type": { "description": "Determines the welcome offer option selected while availing the welcome offer.", "$ref": "#/definitions/welcomeOfferOptionsType" } } }, "welcomeOfferOptionsType": { "type": "string", "description": "None of the Welcome Offer option is selected.", "enum": [ "BonusPoints", "Ecoupons", "Items", "PostIt", "NotSelected" ] }, "hotelReservationTracesType": { "type": "array", "description": "List of Reservation Traces.", "maxItems": 4000, "items": { "$ref": "#/definitions/hotelReservationTraceType" } }, "hotelReservationTraceType": { "type": "object", "description": "Extended Trace object to hold information for a reservation.", "properties": { "timeInfo": { "description": "Date of the trace.", "$ref": "#/definitions/traceTimeInfoType" }, "reservationId": { "description": "Reservation ID of the reservation for which the traces are to be retrieved.", "$ref": "#/definitions/reservationId" }, "departmentId": { "description": "Indicates the Department code.", "type": "string", "minLength": 0, "maxLength": 20 }, "traceText": { "description": "The information this trace contains.", "type": "string" }, "resolveInfo": { "description": "Information regarding the status of the trace", "$ref": "#/definitions/traceResolveType" }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" }, "traceFrequency": { "description": "Information regarding the trace frequency", "$ref": "#/definitions/traceFrequencyType" }, "updateFrequencyTraces": { "description": "When set as true all associated traces based on the defined trace frequency will also be updated. This is applicable when the trace frequency is set to EveryXNightsStartingNightY, CertainNightsOfTheWeek, or EveryNight", "type": "boolean" } } }, "traceTimeInfoType": { "type": "object", "properties": { "dateTimeSpan": { "description": "Time span for the trace.", "$ref": "#/definitions/dateTimeSpanType" }, "traceOn": { "description": "Date of the trace. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "traceTime": { "description": "Time of the trace", "type": "string", "minLength": 0, "maxLength": 20 }, "enteredBy": { "description": "User that entered this trace.", "type": "string" } } }, "traceResolveType": { "type": "object", "properties": { "resolvedOn": { "description": "Date the trace was resolved", "type": "string", "format": "date" }, "resolvedBy": { "description": "User that resolved the trace", "type": "string" } } }, "confirmationsType": { "type": "array", "description": "List of confirmation letters.", "maxItems": 4000, "items": { "$ref": "#/definitions/confirmationType" } }, "confirmationType": { "type": "object", "properties": { "recipientInfo": { "description": "Receipient's information.", "$ref": "#/definitions/confRecipientInfoType" }, "deliveryInfo": { "description": "The status of the confirmation letter sent via the specified CommunicationType.", "$ref": "#/definitions/confDeliveryInfoTypes" }, "confirmationStyleInfo": { "description": "Confirmation style.", "$ref": "#/definitions/confirmationStyle" }, "fromEmail": { "description": "Senders Email address.", "type": "string", "minLength": 0, "maxLength": 2000 }, "sendTextMessage": { "description": "Flag to indicate sending confirmation letter as text message.", "type": "boolean" }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 } } }, "confRecipientInfoType": { "type": "object", "properties": { "profileId": { "description": "name id of the recipient.", "$ref": "#/definitions/profileId" }, "formerName": { "description": "Last Name of recipient.", "$ref": "#/definitions/profileNameType" }, "addressInfo": { "description": "id of the address where to send confirmation letter.", "$ref": "#/definitions/addressInfoType" }, "emailInfo": { "description": "id of the Email where to send confirmation letter.", "$ref": "#/definitions/emailInfoType" }, "faxInfo": { "description": "id of the Fax where to send confirmation letter.", "$ref": "#/definitions/telephoneInfoType" }, "telephoneInfo": { "description": "id of the Mobile where to send confirmation letter.", "$ref": "#/definitions/telephoneInfoType" }, "recipientType": { "$ref": "#/definitions/profileTypeType" }, "optionalEmail": { "description": "Email address to which the confirmation letter will be sent. This field is mutually exclusive with emailInfo; providing both will result in an error. Use either emailInfo or optionalEmail, but not both.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "profileNameType": { "type": "object", "description": "This provides name information for a person.", "properties": { "name": { "description": "Family name, last name or Company Name.", "type": "string", "minLength": 0, "maxLength": 40 }, "fullName": { "description": "Full display Name.", "type": "string", "minLength": 0, "maxLength": 200 }, "namePrefix": { "description": "Salutation of honorific (e.g. Mr., Mrs., Ms., Miss, Dr.)", "type": "string", "minLength": 0, "maxLength": 40 }, "givenName": { "description": "Given name, first name or names.", "type": "string", "minLength": 0, "maxLength": 40 }, "middleName": { "description": "The middle name of the person name.", "type": "string", "minLength": 0, "maxLength": 40 }, "nameTitle": { "description": "Degree or honors (e.g., Ph.D., M.D.)", "type": "string", "minLength": 0, "maxLength": 80 }, "nameType": { "description": "Type of name of the individual, such as former, nickname, alternate or alias name.", "$ref": "#/definitions/personNameTypeType" } } }, "confDeliveryInfoTypes": { "type": "array", "description": "List of confirmation letter delivery methods and their status", "maxItems": 4, "items": { "$ref": "#/definitions/confDeliveryInfoType" } }, "confDeliveryInfoType": { "type": "object", "properties": { "communicationType": { "description": "CommunicationType through which the confirmation letter was sent.", "$ref": "#/definitions/confDeliveryMethod" }, "lastStatus": { "description": "Status of last sent confirmation.", "$ref": "#/definitions/sentConfirmationStatus" }, "lastAttempted": { "description": "Date of last attempt to send confirmation letter. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "successfulTries": { "description": "Number of success letter sent.", "type": "integer" } } }, "confDeliveryMethod": { "type": "string", "enum": [ "Print", "Email", "Fax", "Text", "NotConfigured" ] }, "sentConfirmationStatus": { "type": "string", "enum": [ "Pending", "Succeeded", "Failed" ] }, "confirmationStyle": { "type": "object", "properties": { "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" }, "style": { "description": "Name of the confirmation letter style.", "type": "string" } } }, "callHistoryType": { "type": "array", "description": "Holds call information.", "maxItems": 4000, "items": { "$ref": "#/definitions/callType" } }, "fixedChargesType": { "type": "array", "description": "Holds fixed charge detail.", "maxItems": 4000, "items": { "$ref": "#/definitions/fixedChargeType" } }, "fixedChargeType": { "type": "object", "description": "Holds fixed charge information.", "properties": { "schedule": { "description": "Holds schedule of fixed charge.", "$ref": "#/definitions/fixedChargeScheduleType" }, "charge": { "description": "Holds specific details of fixed charge.", "$ref": "#/definitions/fixedChargeDetailType" }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" } } }, "fixedChargeScheduleType": { "type": "object", "description": "Holds schedule of fixed charge.", "properties": { "start": { "description": "The starting value of the date range.", "type": "string", "format": "date" }, "end": { "description": "The ending value of the date range.", "type": "string", "format": "date" }, "frequency": { "description": "Frequency of a fixed charge.", "$ref": "#/definitions/fixedChargeFrequencyType" }, "dayToExecute": { "description": "Day of when to execute fixed charge. Applicable when frequency is Daily or Weekly.", "type": "string", "minLength": 0, "maxLength": 3 }, "dateToExecute": { "description": "Date of when to execute yearly fixed charge. Applicable when frequency is Yearly.", "type": "string", "format": "date" } } }, "fixedChargeFrequencyType": { "type": "string", "description": "Yearly.", "enum": [ "O", "D", "W", "M", "Q", "Y" ] }, "fixedChargeDetailType": { "type": "object", "description": "Fixed charge amount could be specified by flat fee or be a percentage of the rate amount.", "properties": { "transaction": { "description": "Transaction code and description of a fixed charge.", "$ref": "#/definitions/codeDescriptionType" }, "quantity": { "description": "Quantity of the product.", "type": "integer" }, "chargeAmount": { "description": "Price of the product.", "$ref": "#/definitions/currencyAmountType" }, "percent": { "description": "Percentage of the rate amount.", "type": "number", "minimum": 0, "maximum": 100 }, "supplement": { "description": "Additional information regarding the fixed charge.", "type": "string", "minLength": 0, "maxLength": 2000 }, "article": { "description": "Holds related article code and description.", "$ref": "#/definitions/codeDescriptionType" }, "roomNights": { "description": "Holds number of comp or cash room night to allocate.", "type": "integer" } } }, "guestMessagesType": { "type": "array", "description": "Holds the Message Information", "maxItems": 4000, "items": { "$ref": "#/definitions/guestMessageType" } }, "guestMessageType": { "type": "object", "description": "Holds the Message information for a Reservation", "properties": { "message": { "description": "Holds the Message Information", "$ref": "#/definitions/messageType" }, "delivery": { "description": "Holds the Delivery Method Information", "$ref": "#/definitions/messageDeliveryType" }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "messageType": { "type": "object", "description": "Holds the Message Information", "properties": { "messageText": { "description": "Message Content", "type": "string", "minLength": 0, "maxLength": 2000 }, "messageDate": { "description": "Date the message was created. Uses the hotel's time zone for getGuestMessages. Uses database time zone for postGuestMessages.", "type": "string", "format": "date-time" }, "typeOfMessage": { "description": "Type of message (Voice/Text)", "$ref": "#/definitions/typeOfMessageType" }, "recipient": { "description": "Recipient of the Message", "type": "string", "minLength": 0, "maxLength": 20000 }, "operator": { "description": "User who created the Message", "type": "string", "minLength": 0, "maxLength": 256 } } }, "typeOfMessageType": { "type": "string", "description": "The type of Message for Guest Messages.", "enum": [ "Tm", "Vm" ] }, "messageDeliveryType": { "type": "object", "description": "Holds the Delivery Information of the Message", "properties": { "deliveryStatus": { "description": "Status of the Message (Received or Not Received)", "$ref": "#/definitions/messageStatusType" }, "deliveryDate": { "description": "Date the message has been delivered (marked as received). Uses the hotel's time zone for getGuestMessages. Uses database time zone for putGuestMessages.", "type": "string", "format": "date-time" }, "deliveredBy": { "description": "User who delivered the message (who marked message as received)", "type": "string", "minLength": 0, "maxLength": 40 }, "printDate": { "description": "Date when message has been printed. Uses database time zone.", "type": "string", "format": "date-time" }, "textMessageSentDate": { "description": "Date when message has been sent via SMS. Uses database time zone.", "type": "string", "format": "date-time" }, "textMessageSentBy": { "description": "User who sent the message", "type": "string", "minLength": 0, "maxLength": 40 }, "textMessageSentById": { "description": "User Id of who sent the message", "type": "integer" }, "textMessageRecipientNo": { "description": "Number in which the message is to be sent.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "messageStatusType": { "type": "string", "description": "Status of the Message.", "enum": [ "Mr", "Nr" ] }, "overrideInstructionsType": { "type": "array", "description": "List of override actions done.", "maxItems": 4000, "items": { "$ref": "#/definitions/overrideInstructionType" } }, "overrideInstructionType": { "type": "object", "description": "Type for Overrides. Contains information for the override action performed while booking a reservation.", "properties": { "description": { "description": "The description of the restriction for which the override was done.", "type": "string", "minLength": 0, "maxLength": 2000 }, "date": { "description": "The date when the override was done.", "type": "string", "format": "date" }, "type": { "description": "The type of override done. If the override is for Room/Rate Availability, use 'AVAILABILITY', if overriding the sell control availability for inventory items, use 'ITEMAVAILABILITY'.", "type": "string", "minLength": 0, "maxLength": 80 }, "userId": { "description": "Login ID of the user who performed the override.", "type": "string", "minLength": 0, "maxLength": 40 }, "reasonCode": { "description": "The override reason code.", "type": "string", "minLength": 0, "maxLength": 20 }, "reasonDescription": { "description": "The override reason description.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "eCouponsType": { "type": "array", "description": "Collection of ECouponType object.", "maxItems": 4000, "items": { "$ref": "#/definitions/eCouponType" } }, "eCouponType": { "type": "object", "description": "Reservation eCoupon Type Information.", "properties": { "eCouponId": { "description": "ECouponID to attach the eCoupon to Reservation.", "$ref": "#/definitions/uniqueID_Type" }, "code": { "description": "Code to attach the eCoupon to Reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of the eCoupon attached to the Reservation.", "type": "string", "minLength": 0, "maxLength": 2000 }, "autoAttached": { "description": "Determines whether the eCoupon is attached through the Rate Code or not.", "type": "boolean" }, "issuedQuantity": { "description": "Assigned Quantity for the eCoupon when attached to Reservation.", "type": "integer" }, "usedQuantity": { "description": "Used Quantity of the eCoupon for the Reservation.", "type": "integer" }, "reason": { "description": "Reason for attaching/modifing eCoupon.", "type": "string", "minLength": 0, "maxLength": 4000 }, "ratePlanCode": { "description": "Rate plan of the attached eCoupon to Reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "welcomeOffer": { "description": "Determines whether this eCoupon is eligible for welcome offer or not.", "type": "boolean" } } }, "reservationTransactionDiversionsType": { "type": "array", "description": "List of Transaction Diversion rules.", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationTransactionDiversionType" } }, "reservationTransactionDiversionType": { "type": "object", "description": "A Transaction Diversion Rule Type", "properties": { "vipCode": { "description": "VIP code to consider while applying Diversion Instruction.", "type": "string", "minLength": 0, "maxLength": 20 }, "membership": { "description": "Membership type to consider while applying Diversion Instruction.", "$ref": "#/definitions/membershipTypeLevelType" }, "targetRoom": { "description": "Room number to receive all the diverted transactions configured for this instruction.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionCodes": { "description": "Collection of Transaction Code List", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/codeDescriptionType" } }, "description": { "description": "User defined message for the Transaction Diversion Rule.", "type": "string", "minLength": 0, "maxLength": 2000 }, "level": { "description": "Level of the Transaction Diversion rule that can be Property or Reservation.", "$ref": "#/definitions/transactionDiversionRuleLevelType" }, "thresholds": { "description": "Threshold Details related to the Transaction diversion rule.", "$ref": "#/definitions/thresholdDetailsType" }, "type": { "description": "Transaction Diversion Rule Types", "$ref": "#/definitions/transactionDiversionRuleTypeType" }, "hotelId": { "description": "Hotel code with which Transaction Diversion Rule is associated.", "type": "string", "minLength": 0, "maxLength": 20 }, "code": { "description": "Transaction Diversion Code", "type": "string", "minLength": 0, "maxLength": 20 }, "displaySequence": { "description": "User configured Sequence number.", "type": "number" }, "inactive": { "description": "Indicator that tells whether the transaction diversion rule is active or not.", "type": "boolean" }, "notes": { "description": "The Note details related to the Transaction Diversion Rule.", "$ref": "#/definitions/commentInfoType" }, "posted": { "description": "Transaction diversions that are posted.", "type": "integer" }, "diverted": { "description": "Transaction diversions that are diverted .", "type": "integer" }, "dailyDetails": { "description": "Collection of daily details of a Transaction diversion rule for a particular reservation.", "$ref": "#/definitions/transactionDiversionDailyDetailsType" } } }, "membershipTypeLevelType": { "type": "object", "properties": { "type": { "description": "Code type for Rule Details", "type": "string", "minLength": 0, "maxLength": 20 }, "level": { "description": "Description type for Rule Details", "type": "string", "minLength": 0, "maxLength": 20 } } }, "transactionDiversionRuleLevelType": { "type": "string", "description": "Reservation level.", "enum": [ "Property", "Reservation" ] }, "thresholdDetailsType": { "type": "object", "description": "Type for the threshold elements.", "properties": { "entity": { "description": "Diversion entity type associated with the charge for the transaction diversion rule .", "$ref": "#/definitions/entityType" }, "scope": { "description": "Diversion scope for the transaction diversion rule.", "$ref": "#/definitions/scopeType" }, "minRequired": { "description": "Minimum required number of quantities, counts or minutes that must be posted.", "type": "integer" }, "complimentary": { "description": "The number of quantities, counts or minutes for which transaction diversion is allowed .", "type": "integer" }, "isEditable": { "description": "Configuring this flag to be TRUE will make the thresholds editable.", "type": "boolean" } } }, "entityType": { "type": "string", "description": "Indicates the rule is based on Minutes associated with the charge.", "enum": [ "ThresholdCount", "ThresholdQuantity", "ThresholdMinutes" ] }, "scopeType": { "type": "string", "description": "Minimum required and complimentary values are applicable Per Stay.", "enum": [ "PerDay", "PerStay" ] }, "transactionDiversionRuleTypeType": { "type": "string", "description": "The rule type on which the Transaction Diversion Rule is based. If a reservation has any of the following code, Transaction Diversion rule gets active for that reservation", "enum": [ "Vip", "Membership" ] }, "transactionDiversionDailyDetailsType": { "type": "array", "description": "List of daily details for Transaction Diversion rule.", "maxItems": 4000, "items": { "$ref": "#/definitions/transactionDiversionDailyDetailType" } }, "transactionDiversionDailyDetailType": { "type": "object", "description": "List of daily details for Transaction Diversion rule.", "properties": { "posted": { "description": "Transaction diversion rules that are posted.", "type": "integer" }, "diverted": { "description": "Transaction diversion rules that are diverted .", "type": "integer" }, "date": { "description": "Daily details Date about when the rules are posted or diverted.", "type": "string", "format": "date" } } }, "ticketsType": { "type": "array", "description": "Collection of TicketType objects.", "maxItems": 4000, "items": { "$ref": "#/definitions/ticketType" } }, "ticketType": { "type": "object", "description": "Reservation Ticket Type Information.", "properties": { "ticketId": { "description": "Internal Unique ID.", "$ref": "#/definitions/uniqueID_Type" }, "packageCode": { "description": "Package Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationProductId": { "description": "Reference to the reservation product.", "$ref": "#/definitions/uniqueID_Type" }, "ticketNumber": { "description": "Ticket number.", "$ref": "#/definitions/uniqueID_Type" }, "description": { "description": "Package description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "issueDate": { "description": "Tickets issue date.", "type": "string", "format": "date" }, "price": { "description": "Tickets price.", "type": "number" }, "consumptionDate": { "description": "Tickets comsumption date.", "type": "string", "format": "date" }, "rateCode": { "description": "The Rate Code to which tickets belong to.", "type": "string", "minLength": 0, "maxLength": 20 }, "quantity": { "description": "Number of tickets used to create multiple tickets.", "type": "integer" }, "reference": { "description": "Free text field for reference information.", "type": "string", "minLength": 0, "maxLength": 2000 }, "status": { "description": "The Status Code for outbound WS call.", "type": "string", "minLength": 0, "maxLength": 20 }, "statusDescription": { "description": "The Status Description for outbound WS call.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "reservationECertificatesType": { "type": "array", "description": "Collection of ECertificateType object.", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationECertificateType" } }, "reservationECertificateType": { "type": "object", "description": "Reservation ECertificate Type Information.", "properties": { "eCertificateNo": { "description": "ECertificate Number for the reservation.", "type": "string", "minLength": 0, "maxLength": 40 }, "actionType": { "description": "ECertificate status for the reservation.", "$ref": "#/definitions/requestActionType" }, "eCertificateType": { "description": "ECertificate Type where value can be PROMOTION,AWARD,BENEFIT and OTHER", "$ref": "#/definitions/eCertificateClassficationType" } } }, "requestActionType": { "type": "string", "enum": [ "Create", "Remove", "Query" ] }, "eCertificateClassficationType": { "type": "string", "description": "Enumeration of the different type of Ecertificate.", "enum": [ "Promotion", "Award", "Benefit", "Other" ] }, "nameValueDetailType": { "type": "object", "description": "Detailed information returned during name value search.", "properties": { "nameValues": { "description": "Name Value List.", "$ref": "#/definitions/nameValuesType" } } }, "nameValuesType": { "type": "array", "description": "List of name value pairs.", "maxItems": 4000, "items": { "$ref": "#/definitions/nameValueType" } }, "nameValueType": { "type": "object", "description": "Contains name value pair.", "properties": { "name": { "description": "Contains unique key which represents for record field.", "type": "string", "minLength": 0, "maxLength": 100 }, "value": { "description": "Contains value for the record/column.", "type": "string", "minLength": 0, "maxLength": 4000 }, "formatString": { "description": "Contains format string for values.", "type": "string", "minLength": 0, "maxLength": 100 }, "dataType": { "description": "Contains data type for values.", "$ref": "#/definitions/nameValueDataTypeType" }, "origin": { "description": "Contains Origin information.", "$ref": "#/definitions/nameValueOriginType" }, "usageInstruction": { "description": "Contains value(s) to identify the reports to include the collected information in e.g. PFH=Print Folio Header, PFD=Print Folio Detail.", "$ref": "#/definitions/codeListType" } } }, "nameValueDataTypeType": { "type": "string", "enum": [ "String", "Number", "Date", "Datetime", "Time", "Integer" ] }, "nameValueOriginType": { "type": "object", "description": "Contains origin details.", "properties": { "originName": { "description": "Contains origin i.e. Reseravtion, Profile, Folio or FinTrx.", "$ref": "#/definitions/nameValueModuleType" }, "destination": { "description": "Contains destination column for Origin.", "type": "string", "minLength": 0, "maxLength": 200 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "nameValueModuleType": { "type": "string", "enum": [ "Reservation", "Folio", "Profile", "Fintrix" ] }, "customChargeExemptionsType": { "type": "array", "description": "List of Custom Charge Exemptions.", "maxItems": 4000, "items": { "$ref": "#/definitions/customChargeExemptionType" } }, "customChargeExemptionType": { "type": "object", "description": "Contains custom charges exemption information.", "properties": { "customChargesExemption": { "description": "Contains exemption code and description.", "$ref": "#/definitions/codeDescriptionType" }, "customChargeQuantity": { "description": "Contains exemption quantity for the stay. When this value is configured, daily exemption quantities are not permitted.", "$ref": "#/definitions/customChargeQuantityType" }, "customChargeDates": { "description": "Contains exemption detail information for each date.", "$ref": "#/definitions/customChargeExemptionDatesType" }, "excludedDates": { "description": "Contains list of dates which are not valid for custom charge exemptions.", "$ref": "#/definitions/excludedDatesType" }, "percentage": { "description": "Exemption Percentage", "type": "number", "minimum": 0, "maximum": 100 }, "propertyExemption": { "description": "Flag specifying if custom charge exemptions is property level or not.", "type": "boolean" } } }, "customChargeQuantityType": { "type": "object", "description": "Contains quantity of custom charge exemptions.", "properties": { "quantity": { "description": "Contains number of Custom Charge Exemption for a day.", "type": "integer" }, "available": { "description": "Indicates if Custom Charges Exemption information is editable.", "type": "boolean" }, "guests": { "type": "array", "description": "List of guests.", "items": { "$ref": "#/definitions/customChargeGuestInfoType" } } } }, "customChargeExemptionDatesType": { "type": "array", "description": "Contains List of Custom Charge Exemption information for a day.", "maxItems": 4000, "items": { "$ref": "#/definitions/customChargeExemptionDateType" } }, "customChargeExemptionDateType": { "type": "object", "description": "Contains Custom Charge Exemption information for a day.", "properties": { "date": { "description": "Contains Custom Charge Exemption date.", "type": "string", "format": "date" }, "quantity": { "description": "Contains number of Custom Charge Exemption for a day.", "type": "integer" }, "guests": { "type": "array", "description": "List of guests.", "items": { "$ref": "#/definitions/customChargeGuestInfoType" } } } }, "excludedDatesType": { "type": "array", "description": "Contains list of dates which are valid for custom charge exemptions.", "maxItems": 4000, "items": { "$ref": "#/definitions/excludedDateType" } }, "excludedDateType": { "type": "object", "description": "Specifies all the enabled dates.", "properties": { "date": { "description": "Contains exclusion date.", "type": "string", "format": "date" }, "reason": { "description": "Contains reason for exclusion.", "$ref": "#/definitions/exclusionReasonType" } } }, "exclusionReasonType": { "type": "string", "description": "Custom Charge has already been Processed for this date within the reservation stay.", "enum": [ "NotConfigured", "CustomChargeProcessed" ] }, "foliosShortInfoType": { "type": "array", "description": "This type contains a list of generated bills for a reservation.", "maxItems": 4000, "items": { "$ref": "#/definitions/folioShortInfoType" } }, "folioShortInfoType": { "type": "object", "description": "This type contains information of generated bills.", "properties": { "folioNo": { "description": "Folio No of the bill generated.", "type": "number" }, "folioType": { "description": "Folio type of the bill generated.", "type": "string", "minLength": 0, "maxLength": 200 }, "autoGenerated": { "description": "Flag to indicate if the folio is auto generated or not.", "type": "boolean" } } }, "reservationInstructionType": { "type": "string", "description": "Simple type for reservation instructions that can be used in requests for information which needs to be returned.", "enum": [ "Reservation", "Comments", "GuestComments", "ReservationMembershipAwards", "ReservationIdentification", "Packages", "InventoryItems", "ReservationPaymentMethods", "RoutingInstructions", "Preferences", "Memberships", "Alerts", "Traces", "ConfirmationLetters", "CallHistory", "FixedCharges", "GuestMessages", "ReservationPolicies", "Indicators", "LinkedReservations", "RevenuesAndBalances", "GuestLastStay", "ECoupons", "TrackItItems", "TotalCostOfStay", "ReservationAwards", "WebRegistrationCards", "ServiceRequests", "ReservationActivities", "ScheduledActivities", "PrepaidCards", "Shares", "Attachments", "Locators", "ProfileAwards", "TransactionDiversions", "Tickets", "GuestMemberships", "ECertificates", "UpsellInfo", "RoomAssignedByAI", "CustomNameValue", "CustomChargeExemptions", "FiscalInfo", "ScheduledRoomMoves", "DailySummary", "RateSummary", "PostingIntervals", "PreArrivals" ] }, "reservationsInstructionsType": { "type": "object", "description": "Instructions for a reservation.", "properties": { "linkReservations": { "description": "Instructions for linked reservations.", "$ref": "#/definitions/linkReservationInstructionType" }, "shareReservations": { "description": "Instruction to assign rate on each share reservation. This can be FULL: Full Rate for each Sharer. SPLIT: Split the Rate amount between Sharer Reservations. ENTIRE: This Sharer provided as ShareToReservationID will get the total amount of the rate code for all the Sharer Reservations.", "$ref": "#/definitions/shareReservationInstructionType" }, "blockAssignInstruction": { "description": "Instructions to apply block rate based on the Room Rate grid when assigning a block to a reservation. ", "$ref": "#/definitions/assignBlockRateInstructionsType" } } }, "linkReservationInstructionType": { "type": "object", "description": "Instructions for a linked reservation.", "properties": { "linkToReservationId": { "description": "Parent reservation id where reservations to be linked.", "$ref": "#/definitions/uniqueID_Type" }, "linkFromReservationId": { "description": "Child reservation id where reservations to be linked.", "$ref": "#/definitions/uniqueID_Type" }, "link": { "type": "boolean" } } }, "shareReservationInstructionType": { "type": "object", "properties": { "effectiveRates": { "description": "Effective rates to apply on share reservations.", "$ref": "#/definitions/effectiveRatesType" }, "paymentMethod": { "description": "Payment Method to be applied to any sharing reservation that has a reservation type that requires a credit card and does not have a credit card.", "$ref": "#/definitions/reservationPaymentMethodType" }, "rateAmountShare": { "description": "Instruction to assign rate on each share reservation. This can be FULL: Full Rate for each Sharer. SPLIT: Split the Rate amount between Sharer Reservations. ENTIRE: This Sharer provided as ShareToReservationID will get the total amount of the rate code for all the Sharer Reservations.", "$ref": "#/definitions/shareDistributionInstructionType" }, "shareType": { "description": "Indicates the share instruction to process from the reservation request object.", "$ref": "#/definitions/shareTypeType" }, "fixedRate": { "description": "Indicates whether fixed rate will be applied to all shares.", "type": "boolean" } } }, "effectiveRatesType": { "type": "array", "description": "Collection of effective rate amount per guest on specific dates.", "maxItems": 4000, "items": { "$ref": "#/definitions/effectiveRateType" } }, "effectiveRateType": { "type": "object", "description": "Effective rate amount per guest on specific dates.", "properties": { "onePersonRate": { "description": "Rate amount for one person.", "type": "number" }, "twoPersonRate": { "description": "Rate amount for two persons.", "type": "number" }, "threePersonRate": { "description": "Rate amount for three persons.", "type": "number" }, "fourPersonRate": { "description": "Rate amount for four persons.", "type": "number" }, "fivePersonRate": { "description": "Rate amount for five persons.", "type": "number" }, "extraPersonRate": { "description": "Rate amount for each extra person.", "type": "number" }, "extraChildRate": { "description": "Rate amount for each extra Child.", "type": "number" }, "oneChildRate": { "description": "Rate amount for one Child.", "type": "number" }, "twoChildrenRate": { "description": "Rate amount for two Children.", "type": "number" }, "threeChildrenRate": { "description": "Rate amount for three Children.", "type": "number" }, "fourChildrenRate": { "description": "Rate amount for four Children.", "type": "number" }, "rateByAgeBuckets": { "description": "Collection of rate amount by age bracket.", "$ref": "#/definitions/rateByAgeBucketsType" }, "minimumChildrenForFreeStay": { "description": "Minimum number of children needed to get free stay.", "type": "integer" }, "pointsRequired": { "description": "The number of award points required for applying this rate plan schedule.", "type": "number" }, "overrideFloorAmount": { "description": "true if floor amount needs to be override", "type": "boolean" }, "hotelId": { "description": "", "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "description": "", "type": "string", "minLength": 0, "maxLength": 20 }, "roomType": { "description": "", "type": "string", "minLength": 0, "maxLength": 20 }, "numberOfRooms": { "description": "", "type": "integer" }, "amountBeforeTax": { "description": "Rate amount Before Tax.", "type": "number" }, "start": { "description": "The starting value of the date range.", "type": "string", "format": "date" }, "end": { "description": "The ending value of the date range.", "type": "string", "format": "date" } } }, "rateByAgeBucketsType": { "type": "array", "description": "Rate amount by age bucket.", "maxItems": 3, "items": { "$ref": "#/definitions/rateByAgeBucketType" } }, "rateByAgeBucketType": { "type": "object", "description": "Rate amount by age bucket.", "properties": { "rateAmount": { "description": "Rate amount by age bucket.", "type": "number" }, "minimumAge": { "description": "Minimum age for age bucket.", "type": "integer" }, "maximumAge": { "description": "Maximum age for age bucket.", "type": "integer" } } }, "shareTypeType": { "type": "string", "description": "Indicates that only profile information will be retrieved from the reservation request object and the rest will be provided from the master reservation.", "enum": [ "Reservation", "Profile" ] }, "channelResvRQInfoType": { "type": "object", "description": "Holds all the channel reservation specific information.", "properties": { "channelSummaryInfo": { "description": "Holds channel details such as type, code", "$ref": "#/definitions/channelSummaryInfoType" }, "channelResvAction": { "description": "Holds type of action to be taken on a channel reservation.", "$ref": "#/definitions/channelResvActionType" }, "retransmissionIndicator": { "description": "This attribute indicates true if the message is resubmitted for processing.", "type": "boolean" } } }, "channelSummaryInfoType": { "type": "object", "description": "Depicts channel information such as the type and code.", "properties": { "bookingChannel": { "$ref": "#/definitions/bookingChannelType" } } }, "bookingChannelType": { "type": "object", "properties": { "channelCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "channelName": { "type": "string", "minLength": 0, "maxLength": 80 } } }, "channelResvActionType": { "type": "string", "description": "Cancel a reservation in OPERA through a channel. The cancellation of the reservation is committed in OPERA at once. There is no session reservation involved.", "enum": [ "Book", "Hold", "Initiate", "Ignore", "Modify", "Commit", "CommitOverrideEdits", "Create", "Change", "Cancel" ] }, "status": { "type": "object", "description": "Response Body.", "properties": { "warnings": { "$ref": "#/definitions/warningsType" }, "links": { "$ref": "#/definitions/links" } } }, "reservationCancellationPolicyCriteria": { "type": "object", "description": "Request type to create a cancellation policy for a reservation.", "properties": { "policy": { "description": "Policy information used to create a Cancellation policy on the reservation.", "$ref": "#/definitions/reservationCancellationPolicyCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationCancellationPolicyCriteriaType": { "type": "object", "description": "A cancellation policy attached with the reservation.", "properties": { "revenueType": { "description": "Type of reservation.", "$ref": "#/definitions/depositCancelRevenueType" }, "policy": { "description": "Cancellation policy details.", "$ref": "#/definitions/resCancelPenaltyType" }, "percentageDue": { "description": "The percentage amount due for reservation cancellation.", "type": "number", "minimum": 0, "maximum": 100 }, "comments": { "description": "Comments attached with the reservation cancellation.", "type": "string", "minLength": 0, "maxLength": 1000 }, "policyId": { "description": "Unique ID of the Reservation Policy.", "$ref": "#/definitions/uniqueID_Type" }, "hotelId": { "description": "Property where the reservation exists.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "Unique Id of the reservation.", "$ref": "#/definitions/reservationId" } } }, "reservationConfirmationLetters": { "type": "object", "description": "Response object to the request to fetch a list of reservations for which confirmation letters need to be sent.", "properties": { "resrvationInfoList": { "description": "Contains details of the reservation and the confirmations letters attached with them..", "$ref": "#/definitions/reservationConfLettersListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationConfLettersListType": { "type": "array", "description": "Reservations information and the confirmation letters type attached with them.", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationConfLettersType" } }, "reservationConfLettersType": { "type": "object", "description": "Reservation information and the confirmation letters type attached with it.", "properties": { "reservation": { "description": "Reservation details.", "$ref": "#/definitions/reservationInfoType" }, "confLetters": { "description": "The letters attached with the reservation.", "$ref": "#/definitions/confirmationsType" } } }, "confirmationLetters": { "type": "object", "description": "Request object to create a confirmation letter.", "properties": { "hotelId": { "description": "The resort of the reservation.", "$ref": "#/definitions/codeType" }, "reservationId": { "description": "Reservation Id.", "$ref": "#/definitions/reservationId" }, "responseInstruction": { "description": "Instruction indicating what is returned in the response.", "$ref": "#/definitions/responseInstructionsType" }, "confLetters": { "description": "Confirmation letter.", "$ref": "#/definitions/confirmationsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "codeType": { "type": "string", "description": "Used for codes in the OPERA Code tables. Possible values of this pattern are 1, 101, 101.EQP, or 101.EQP.X.", "minLength": 0, "maxLength": 20 }, "responseInstructionsType": { "type": "string", "description": "Enumeration of the different return modes of a response.", "enum": [ "Id", "FullInfo", "ErrorsWarnings" ] }, "confirmationLettersDetails": { "type": "object", "description": "Response object after creating a confirmation letter.", "properties": { "hotelId": { "description": "The resort of the reservation.", "$ref": "#/definitions/codeType" }, "reservationId": { "description": "Reservation Id.", "$ref": "#/definitions/reservationId" }, "responseInstruction": { "description": "Instruction indicating what is returned in the response.", "$ref": "#/definitions/responseInstructionsType" }, "confLetters": { "description": "List of confirmation records.", "$ref": "#/definitions/confirmationsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationDepositPolicyCriteria": { "type": "object", "description": "Request type to create a deposit policy on a reservation.", "properties": { "policy": { "description": "Policy information used to create a deposit policy on the reservation.", "$ref": "#/definitions/reservationDepositPolicyCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationDepositPolicyCriteriaType": { "type": "object", "description": "A deposit policy attached with the reservation.", "properties": { "revenueType": { "description": "Type of reservation.", "$ref": "#/definitions/depositCancelRevenueType" }, "policy": { "description": "Reservation deposit policy details.", "$ref": "#/definitions/depositPolicyType" }, "comments": { "description": "Comments attached with a deposit.", "type": "string", "minLength": 0, "maxLength": 1000 }, "amountPaid": { "description": "Total amount paid against the reservation deposit.", "$ref": "#/definitions/currencyAmountType" }, "amountDue": { "description": "Total amount due against the reservation deposit.", "$ref": "#/definitions/currencyAmountType" }, "policyId": { "description": "Unique ID of the Reservation Policy.", "$ref": "#/definitions/uniqueID_Type" }, "hotelId": { "description": "Property where the reservation exists.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "Unique ID of the reservation.", "$ref": "#/definitions/reservationId" } } }, "changeDepositPolicyDetails": { "type": "object", "description": "Response Body.", "properties": { "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "linkReservationsCriteria": { "type": "object", "description": "Request to link a list of reservations with another existing reservation.", "properties": { "hotelId": { "description": "Hotel of the reservations to be linked with another reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationIdList": { "description": "Collection of unique identifiers of the reservations to be linked with another reservation.", "$ref": "#/definitions/reservationIdList" }, "linkToReservationId": { "description": "Unique identifier of the reservation to be linked with.", "$ref": "#/definitions/uniqueID_Type" }, "responseInstruction": { "description": "Response instruction for the operation.", "type": "object", "properties": { "fetchLinkedReservations": { "description": "If set to TRUE, response will have the list of linked reservations.", "type": "boolean" } } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservation": { "type": "object", "description": "Return object to the request for information regarding a reservation.", "properties": { "reservations": { "description": "Collection of Reservations returned/fetched as per the criteria in the fetch request.", "$ref": "#/definitions/hotelReservationsType" }, "masterInfoList": { "type": "array", "items": { "$ref": "#/definitions/masterInfoType" } }, "channelInfo": { "description": "Channel specific information to be received in case the reservation is being created through a channel.", "$ref": "#/definitions/reservationChannelInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationChannelInfoType": { "type": "object", "description": "Holds all the channel reservation specific information.", "properties": { "channelSummaryInfo": { "description": "Holds channel details such as type, code", "$ref": "#/definitions/channelSummaryInfoType" }, "channelResvStatus": { "description": "Holds the reservation status to be returned to channel.", "$ref": "#/definitions/channelResvStatusType" }, "lastCommittedResv": { "description": "Holds the last committed reservation to be returned to channel.", "$ref": "#/definitions/lastCommittedResvType" } } }, "channelResvStatusType": { "type": "string", "description": "Depicts that the operation was failed.", "enum": [ "Pending", "Cancelled", "Modified", "Committed", "Ignored", "Unsuccessful", "Pending Cancellation" ] }, "changeReservation": { "type": "object", "description": "Request method to change a reservations information.", "properties": { "reservations": { "description": "A collection of Reservations with information that needs to be changed.", "type": "array", "items": { "$ref": "#/definitions/hotelReservationInstructionType" } }, "reservationsInstructionsType": { "description": "Collection of Reservations which have to be created.", "$ref": "#/definitions/reservationsInstructionsType" }, "channelInformation": { "description": "Channel specific information to be received in case the reservation is being created through a channel.", "$ref": "#/definitions/channelResvRQInfoType" }, "reservationNotification": { "description": "Boolean flag that forces reservation to updates in OPERA. By default, this value is false.", "type": "boolean", "default": false }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "hotelReservationInstructionType": { "type": "object", "description": "The Reservation class contains the current reservation being created or altered.", "properties": { "reservationIdList": { "description": "Used to provide PMS and/or CRS identifiers.", "$ref": "#/definitions/reservationIdList" }, "externalReferences": { "description": "External Reference information for Reservation.", "$ref": "#/definitions/externalReferencesType" }, "associatedReservations": { "description": "Information regarding associated reservations.", "$ref": "#/definitions/associatedResType" }, "sourceOfSale": { "description": "Point of Sale of reservation. Identifies the entity/channel who made the reservation.", "$ref": "#/definitions/sourceOfSaleType" }, "roomStay": { "description": "Room stays information.", "$ref": "#/definitions/roomStayType" }, "compAuthorizer": { "description": "Reservation Comp Authorizer.", "$ref": "#/definitions/compAuthorizerInfoType" }, "reservationGuests": { "description": "Collection of guests associated with the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/resGuestType" } }, "sharedGuests": { "description": "Collection of guests who share this reservation.", "$ref": "#/definitions/resSharedGuestListType" }, "additionalGuestInfo": { "description": "Entry Date into the country. (Croatian Requirements).", "$ref": "#/definitions/resGuestAdditionalInfoType" }, "reservationProfiles": { "description": "Collection of guests associated with the reservation.", "type": "object", "properties": { "reservationProfile": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationProfileType" } }, "commissionPayoutTo": { "description": "If not null, reservation is considered to pay out commission to either Travel Agent, Source or both.", "$ref": "#/definitions/commissionPayoutToType" } } }, "reservationCommunication": { "description": "Collection of reservation communication details.", "$ref": "#/definitions/resCommunicationType" }, "reservationAwards": { "description": "Collection of Awards,Certificates for the guest profile.", "$ref": "#/definitions/awardsType" }, "trackItItems": { "description": "Collection of TrackIt Items available for that reservation", "$ref": "#/definitions/trackItItemsType" }, "shares": { "description": "Collection of share reservation available for that reservation", "$ref": "#/definitions/hotelReservationsType" }, "locators": { "description": "Collection of Locators available for that reservation", "$ref": "#/definitions/reservationLocatorsType" }, "attachments": { "description": "Collection of attachments available for that reservation", "$ref": "#/definitions/attachmentsType" }, "webRegistrationCards": { "description": "Collection of Web Registration Cards available for that reservation", "$ref": "#/definitions/attachmentsType" }, "serviceRequests": { "description": "Collection of Service Requests available for that reservation", "$ref": "#/definitions/serviceRequests" }, "reservationActivities": { "description": "Collection of Reservation Activities available for that reservation", "$ref": "#/definitions/activityLookUpList" }, "scheduledActivities": { "description": "Collection of Scheduled Activities available for that reservation", "$ref": "#/definitions/activityLookUpList" }, "prepaidCards": { "description": "Collection of Prepaid Cards available for that reservation", "$ref": "#/definitions/prepaidCardsType" }, "profileAwards": { "description": "Collection of profile awards available for that reservation", "$ref": "#/definitions/awardsType" }, "reservationPackages": { "description": "A Service object represents a non-room product provided to guests. Service products may have associated inventory and charges.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationPackageType" } }, "inventoryItems": { "description": "A collection of inventory items attached to a reservation.", "$ref": "#/definitions/resInventoryItemsType" }, "comments": { "description": "List of Notes for the Guest related to the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "resvIdentifications": { "description": "List of identification of the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/resvIdentificationInfoType" } }, "guestComments": { "description": "List of Notes for the Guest related to the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "guestMemberships": { "description": "List of Memberships for the Guest related to the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/membershipType" } }, "preferenceCollection": { "description": "Collection of reservation preferences.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/preferenceTypeType" } }, "reservationMemberships": { "description": "List of reservation memberships.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationMembershipType" } }, "reservationPaymentMethods": { "description": "A collection of Payment Method objects.", "$ref": "#/definitions/reservationPaymentMethodsType" }, "routingInstructions": { "description": "Set of Routing Instructions.", "$ref": "#/definitions/routingInfoListType" }, "reservationPolicies": { "description": "A collection of Cancellation Penalties objects.", "$ref": "#/definitions/reservationPoliciesType" }, "cashiering": { "description": "Holds cashiering related information for the reservation.", "$ref": "#/definitions/resCashieringType" }, "housekeeping": { "description": "Holds rooms housekeeping information.", "$ref": "#/definitions/resHousekeepingType" }, "linkedReservation": { "description": "Reservations related to the current Reservation.", "$ref": "#/definitions/linkedReservationsInfoType" }, "extSystemSync": { "type": "boolean" }, "userDefinedFields": { "description": "Collections of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" }, "reservationIndicators": { "description": "Indicators of additional information attached to the reservation", "$ref": "#/definitions/indicatorsType" }, "waitlist": { "description": "Information regarding why reservation has been/was waitlisted. This could hold information as history even if reservation is no more in Waitlist status.", "$ref": "#/definitions/waitlistResType" }, "cancellation": { "description": "Information regarding why reservation has been/was cancelled. This could hold information as history even if reservation is no more in in Cancelled status.", "type": "object", "properties": { "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "code": { "type": "string", "minLength": 0, "maxLength": 20 }, "cancellationNo": { "description": "Cancellation Number given when reservation was last cancelled.", "$ref": "#/definitions/uniqueID_Type" }, "date": { "description": "Date when reservation was last cancelled.", "type": "string", "format": "date" } } }, "catering": { "description": "Catering event information if reservation is associated with the catering event.", "$ref": "#/definitions/cateringResInfoType" }, "statisticalClassification": { "description": "Catering event information if reservation is associated with the catering event.", "$ref": "#/definitions/resStatClassificationType" }, "alerts": { "description": "List of reservation alerts.", "$ref": "#/definitions/alertsType" }, "traces": { "description": "List of reservation Traces.", "$ref": "#/definitions/hotelReservationTracesType" }, "confirmationLetters": { "description": "List of reservation confirmation letters.", "$ref": "#/definitions/confirmationsType" }, "callHistory": { "description": "List of reservation calls.", "$ref": "#/definitions/callHistoryType" }, "fixedCharges": { "description": "List of reservation fixed charges.", "$ref": "#/definitions/fixedChargesType" }, "guestMessages": { "description": "List of Messages.", "$ref": "#/definitions/guestMessagesType" }, "lockHandle": { "description": "An id representing the record lock for this reservation. When passed, update operation will verify that this lock is still valid.", "type": "number" }, "overrideInstructions": { "description": "List of overrides done for the reservation.", "$ref": "#/definitions/overrideInstructionsType" }, "queue": { "description": "Information about the time and duration this reservation was on Queue for Checkin.", "$ref": "#/definitions/reservationQueueInformationType" }, "allowedActions": { "description": "Collection of allowed actions for the reservation.", "$ref": "#/definitions/reservationAllowedActionsType" }, "eCoupons": { "description": "List of eCoupons.", "$ref": "#/definitions/eCouponsType" }, "transactionDiversions": { "description": "List of transaction diversions attached to the reservation.", "type": "object", "properties": { "transactionDiversions": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationTransactionDiversionsType" } }, "actionType": { "type": "string", "maxLength": 2000 } } }, "advanceCheckIn": { "description": "Information relating to Reservation's Advance Checked In state and Expected Time of Return", "$ref": "#/definitions/advanceCheckInType" }, "tickets": { "description": "List of Reservation Tickets.", "$ref": "#/definitions/ticketsType" }, "accessRestrictionMessage": { "description": "Configurable Access Restriction Message for Excluded Block or Rate Code.", "type": "string", "minLength": 0, "maxLength": 4000 }, "eCertificates": { "description": "List of ECertificates attached to the reservation.", "$ref": "#/definitions/reservationECertificatesType" }, "customNameValueDetail": { "description": "List of Custom Name Value Information attached to the reservation.", "$ref": "#/definitions/nameValueDetailType" }, "customChargeExemptionDetails": { "description": "List of Custom Charge Exemptions attached to the reservation.", "$ref": "#/definitions/customChargeExemptionsType" }, "folios": { "description": "This element returns any automatically generated folios during check-in, based on the Fetch Instruction \"AutoFolios\". When the parameter \"Auto Generate Credit Bill for Deposit upon Check In\" is enabled, during check-in credit bills are automatically generated for the deposits. The generated credit bill details are returned so that user can preview/print the folio. For some countries like Portugal, it is mandatory to print the folio and hence this information is needed", "$ref": "#/definitions/foliosShortInfoType" }, "autoBorrowFromHouse": { "description": "This flag will force to borrow from house if borrow required for number of rooms requested, this will only applicable when reservation is attached to a Block.", "type": "boolean" }, "overrideExternalChecks": { "description": "Forcefully override the create/update action on the Reservation. For real-time CRS interfaces, this element is used as force selling indicator in case of Create or Update Reservation", "type": "boolean" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "roomStayReservation": { "description": "Boolean True if this reservation is reserving rooms. False if it is only reserving services.", "type": "boolean" }, "reservationStatus": { "description": "Indicates the Actual status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "computedReservationStatus": { "description": "Indicates the Computed status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "walkIn": { "description": "When true, indicates the reservation is for a guest that walks-in without a reservation. When false, the reservation is not a walk-in.", "type": "boolean" }, "printRate": { "description": "Indicates whether to show the rate or not on a printed document which includes the rate.", "type": "boolean" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" }, "createBusinessDate": { "description": "Business Date when the reservation was created.", "type": "string", "format": "date" }, "reinstateDate": { "description": "Business Date when the reservation was last reinstated.", "type": "string", "format": "date" }, "party": { "description": "Party/PartyCode when reservation is part of a party(a small group).", "type": "string", "minLength": 0, "maxLength": 50 }, "primaryEnrollmentResort": { "description": "Name Of the Resort/Hotel for the primary enrollment", "type": "string", "minLength": 0, "maxLength": 80 }, "primaryEnrollmentChain": { "description": "Name of the Chain for the primary enrollment", "type": "string", "minLength": 0, "maxLength": 80 }, "customReference": { "description": "Custom Reference to identify reservation.", "type": "string", "minLength": 0, "maxLength": 50 }, "displayColor": { "description": "The color to display this reservation on room grid displays.", "type": "string", "minLength": 0, "maxLength": 20 }, "markAsRecentlyAccessed": { "description": "Mark this reservation as recently accessed.", "type": "boolean" }, "overrideInventoryCheck": { "description": "Indicates to Override the Room Inventory Check if applicable.", "type": "boolean" }, "accessRestriction": { "description": "Indicates user restriction on the reservation based on the Access exclusion functionality such as Restriction on Changes, Cancellation or both.", "$ref": "#/definitions/resAccessRestrictionType" }, "preRegistered": { "description": "Is the reservation pre-registered.", "type": "boolean" }, "upgradeEligible": { "description": "Indicates whether the reservation is eligible for upgrade.", "type": "boolean" }, "overrideBlockRestriction": { "description": "Indicates if block restrictions should be overriden when also sending validateBlockRestrictions as true.", "type": "boolean" }, "validateBlockRestrictions": { "description": "Indicates whether to validate block restrictions when making an update to a block reservation.", "type": "boolean" }, "allowAutoCheckin": { "description": "Flag to allow auto checkin", "type": "boolean" }, "hasOpenFolio": { "type": "boolean" }, "allowMobileCheckout": { "description": "Flag containing true or false value for reservation to be eligible for self-checkout by guest using mobile device . Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is eligible for mobile checkout yes / no. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, "allowMobileViewFolio": { "description": "Attribute AllowMobileViewFolio is set to true when the reservation is eligible for viewing folio using mobile device.", "type": "boolean" }, "allowPreRegistration": { "description": "Flag containing true or false value for reservation to be eligible for prior check in by guest using mobile device . Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is eligible for mobile check in yes / no. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, "optedForCommunication": { "description": "Flag containing true or false value to determine if the guest has opted for communications pertaining to this reservation.Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is marked for communication. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, "chargeCardNumber": { "description": "This attribute represents Hotel charge card number. This number is generated automatically in OPERA when a reservation is created in OPERA. It is part of a functionality that provide the guest with the convenience of placing all their charges directly on their reservation folio.", "type": "string", "minLength": 0, "maxLength": 100 }, "overrideOutOfServiceCheck": { "description": "Indicates to Override the Room Out Of Service Check if applicable.", "type": "boolean" }, "overrideRotationRoom": { "description": "Override the rotation room that is next in the sequence with the room currently assigned to this reservation. This is applicable when Room Rotation OPERA Control is active.", "type": "boolean", "default": true }, "overrideRoomOwnership": { "description": "Override the room ownership of the room currently assigned to this reservation. This is applicable when Room Rotation OPERA Control is active.", "type": "boolean", "default": true }, "responseInstructions": { "description": "Collection of instructions to be returned as a set of reservation information.", "type": "object", "properties": { "responseInstruction": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationInstructionType" } }, "confirmationOnly": { "description": "If this value is set to TRUE, then the operation will only return for a Success or Failed flag.", "type": "boolean" } } }, "changeInstrunctions": { "description": "Collection of instructions for changing the reservation.", "$ref": "#/definitions/changeInstructionType" }, "overrideRoomFeatures": { "description": "This flag indicates true/false. When this is true, it will allow to override the room feature preference validation while assigning rooms. The Reservation Room Features OPERA Control will determine which room feature preferences will be validated. When Reservation Room Features is on, the validation will be against the Room Feature preferences attached to the reservation. If the parameter is off, the validation will be against the room feature preferences attached to the profile. This is applicable when the Room Feature Validation OPERA Control is on.", "type": "boolean" }, "routeAllTransactionsToShare": { "description": "Indicates if this joining reservation should route all transactions to the 'Share To' reservation when including Share Reservations Instructions.", "type": "boolean" }, "markPreArrivalReviewed": { "description": "Update the review status of a pre-arrival reservation to indicate that it has been reviewed by an authorized user.", "type": "boolean" }, "externalDailyRates": { "type": "array", "description": "Collection of room rate information provided by an external application on a daily basis to be applied to share reservation based on the share rate distribution method. To be used when OPERA Control parameter 'External Availability, Rates and Inventory' is active.", "maxItems": 4000, "items": { "$ref": "#/definitions/externalDailyRateType" } }, "reservationProtection": { "description": "Reservation Protection information related to the reservation.", "$ref": "#/definitions/reservationProtectionType" } } }, "associatedResType": { "type": "object", "description": "Information regarding associated reservations to the reservation.", "properties": {} }, "resStatClassificationType": { "type": "object", "description": "Statistical Classification information for the reservation.", "properties": { "roomType": { "description": "Room Type used to calculate statistics for export(DRS).", "type": "string", "minLength": 0, "maxLength": 20 }, "rateTier": { "description": "Rate Tier used calculate statistics for export(DRS).", "type": "integer" } } }, "changeInstructionType": { "type": "object", "description": "Instructions for Changing a Reservation.", "properties": { "shareReservations": { "description": "Collection of unique identifiers of the sharing reservations to be modified.", "$ref": "#/definitions/uniqueIDListType" }, "updatePackagePrice": { "description": "Indicates whether package prices will be updated with the latest configurations.", "type": "boolean" }, "changeAllShares": { "type": "boolean" }, "overrideInventory": { "type": "boolean" }, "facilitySchedulerOption": { "$ref": "#/definitions/facilitySchedulerOptionType" }, "applyUntilLastShareDepartureDate": { "description": "Indicates whether the chosen changes will be made not only to overlapping dates of share reservations but also to non-overlapping dates after the departure date of the edited reservation. When false or omitted the chosen changes are applied only to overlapping dates of share reservations.", "type": "boolean" }, "deltaUpdateOnAccompanyingGuests": { "description": "When true, changes to accompanying guests are performed following an incremental update approach instead of a full overlay.", "type": "boolean" } } }, "facilitySchedulerOptionType": { "type": "string", "description": "Facility Scheduler Option value.", "enum": [ "Default", "Update", "Noupdate" ] }, "changeReservationDetails": { "type": "object", "properties": { "reservations": { "description": "Reservation Information for the reservations which have been changed.", "$ref": "#/definitions/hotelReservationsType" }, "masterInfoList": { "description": "Refer to Generic common types document.", "type": "array", "items": { "$ref": "#/definitions/masterInfoType" } }, "channelInformation": { "description": "Information to be returned, if the request is received through a channel", "$ref": "#/definitions/channelResvRSInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "channelResvRSInfoType": { "type": "object", "description": "Holds all the channel reservation specific information.", "properties": { "channelSummaryInfo": { "description": "Holds channel details such as type, code", "$ref": "#/definitions/channelSummaryInfoType" }, "channelResvStatus": { "description": "Holds the reservation status to be returned to channel.", "$ref": "#/definitions/channelResvStatusType" }, "channelMarketingInfo": { "description": "Channel Marketing Text like cancel,deposit,tax,commission policy etc.", "$ref": "#/definitions/channelMarketingInfoType" }, "lastCommittedResv": { "description": "Holds the last committed reservation to be returned to channel.", "$ref": "#/definitions/lastCommittedResvType" }, "inSessionReservationId": { "description": "Holds the internal reservationId for in session reservation.", "$ref": "#/definitions/uniqueID_Type" } } }, "channelMarketingInfoType": { "type": "array", "description": "Marketing Text like cancel policy, deposit policy etc.", "maxItems": 4000, "items": { "type": "object", "properties": { "description": { "description": "Marketing Text like cancel policy, deposit policy etc.", "type": "string", "minLength": 0, "maxLength": 4000 }, "policyType": { "description": "Indicates the policy type like cancel,deposit etc.", "$ref": "#/definitions/marketingPolicyType" }, "ratePlanCode": { "description": "Indicates the rate code for which the policy is associated with.", "type": "string", "minLength": 0, "maxLength": 20 } } } }, "marketingPolicyType": { "type": "string", "description": "Indicates the channel policy type like deposit,cancel etc.", "enum": [ "Deposit", "Commission", "Cancel", "Guarantee", "General", "Penalty", "Tax", "Promotion" ] }, "reinstateReservation": { "type": "object", "description": "Overriding the validation check will log the supposed errors in the warnings log if they would fail.", "properties": { "hotelId": { "description": "Property code of the reservation.", "$ref": "#/definitions/codeType" }, "reservationIdList": { "description": "Unique internal Id of the reservation that is to be reinstated.", "$ref": "#/definitions/reservationIdList" }, "reservationLockHandle": { "type": "number" }, "reservation": { "description": "Reservation Information of the reservation that is to be reinstated.", "$ref": "#/definitions/hotelReservationType" }, "overrideInventory": { "description": "Flag that indicates if room inventory check should be skipped when the reservation is being reinstated.", "type": "boolean" }, "overrideRates": { "description": "Flag that indicates if rate code inventory check should be skipped when the reservation is being reinstated.", "type": "boolean" }, "overrideRoomOutOfService": { "description": "Flag that indicates if the check on the housekeeping status for out of service should be skipped.", "type": "boolean" }, "overrideRoomAllocation": { "description": "Flag that indicates if the check on room allocation should be skipped.", "type": "boolean" }, "additionalReservationIdList": { "description": "Collection of unique reservation identifiers to be sent as Shared reservation. Each Unique ID element represents one reservation.", "$ref": "#/definitions/uniqueIDListType" }, "effectiveRates": { "description": "Instruction to apply new effective rates among shares.", "$ref": "#/definitions/effectiveRatesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reinstateReservationDetails": { "type": "object", "description": "Response Body.", "properties": { "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "cancelReservation": { "type": "object", "description": "Request object for canceling reservations.", "properties": { "rateChangeInstruction": { "description": "Defines rate change instruction to use relevant for sharing reservations.", "$ref": "#/definitions/rateChangeInstructionType" }, "reason": { "description": "The reason for Cancelling the reservations.", "$ref": "#/definitions/cancellationReasonType" }, "reservations": { "description": "Information on the reservation that is to be canceled.", "type": "array", "items": { "$ref": "#/definitions/cancelReservationType" } }, "channelInformation": { "description": "Channel specific information to be received in case the reservation is being created through a channel.", "$ref": "#/definitions/channelResvRQInfoType" }, "reservationNotification": { "description": "Boolean flag that forces reservation to updates in OPERA. By default, this value is false.", "type": "boolean", "default": false }, "verificationOnly": { "description": "Indicator if the request is a verification on whether the reservation can be canceled.", "type": "boolean" }, "comments": { "description": "List of Notes for the Guest related to the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "externalDailyRates": { "type": "array", "description": "Collection of room rate information provided by an external application on a daily basis to be applied to share reservation based on the share rate distribution method. To be used when OPERA Control parameter 'External Availability, Rates and Inventory' is active.", "maxItems": 4000, "items": { "$ref": "#/definitions/externalDailyRateType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateChangeInstructionType": { "type": "object", "description": "Defines override rate type.", "properties": { "discount": { "description": "Discount percentage and/or amount, code and textual reason for discount.", "$ref": "#/definitions/discountType" }, "rateChange": { "description": "Rate change type.", "$ref": "#/definitions/rateChangeType" } } }, "rateChangeType": { "type": "string", "description": "Simple type for rate change type.", "enum": [ "Verify", "OldRate", "NewRate" ] }, "cancellationReasonType": { "type": "object", "properties": { "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "code": { "type": "string", "minLength": 0, "maxLength": 20 } } }, "cancelReservationType": { "type": "object", "properties": { "reservationIdList": { "description": "Unique identifiers for the reservation for both internal and external systems", "$ref": "#/definitions/reservationIdList" }, "externalCancellationId": { "description": "External cancellation number to be stored as cancellation number of the reservation. This is supported by postCancelShareReservation and postCancelReservation only.", "type": "string", "minLength": 1, "maxLength": 50 }, "externalReferences": { "description": "External Reference information for Reservation.", "$ref": "#/definitions/externalReferencesType" }, "roomStay": { "description": "Collection of room stays.", "$ref": "#/definitions/stayInfoType" }, "reservationGuest": { "description": "Collection of guests associated with the reservation.", "$ref": "#/definitions/resGuestInfoType" }, "sharedGuests": { "description": "Collection of guests who share this reservation.", "$ref": "#/definitions/resSharedGuestListType" }, "attachedProfiles": { "description": "List of attached profiles", "$ref": "#/definitions/resAttachedProfileListType" }, "reservationPaymentMethod": { "description": "Payment method used for this reservation", "$ref": "#/definitions/reservationPaymentMethodType" }, "reservationFolioWindows": { "description": "Collection of reservation folio windows.", "$ref": "#/definitions/reservationFolioWindowsType" }, "specials": { "description": "Set of reservation preferences which belongs to the Specials group.", "type": "string", "minLength": 0, "maxLength": 4000 }, "lastPrivacyPromptDate": { "description": "Last Privacy Prompt Date", "type": "string", "format": "date" }, "displayColor": { "description": "Color setting of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationIndicators": { "description": "Indicators of additional information attached to the reservation", "$ref": "#/definitions/indicatorsType" }, "roomStatus": { "description": "Current room status", "$ref": "#/definitions/housekeepingRoomStatusType" }, "searchMatches": { "description": "Super Search matching terms.", "$ref": "#/definitions/searchMatchesType" }, "sourceOfSale": { "description": "Point of Sale of reservation. Identifies the entity/channel who made the reservation.", "$ref": "#/definitions/sourceOfSaleType" }, "waitlist": { "description": "Information regarding why reservation has been/was waitlisted. This could hold information as history even if reservation is not in Waitlist status anymore.", "$ref": "#/definitions/waitlistResType" }, "queue": { "description": "Information about the time and duration this reservation was on Queue for Checkin.", "$ref": "#/definitions/reservationQueueInformationType" }, "housekeeping": { "description": "Information regarding housekeeping for this reservation.", "$ref": "#/definitions/resHousekeepingType" }, "cashiering": { "description": "Holds cashiering related information for the reservation.", "$ref": "#/definitions/resCashieringType" }, "taxType": { "description": "This stores the code for the type of tax calculation especially with tax exemption, etc.", "$ref": "#/definitions/taxTypeType" }, "deposit": { "description": "Holds reservation deposit information.", "$ref": "#/definitions/reservationDepositType" }, "allowedActions": { "description": "Collection of reservation allowed actions.", "$ref": "#/definitions/reservationAllowedActionsType" }, "revenuesAndBalances": { "description": "Revenues and Balances Amount summary for the reservation.", "$ref": "#/definitions/resRevenueBalanceType" }, "hotelInterfaceStatusList": { "description": "Collection of Hotel Interfaces and rights, this is populated only when fetching interface status for rooms.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationInterfaceStatusType" } }, "turndownInfo": { "description": "Currency code preferred by guest.", "$ref": "#/definitions/reservationTurndownInfoType" }, "mobileNotifications": { "description": "Denotes the status of Room Ready, Key Ready messages.", "$ref": "#/definitions/resMobileNotificationsType" }, "reservationCommunication": { "description": "Collection of reservation communication details.", "$ref": "#/definitions/resCommunicationType" }, "advanceCheckIn": { "description": "Information relating to Reservation's Advance Checked In state and Expected Time of Return", "$ref": "#/definitions/advanceCheckInType" }, "welcomeOffer": { "description": "This flag will determine wheather the reservation is eligible for Welcome Offer or not.", "type": "boolean" }, "cancellationInfo": { "description": "Information regarding why reservation has been/was cancelled.", "type": "object", "properties": { "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "code": { "type": "string", "minLength": 0, "maxLength": 20 }, "date": { "description": "Date when reservation was last cancelled.", "type": "string", "format": "date" } } }, "keyCount": { "description": "Number of keys created for the reservation.", "type": "integer" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "hotelName": { "type": "string", "minLength": 0, "maxLength": 80 }, "expectedServiceTime": { "type": "string", "minLength": 0, "maxLength": 20 }, "roomStayReservation": { "description": "Boolean True if this reservation is reserving rooms. False if it is only reserving services.", "type": "boolean" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" }, "reservationStatus": { "description": "Indicates the status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "computedReservationStatus": { "description": "Indicates the status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "walkInIndicator": { "description": "When true, indicates the reservation is for a guest that walks-in without a reservation. When false, the reservation is not a walk-in.", "type": "boolean" }, "accessRestriction": { "description": "Indicates user restriction on the reservation based on the Access exclusion functionality such as Restriction on Changes, Cancellation or both.", "$ref": "#/definitions/resAccessRestrictionType" }, "commissionPayoutTo": { "description": "If not null, reservation is considered to pay out commission to either Travel Agent, Source or both.", "$ref": "#/definitions/commissionPayoutToType" }, "paymentMethod": { "description": "Payment Method.", "type": "string", "minLength": 0, "maxLength": 20 }, "preRegistered": { "description": "Defines if the reservation is pre-registered or not.", "type": "boolean" }, "openFolio": { "description": "Returns true when reservation has an open folio.", "type": "boolean" }, "allowMobileCheckout": { "description": "Flag containing true or false value for reservation to be eligible for self-checkout by guest using mobile device . Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is eligible for mobile checkout yes / no. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, "allowMobileViewFolio": { "description": "Attribute AllowMobileViewFolio is set to true when the reservation is eligible for viewing folio using mobile device.", "type": "boolean" }, "optedForCommunication": { "description": "Attribute OptedForCommunication is set to true when the guest has opted for receiving communicationsl related to the reservation.", "type": "boolean" }, "cxlInstr": { "$ref": "#/definitions/cancellationInstructionsType" }, "refResId": { "$ref": "#/definitions/uniqueID_Type" }, "reservationLockHandle": { "type": "number" }, "overrideExternalChecks": { "description": "This forcefully overrides the cancel operation on Reservation. For real-time CRS interface, it is used as cancellation override flag.", "type": "boolean" } }, "description": "The Reservation class contains the current reservation being created or altered." }, "reservationInterfaceStatusType": { "type": "object", "description": "Hotel Interface Type for a reservation and status of the various services", "properties": { "roomExtension": { "description": "Identifier for the room extension", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelInterface": { "description": "Hotel interface information for the reservation", "$ref": "#/definitions/hotelInterfaceType" }, "interfaceRights": { "description": "Contains a list of status/rights for the various services under this interface", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/interfaceRightsStatusType" } } } }, "hotelInterfaceType": { "type": "object", "properties": { "interfaceId": { "description": "Unique DB internal number of a Hotel Interface record.", "$ref": "#/definitions/uniqueID_Type" }, "hotelId": { "description": "Hotel Code", "type": "string", "minLength": 0, "maxLength": 20 }, "interfaceName": { "description": "Name of the Hotel Interface", "type": "string", "minLength": 0, "maxLength": 40 }, "interfaceType": { "description": "Three letter code for each interface that identifies the interface.", "$ref": "#/definitions/hotelInterfaceTypeType" }, "logo": { "description": "Hotel Interface Logo. On the database, this is also referred as DBF Logo. This is a three letter code followed by an underscore(_). This tells us which DBF files and log files with the prefix that IFC7 is going to create.", "type": "string", "minLength": 0, "maxLength": 20 }, "machineName": { "description": "Unique machine name of the running IFC.", "type": "string", "minLength": 0, "maxLength": 80 }, "status": { "description": "The current status of the IFC.", "$ref": "#/definitions/hotelInterfaceStatusType" }, "activeFlag": { "description": "Indicator if the Hotel Interface is active or not. This is different from the Interface Status, which is either STOPPED or RUNNING.", "type": "boolean" } } }, "hotelInterfaceTypeType": { "type": "string", "enum": [ "Bms", "Cas", "Ccw", "Dls", "Eft", "Exp", "Mak", "Mbs", "Msc", "Pbx", "Pos", "Svs", "Tik", "Vid", "Vms", "Www", "Xml" ], "description": "XML Posting Interface" }, "hotelInterfaceStatusType": { "type": "string", "description": "Status of the Hotel Interface either STOPPED or RUNNING.", "enum": [ "Stopped", "Running", "Waiting", "StopInitiated", "StartInitiated", "RebootInitiated", "Other" ] }, "interfaceRightsStatusType": { "type": "object", "properties": { "right": { "description": "Internal code for each allowed right of a Hotel Interface record.", "type": "integer" }, "statusCode": { "description": "User defined code for an Interface Right.", "type": "string", "minLength": 0, "maxLength": 5 }, "description": { "description": "User defined description for an Interface Right.", "type": "string", "minLength": 0, "maxLength": 80 }, "category": { "description": "Category code of this interface right.", "type": "string", "minLength": 0, "maxLength": 1 } } }, "reservationTurndownInfoType": { "type": "object", "description": "Turndown information for a reservation", "properties": { "allowed": { "description": "Indicates if turndown is allowed or not", "type": "boolean" }, "status": { "description": "Indicates turndown status, values could be required, not required, completed", "$ref": "#/definitions/turndownStatusType" } } }, "turndownStatusType": { "type": "string", "description": "Simple type for turndown status instructions to be used in requests for fetching housekeeping rooms. Valid status values are Required, Not Required and Completed.", "enum": [ "Required", "NotRequired", "Compeleted" ] }, "cancellationInstructionsType": { "type": "object", "properties": { "description": { "description": "Detailed description such as why reservation cannot be cancelled.", "type": "string", "minLength": 0, "maxLength": 4000 }, "deleteResTraces": { "type": "boolean" }, "status": { "type": "string", "minLength": 0, "maxLength": 2000 } } }, "cancelReservationDetails": { "type": "object", "description": "Response object for the request to cancel reservations. Response contains the reservations which were successfully canceled.", "properties": { "cxlActivityLog": { "description": "Cancellation information includes information regarding Reason, Date of Cancellation etc..", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/cancellationActivityType" } }, "oldRates": { "description": "Collection of old room rate information on a daily basis for the old guest count in case of sharing reservations.", "$ref": "#/definitions/dailyRatesType" }, "newRates": { "description": "Collection of new room rate information on a daily basis for the new remaining guest count in case of sharing reservations.", "$ref": "#/definitions/dailyRatesType" }, "reservations": { "description": "Information regarding the reservation which was canceled.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/cancelReservationType" } }, "reservationPolicies": { "description": "Contains deposit and cancellation policies attached with the reservation.", "$ref": "#/definitions/reservationPoliciesType" }, "comments": { "description": "List of Notes for the Guest related to the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "channelInformation": { "description": "Information to be returned, if the request is received through a channel", "$ref": "#/definitions/channelResvRSInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "cancellationActivityType": { "type": "object", "properties": { "reason": { "$ref": "#/definitions/cancellationReasonType" }, "cxlDate": { "type": "string", "format": "date" }, "userId": { "type": "number" }, "userName": { "type": "string" }, "cancellationIdList": { "description": "Cancellation IDs", "$ref": "#/definitions/uniqueIDListType" } } }, "dailyRatesType": { "type": "array", "description": "Defines room rate information on a daily basis.", "maxItems": 4000, "items": { "$ref": "#/definitions/dailyRateType" } }, "dailyRateType": { "type": "object", "description": "The total amount charged for the service including additional amounts and fees.", "properties": { "taxes": { "description": "A collection of taxes.", "$ref": "#/definitions/taxesType" }, "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "amountBeforeTax": { "description": "The total amount not including any associated tax (e.g., sales tax, VAT, GST or any associated tax).", "type": "number" }, "amountAfterTax": { "description": "The total amount including all associated taxes (e.g., sales tax, VAT, GST or any associated tax).", "type": "number" }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" }, "code": { "description": "Type of charge.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateOverride": { "description": "When true indicates that the rate amount has been overridden.", "type": "boolean" }, "baseAmount": { "description": "The rate's base price. Amount excluding price for any add to rate combine line package attached to the rate.Also excludes any discounts", "type": "number" }, "discount": { "description": "Room rate discount percentage or amount, code and textual reason for discount.", "$ref": "#/definitions/discountType" }, "start": { "description": "The starting value of the date range.", "type": "string", "format": "date" }, "end": { "description": "The ending value of the date range.", "type": "string", "format": "date" } } }, "reservationRoutingCriteria": { "type": "object", "description": "Request to create a routing instruction.", "properties": { "criteria": { "description": "Reservation routing criteria defining the routing information to be created.", "$ref": "#/definitions/resvRoutingCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "resvRoutingCriteriaType": { "type": "object", "description": "A routing info object can either be of type Folio OR of type Room with its corresponding object.", "properties": { "folio": { "description": "Folio routing type.", "type": "object", "properties": { "guestInfo": { "description": "Guest details", "type": "object", "properties": { "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems.", "$ref": "#/definitions/profileIdList" } } }, "payeeInfo": { "$ref": "#/definitions/payeeInfoType" }, "aRNumber": { "description": "Accounts Receivable.", "type": "string", "minLength": 0, "maxLength": 20 }, "instructions": { "description": "Set of routing instructions associated to this routing type.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/routingInstructionType" } }, "folioWindowNo": { "type": "integer" }, "paymentMethod": { "type": "string", "maxLength": 2000 } } }, "room": { "description": "Room routing type.", "type": "object", "properties": { "roomId": { "description": "Room number to route the instructions.", "type": "string", "minLength": 0, "maxLength": 20 }, "guestNameId": { "description": "Guest unique identifier to which the instruction will be routed.", "$ref": "#/definitions/uniqueID_Type" }, "guestDisplayName": { "description": "Display Name for the guest.", "type": "string", "minLength": 0, "maxLength": 80 }, "reservationNameId": { "description": "Reservation name id to which the instruction will be routed.", "$ref": "#/definitions/uniqueID_Type" }, "instructions": { "description": "Set of routing instructions associated to this routing type.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/routingInstructionType" } } } }, "comp": { "description": "Comp Accounting Routing Info", "type": "object", "properties": { "compAccountingInfo": { "$ref": "#/definitions/compAccountingType" }, "compRequestInfo": { "$ref": "#/definitions/compRoutingRequestType" }, "payeeInfo": { "$ref": "#/definitions/payeeInfoType" }, "instructions": { "description": "Set of routing instructions associated to this routing type.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/routingInstructionType" } }, "folioWindowNo": { "type": "integer" } } }, "request": { "description": "Comp Accounting Request routing", "type": "object", "properties": { "compRequestInfo": { "$ref": "#/definitions/compRoutingRequestType" }, "instructions": { "description": "Set of routing instructions associated to this routing type.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/routingInstructionType" } } } }, "refreshFolio": { "description": "On a successful update, the transactions that are already posted in the guest's folio will be re-organized based on the configured instructions.", "type": "boolean" }, "hotelId": { "description": "Hotel context of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "Unique ID of a reservation.", "$ref": "#/definitions/reservationId" }, "retrievePostingsForRoomRouting": { "description": "This flag indicates if postings that can be refreshed need to be part of the response when a routing instruction is created, updated or deleted.", "type": "boolean" } } }, "routingInstructionsInfo": { "type": "object", "description": "Request when changing a routing instruction.", "properties": { "criteria": { "description": "Transactions and scheduled instructions included in this routing element will be replaced with the new element.", "type": "object", "properties": { "folio": { "description": "Folio routing type.", "type": "object", "properties": { "guestInfo": { "description": "Guest details", "type": "object", "properties": { "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems.", "$ref": "#/definitions/profileIdList" } } }, "payeeInfo": { "$ref": "#/definitions/payeeInfoType" }, "aRNumber": { "description": "Accounts Receivable.", "type": "string", "minLength": 0, "maxLength": 20 }, "instructions": { "description": "Set of routing instructions associated to this routing type.", "type": "array", "items": { "$ref": "#/definitions/routingInstructionType" } }, "paymentMethod": { "type": "string", "maxLength": 2000 } } }, "room": { "description": "Room routing type.", "type": "object", "properties": { "roomNumber": { "description": "Room number to route the instructions.", "type": "string", "minLength": 0, "maxLength": 20 }, "guestNameId": { "description": "Guest unique identifier to which the instruction will be routed.", "$ref": "#/definitions/uniqueID_Type" }, "guestDisplayName": { "description": "Display Name for the guest.", "type": "string", "minLength": 0, "maxLength": 80 }, "reservationNameId": { "description": "Reservation name id to which the instruction will be routed.", "$ref": "#/definitions/uniqueID_Type" }, "instructions": { "description": "Set of routing instructions associated to this routing type.", "type": "array", "items": { "$ref": "#/definitions/routingInstructionType" } } } }, "comp": { "description": "Comp Accounting Routing Info", "type": "object", "properties": { "compRequestInfo": { "$ref": "#/definitions/compRoutingRequestType" }, "payeeInfo": { "$ref": "#/definitions/payeeInfoType" }, "instructions": { "description": "Set of routing instructions associated to this routing type.", "type": "array", "items": { "$ref": "#/definitions/routingInstructionType" } } } }, "request": { "description": "Comp Accounting Request routing", "type": "object", "properties": { "compRequestInfo": { "$ref": "#/definitions/compRoutingRequestType" }, "instructions": { "description": "Set of routing instructions associated to this routing type.", "type": "array", "items": { "$ref": "#/definitions/routingInstructionType" } } } }, "hotelId": { "description": "Hotel context of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "Unique ID of a reservation.", "$ref": "#/definitions/reservationId" }, "refreshFolio": { "description": "On a successful update, the transactions that are already posted in the guest's folio will be re-organized based on the configured instructions.", "type": "boolean" }, "retrievePostingsForRoomRouting": { "description": "This flag indicates if postings that can be refreshed need to be part of the response when a routing instruction is created, updated or deleted.", "type": "boolean" }, "newRoutingInfo": { "description": "Transactions and schedule instructions which will replace the base element.", "$ref": "#/definitions/routingInfoType" } } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "shareReservations": { "type": "object", "description": "Response for the fetch share reservation request. This returns all sharer reservations including the request reservation.", "properties": { "shareReservations": { "description": "Collection of guests who share this reservation. Reservation information will only include the Room Information and Guest Information.", "$ref": "#/definitions/hotelReservationsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "combineShareReservations": { "type": "object", "description": "Request to combine sharer reservations. This request requires a Reservation Name Id(Joining to) and a Joining Reservation Id", "properties": { "criteria": { "description": "Criteria required to combine the reservations.", "$ref": "#/definitions/combineShareReservationsType" }, "externalDailyRates": { "type": "array", "description": "Collection of room rate information provided by an external application on a daily basis to be applied to share reservation based on the share rate distribution method. To be used when OPERA Control parameter 'External Availability, Rates and Inventory' is active.", "maxItems": 4000, "items": { "$ref": "#/definitions/externalDailyRateType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "combineShareReservationsType": { "type": "object", "description": "Record Type for Combining Share Reservations.", "properties": { "combineShareInstruction": { "description": "Instructions for overriding checks during combine share operation.", "$ref": "#/definitions/combineShareInstructionType" }, "hotelId": { "description": "Opera Hotel/Resort code for the Combine Share Reservations request.", "type": "string", "minLength": 0, "maxLength": 20 }, "shareToReservation": { "description": "Collection of unique reservation identifiers. Currently supported are Reservation Id and/or Confirmation Number which may include the leg number.", "type": "object", "properties": { "reservationIdList": { "$ref": "#/definitions/reservationIdList" }, "dailyRates": { "description": "Collection of room rate information on a daily basis.", "$ref": "#/definitions/dailyRatesType" } } }, "existingReservationId": { "description": "Id of an existing reservation which is going to be combined.", "$ref": "#/definitions/uniqueID_Type" }, "newReservations": { "description": "Details for creating a new reservations from profiles which will be combined to create a sharer.", "$ref": "#/definitions/combineShareFromProfilesType" }, "fetchInstructions": { "description": "Collection of fetch reservation instructions to be returned.", "type": "object", "properties": { "fetchInstruction": { "description": "Instruction on what information has to be fetched.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationInstructionType" } }, "returnShareReservations": { "description": "After the combine shares operation, return the new list of share reservations.", "type": "boolean" } } }, "overrideRoomOwnership": { "description": "Override the room ownership of the room currently assigned to this reservation. This is applicable when Room Rotation OPERA Control is active.", "type": "boolean", "default": true }, "roomOwnershipType": { "description": "Provides the information of the assigned reservation room is an Owner/Referral or Regular room.This value is returned when Room Rotation OPERA Control is active and room number is assigned to a reservation.", "$ref": "#/definitions/reservationRoomOwnershipType" }, "existingReservation": { "description": "Details of the existing reservation to be combined as a sharer.", "$ref": "#/definitions/combineShareFromExistingReservationType" } } }, "combineShareInstructionType": { "type": "object", "description": "Instructions for overriding checks during combine share operation.", "properties": { "rateChangeInstruction": { "description": "Defines rate change instruction.", "$ref": "#/definitions/rateChangeInstructionType" }, "effectiveRates": { "description": "Instruction to apply new effective rates to the reservations.", "$ref": "#/definitions/effectiveRatesType" }, "overrideInstruction": { "description": "Contains user information for the override action performed while booking a reservation.", "$ref": "#/definitions/overrideInstructionType" }, "distributionType": { "description": "Instruction to distribute rate on each share reservation.", "$ref": "#/definitions/shareDistributionInstructionType" }, "overrideInventoryCheck": { "description": "Indicate to override the room inventory check if applicable.", "type": "boolean" }, "roomMoveCheckedinResv": { "description": "If the joining sharer is checked in, do a room move to the main sharer's room.", "type": "boolean" }, "overrideMaxOccupancyCheck": { "description": "Indicate to override the check on maximum room occupancy if applicable.", "type": "boolean" } } }, "combineShareFromProfilesType": { "type": "array", "description": "Type for the profile information to create a new share reservation. This is used to create sharers from profiles.", "maxItems": 4000, "items": { "$ref": "#/definitions/combineShareFromProfileType" } }, "combineShareFromProfileType": { "type": "object", "description": "Type for the profile information to create a new share reservation. This is used to create sharers from profiles.", "properties": { "newSharerId": { "description": "Collection of unique reservation identifiers. Currently supported are Reservation Id and/or Confirmation Number which may include the leg number.", "$ref": "#/definitions/uniqueID_Type" }, "guestCounts": { "description": "The number of guests information to create the share reservation.", "$ref": "#/definitions/guestCountsType" }, "reservationPaymentMethod": { "description": "Defines single payment method for the share reservation.", "$ref": "#/definitions/reservationPaymentMethodType" }, "reservationPaymentMethods": { "description": "Defines collection of payment methods for the share reservation.", "$ref": "#/definitions/copyReservationPaymentMethodsType" }, "guarantee": { "description": "Guarantee code information of the reservation.", "$ref": "#/definitions/resGuaranteeType" }, "dailyRates": { "description": "Collection of room rate information on a daily basis.", "$ref": "#/definitions/dailyRatesType" }, "timeSpan": { "description": "Stay arrival and departure dates.", "$ref": "#/definitions/timeSpanType" }, "routeAllTransactionsToShareReservationId": { "description": "Reservation ID of an existing reservation to whom all transactions of the joining reservation will be routed to.", "$ref": "#/definitions/uniqueID_Type" } } }, "copyReservationPaymentMethodsType": { "type": "object", "description": "A collection of Reservation Payment Methods.", "properties": { "reservationPaymentMethod": { "description": "Defines reservation payment methods.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationPaymentMethodType" } }, "copyCreditCards": { "description": "Indicates copying of credit card payment methods. This flag will only be applied to payment method windows not sent in the collection.", "type": "boolean" }, "copyOthers": { "description": "Indicates copying of other payment methods. This flag will only be applied to payment method windows not sent in the collection.", "type": "boolean" } } }, "combineShareReservationsDetails": { "type": "object", "description": "Response for the combine share reservation request. Based on the request, this will return all sharer reservations including the request reservation.", "properties": { "shareReservations": { "description": "Collection of guests who share this reservation. Reservation information will only include the Room Information and Guest Information.", "$ref": "#/definitions/hotelReservationsType" }, "oldRates": { "description": "Collection of old room rate information on a daily basis.", "$ref": "#/definitions/dailyRatesType" }, "newRates": { "description": "Collection of new room rate information on a daily basis.", "$ref": "#/definitions/dailyRatesType" }, "effectiveRates": { "description": "Collection of effective rates per stay dates per guest to be applied on reservation including its shares.", "$ref": "#/definitions/effectiveRatesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "deliveryHistoryLog": { "type": "object", "description": "Response that contains fetched reservation's delivery history.", "properties": { "deliveryHistoryLog": { "description": "Delivery History Information.", "type": "array", "items": { "$ref": "#/definitions/deliveryHistoryType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "deliveryHistoryType": { "type": "object", "properties": { "hotelId": { "description": "Hotel Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "resvNameId": { "description": "Reservation ID for which the Delivery History belongs.", "$ref": "#/definitions/uniqueID_Type" }, "deliveryId": { "description": "Reservation Delivery ID", "$ref": "#/definitions/uniqueID_Type" }, "deliveryMethod": { "description": "Reservation Delivery Method", "$ref": "#/definitions/deliveryMethodType" }, "interfaceId": { "description": "Interface Id.", "type": "string", "minLength": 0, "maxLength": 20 }, "deliveryStatus": { "description": "Reservation Delivery status", "$ref": "#/definitions/statusType" }, "errorDescription": { "description": "The error Description Of Reservation Delivery status", "type": "string", "minLength": 0, "maxLength": 4000 }, "retryCount": { "description": "Retry Count", "type": "integer" }, "deliveryDate": { "description": "Delivery Date.", "type": "string", "format": "date" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" } } }, "deliveryMethodType": { "type": "string", "description": "PRINT", "enum": [ "Msmq", "Http", "Fax", "Email", "Print" ] }, "statusType": { "type": "string", "description": "Status of the batch process.", "enum": [ "Success", "Error", "Running", "Stopped", "Warning", "Failed", "Started", "CompletedWithLogs" ] }, "guestMessages": { "type": "object", "description": "Response object to the request to retrieve Guest Messages for a Reservation.", "properties": { "guestMessages": { "description": "List of Guest Messages in for the requested Reservation. Refer to Generic common types document.", "$ref": "#/definitions/resvGuestMessagesType" }, "totalPages": { "description": "Evaluated total page count based on the requested max fetch count.", "type": "integer" }, "offset": { "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, "limit": { "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "resvGuestMessagesType": { "type": "array", "description": "Holds the Message Information", "maxItems": 4000, "items": { "$ref": "#/definitions/resvGuestMessageType" } }, "resvGuestMessageType": { "type": "object", "description": "List of Guest Messages", "properties": { "message": { "description": "Holds the Message Information", "$ref": "#/definitions/resvMessageType" }, "delivery": { "description": "Holds the Delivery Method Information", "$ref": "#/definitions/messageDeliveryType" }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" } } }, "resvMessageType": { "type": "object", "description": "Holds the Message Information", "properties": { "messageText": { "description": "Message Content", "type": "string", "minLength": 0, "maxLength": 2000 }, "messageDate": { "description": "Date the message was created. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "typeOfMessage": { "description": "Type of message (Voice/Text)", "$ref": "#/definitions/typeOfMessageType" }, "recipient": { "description": "Recipient of the Message", "type": "string", "minLength": 0, "maxLength": 80 }, "operator": { "description": "User who created the Message", "type": "string", "minLength": 0, "maxLength": 256 }, "reservationId": { "description": "Unique identifier of the reservation.", "$ref": "#/definitions/reservationId" }, "roomId": { "description": "Display room number if it has been assigned.", "type": "string" }, "reservationStatus": { "description": "Status of the reservation.", "type": "string", "minLength": 0, "maxLength": 80 }, "noOfNights": { "description": "shows the number of nights for the reservation.", "type": "integer" }, "guestNameId": { "description": "shows the Id of the Guest.", "type": "integer" }, "departureDate": { "description": "Display the departure date of the guest. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "arrivalDate": { "description": "Display the arrival date of the guest. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "confirmationNo": { "description": "Confirmation number of the reservation.", "type": "string" }, "blockCode": { "description": "Display the block code associated with the reservation.", "type": "string" }, "guaranteeCode": { "description": "Guarantee Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "blockId": { "description": "Display the block Id associated with the reservation.", "$ref": "#/definitions/blockId" }, "roomStatus": { "description": "Display the status of the Room.", "type": "string" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" } } }, "extendReservationLock": { "type": "object", "description": "Operation for extending the lifetime of a lock on a reservation.", "properties": { "hotelId": { "description": "Property code of the reservation.", "$ref": "#/definitions/codeType" }, "lockHandle": { "description": "The lock handle of the record lock we are attempting to release.", "type": "number" }, "additionalTimeToLive": { "description": "The number of seconds to add to the lock's validity time.", "type": "number" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "extendReservationLockDetails": { "type": "object", "description": "This response will indicate whether or not the extension was successful. This operation may return errors when the lock being requested to be extended no longer exists. This can happen when the lock has already expired and cleaned up.", "properties": { "reservationLock": { "description": "This contains the updated lock information for the reservation. The time to live will contain the updated lifetime of the lock.", "$ref": "#/definitions/operaRecordLock" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "operaRecordLock": { "type": "object", "description": "This type contains information about a record lock.", "properties": { "lockHandle": { "description": "This is the identifier of the lock. This will be null when the requesting user does not own the lock.", "type": "number" }, "recordType": { "description": "This is the record type of the locked record.", "$ref": "#/definitions/operaLockRecordType" }, "recordId": { "description": "This is the id of the locked record.", "type": "string" }, "createdBy": { "description": "This is the user name of the current owner of the locked record.", "type": "string" }, "createdOn": { "description": "This is the time when the record was locked.", "type": "string", "format": "date" }, "timeToLive": { "description": "This is the validity of the lock in seconds.", "type": "number" }, "expiresOn": { "description": "This is the estimated expiry time of the lock.", "type": "string", "format": "date" }, "internal": { "description": "Notification flag to specify if the lock is based on an Internal Opera9 lock versus an External lock.", "type": "boolean" } } }, "operaLockRecordType": { "type": "string", "enum": [ "Reservation", "Cashier" ] }, "preArrivalMemberReservationsDetails": { "type": "object", "properties": { "preArrivalMemberReservationType": { "type": "array", "description": "Collection of PreArrivalMemberReservations.", "items": { "$ref": "#/definitions/preArrivalMemberReservationType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "preArrivalMemberReservationType": { "type": "object", "properties": { "createDateTime": { "description": "Date on which Reservation is Created. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "arrivalDate": { "description": "Arrival Date.", "type": "string", "format": "date" }, "membershipId": { "description": "Membership Card number.", "type": "string", "minLength": 0, "maxLength": 80 }, "reservationIdList": { "description": "Reservation Confirmation Number of the External System.", "$ref": "#/definitions/reservationIdList" } } }, "preConfiguredRoutingInstructions": { "type": "object", "description": "This is the Response Message to the request for Pre-Configured Routing Instructions.", "properties": { "routingInstructions": { "description": "Collection of Routing Instructions which have been Pre-Configured.", "$ref": "#/definitions/preConfiguredRoutingInstrListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "preConfiguredRoutingInstrListType": { "type": "array", "description": "Set of Pre-Configured Routing Instructions.", "maxItems": 4000, "items": { "$ref": "#/definitions/preConfiguredRoutingInstrType" } }, "preConfiguredRoutingInstrType": { "type": "object", "description": "Routing can be promotion code complimentary routing or profile routing.", "properties": { "reservationProfile": { "description": "Profile on the reservation.", "$ref": "#/definitions/resAttachedProfileType" }, "compRoutingInstructionType": { "description": "PromotionCode RoutingInstruction Details for CompilementaryRouting", "$ref": "#/definitions/promoCodeCompRoutingType" }, "autoPopulateRouting": { "description": "A flag which determines whether the Pre-configured Routing Instruction has to be automatically populated for this profile or not.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionCodes": { "description": "Set of transaction codes as part of the Pre-configured Routing Instructions.", "$ref": "#/definitions/trxCodesInfoType" }, "billingInstructions": { "description": "Set of Billing Instruction codes as part of the Pre-configured Routing Instructions.", "$ref": "#/definitions/billingInstructionsType" }, "ratePlanCode": { "description": "This is the actual rate code. This will be populated only for Pre-configured Routing Instructions for RateCodes.", "type": "string", "minLength": 0, "maxLength": 20 }, "beginDate": { "description": "This is the Begin date for the Default Routing Instruction selected.", "type": "string", "format": "date" }, "endDate": { "description": "This is the End date for the Default Routing Instruction selected.", "type": "string", "format": "date" } } }, "promoCodeCompRoutingType": { "type": "object", "properties": { "membershipId": { "description": "Membership number for promotion code complimentary routing", "type": "string", "minLength": 0, "maxLength": 100 }, "comments": { "description": "User Defined Comments. Used for promotion code Complimentary Routing.", "type": "string", "minLength": 0, "maxLength": 2000 }, "authorizerInfo": { "description": "The authorizer information for promotion code complimentary routing", "$ref": "#/definitions/authorizerInfoType" }, "duration": { "description": "Duration of this instruction for promotion code complimentary Routing", "type": "object", "properties": { "timeSpan": { "$ref": "#/definitions/timeSpanType" }, "sunday": { "type": "boolean" }, "monday": { "type": "boolean" }, "tuesday": { "type": "boolean" }, "wednesday": { "type": "boolean" }, "thursday": { "type": "boolean" }, "friday": { "type": "boolean" }, "saturday": { "type": "boolean" }, "daily": { "description": "Flag to indicate if the routing instruction is a daily instruction for promotion code complimentary routing", "type": "boolean" } } }, "creditLimit": { "description": "Allowable credit amount for this promotion code complimentary routing instruction. Null value means no limit, 0 equals zero.", "type": "number" }, "percentageLimit": { "description": "The promotion code complimentary routing limit percentage allowed for this routing instruction.", "type": "number" }, "covers": { "description": "Number of covers for this promotion code complimentary routing instruction.", "type": "number" }, "promotionCode": { "description": "Promotion code for Complimentary Routing", "type": "string", "minLength": 0, "maxLength": 20 }, "folioNo": { "description": "The folio number where it is applied for promotion code complimentary routing.", "type": "integer" }, "promptForAuthorizer": { "description": "Flag to indicate to prompt the Authorizer for promotion code complimentary routing.", "type": "boolean" }, "compPreApprovalRequired": { "description": "Flag to indicate that pre approval is required for promotion code complimentary routing .", "type": "boolean" } }, "description": "Promotion Code Complimentary Routing limit can be one of the three: Credit Limit, Percetage Limit, Covers Limit" }, "fetchReservations": { "type": "object", "properties": { "reservationInfoList": { "description": "List of reservations which can be shared.", "type": "object", "properties": { "reservationInfo": { "description": "Information of the reservation which can be shared.", "type": "array", "items": { "$ref": "#/definitions/reservationInfoType" } } } }, "masterInfoList": { "description": "Refer to Generic common types document.", "type": "array", "items": { "$ref": "#/definitions/masterInfoType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "validateRateInfo": { "type": "object", "description": "Retrieve either the reservation's rate information or make a quotation for a rate information. SummaryInfo attribute specifies if the item being requested is of detail or summary type.", "properties": { "criteria": { "description": "Search type can either be based on a reservation or based on a quotation. If a reservation name id is passed then most criteria are ignored.", "type": "object", "properties": { "timeSpan": { "$ref": "#/definitions/timeSpanType" }, "quantity": { "type": "integer" }, "guestCounts": { "$ref": "#/definitions/guestCountsType" }, "detailDate": { "description": "This field is only required when the criteria is meant for a detailed results. The date for the rate detail is needed.", "type": "string", "format": "date" }, "blockId": { "description": "Block Id for which the rate info has to be fetched.", "$ref": "#/definitions/blockId" }, "reservationId": { "description": "Reservation ID for which the rate info is required.", "$ref": "#/definitions/reservationId" }, "ratePlanCode": { "description": "Rate Code for which the rate information is required.", "$ref": "#/definitions/codeType" }, "effectiveRates": { "description": "Instruction to apply new effective rates to the reservations.", "$ref": "#/definitions/effectiveRatesType" }, "roomType": { "description": "Room type for which the rate information is required.", "$ref": "#/definitions/codeType" }, "reservationPackages": { "description": "A Service object represents a non-room product provided to guests. Service products may have associated inventory and charges.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationPackageType" } }, "resvRateAmount": { "description": "Rate amount Before Tax to calculate the total rate on event of rate change.", "$ref": "#/definitions/currencyAmountType" }, "reservationProfiles": { "description": "Refer to Generic common types document.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationProfileType" } }, "summaryInfo": { "description": "Flag to indicate if summary information is required.", "type": "boolean" }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" }, "includeFixedCharges": { "description": "Flag to indicate if fixed charges is to be included in the response, and added to the total cost of stay.", "type": "boolean", "default": true }, "includeDeposits": { "description": "Flag to indicate if paid deposits is to be included in the response, and deducted from total cost of stay when calculating for outstanding cost of stay.", "type": "boolean", "default": true }, "includeRouting": { "description": "Flag to indicate if routing and guest pay amounts are to be included in the response.", "type": "boolean", "default": true }, "viewInRateCodeCurrency": { "description": "Flag to indicate if rate information should be returned in rate code currency per night", "type": "boolean", "default": false } } }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateInfo": { "type": "object", "description": "Response will either be Summary or Detail type, but not both. See the request for the summary attribute flag.", "properties": { "detail": { "description": "The revenue information for the rate code.", "type": "object", "properties": { "revenue": { "description": "The revenue information for the rate code.", "$ref": "#/definitions/totalType" }, "packages": { "description": "Package information for the rate code.", "type": "array", "items": { "$ref": "#/definitions/totalType" } }, "rateSuppressed": { "description": "Indicates if the rate is to be hidden.", "type": "boolean" }, "totalPackageAmount": { "description": "A sum of the Package Prices for the specified reservation and date", "type": "number" }, "totalRateAmount": { "description": "Effective Rate for the specified reservation and date", "type": "number" }, "totalTaxAmount": { "description": "A sum of the Taxes for the specified reservation and date", "type": "number" } } }, "summary": { "$ref": "#/definitions/reservationRateSummaryType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationRateSummaryType": { "type": "object", "properties": { "details": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationRateSummaryDetailType" } }, "gross": { "description": "Amount of revenue and package excluding tax.", "type": "number" }, "net": { "description": "Amount of revenue and package including tax.", "type": "number" }, "fixedCharges": { "description": "Amount of automatically posted charges along with room and taxes.", "type": "number" }, "deposit": { "description": "Amount paid prior to the stay.", "type": "number" }, "totalCostOfStay": { "description": "Amount of total cost of stay.", "type": "number" }, "outStandingCostOfStay": { "description": "Remaining amount to be paid.", "type": "number" }, "guestPay": { "description": "Amount to be paid by Guest.", "type": "number" }, "routing": { "description": "Amount of automatically forwarded charges for specific transaction codes.", "type": "number" }, "currencyCode": { "description": "Currency revenue calculation is based on.", "type": "string", "minLength": 3, "maxLength": 3 }, "start": { "description": "The starting value of the date range.", "type": "string", "format": "date" }, "end": { "description": "The ending value of the date range.", "type": "string", "format": "date" }, "hasSuppressedRate": { "description": "Whether suppressed rate is present or not.", "type": "boolean" } } }, "reservationRateSummaryDetailType": { "type": "object", "properties": { "summaryDate": { "description": "Stay date for which revenue calculation is done.", "type": "string", "format": "date" }, "revenue": { "description": "Base Amount of rate.", "type": "number" }, "package": { "description": "Amount of an additional product or service that is sold as part of the rate or in addition to the rate.", "type": "number" }, "tax": { "description": "Amount of tax generated separately on the revenue and package.", "type": "number" }, "gross": { "description": "Amount of revenue and package excluding tax.", "type": "number" }, "net": { "description": "Amount of revenue and package including tax.", "type": "number" }, "ratePlanCode": { "description": "Rate code calculation is based on.", "type": "string", "minLength": 0, "maxLength": 20 }, "revenueSimulationDate": { "description": "Date revenue calculation is based on.", "type": "string", "format": "date" }, "currencyCode": { "description": "Currency revenue calculation is based on.", "type": "string", "minLength": 3, "maxLength": 3 }, "rateSuppressed": { "description": "Indicates if the rate is to be hidden.", "type": "boolean" }, "postingInterval": { "description": "Posting Interval of the rate plan code", "type": "string", "minLength": 0, "maxLength": 20 }, "isCycleStartDate": { "description": "Indicates whether the current date marks the start of a new posting cycle", "type": "boolean" } } }, "activityLog": { "type": "object", "description": "Response object for the request for the reservation user activity log.", "properties": { "activityLog": { "description": "Collection of the list of Activities(Log) requested.", "$ref": "#/definitions/activityLogListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "activityLogListType": { "type": "object", "properties": { "activityLog": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/activityLogType" } }, "totalPages": { "description": "Evaluated total page count based on the requested max fetch count.", "type": "integer" }, "offset": { "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, "limit": { "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "activityLogType": { "type": "object", "properties": { "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "module": { "type": "string" }, "logDate": { "type": "string", "format": "date-time", "description": "Uses the hotel's time zone." }, "refActionId": { "type": "number" }, "logUserId": { "type": "integer" }, "logUserName": { "type": "string" }, "machineStation": { "type": "string" }, "croCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "actionType": { "type": "string", "minLength": 0, "maxLength": 100 }, "actionDescription": { "type": "string", "minLength": 0, "maxLength": 2000 }, "iPAddress": { "description": "The IP Address of the machine that performed the activity", "type": "string", "minLength": 0, "maxLength": 2000 }, "deviceCode": { "description": "The selected device code", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "reservationAlerts": { "type": "object", "description": "Request object to create or update multiple alerts information for multiple reservations in bulk.", "properties": { "reservations": { "description": "A bulk Reservations with multiple alerts information for each reservation, that needs to be created or updated.", "$ref": "#/definitions/reservationAlertsListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationAlertsListType": { "type": "array", "description": "Holds multiple alerts for a single reservation. Reservation will be identified by a unique identifier/ list of unique identifiers.", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationAlertsType" } }, "reservationAlertsType": { "type": "object", "description": "Hold the multiple alerts for a single reservation which is identified by a unique identifier.", "properties": { "alert": { "description": "List of alerts.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/alertType" } }, "hotelId": { "description": "Property code where the reservation belongs to.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "Unique identifier for a reservation.", "$ref": "#/definitions/reservationId" } } }, "cancelReservations": { "type": "object", "description": "Request to submit batch cancel reservations.", "properties": { "cancelReservations": { "description": "Cancellation information, includes the instructions to be applied for the reservation that are going to be cancelled.", "$ref": "#/definitions/cancelReservationsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "cancelReservationsType": { "type": "object", "description": "Criteria for submitting batch cancel reservations.", "properties": { "reservations": { "description": "List of unique reservation identifiers to be cancelled. Reservations should have the same property.", "$ref": "#/definitions/reservations" }, "reason": { "description": "The reason for Cancelling the reservations.", "$ref": "#/definitions/cancellationReasonType" }, "cancelInstructions": { "description": "The instructions to be applied for the reservations that are being cancelled.", "$ref": "#/definitions/cancelReservationsInstructionsType" }, "hotelId": { "description": "The hotel code for the reservations that are being cancelled.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "reservations": { "type": "array", "description": "Unique identifier for a reservation.", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationId" } }, "cancelReservationsInstructionsType": { "type": "object", "description": "The instructions to be applied for the reservations that are being cancelled.", "properties": { "deleteTraces": { "description": "Indicate if the traces associated with the reservations have to be deleted after the cancellation process.", "type": "boolean" }, "ignorePenalties": { "description": "Indicate whether to ignore any associated cancellation rules during the cancellation process.", "type": "boolean" }, "ignoreDeposits": { "description": "Indicate whether to allow cancel a reservation which has an applied deposit.", "type": "boolean" }, "cancelShares": { "description": "Indicate whether any sharing reservations associated with the reservation which is being cancelled will also be cancelled.", "type": "boolean" } } }, "validateReservationChanges": { "type": "object", "description": "Request to validate reservation changes.", "properties": { "reservation": { "description": "Reservation to be validated.", "$ref": "#/definitions/hotelReservationType" }, "timeSpan": { "description": "Stay Duration to validate.", "$ref": "#/definitions/timeSpanType" }, "instructions": { "description": "Collection of validation instructions.", "type": "object", "properties": { "instruction": { "description": "Reservation validation instruction.", "type": "array", "items": { "$ref": "#/definitions/reservationValidationInstructionType" } }, "upsellRateInstruction": { "description": "Instruction for recalculation of rate when the reservations has already been upsold.", "$ref": "#/definitions/upsellRateInstructionType" }, "copyOperation": { "description": "Whether the current operation is copy reservation or not.", "type": "boolean" }, "blockAssignInstruction": { "description": "Instructions for rate handling when assigning a block to a reservation. Default value used is 'ExistingRate' .", "$ref": "#/definitions/assignBlockRateInstructionsType" } } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationValidationInstructionType": { "type": "string", "description": "Instruction to validate CompRouting Instructions attached to a reservation.", "enum": [ "StayHeader", "StayDates", "OverlappingStay", "Packages", "RefreshPackages", "Preferences", "AccessRestrictions", "Ecertificates", "Promotions", "TrackItItems", "TotalCostOfStay", "ReservationAwards", "WebRegistrationCards", "ServiceRequests", "ReservationActivities", "ScheduledActivities", "PrepaidCards", "Shares", "Attachments", "Locators", "ProfileAwards", "RefreshRates", "ReservationGuarantee", "UpsellsAvailable", "InventoryItems", "CompRouting", "RoomAvailablity", "BlockRestrictions", "PostingIntervals", "RefreshRatesOnly" ] }, "upsellRateInstructionType": { "type": "string", "description": "Instruction to remove the upsell and recalculate the rate based on the upsell target room type.", "enum": [ "HonorUpsellRateForAdditionalNights", "OriginalRoomType", "TargetRoomType" ] }, "validateReservationChangesDetails": { "type": "object", "description": "Response for validating reservation changes.", "properties": { "validationMessages": { "description": "Collection of validation messages.", "$ref": "#/definitions/validationsReturnType" }, "reservation": { "description": "Contains validated reservation.", "$ref": "#/definitions/hotelReservationType" }, "reservationGuarantee": { "description": "Guarantee Code information with cancellation penalty and deposit policy information.", "$ref": "#/definitions/guaranteePolicyType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "validationsReturnType": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/validationReturnType" } }, "validationReturnType": { "type": "object", "description": "Validations type record returned after Validations are done.", "properties": { "validationType": { "description": "The type of Validation Record. Example would be OVERBOOK_INVENTORY, OVERRIDE_MAX_OCCUPANCY, CREDIT_CARD_REQUIRED In some cases this will match a permission.", "type": "string", "minLength": 0, "maxLength": 20 }, "validationMessage": { "description": "The message returned after validating.", "type": "string", "minLength": 0, "maxLength": 2000 }, "validationAction": { "$ref": "#/definitions/validationActionType" }, "validationCode": { "description": "The code returned after validation.", "type": "string", "minLength": 0, "maxLength": 100 }, "invalidReservations": { "description": "List of Reservations for which this validation type is applicable.", "$ref": "#/definitions/reservationSummaryListType" } } }, "validationActionType": { "type": "string", "description": "Validation Actions returned after validations are done. STOP-PROCESSING implies that the user cannot continue with the operation as some validation failed. USER-RESPONSE-REQUIRED implies that some validations can be overridden and the User can continue if they wish to override.", "enum": [ "StopProcessing", "UserResponseRequired" ] }, "reservationSummaryListType": { "type": "array", "description": "List of Reservations.", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationSummaryType" } }, "reservationSummaryType": { "type": "object", "properties": { "reservationIdList": { "description": "Unique reservation identifiers.", "$ref": "#/definitions/uniqueIDListType" }, "guarantee": { "description": "Guarantee Information for Reservation.", "$ref": "#/definitions/resGuaranteeType" }, "guestFirstName": { "description": "Guest First Name.", "$ref": "#/definitions/givenNameType" }, "guestLastName": { "description": "Guest Last Name.", "$ref": "#/definitions/surnameType" }, "stayPeriod": { "description": "Stay Duration of the reservation.", "$ref": "#/definitions/dateRangeType" } } }, "guaranteePolicyType": { "type": "object", "description": "Specifies Guarantee Code attributes.", "properties": { "description": { "description": "Description of the Guarantee Code.", "type": "string", "minLength": 0, "maxLength": 2000 }, "requirements": { "description": "Specifies various requirements for the guarantee code.", "$ref": "#/definitions/guaranteeRequirementsType" }, "shortDescription": { "description": "Brief description of the Guarantee Code.", "$ref": "#/definitions/translationTextType80" }, "paymentTypes": { "description": "Specifies various payment types for the guarantee code.", "$ref": "#/definitions/paymentTypesType" }, "guaranteeCode": { "description": "Code assigned to the Guarantee.", "type": "string", "minLength": 0, "maxLength": 20 }, "onHold": { "description": "If true indicates this Guarantee Code is used only to hold the inventory during reservation process.", "type": "boolean" }, "reserveInventory": { "description": "If true indicates inventory will be reserved/deducted when reservation uses this Guarantee Code.", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" }, "lateArrival": { "description": "Represents the late arrival time.", "type": "string" }, "cancelPenalty": { "description": "The CancelPenalty class defines the cancellation policy of the hotel facility.", "type": "object", "properties": { "deadline": { "description": "Cancellation deadline, absolute or relative.", "$ref": "#/definitions/policyDeadlineType" }, "amountPercent": { "description": "Cancellation fee expressed as a fixed amount, or percentage of/or room nights.", "$ref": "#/definitions/policyAmountPercentType" }, "penaltyDescription": { "description": "Text description of the Penalty in a given language.", "type": "string", "minLength": 0, "maxLength": 2000 }, "offsetUnit": { "$ref": "#/definitions/offsetUnitType" }, "formattedRule": { "description": "Formatted Text Rule of the Cancellation Penalty.", "type": "string", "minLength": 0, "maxLength": 2000 }, "policyCode": { "description": "Policy Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "manual": { "description": "Flag to indicate if the cancellation policy is manual.", "type": "boolean" }, "nonRefundable": { "description": "Indicates if the amount is refundable if booking is canceled.", "type": "boolean" }, "effective": { "description": "Indicator if Cancellation Penalty is currently applicable or not.", "type": "boolean" }, "estimatedAmount": { "description": "Message.", "type": "number" }, "tieredCancelPenalties": { "type": "array", "description": "Collection of tiered cancellation penalties that are configured and attached to a tiered policy schedule. To be used when OPERA Control parameter 'Tiered Cancellation Schedules' is active.", "maxItems": 4000, "items": { "$ref": "#/definitions/tieredCancelPenalty" } } } }, "depositPolicy": { "description": "A deposit policy attached with the reservation.", "type": "object", "properties": { "revenueType": { "description": "Type of reservation.", "$ref": "#/definitions/depositCancelRevenueType" }, "policy": { "description": "Reservation deposit policy details.", "$ref": "#/definitions/depositPolicyType" }, "comments": { "description": "Comments attached with a deposit.", "type": "string", "minLength": 0, "maxLength": 2000 }, "amountPaid": { "description": "Total amount paid against the reservation deposit.", "$ref": "#/definitions/currencyAmountType" }, "amountDue": { "description": "Total amount due against the reservation deposit.", "$ref": "#/definitions/currencyAmountType" }, "policyId": { "description": "Unique ID of the Reservation Policy.", "$ref": "#/definitions/uniqueID_Type" }, "estimatedAmount": { "description": "Message.", "type": "number" }, "tieredDepositRules": { "type": "array", "description": "Collection of tiered deposit rule policies that are configured and attached to a tiered policy schedule. To be used when OPERA Control parameter 'Tiered Deposit Schedules' is active.", "maxItems": 4000, "items": { "$ref": "#/definitions/tieredDepositRule" } } } }, "defaultGuarantee": { "description": "If true indicates this can be the default guarantee type to be selected for a reservation.", "type": "boolean" } } }, "guaranteeRequirementsType": { "type": "object", "description": "Specifies various requirement for the guarantee code.", "properties": { "requirementCode": { "description": "Requirement Code.", "type": "string" }, "cancellation": { "description": "When true indicates cancellation on the reservation is required for this guarantee code.", "type": "boolean" }, "phoneNumber": { "description": "When true indicates phone number on the reservation is required for this guarantee code.", "type": "boolean" }, "address": { "description": "When true indicates address on the reservation is required for this guarantee code.", "type": "boolean" }, "creditCard": { "description": "When true indicates Credit Card on the reservation is required for this guarantee code.", "type": "boolean" }, "arrivalTime": { "description": "When true indicates arrival Time on the reservation is required for this guarantee code.", "type": "boolean" }, "deposit": { "description": "When true indicates deposit is required for this guarantee code.", "type": "boolean" }, "email": { "description": "When true indicates an email is required for this guarantee code.", "type": "boolean" }, "travelAgent": { "description": "When true indicates attaching a travel agent profile is required for this guarantee code.", "type": "boolean" }, "company": { "description": "When true indicates attaching a company profile is required for this guarantee code.", "type": "boolean" } } }, "translationTextType80": { "type": "object", "description": "Contains Multiple translated texts and language codes.", "properties": { "defaultText": { "description": "Default text with Character length from 0 to 80.", "type": "string", "minLength": 0, "maxLength": 80 }, "translatedTexts": { "description": "List of translated text and language codes.", "$ref": "#/definitions/translationsTextType" } } }, "translationsTextType": { "type": "array", "description": "Language code for the translation.", "maxItems": 4000, "items": { "type": "object", "properties": { "value": { "type": "string", "description": "Used for Character Strings, length 0 to 2000.", "minLength": 0, "maxLength": 2000 }, "language": { "description": "Language identification.", "type": "string", "minLength": 0, "maxLength": 20 } }, "description": "Language code for the translation." } }, "paymentTypesType": { "type": "array", "description": "Payment card code like AX,VI etc.", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "alerts": { "type": "object", "description": "Response with the fetched alerts, includes global alerts, notes and undelivered guest messages.", "properties": { "alerts": { "description": "The Alert information returned as per the request.", "$ref": "#/definitions/alertsType" }, "comments": { "description": "List of Notes for the Guest related to the reservation.", "type": "array", "items": { "$ref": "#/definitions/commentInfoType" } }, "guestMessages": { "description": "List of undelivered Messages for the Guest related to the requested Reservation. Refer to Generic common types document.", "$ref": "#/definitions/resvGuestMessagesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationAttachments": { "type": "object", "description": "Return object to the request for information regarding reservation attachments.", "properties": { "reservationAttachments": { "description": "Collection of information about reservation attachments returned/fetched as per the criteria in the fetch request.", "$ref": "#/definitions/attachmentsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "breakShareValidations": { "type": "object", "description": "Request for Break Share operation validations. This request should be done prior to the actual Break Share operation request. Based on the validations returned from this request the appropriate parameters can be returned in the actual break share request.", "properties": { "hotelId": { "description": "Opera Hotel/Resort code for the Break Share Reservations request.", "$ref": "#/definitions/codeType" }, "reservationId": { "description": "Unique reservation identifiers. Currently supported are Reservation Id and/or Confirmation Number which may include the leg number.", "$ref": "#/definitions/reservationId" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "breakShareValidationsDetails": { "type": "object", "description": "Response for the Break Share Validation request. This returns all validation messages for the operation.", "properties": { "returnedValidations": { "description": "Collection of validation messages returned.", "$ref": "#/definitions/validationsReturnType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "callHistory": { "type": "object", "description": "Response that contains either the fetched call history if was successful or error(s) if not.", "properties": { "callHistory": { "description": "History of Calls made. Contains information on Caller Info, Reservation info and comments. Refer to the Generic Common Types document for information on the Call History Type", "$ref": "#/definitions/callHistoryType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "cancellationHistory": { "type": "object", "description": "Response object to the request to retrieve cancellation history for a reservation.", "properties": { "cxlActivityLog": { "description": "Cancellation Activity information. Refer to Generic common types document.", "type": "array", "items": { "$ref": "#/definitions/cancellationActivityType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "computeCancellationPolicies": { "type": "object", "description": "Operation to fetch the details for cancellation rules, applicable to a reservation. Based on the criteria the rule information can be retrieved for all cancellation rules or for a particular rule.", "properties": { "criteria": { "description": "Criteria for calculating the deposit/cancellation amount based on a reservation, policy code, amount or percentage.", "type": "object", "properties": { "hotelId": { "description": "Property Code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "The reservation ID for which the deposit/cancellation should be calculated.", "$ref": "#/definitions/reservationId" }, "policyCode": { "description": "The policy code based on which the calculation of the amount and due date is to be done.", "type": "string", "minLength": 0, "maxLength": 20 }, "percentage": { "description": "The percentage based on which the calculation of the amount and due date is to be done.", "type": "number" }, "amount": { "description": "A monetary amount.", "type": "number" }, "currencyCode": { "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string", "minLength": 3, "maxLength": 3 }, "revenueType": { "description": "The type to indicate what revenue should be used for calculation of the deposit/cancellation.", "$ref": "#/definitions/depositCancelRevenueType" }, "nights": { "description": "The number of nights used in the calculation of the cancellation amount.", "type": "integer" } } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "computeCancellationPoliciesDetails": { "type": "object", "description": "Response for the cancellation rules configuration request. Contains computed details for the cancellation rules requested.", "properties": { "policies": { "$ref": "#/definitions/resCancellationPoliciesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "attachCertificate": { "type": "object", "description": "Request to attach certificate to the Reservation.", "properties": { "awards": { "description": "Collection of Awards,Certificates for the guest profile.", "$ref": "#/definitions/awardsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "combineShareValidations": { "type": "object", "description": "Request to validate a combine share operation. This would be done prior to the actual Combine Share operation. Based on the validations returned from this request, the appropriate values can be returned to the Combine Share operation request.", "properties": { "hotelId": { "description": "Opera Hotel/Resort code for the Combine Share Reservations request.", "$ref": "#/definitions/codeType" }, "shareToReservationId": { "description": "Collection of unique reservation identifiers. Currently supported are Reservation Id and/or Confirmation Number which may include the leg number.", "$ref": "#/definitions/uniqueID_Type" }, "existingReservationId": { "description": "Reservation ID type of the reservation which is to be shared.", "$ref": "#/definitions/uniqueID_Type" }, "newReservation": { "description": "Profile and new reservation information for the sharer. A new reservation will be created for the profile and shared with the main ShareToReservationId.", "$ref": "#/definitions/combineShareFromProfileType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "combineShareValidationsDetails": { "type": "object", "description": "Response for the Combine Share Validation request. This returns all validation messages which may be required for the combine share operation.", "properties": { "returnedValidations": { "description": "Validations returned after validating the combine share request.", "$ref": "#/definitions/validationsReturnType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "copyReservation": { "type": "object", "description": "Request for copying a reservation's information as a template for a new reservation.", "properties": { "criteria": { "description": "Criteria for copying the reservation.", "$ref": "#/definitions/copyReservationType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "copyReservationType": { "type": "object", "properties": { "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "sourceReservationId": { "description": "Source reservation's identifier where the template will be based.", "$ref": "#/definitions/uniqueIDListType" }, "newReservation": { "description": "This reservation object will override the default items generated by the template.", "$ref": "#/definitions/hotelReservationInstructionType" }, "instructions": { "description": "Flags which will be considered when copying from the template. If this element is not sent, all the flags will be assumed to be ignored.", "type": "object", "properties": { "includePayments": { "type": "boolean" }, "includeSpecials": { "type": "boolean" }, "includeRouting": { "type": "boolean" }, "includeComments": { "type": "boolean" }, "includePackages": { "type": "boolean" }, "includeItemInventory": { "type": "boolean" }, "includeCreditCardPayments": { "type": "boolean" }, "includeNonCreditCardPayments": { "type": "boolean" }, "includeCompRouting": { "type": "boolean" }, "unavailableItemInstruction": { "description": "Indicates how unavailable Items should be handled.", "$ref": "#/definitions/unavailableItemInstructionType" } } } } }, "reservationDailyRateDetail": { "type": "object", "description": "Request for validating Daily Rate Details modifications.", "properties": { "hotelId": { "description": "Property where the reservation belongs to.", "$ref": "#/definitions/codeType" }, "reservationIdList": { "description": "List of Reservation Ids (Reservation Name Id and/or Confirmation No) of the reservation whose details are to be validated.", "$ref": "#/definitions/reservationIdList" }, "newDetail": { "description": "The changed details which is required to be validated.", "$ref": "#/definitions/dailyRateDetailType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "dailyRateDetailType": { "type": "object", "description": "Rate details for the different dates of a reservation.", "properties": { "rate": { "description": "The Rate Amount details for the date of the stay.", "$ref": "#/definitions/amountType" }, "guestCounts": { "description": "The guest counts(adults or children) for the date of the stay.", "$ref": "#/definitions/guestCountsType" }, "promotions": { "description": "The list of Promotions that are attached to the reservation.", "$ref": "#/definitions/promotionsType" }, "roomType": { "description": "Room Type of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "marketCode": { "description": "Market Code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceCode": { "description": "Source Code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomId": { "description": "Room number of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomTypeToCharge": { "description": "The Room Type on which the rate is based on. The reservation may use a different room type but is charged based on a different room type.", "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "description": "The Rate Code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "startDate": { "description": "The date of the reservation stay.", "type": "string", "format": "date" }, "endDate": { "description": "The date of the reservation stay. If the same details need to be applied to a date range of the stay, then the Start Date and End Date would specify the range.", "type": "string", "format": "date" }, "commissionCode": { "description": "The Commission Code used for the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "fixedRate": { "description": "Indicates if the rate is fixed and could be different from the default rate amount of the rate code.", "type": "boolean" }, "discountAllowed": { "description": "Indicates if the Rate Code is discountable i.e discounts are allowed on the rate code.", "type": "boolean" }, "changeAllSharers": { "description": "Indicates if all the share reservations will be changed. This is returned in the response after validation, indicating whether all shares will be changed (in the case of room type change or date change).", "type": "boolean" } } }, "promotionsType": { "type": "array", "description": "Type to specify a rate promotion. Usually attached to a reservation to indicate a specific promotion is applied to the reservation.", "maxItems": 4000, "items": { "$ref": "#/definitions/promotionType" } }, "reservationDailyRateDetailDetails": { "type": "object", "description": "Response after validating the changes for Daily Rate Details modifications.", "properties": { "returnedValidations": { "description": "Collection of validation messages after the daily rate details are validated.", "$ref": "#/definitions/validationsReturnType" }, "newDetail": { "description": "Daily detail information with changes for Market Code, Source Code, Rate amount and Currency code, based on the validations done.", "type": "array", "items": { "$ref": "#/definitions/dailyRateDetailType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "computeDepositPolicies": { "type": "object", "description": "Operation to fetch the details for deposit rules, applicable to a reservation. Based on the criteria the rule information can be retrieved for all deposit rules or for a particular rule.", "properties": { "criteria": { "$ref": "#/definitions/depositCancelConfigCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "depositCancelConfigCriteriaType": { "type": "object", "description": "Criteria for calculating the deposit/cancellation amount based on a reservation, policy code, amount or percentage.", "properties": { "hotelId": { "description": "Property Code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "The reservation ID for which the deposit/cancellation should be calculated.", "$ref": "#/definitions/reservationId" }, "policyCode": { "description": "The policy code based on which the calculation of the amount and due date is to be done.", "type": "string", "minLength": 0, "maxLength": 20 }, "percentage": { "description": "The percentage based on which the calculation of the amount and due date is to be done.", "type": "number" }, "amount": { "description": "A monetary amount.", "type": "number" }, "currencyCode": { "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string", "minLength": 3, "maxLength": 3 }, "revenueType": { "description": "The type to indicate what revenue should be used for calculation of the deposit/cancellation.", "$ref": "#/definitions/depositCancelRevenueType" } } }, "computeDepositPoliciesDetails": { "type": "object", "description": "Response for the deposit rules configuration request. Contains computed details for the deposit rules requested.", "properties": { "policies": { "$ref": "#/definitions/resDepositPoliciesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "eCoupons": { "type": "object", "description": "Response object for fetching the eCoupons attached to Reservation.", "properties": { "eCoupons": { "$ref": "#/definitions/eCouponsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "eCouponsInfo": { "type": "object", "description": "Request object for changing the existing eCoupons attached to Reservation.", "properties": { "reservationId": { "description": "The reservation id for which the eCoupons have to be modified.", "$ref": "#/definitions/reservationId" }, "hotelId": { "description": "Hotel Code of the Reservation.", "$ref": "#/definitions/codeType" }, "eCoupons": { "description": "Collection of eCoupons which have to be modified.", "$ref": "#/definitions/eCouponsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationLocators": { "type": "object", "description": "Response object response to retrieve Guest Messages for a Reservation.", "properties": { "reservationLocators": { "description": "Collection of hotel notes to be created.", "$ref": "#/definitions/reservationLocatorsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationLocatorsDetailsInfo": { "type": "object", "description": "Request object for creating new Notes for the hotels", "properties": { "reservationIdList": { "description": "Collection of unique identifiers of the reservations of which the Guest Messages will be created.", "$ref": "#/definitions/reservationIdList" }, "hotelId": { "description": "Property Code of the reservation.", "$ref": "#/definitions/codeType" }, "reservationLocators": { "description": "Collection of hotel notes to be created.", "$ref": "#/definitions/reservationLocatorsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationLocatorsDetails": { "type": "object", "description": "Response object for creating new Notes for the hotel.", "properties": { "reservationLocators": { "description": "Collection of hotel notes to be created.", "$ref": "#/definitions/reservationLocatorsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationLocatorsInfo": { "type": "object", "description": "Request object for changing hotel Notes for hotels.", "properties": { "reservationId": { "description": "Reservation Id for which the Guest Messages will be retrieved from.", "$ref": "#/definitions/reservationId" }, "hotelId": { "description": "Property Code of the reservation.", "$ref": "#/definitions/codeType" }, "reservationLocators": { "description": "Collection of Hotel Notes to be modified.", "$ref": "#/definitions/reservationLocatorsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationLocatorsStatus": { "type": "object", "description": "Response Body.", "properties": { "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "createGuestMessages": { "type": "object", "description": "Request object for creating the Guest Messages for a Reservation.", "properties": { "reservationIdList": { "description": "Collection of unique identifiers of the reservations of which the Guest Messages will be created.", "$ref": "#/definitions/reservationIdList" }, "hotelId": { "description": "Property where the reservation belongs to.", "$ref": "#/definitions/codeType" }, "guestMessages": { "description": "List of Guest Messages to be created. Refer to Generic common types document.", "$ref": "#/definitions/guestMessagesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "guestMessagesDetails": { "type": "object", "description": "Response object to the request to create Guest Messages for a Reservation.", "properties": { "guestMessages": { "description": "List of Guest Messages updated. Refer to Generic common types document.", "$ref": "#/definitions/resvGuestMessagesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "changeResvGuestMessages": { "type": "object", "description": "Request object for updating the Guest Messages for a Reservation Workspace.", "properties": { "hotelId": { "description": "Property where the reservation belongs to.", "$ref": "#/definitions/codeType" }, "guestMessages": { "description": "List of Guest Messages in for the requested Reservation. Refer to Generic common types document.", "$ref": "#/definitions/resvGuestMessagesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "changeGuestMessages": { "type": "object", "description": "Request object for updating the Guest Messages for a Reservation.", "properties": { "reservationId": { "description": "Reservation Id for which the Guest Messages will be retrieved from.", "$ref": "#/definitions/reservationId" }, "hotelId": { "description": "Property where the reservation belongs to.", "$ref": "#/definitions/codeType" }, "guestMessages": { "description": "List of Guest Messages to be updated. Refer to Generic common types document.", "$ref": "#/definitions/guestMessagesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "inventoryItems": { "type": "object", "description": "Return object to the request for information regarding inventory Items reserved for a reservation.", "properties": { "inventoryItems": { "description": "Collection of inventory items attached to a reservation.", "$ref": "#/definitions/resInventoryItemsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reserveInventoryItems": { "type": "object", "description": "Request object to reserve inventory Items for a reservation.", "properties": { "hotelId": { "description": "Property Code of the reservation.", "$ref": "#/definitions/codeType" }, "reservationId": { "description": "The reservation id for which the package has to be changed.", "$ref": "#/definitions/reservationId" }, "itemHoldIdList": { "description": "List of Item Hold IDs to reserve the inventory items", "$ref": "#/definitions/itemHoldIDListType" }, "inventoryItems": { "description": "Collection of inventory items to be reserved for the reservation.", "$ref": "#/definitions/resInventoryItemsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "itemHoldIDListType": { "type": "array", "description": "ID of an Hold Item", "maxItems": 4000, "items": { "type": "number" } }, "reservedInventoryItemsInfo": { "type": "object", "description": "Request object to change the reserved inventory Items for a reservation.", "properties": { "hotelId": { "description": "Property Code of the reservation.", "$ref": "#/definitions/codeType" }, "reservationId": { "description": "The reservation id for which the package has to be changed.", "$ref": "#/definitions/reservationId" }, "inventoryItems": { "description": "Collection of reserved inventory items to be changed.", "$ref": "#/definitions/resInventoryItemsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "linkedHotelReservations": { "type": "object", "description": "Return object for retrieving linked reservations.", "properties": { "reservations": { "description": "Collection of linked reservations fetched.", "$ref": "#/definitions/linkedHotelReservationsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "linkedHotelReservationsType": { "type": "object", "description": "A collection of Linked Reservation objects and Unique IDs of Reservation.", "properties": { "linkedReservation": { "description": "A collection of Linked Reservations.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/linkedHotelReservationType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "linkedHotelReservationType": { "type": "object", "description": "The Reservation class contains the current reservation being created or altered.", "properties": { "reservationIdList": { "description": "Used to provide PMS and/or CRS identifiers.", "$ref": "#/definitions/reservationIdList" }, "externalReferences": { "description": "External Reference information for Reservation.", "$ref": "#/definitions/externalReferencesType" }, "associatedReservations": { "description": "Information regarding associated reservations.", "$ref": "#/definitions/associatedResType" }, "sourceOfSale": { "description": "Point of Sale of reservation. Identifies the entity/channel who made the reservation.", "$ref": "#/definitions/sourceOfSaleType" }, "roomStay": { "description": "Room stays information.", "$ref": "#/definitions/roomStayType" }, "compAuthorizer": { "description": "Reservation Comp Authorizer.", "$ref": "#/definitions/compAuthorizerInfoType" }, "reservationGuests": { "description": "Collection of guests associated with the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/resGuestType" } }, "sharedGuests": { "description": "Collection of guests who share this reservation.", "$ref": "#/definitions/resSharedGuestListType" }, "additionalGuestInfo": { "description": "Entry Date into the country. (Croatian Requirements).", "$ref": "#/definitions/resGuestAdditionalInfoType" }, "reservationProfiles": { "description": "Collection of guests associated with the reservation.", "type": "object", "properties": { "reservationProfile": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationProfileType" } }, "commissionPayoutTo": { "description": "If not null, reservation is considered to pay out commission to either Travel Agent, Source or both.", "$ref": "#/definitions/commissionPayoutToType" } } }, "reservationCommunication": { "description": "Collection of reservation communication details.", "$ref": "#/definitions/resCommunicationType" }, "reservationAwards": { "description": "Collection of Awards,Certificates for the guest profile.", "$ref": "#/definitions/awardsType" }, "trackItItems": { "description": "Collection of TrackIt Items available for that reservation", "$ref": "#/definitions/trackItItemsType" }, "shares": { "description": "Collection of share reservation available for that reservation", "$ref": "#/definitions/hotelReservationsType" }, "locators": { "description": "Collection of Locators available for that reservation", "$ref": "#/definitions/reservationLocatorsType" }, "attachments": { "description": "Collection of attachments available for that reservation", "$ref": "#/definitions/attachmentsType" }, "webRegistrationCards": { "description": "Collection of Web Registration Cards available for that reservation", "$ref": "#/definitions/attachmentsType" }, "serviceRequests": { "description": "Collection of Service Requests available for that reservation", "$ref": "#/definitions/serviceRequests" }, "reservationActivities": { "description": "Collection of Reservation Activities available for that reservation", "$ref": "#/definitions/activityLookUpList" }, "scheduledActivities": { "description": "Collection of Scheduled Activities available for that reservation", "$ref": "#/definitions/activityLookUpList" }, "prepaidCards": { "description": "Collection of Prepaid Cards available for that reservation", "$ref": "#/definitions/prepaidCardsType" }, "profileAwards": { "description": "Collection of profile awards available for that reservation", "$ref": "#/definitions/awardsType" }, "reservationPackages": { "description": "A Service object represents a non-room product provided to guests. Service products may have associated inventory and charges.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationPackageType" } }, "inventoryItems": { "description": "A collection of inventory items attached to a reservation.", "$ref": "#/definitions/resInventoryItemsType" }, "comments": { "description": "List of Notes for the Guest related to the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "guestComments": { "description": "List of Notes for the Guest related to the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "guestMemberships": { "description": "List of Memberships for the Guest related to the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/membershipType" } }, "preferenceCollection": { "description": "Collection of reservation preferences.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/preferenceTypeType" } }, "reservationMemberships": { "description": "List of reservation memberships.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationMembershipType" } }, "reservationPaymentMethods": { "description": "A collection of Payment Method objects.", "$ref": "#/definitions/reservationPaymentMethodsType" }, "routingInstructions": { "description": "Set of Routing Instructions.", "$ref": "#/definitions/routingInfoListType" }, "reservationPolicies": { "description": "A collection of Cancellation Penalties objects.", "$ref": "#/definitions/reservationPoliciesType" }, "cashiering": { "description": "Holds cashiering related information for the reservation.", "$ref": "#/definitions/resCashieringType" }, "housekeeping": { "description": "Holds rooms housekeeping information.", "$ref": "#/definitions/resHousekeepingType" }, "linkedReservation": { "description": "Reservations related to the current Reservation.", "$ref": "#/definitions/linkedReservationsInfoType" }, "extSystemSync": { "type": "boolean" }, "userDefinedFields": { "description": "Collections of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" }, "reservationIndicators": { "description": "Indicators of additional information attached to the reservation", "$ref": "#/definitions/indicatorsType" }, "waitlist": { "description": "Information regarding why reservation has been/was waitlisted. This could hold information as history even if reservation is no more in Waitlist status.", "$ref": "#/definitions/waitlistResType" }, "cancellation": { "description": "Information regarding why reservation has been/was cancelled. This could hold information as history even if reservation is no more in in Cancelled status.", "type": "object", "properties": { "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "code": { "type": "string", "minLength": 0, "maxLength": 20 }, "cancellationNo": { "description": "Cancellation Number given when reservation was last cancelled.", "$ref": "#/definitions/uniqueID_Type" }, "date": { "description": "Date when reservation was last cancelled.", "type": "string", "format": "date" } } }, "catering": { "description": "Catering event information if reservation is associated with the catering event.", "$ref": "#/definitions/cateringResInfoType" }, "statisticalClassification": { "description": "Catering event information if reservation is associated with the catering event.", "$ref": "#/definitions/resStatClassificationType" }, "alerts": { "description": "List of reservation alerts.", "$ref": "#/definitions/alertsType" }, "traces": { "description": "List of reservation Traces.", "$ref": "#/definitions/hotelReservationTracesType" }, "confirmationLetters": { "description": "List of reservation confirmation letters.", "$ref": "#/definitions/confirmationsType" }, "callHistory": { "description": "List of reservation calls.", "$ref": "#/definitions/callHistoryType" }, "fixedCharges": { "description": "List of reservation fixed charges.", "$ref": "#/definitions/fixedChargesType" }, "guestMessages": { "description": "List of Messages.", "$ref": "#/definitions/guestMessagesType" }, "lockHandle": { "description": "An id representing the record lock for this reservation. When passed, update operation will verify that this lock is still valid.", "type": "number" }, "overrideInstructions": { "description": "List of overrides done for the reservation.", "$ref": "#/definitions/overrideInstructionsType" }, "queue": { "description": "Information about the time and duration this reservation was on Queue for Checkin.", "$ref": "#/definitions/reservationQueueInformationType" }, "allowedActions": { "description": "Collection of allowed actions for the reservation.", "$ref": "#/definitions/reservationAllowedActionsType" }, "eCoupons": { "description": "List of eCoupons.", "$ref": "#/definitions/eCouponsType" }, "transactionDiversions": { "description": "List of transaction diversions attached to the reservation.", "type": "object", "properties": { "transactionDiversions": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationTransactionDiversionsType" } }, "actionType": { "type": "string", "maxLength": 2000 } } }, "advanceCheckIn": { "description": "Information relating to Reservation's Advance Checked In state and Expected Time of Return", "$ref": "#/definitions/advanceCheckInType" }, "tickets": { "description": "List of Reservation Tickets.", "$ref": "#/definitions/ticketsType" }, "accessRestrictionMessage": { "description": "Configurable Access Restriction Message for Excluded Block or Rate Code.", "type": "string", "minLength": 0, "maxLength": 4000 }, "eCertificates": { "description": "List of ECertificates attached to the reservation.", "$ref": "#/definitions/reservationECertificatesType" }, "customNameValueDetail": { "description": "List of Custom Name Value Information attached to the reservation.", "$ref": "#/definitions/nameValueDetailType" }, "customChargeExemptionDetails": { "description": "List of Custom Charge Exemptions attached to the reservation.", "$ref": "#/definitions/customChargeExemptionsType" }, "folios": { "description": "This element returns any automatically generated folios during check-in, based on the Fetch Instruction \"AutoFolios\". When the parameter \"Auto Generate Credit Bill for Deposit upon Check In\" is enabled, during check-in credit bills are automatically generated for the deposits. The generated credit bill details are returned so that user can preview/print the folio. For some countries like Portugal, it is mandatory to print the folio and hence this information is needed", "$ref": "#/definitions/foliosShortInfoType" }, "autoBorrowFromHouse": { "description": "This flag will force to borrow from house if borrow required for number of rooms requested, this will only applicable when reservation is attached to a Block.", "type": "boolean" }, "overrideExternalChecks": { "description": "Forcefully override the create/update action on the Reservation. For real-time CRS interfaces, this element is used as force selling indicator in case of Create or Update Reservation", "type": "boolean" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "roomStayReservation": { "description": "Boolean True if this reservation is reserving rooms. False if it is only reserving services.", "type": "boolean" }, "reservationStatus": { "description": "Indicates the Actual status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "computedReservationStatus": { "description": "Indicates the Computed status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "walkIn": { "description": "When true, indicates the reservation is for a guest that walks-in without a reservation. When false, the reservation is not a walk-in.", "type": "boolean" }, "printRate": { "description": "Indicates whether to show the rate or not on a printed document which includes the rate.", "type": "boolean" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" }, "createBusinessDate": { "description": "Business Date when the reservation was created.", "type": "string", "format": "date" }, "reinstateDate": { "description": "Business Date when the reservation was last reinstated.", "type": "string", "format": "date" }, "party": { "description": "Party/PartyCode when reservation is part of a party(a small group).", "type": "string", "minLength": 0, "maxLength": 50 }, "primaryEnrollmentResort": { "description": "Name Of the Resort/Hotel for the primary enrollment", "type": "string", "minLength": 0, "maxLength": 80 }, "primaryEnrollmentChain": { "description": "Name of the Chain for the primary enrollment", "type": "string", "minLength": 0, "maxLength": 80 }, "customReference": { "description": "Custom Reference to identify reservation.", "type": "string", "minLength": 0, "maxLength": 50 }, "displayColor": { "description": "The color to display this reservation on room grid displays.", "type": "string", "minLength": 0, "maxLength": 20 }, "markAsRecentlyAccessed": { "description": "Mark this reservation as recently accessed.", "type": "boolean" }, "overrideInventoryCheck": { "description": "Indicates to Override the Room Inventory Check if applicable.", "type": "boolean" }, "accessRestriction": { "description": "Indicates user restriction on the reservation based on the Access exclusion functionality such as Restriction on Changes, Cancellation or both.", "$ref": "#/definitions/resAccessRestrictionType" }, "preRegistered": { "description": "Is the reservation pre-registered.", "type": "boolean" }, "upgradeEligible": { "description": "Indicates whether the reservation is eligible for upgrade.", "type": "boolean" }, "overrideBlockRestriction": { "type": "boolean" }, "allowAutoCheckin": { "description": "Flag to allow auto checkin", "type": "boolean" }, "hasOpenFolio": { "type": "boolean" }, "allowMobileCheckout": { "description": "Flag containing true or false value for reservation to be eligible for self-checkout by guest using mobile device . Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is eligible for mobile checkout yes / no. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, "allowMobileViewFolio": { "description": "Attribute AllowMobileViewFolio is set to true when the reservation is eligible for viewing folio using mobile device.", "type": "boolean" }, "allowPreRegistration": { "description": "Flag containing true or false value for reservation to be eligible for prior check in by guest using mobile device . Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is eligible for mobile check in yes / no. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, "optedForCommunication": { "description": "Flag containing true or false value to determine if the guest has opted for communications pertaining to this reservation.Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is marked for communication. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, "chargeCardNumber": { "description": "This attribute represents Hotel charge card number. This number is generated automatically in OPERA when a reservation is created in OPERA. It is part of a functionality that provide the guest with the convenience of placing all their charges directly on their reservation folio.", "type": "string", "minLength": 0, "maxLength": 100 }, "overrideOutOfServiceCheck": { "description": "Indicates to Override the Room Out Of Service Check if applicable.", "type": "boolean" }, "linkReservationType": { "description": "Linked reservation type.", "$ref": "#/definitions/linkedReservationType" } } }, "linkedReservationsInfo": { "type": "object", "properties": { "linkedReservationList": { "description": "Set of reservations linked to the requested Reservation.", "$ref": "#/definitions/linkedReservationsInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationLock": { "type": "object", "description": "Operation for requesting a lock on a reservation.", "properties": { "reservationId": { "description": "The id of the reservation we are requesting a lock for.", "$ref": "#/definitions/reservationId" }, "hotelId": { "description": "Property code of the reservation.", "$ref": "#/definitions/codeType" }, "overrideIfLockedByRequestingUser": { "description": "If true, the operation will try to break the existing lock if the requesting user is the same as the owner of the lock.", "type": "boolean" }, "lockHandle": { "description": "An identifier representing the record lock for the reservation under process.When passed,then it will verify that if the lock is still valid and return same lock handle.Else it will create new lock.", "type": "number" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationLockDetails": { "type": "object", "description": "This response will indicate whether the requested lock has been granted or some other user owns the lock.", "properties": { "acquiredReservationLock": { "description": "This contains the lock information for the reservation.", "$ref": "#/definitions/operaRecordLock" }, "existingReservationLock": { "description": "This will contain information about the reservation lock that is currently held by another user. Lock handle will be null.", "$ref": "#/definitions/operaRecordLock" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "masterAccount": { "type": "object", "description": "Request for CreateMasterAccount operation.", "properties": { "masterAccount": { "description": "Details of the posting master reservation to be created.", "$ref": "#/definitions/masterAccountType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "masterAccountType": { "type": "object", "description": "Details of the posting master reservation.", "properties": { "reservationIdList": { "description": "Indicates OPERA and/or external identifiers.", "$ref": "#/definitions/reservationIdList" }, "timeSpan": { "description": "Dates indicating the duration of the account.", "$ref": "#/definitions/timeSpanType" }, "reservationBlock": { "description": "Information of the block associated with the reservation.", "type": "object", "properties": { "blockIdList": { "description": "Unique ID of the business block to which this reservation will be associated.", "$ref": "#/definitions/blockIdList" }, "transactionCode": { "description": "Transaction code of the block.", "$ref": "#/definitions/codeListType" } } }, "roomRate": { "description": "Posting master reservation room and rate information.", "type": "object", "properties": { "marketCode": { "description": "Market Code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceCode": { "description": "Source Code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomType": { "description": "Room Type of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "description": "The Rate Code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "reservationGuest": { "description": "Guest associated with the reservation.", "$ref": "#/definitions/resGuestType" }, "reservationProfiles": { "description": "Collection of non-guest profiles associated with the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationProfileType" } }, "comments": { "description": "List of Notes for the Guest related to the reservation.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "reservationPaymentMethods": { "description": "A collection of Payment Method objects.", "$ref": "#/definitions/reservationPaymentMethodsType" }, "cashiering": { "description": "Holds cashiering related information for the reservation.", "$ref": "#/definitions/resCashieringType" }, "userDefinedFields": { "description": "Collections of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "reservationStatus": { "description": "Indicates the Actual status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "customReference": { "description": "Custom Reference to identify reservation.", "type": "string", "minLength": 0, "maxLength": 50 } } }, "masterAccountSummary": { "type": "object", "description": "Response for ChangeMasterAccount operation.", "properties": { "masterAccount": { "description": "Summary information of the changed posting master reservation that can be used to identify it uniquely.", "$ref": "#/definitions/masterAccountSummaryType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "masterAccountSummaryType": { "type": "object", "description": "Minimal information of the posting master reservation that can be used to identify the reservation uniquely.", "properties": { "reservationIdList": { "description": "Indicates PMS and/or CRS identifiers of active and cancelled reservations.", "$ref": "#/definitions/reservationIdList" }, "createDateTime": { "description": "Time stamp of the creation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" }, "createBusinessDate": { "description": "Business Date when the reservation was created.", "type": "string", "format": "date" } } }, "reservationsToMerge": { "type": "object", "description": "Request method to Merge reservations.", "properties": { "hotelId": { "description": "Property code of the reservation.", "$ref": "#/definitions/codeType" }, "fromReservationID": { "description": "Unique identifier of the reservation to be merged with.", "$ref": "#/definitions/uniqueID_Type" }, "toReservationIDList": { "description": "Collection of unique reservation identifiers", "$ref": "#/definitions/uniqueIDListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "mergeReservationsStatus": { "type": "object", "description": "Response Body.", "properties": { "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "moveReservationHotel": { "type": "object", "description": "Request for moving a reservation and its valid sharers to a different hotel.", "properties": { "criteria": { "description": "Criteria for moving the reservation.", "$ref": "#/definitions/moveReservationHotelCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "moveReservationHotelCriteriaType": { "type": "object", "properties": { "sourceHotelCode": { "description": "Hotel code for the current reservation being moved.", "type": "string", "minLength": 0, "maxLength": 20 }, "destinationHotelCode": { "description": "Hotel code for the hotel which the reservation will be moved.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "Main identifier of the reservation being moved based on the SourceHotel.", "$ref": "#/definitions/reservationId" }, "configuredReservation": { "description": "This reservation object will be the configured/reconfigured reservation which will be generated on the DestinationHotel.", "$ref": "#/definitions/hotelReservationInstructionType" }, "includedSharers": { "description": "Valid share reservation identifier. This ID will be verified against the SourceHotel.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationIdList" } }, "moveReasonCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "retainRateCodeAndAmount": { "description": "If true, it indicates that rate codes and amounts for different days of the source reservation will be moved to target reservation. When false or null that means available rate codes from target property is used and will be part of REST request already.", "type": "boolean" } } }, "moveReservationHotelDetails": { "type": "object", "description": "This API will potentially remove the following information to a moved reservation: - Routing Instructions - All routing information will have to be configured in the new hotel. - Packages - All packages will need to be re-configured, if it exist, in the new hotel. - Imperfect Share - An imperfect share was requested to be moved and has been ignored.", "properties": { "reservation": { "description": "Reservation response will be returned in the case of a successful move - ConfirmationOnly flag in the criteria will be ignored.", "$ref": "#/definitions/hotelReservationType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "packages": { "type": "object", "description": "Response to fetch package availability with the data, success and warnings or errors.", "properties": { "reservationPackages": { "description": "A collection of Service objects. This is the collection of all services associated with any part of this reservation (the reservation in its entirety, one or more guests, or one or more room stays). Which services are attributable to which part is determined by each object's ServiceRPHs collection.", "type": "object", "properties": { "reservationPackage": { "description": "A Service object represents a package provided to guests. Service packages may have associated inventory and charges.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationPackageType" } }, "inventoryItems": { "description": "A collection of items that are available and successfully held.", "$ref": "#/definitions/resInventoryItemsType" } } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationPackagesInfo": { "type": "object", "description": "Request method to attach a package to an existing reservation.", "properties": { "hotelId": { "description": "Property Code of the reservation.", "$ref": "#/definitions/codeType" }, "reservationId": { "description": "The reservation id for which the package has to be changed.", "$ref": "#/definitions/reservationId" }, "reservationPackages": { "description": "A Service object represents a package provided to guests. Service packages may have associated inventory and charges.", "type": "array", "items": { "$ref": "#/definitions/reservationPackageType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationPaymentMethods": { "type": "object", "description": "Method to create a reservation's payment methods.", "properties": { "hotelId": { "description": "Property code of the reservation.", "$ref": "#/definitions/codeType" }, "reservationId": { "description": "Reservation Id for which the payment method is to be applied.", "$ref": "#/definitions/reservationId" }, "reservationPaymentMethods": { "description": "List of payment methods which are to be attached to the reservation.", "$ref": "#/definitions/reservationPaymentMethodsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationPolicies": { "type": "object", "description": "Response that contains deposit and cancellation policies attached with the reservation.", "properties": { "cancellationPolicies": { "description": "Cancellation policies associated with a reservation.", "$ref": "#/definitions/resCancellationPoliciesType" }, "depositPolicies": { "description": "Deposit policies associated with a reservation.", "$ref": "#/definitions/resDepositPoliciesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "preCheckInReservation": { "type": "object", "description": "Request to pre-register a reservation eligible for pre-registration and change arrival details.", "properties": { "reservation": { "description": "The reservation desired to change with its relevant pre-registration details.", "$ref": "#/definitions/reservationPreCheckInDetailsType" }, "allowMobileViewFolio": { "description": "Attribute AllowMobileViewFolio is set to true when the reservation is eligible for viewing folio using mobile device.", "type": "boolean" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationPreCheckInDetailsType": { "type": "object", "description": "Type describing the different details regarding a pre-registered reservation including ID.", "properties": { "hotelId": { "description": "Hotel Code of this reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "The id of this reservation.", "$ref": "#/definitions/reservationId" }, "preCheckInDetails": { "description": "The time at which the guest arrives at the hotel.", "$ref": "#/definitions/preCheckInDetailsType" } } }, "preCheckInDetailsType": { "type": "object", "description": "Type describing the different details regarding a pre-registered reservation.", "properties": { "arrival": { "description": "The time at which the guest arrives at the hotel.", "$ref": "#/definitions/reservationArrivalInfoType" }, "roomId": { "description": "Room Number to be assigned to the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "guestPreferredCurrency": { "description": "Currency code preferred by guest.", "type": "string", "minLength": 0, "maxLength": 20 }, "allowMobileViewFolio": { "description": "Attribute AllowMobileViewFolio is set to true when the reservation is eligible for viewing folio using mobile device.", "type": "boolean" }, "reservationPaymentMethods": { "description": "The payment methods of the reservation.", "$ref": "#/definitions/reservationPaymentMethodsType" }, "arrivalTransport": { "description": "The arrival transportation details of the reservation.", "$ref": "#/definitions/transportInfoType" } } }, "reservationArrivalInfoType": { "type": "object", "description": "Type describing information regarding the arrival of a reservation.", "properties": { "arrivalTime": { "description": "The time at which the guest arrives at the hotel. Uses the hotel's time zone.", "type": "string", "format": "date-time" } } }, "reservationPreference": { "type": "object", "description": "Response for the reservation's preferences.", "properties": { "reservationPreferences": { "description": "For reservation preferences, you will want to send ReservationPreferenceType as the preferenceType object to acknowledge any reservation related process with the request.", "type": "array", "items": { "$ref": "#/definitions/preferenceTypeType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationPreferenceInfo": { "type": "object", "description": "Method to change a reservation preference on an existing reservation.", "properties": { "hotelId": { "description": "Property Code of the reservation.", "$ref": "#/definitions/codeType" }, "reservationId": { "description": "Reservation Id of the reservation for which the preference has to be changed.", "$ref": "#/definitions/reservationId" }, "reservationPreferences": { "description": "Preference information for the reservation.", "type": "array", "items": { "$ref": "#/definitions/preferenceTypeType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationPreferenceDetails": { "type": "object", "description": "Response Body.", "properties": { "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reverseDepositPolicy": { "type": "object", "description": "Request type to reverse deposit policy of a reservation.(This is applicable only when advance deposit handling is set to '17') ReverseDepositPolicy operation will reverse the policy by creating a new request with same opposite amount.", "properties": { "policy": { "description": "Policy information used to reverse deposit policy of the reservation.", "$ref": "#/definitions/reservationReversePolicyCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationReversePolicyCriteriaType": { "type": "object", "description": "Reverse policy information of a reservation.", "properties": { "hotelId": { "description": "Property where the reservation exists.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "Unique Id of the reservation.", "$ref": "#/definitions/reservationId" }, "policyId": { "description": "Unique ID of the Reservation Policy.", "$ref": "#/definitions/uniqueID_Type" } } }, "routingInstructions": { "type": "object", "description": "Response object containing routing instructions for a reservation.", "properties": { "routingInstructions": { "description": "Set of Routing Instructions.", "$ref": "#/definitions/routingInfoListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "changeShareRateAmount": { "type": "object", "description": "Request to change the share amount for a sharer reservation. The amount change type can be Full, Entire or Split", "properties": { "criteria": { "description": "Criteria for the Change Share Amount request.", "$ref": "#/definitions/changeShareRateAmountType" }, "externalDailyRates": { "type": "array", "description": "Collection of room rate information provided by an external application on a daily basis to be applied to share reservation based on the share rate distribution method. To be used when OPERA Control parameter 'External Availability, Rates and Inventory' is active.", "maxItems": 4000, "items": { "$ref": "#/definitions/externalDailyRateType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "changeShareRateAmountType": { "type": "object", "description": "Type for changing the Rate Amount of a Sharer.", "properties": { "hotelId": { "description": "Opera Hotel/Resort code for the Change Share Amount request.", "type": "string", "minLength": 0, "maxLength": 20 }, "shareDistributionCriteria": { "description": "Type Of Rate Change for the Sharer Reservation. Valid Types are Full, Entire and Zero.", "$ref": "#/definitions/shareDistributionCriteria" }, "changeShareRateInstructions": { "description": "Instruction to apply new effective rates to the reservations.", "type": "object", "properties": { "effectiveRates": { "description": "Instruction to apply new effective rates to the reservations.", "$ref": "#/definitions/effectiveRatesType" }, "returnShareReservations": { "description": "After the change rate operation, return the new list of Sharer Reservaitions.", "type": "boolean" } } } } }, "shareDistributionCriteria": { "type": "object", "description": "Extended Reservation object to hold additional instructions along with the reservation. This should be used for updates on the reservation.", "properties": { "distributionType": { "description": "Type Of Rate Change for the Sharer Reservation. Valid Types are Full, Entire and Zero.", "$ref": "#/definitions/shareDistributionInstructionType" }, "shareReservations": { "description": "Collection of instructions to be returned as a set of reservation information.", "$ref": "#/definitions/shareReservationsType" } } }, "shareReservationsType": { "type": "array", "description": "", "maxItems": 4000, "items": { "$ref": "#/definitions/shareReservationType" } }, "shareReservationType": { "type": "object", "description": "", "properties": { "reservationId": { "description": "", "$ref": "#/definitions/reservationId" }, "dailyRates": { "description": "Collection of room rate information on a daily basis.", "$ref": "#/definitions/dailyRatesType" } } }, "changeSharingGuests": { "type": "object", "description": "Request to change Sharing Reservations Guest Counts(adults or children) information.", "properties": { "reservations": { "description": "A collection of Sharing Reservations with the Guest Counts(adults or children) information that needs to be changed.", "type": "array", "items": { "$ref": "#/definitions/sharingGuestType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "sharingGuestType": { "type": "object", "description": "The Reservation class contains the current reservation with the guest counts(adults or children).", "properties": { "reservationId": { "description": "The id of this reservation.", "$ref": "#/definitions/reservationId" }, "guestCounts": { "description": "Holds the guest counts(adults or children) associated with this Reservation.", "$ref": "#/definitions/guestCountsType" }, "hotelId": { "description": "Hotel Code of this reservation.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "overlappingStay": { "type": "object", "description": "Request to check for overlapping stays of reservations.", "properties": { "overlappingStayInfo": { "description": "Overlapping stay information pertaining to the reservations to be checked.", "$ref": "#/definitions/overlappingStayInfoListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "overlappingStayInfoListType": { "type": "array", "description": "Overlapping stay information of a reservation.", "maxItems": 4000, "items": { "$ref": "#/definitions/overlappingStayInfoType" } }, "overlappingStayInfoType": { "type": "object", "description": "Possible overlapping stay information of a reservation.", "properties": { "hotelId": { "description": "Hotel Code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "Unique identifier of the reservation.", "$ref": "#/definitions/reservationId" }, "profileId": { "description": "Unique identifier of the guest.", "$ref": "#/definitions/profileId" }, "excludedReservations": { "description": "List of unique reservation identifiers that should be excluded from the overlapping stay check.", "$ref": "#/definitions/uniqueIDListType" }, "start": { "description": "The starting value of the date range.", "type": "string", "format": "date" }, "end": { "description": "The ending value of the date range.", "type": "string", "format": "date" } } }, "overlappingStayDetails": { "type": "object", "description": "Response for checking overlapping stays of reservations.", "properties": { "overlappingStayMessages": { "description": "Collection of validation messages pertaining to overlapping stay.", "$ref": "#/definitions/validationsReturnType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "tickets": { "type": "object", "description": "Common tickets request base type.", "properties": { "tickets": { "description": "Collection of inquired tickets.", "$ref": "#/definitions/ticketsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "ticketsInfo": { "type": "object", "description": "Common tickets request base type.", "properties": { "hotelId": { "description": "Hotel Code of the Reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "The reservation id for which the tickets has to be created.", "$ref": "#/definitions/reservationId" }, "tickets": { "description": "Collection of tickets which have to be created.", "$ref": "#/definitions/ticketsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "traces": { "type": "object", "description": "Return object to the request for information regarding traces.", "properties": { "traces": { "description": "List of traces returned/fetched as per the criteria in the fetch request.", "$ref": "#/definitions/hotelReservationTracesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "transactionDiversions": { "type": "object", "description": "Response to fetch the transaction diversion rules attached to a reservation.", "properties": { "transactionDiversions": { "description": "A collection of transaction diversion rules.", "$ref": "#/definitions/reservationTransactionDiversionsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "transactionDiversionsInfo": { "type": "object", "description": "Request to modify transaction diversion rules attached to a reservation.", "properties": { "hotelId": { "description": "Property code of the reservation for which the transaction diversion rules are to be modified.", "$ref": "#/definitions/codeType" }, "reservationId": { "description": "Reservation Id for which the transaction diversion rules is to be modified.", "$ref": "#/definitions/reservationId" }, "transactionDiversions": { "description": "A collection of transaction diversion rules that are to be modified.", "$ref": "#/definitions/reservationTransactionDiversionsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "transactionDiversionsDetails": { "type": "object", "description": "Response Body.", "properties": { "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationsUpgradeEligibility": { "type": "object", "description": "Request object containing a list of reservation name ids, hotel code and eligibility flag.", "properties": { "upgradeEligibilityListType": { "description": "List of unique identifiers of the reservations to be checked.", "$ref": "#/definitions/upgradeEligibilityListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "upgradeEligibilityListType": { "type": "array", "description": "List of upgrade Eligibility Types.", "maxItems": 4000, "items": { "$ref": "#/definitions/upgradeEligibilityType" } }, "upgradeEligibilityType": { "type": "object", "description": "Reservation name ids, hotel code and eligibility flag.", "properties": { "reservationId": { "description": "Unique identifier of the reservation.", "$ref": "#/definitions/reservationId" }, "hotelId": { "description": "Property code.", "type": "string", "minLength": 0, "maxLength": 20 }, "upgradeElgibilityStatus": { "description": "Upgrade Eligibility status, it can be either Eligible, Not Eligible and unknown.", "$ref": "#/definitions/upgradeElgibilityStatusType" } } }, "upgradeElgibilityStatusType": { "type": "string", "description": "Simple type for upgrade eligibility status.", "enum": [ "Eligible", "NotEligible", "Unknown" ] }, "reservationsUpgradeEligibilityDetails": { "type": "object", "description": "Response Body.", "properties": { "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "upsellReservation": { "type": "object", "description": "Request to upsell a reservation.", "properties": { "hotelId": { "description": "Property Code of the reservation.", "$ref": "#/definitions/codeType" }, "reservationId": { "description": "Unique identifier of the reservation to be upsold.", "$ref": "#/definitions/reservationId" }, "upsell": { "description": "Upsell information to be applied to the reservation.", "$ref": "#/definitions/upsellType" }, "override": { "description": "Indicates whether to override validation or not.", "type": "boolean" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "upsellType": { "type": "object", "description": "Holds upsell information", "properties": { "ruleId": { "description": "Rule unique identifier", "$ref": "#/definitions/uniqueID_Type" }, "ruleCode": { "description": "Upsell rule code", "type": "string", "minLength": 0, "maxLength": 20 }, "ruleDescription": { "description": "Upsell rule description", "type": "string", "minLength": 0, "maxLength": 2000 }, "percentageSavings": { "description": "Percentage savings resulting from accepting upsell offer. This will be calculated as the ratio of the amount saved by accepting the upsell offer to the actual room rate (i.e. room rate when upsell is not offered)", "type": "number", "minimum": 0, "maximum": 100 }, "upsellType": { "description": "Rate code redemption type.", "type": "string", "minLength": 0, "maxLength": 1 }, "ratePlanCode": { "description": "Rate code", "type": "string", "minLength": 0, "maxLength": 20 }, "roomType": { "description": "Detailed information regarding room type to upsell to", "$ref": "#/definitions/roomTypeInfoType" }, "firstNightAmount": { "description": "First night upsell amount / number of points required", "$ref": "#/definitions/amountPointsType" }, "totalStayAmount": { "description": "Total stay upsell amount / number of points required", "$ref": "#/definitions/amountPointsType" }, "rates": { "description": "List of reservation date and its corresponding upsell rate amount", "$ref": "#/definitions/upsellDailyRatesType" } } }, "roomTypeInfoType": { "type": "object", "properties": { "longDescription": { "description": "Detail description of the Room Type.", "type": "string", "minLength": 0, "maxLength": 2000 }, "webName": { "description": "Name corresponding to a RoomType.", "type": "string", "minLength": 0, "maxLength": 80 }, "webPage": { "description": "URL providing more information about the Room Type.", "type": "string", "minLength": 0, "maxLength": 2000 }, "roomFeatures": { "description": "Collection of room features.", "$ref": "#/definitions/roomFeaturesType" }, "roomTypeAttributes": { "description": "Room type attributes.", "$ref": "#/definitions/roomTypeAttributesType" }, "bookingChannelMappings": { "description": "Booking Channels mapping for the Room Type.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/bookingChannelMappingType" } }, "bedTypeCodes": { "description": "Bed type code associated with room.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "bedType": { "description": "Information regarding the bed type associated with the room type.", "$ref": "#/definitions/bedTypeInfoType" }, "roomType": { "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "roomClass": { "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "suite": { "description": "Indicates room type is a suite.", "type": "boolean" }, "component": { "description": "Indicates room type is a Component Room.", "type": "boolean" }, "invBlockCode": { "description": "Block code.", "type": "string", "minLength": 0, "maxLength": 40 }, "roomViewCode": { "description": "Represents the room view code like City view, River view, Ocean view etc.", "type": "string", "minLength": 0, "maxLength": 40 }, "promotionCode": { "description": "Represents the promotional code.", "type": "string", "minLength": 0, "maxLength": 40 }, "roomQualifierCode": { "description": "Represents the room qualifier code like Deluxe,Economy,Suite etc.", "type": "string", "minLength": 0, "maxLength": 40 }, "roomQualifierMatchIndicator": { "description": "Represents the match indicator of room qualifier code returned in the response with the requested room qualifier code.", "type": "string", "minLength": 0, "maxLength": 20 }, "accessible": { "description": "Indicates whether room type is accessible or not.", "type": "boolean" } } }, "roomFeaturesType": { "type": "array", "description": "A recurring element that identifies the room features.", "maxItems": 4000, "items": { "$ref": "#/definitions/roomFeatureType" } }, "roomFeatureType": { "type": "object", "description": "Room Feature Information.", "properties": { "code": { "description": "A code representing a room feature.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "A code representing a room feature.", "type": "string", "minLength": 0, "maxLength": 2000 }, "orderSequence": { "description": "Display Order sequence.", "type": "number" }, "quantity": { "description": "Indicates quantity.", "type": "integer" } } }, "roomTypeAttributesType": { "type": "object", "description": "Attributes of property room type.", "properties": { "defaultOccupancy": { "description": "Default occupancy of property room type.", "type": "integer" }, "maximumOccupancy": { "description": "Max occupancy of property room type.", "type": "integer" }, "noOfPhysicalRooms": { "description": "Number of physical rooms of property room type.", "type": "integer" }, "minimumOccupancy": { "description": "Minimum occupancy of property room type.", "type": "integer" }, "maximumAdults": { "description": "Maximum adult occupancy of property room type.", "type": "integer" }, "maximumChildren": { "description": "Maximum children occupancy of property room type.", "type": "integer" } } }, "bookingChannelMappingType": { "type": "object", "properties": { "bookingChannelCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "code": { "type": "string", "minLength": 0, "maxLength": 20 }, "name": { "type": "string", "minLength": 0, "maxLength": 40 }, "description": { "type": "string", "minLength": 0, "maxLength": 2000 } } }, "bedTypeInfoType": { "type": "object", "description": "Information representing Bed type associated with a room type.", "properties": { "code": { "description": "Bed Type Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of Bed Type.", "$ref": "#/definitions/translationTextType2000" } } }, "translationTextType2000": { "type": "object", "description": "Contains Multiple translated texts and language codes.", "properties": { "defaultText": { "description": "Default text with Character length from 0 to 2000.", "type": "string", "minLength": 0, "maxLength": 2000 }, "translatedTexts": { "description": "List of translated text and language codes.", "$ref": "#/definitions/translationsTextType" } } }, "amountPointsType": { "type": "object", "description": "Holds monetary value expressed with a currency code / number of points", "properties": { "amount": { "description": "Monetary value expressed with a currency code", "$ref": "#/definitions/currencyAmountType" }, "points": { "description": "Number of points", "type": "integer" } } }, "upsellDailyRatesType": { "type": "array", "description": "Reservation date and its corresponding upsell rate amount", "maxItems": 4000, "items": { "$ref": "#/definitions/upsellDailyRateType" } }, "upsellDailyRateType": { "type": "object", "description": "Reservation date and its corresponding upsell rate amount", "properties": { "date": { "description": "Reservation date", "type": "string", "format": "date" }, "requiredAmount": { "description": "Amount / number of points required to upgrade", "$ref": "#/definitions/amountPointsType" } } }, "reservationUpsellInfo": { "type": "object", "description": "Response object to the that contains information for a reservation prior to upgrade.", "properties": { "upsellInfo": { "description": "Reservation Upsale information.", "$ref": "#/definitions/upsellInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "roomCalendar": { "type": "object", "properties": { "roomCalendar": { "description": "Room Calendar Information.", "$ref": "#/definitions/roomCalendarType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "roomCalendarType": { "type": "object", "description": "Room Calendar entry that holds Room and Reservation Information.", "properties": { "room": { "description": "Holds the Room Information.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/roomCalendarInfoType" } }, "hotelId": { "description": "The resort of the Room Calendar.", "type": "string", "minLength": 0, "maxLength": 20 }, "totalRooms": { "description": "Total Numebr of Rooms.", "type": "integer" }, "pageIndex": { "description": "Current Page the group of Rooms is included in.", "type": "integer" }, "recordsPerPage": { "description": "Number of records per page.", "type": "integer" } } }, "roomCalendarInfoType": { "type": "object", "description": "Holds hotel Room and Reservation Information.", "properties": { "roomInfo": { "description": "Holds the Schedule and Reservations.", "$ref": "#/definitions/roomInfo" }, "roomSchedule": { "description": "Holds the Schedule and Reservations.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/roomScheduleType" } }, "componentRoomReservationsForSuite": { "description": "If room is a component suite , holds information about component room reservations", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/componentBlockOutDates" } }, "roomId": { "description": "Room Number.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomOrder": { "description": "Order the Room is displayed based on the Room Display Room settings.", "type": "integer" }, "componentSuite": { "description": "Indicates if a room is a Component Suite or not.", "type": "boolean" }, "pseudo": { "description": "Indicates if a room is a Pseudo room or not.", "type": "boolean" }, "houseKeeping": { "description": "Indicates true/false. When this flag is set to true indicates room type of the room is flagged as housekeeping.", "type": "boolean" }, "roomOwnerStatus": { "description": "Flag used to indicate if a room is configured as an owner exclusive room or an owner room or a regular room. This value is returned when Room Rotation OPERA Control is active. ", "$ref": "#/definitions/roomOwnerStatusType" } } }, "roomInfo": { "type": "object", "description": "Room details", "properties": { "roomType": { "description": "Room Type of the Room.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomStatus": { "description": "Status of the room (Dirty/Clean/Inspected/Pickup).", "$ref": "#/definitions/housekeepingRoomStatusType" }, "roomCondition": { "description": "Room Condition information if the room has an associated Room Condition.", "type": "string", "minLength": 0, "maxLength": 20 }, "componentRoomNumber": { "description": "Component Room Number.", "type": "string", "minLength": 0, "maxLength": 4000 }, "componentSuiteRoomNumbers": { "description": "Component Suite Room Numbers.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "connectingRooms": { "description": "Room number.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } } } }, "roomScheduleType": { "type": "object", "description": "Holds TimeSpan and Reservation Information.", "properties": { "roomCalendarResList": { "description": "List of Reservations under this schedule.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/roomCalendarResType" } }, "roomScheduleDisplay": { "description": "Display configuration for this schedule.", "$ref": "#/definitions/roomCalendarDisplayType" }, "roomScheduleCategory": { "description": "Tells the type of Schedule Item this record is.", "$ref": "#/definitions/roomScheduleCategoryType" }, "description": { "description": "Description for the the Room Schedule.", "type": "string", "minLength": 0, "maxLength": 2000 }, "start": { "description": "The starting value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "end": { "description": "The ending value of the time span. Uses the hotel's time zone.", "type": "string", "format": "date-time" } } }, "roomCalendarResType": { "type": "object", "description": "Reservation Information for a Reservation Item in the Calendar.", "properties": { "reservationIdList": { "$ref": "#/definitions/reservationIdList" }, "dateTimeSpan": { "$ref": "#/definitions/dateTimeSpanType" }, "givenName": { "type": "string", "minLength": 0, "maxLength": 40 }, "surname": { "type": "string", "minLength": 0, "maxLength": 40 }, "title": { "type": "string", "minLength": 0, "maxLength": 20 }, "vipStatus": { "description": "VIP status of the guest.", "$ref": "#/definitions/vIPStatusType" }, "guarantee": { "$ref": "#/definitions/resGuaranteeType" }, "noOfRooms": { "type": "integer" }, "roomScheduleDisplay": { "description": "Display configuration for this reservation.", "$ref": "#/definitions/roomCalendarDisplayType" }, "roomNumberLocked": { "description": "Verify if the room number is locked for the reservation. When true the room number cannot be changed.", "type": "boolean" }, "advanceCheckIn": { "description": "Information relating to Reservation's Advance Checked In state and Expected Time of Return", "$ref": "#/definitions/advanceCheckInType" }, "roomMoveHistory": { "description": "Room Move History for the reservation.", "$ref": "#/definitions/roomMoveDetailsType" }, "scheduledRoomMove": { "description": "Information related to the room moves scheduled for a reservation .", "$ref": "#/definitions/scheduledRoomMoveDetailType" }, "reservationStatus": { "description": "Indicates the Actual status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "hasLinkedReservations": { "description": "Indicates whether the reservation has any linked reservation.", "$ref": "#/definitions/linkedReservationType" }, "backToBackReservation": { "description": "This attribute indicates if the linked reservation is marked as Back to Back or not.", "type": "boolean" }, "scheduledRoomMoveRoomPending": { "description": "This attribute indicates if there is a Scheduled Move Room pending.", "type": "boolean" }, "assignedByAI": { "description": "Indicates whether the room was assigned by AI Room Assignment.", "type": "boolean" }, "upgradedByAI": { "description": "Indicates whether the room assigned by AI Room Assignment was an upgrade.", "type": "boolean" }, "roomOwnershipType": { "description": "Provides the information of the assigned reservation room is an Owner, Referral or regular room.This value is returned when Room Rotation OPERA Control is active and room number is assigned to a reservation.", "$ref": "#/definitions/reservationRoomOwnershipType" }, "roomTypeToCharge": { "description": "The Room Type on which the rate is based on. The reservation may use a different room type but is charged based on a different room type. This value is returned when Advance Daily Detail OPERA Control is active.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "roomCalendarDisplayType": { "type": "object", "description": "Display Information for the Room Calendar.", "properties": { "displayLabel": { "type": "string", "minLength": 0, "maxLength": 40 }, "displayColor": { "type": "string", "minLength": 0, "maxLength": 10 } } }, "roomMoveDetailsType": { "type": "array", "description": "List of room move details", "maxItems": 4000, "items": { "$ref": "#/definitions/roomMoveDetailType" } }, "roomMoveDetailType": { "type": "object", "description": "Room move history information.", "properties": { "hotelId": { "description": "Identifies the hotel code under which room is moved.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "Unique identifier of the reservation.", "$ref": "#/definitions/reservationId" }, "date": { "description": "Business date on which room is moved. Uses database time zone.", "type": "string", "format": "date-time" }, "reasonCode": { "description": "Identifies the room move reason code.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of why room is moved.", "type": "string", "minLength": 0, "maxLength": 2000 }, "fromRoom": { "description": "Room from which guest is moved.", "type": "string", "minLength": 0, "maxLength": 20 }, "toRoom": { "description": "Room to which guest is moved.", "type": "string", "minLength": 0, "maxLength": 20 }, "movedBy": { "description": "The user who moved the guest.", "type": "string", "minLength": 0, "maxLength": 100 } } }, "roomScheduleCategoryType": { "type": "string", "description": "Enumeration of the different Room Schedule Types.", "enum": [ "Reservation", "Ooo", "Oos", "Default" ] }, "componentBlockOutDates": { "type": "object", "properties": { "reservationIdList": { "$ref": "#/definitions/reservationIdList" }, "dateTimeSpan": { "$ref": "#/definitions/dateTimeSpanType" } } }, "script": { "type": "object", "description": "Script for a Reservation based on its StayDetails as well as itinerary.", "properties": { "script": { "description": "The script for the reservation, which was requested.", "type": "string", "format": "byte" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "fetchSellMessageConfig": { "type": "object", "description": "This is the fetch response message type for fetch operation of sell messages.", "properties": { "sellMessageConfigs": { "description": "Sell Messages which are retrieved as per the criteria in the request message. Refer to the generic common types document for the SellMessagesType.", "type": "object", "properties": { "sellMessageConfigs": { "description": "Sell Messages which are retrieved as per the criteria in the request message. Refer to the generic common types document for the SellMessagesType.", "$ref": "#/definitions/sellMessageConfigsType" }, "totalPages": { "description": "Evaluated total page count based on the requested max fetch count.", "type": "integer" } } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "sellMessageConfigsType": { "type": "object", "description": "The SellMessageConfigsType is the list of sell messages, each comprising of all the sell message attributes and other details.", "properties": { "sellMessageConfig": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/sellMessageConfigType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "sellMessageConfigType": { "type": "object", "description": "Only one of the following can hold a value: HotelCode, CROCode or ChainCode", "properties": { "message": { "description": "Sell message text.", "type": "string", "minLength": 0, "maxLength": 2000 }, "blockId": { "description": "Unique OPERA Block ID which is used to find a Block from OPERA. This ID is a primary identification of a Block in OPERA.", "$ref": "#/definitions/blockId" }, "blockCode": { "description": "Block Code to which the sell message is defined.", "type": "string", "minLength": 0, "maxLength": 20 }, "timespan": { "description": "Begin and End date for the sell message.", "$ref": "#/definitions/timeSpanType" }, "hotelId": { "description": "Hotel Code for which the sell message is defined.", "type": "string", "minLength": 0, "maxLength": 20 }, "croCode": { "description": "CRO Code for which the sell message is defined.", "type": "string", "minLength": 0, "maxLength": 20 }, "chainCode": { "description": "Chain Code for which the sell message is defined.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomType": { "description": "Room type for which the sell message is defined.", "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "description": "Rate Plan Code for which the sell message is defined.", "type": "string", "minLength": 0, "maxLength": 20 }, "languageCode": { "description": "Language in which the sell message is defined.", "type": "string", "minLength": 0, "maxLength": 20 }, "stickyFlag": { "description": "Sticky flag is used to define if the sell message should display on the block screen by default.", "type": "boolean" }, "sellSequence": { "description": "This number indicates the display order of the sell message.", "type": "number" }, "usedInModule": { "description": "This represents the moduleType where we want to display this SellMessage.", "type": "array", "maxItems": 10, "items": { "$ref": "#/definitions/usedInModuleType" } }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" } } }, "usedInModuleType": { "type": "string", "description": "Simple type for indicating the module for which user wants to create the SellMessage. Valid module types are Look To Book Sales,Reservations,Blocks,Function Diary and Group Rooms Control.", "enum": [ "Blocks", "Reservations", "FunctionDiary", "LookToBookSales", "GroupRoomsControl" ] }, "sellMessageConfig": { "type": "object", "description": "This is the request message type for sell message update operation.", "properties": { "sellMessageConfigs": { "description": "A collection of Service objects. This is the collection of all services associated with any part of this reservation (the reservation in its entirety, one or more guests, or one or more room stays). Which services are attributable to which part is determined by each object's ServiceRPHs collection.", "$ref": "#/definitions/sellMessageConfigsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "registerTurnaway": { "type": "object", "description": "Request to register turn away reservation.", "properties": { "turnaway": { "description": "Detailed turn away information including guest info, turn away reason and comments. Refer to the Generic common types document for information on TurnawayType.", "$ref": "#/definitions/turnawayType" }, "croCode": { "description": "This is the Central Reservation office code.", "type": "string", "minLength": 0, "maxLength": 20 }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "turnawayType": { "type": "object", "description": "Holds information related to prospect reservation to be turned away.", "properties": { "details": { "description": "Holds detailed information of a prospect reservation to be turned away.", "$ref": "#/definitions/turnawayDetailsType" }, "profileIdList": { "description": "Holds unique guest name id of prospect reservation to be turned away.", "$ref": "#/definitions/profileIdList" }, "address": { "description": "Holds guest's address information.", "$ref": "#/definitions/addressType" }, "callId": { "description": "Holds unique call ID of prospect reservation to be turned away.", "$ref": "#/definitions/uniqueID_Type" }, "comments": { "description": "Holds comments for a prospect reservation to be turned away.", "type": "string", "minLength": 0, "maxLength": 200 }, "reasonCode": { "description": "Holds turn away code pertaining to reason of turning away prospect reservation.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "turnawayDetailsType": { "type": "object", "description": "Holds detailed information of a prospect reservation to be turned away.", "properties": { "hotelId": { "description": "Holds Opera Hotel/Resort code of turn away reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "timeSpan": { "description": "Holds Arrival and Departure Dates which covers the prospect reservation to be turned away.", "$ref": "#/definitions/timeSpanType" }, "numberOfRooms": { "description": "Holds the number of rooms.", "type": "integer" }, "marketCode": { "description": "Holds the code that relates to the market being sold to (e.g., the corporate market, packages).", "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "description": "Holds the Rate Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomType": { "description": "Holds the Room Type.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateAmount": { "description": "Holds the Rate Amount.", "$ref": "#/definitions/currencyAmountType" }, "guestCounts": { "description": "Holds the guest counts(adults or children) for the date of the stay.", "$ref": "#/definitions/guestCountsType" }, "yieldMarketCode": { "description": "Holds the Yield Market Code.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "futureReservationsOrBlocksDetails": { "type": "object", "description": "This is the Response Message to information regarding existence of future reservation or business blocks.", "properties": { "response": { "description": "response - whether there are future reservation or business blocks for the profile.", "type": "boolean" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "recentlyAccessedReservations": { "type": "object", "description": "Response with the fetched recently accessed reservations.", "properties": { "reservations": { "description": "List of recently accessed reservations.", "$ref": "#/definitions/recentlyAccessedReservationsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "recentlyAccessedReservationsType": { "type": "array", "description": "A single recently accessed reservation.", "maxItems": 10, "items": { "$ref": "#/definitions/recentlyAccessedReservationType" } }, "recentlyAccessedReservationType": { "type": "object", "description": "A recently used reservation record.", "properties": { "reservationIdList": { "description": "List of unique ids, consisting of the reservation name id and the confirmation number.", "$ref": "#/definitions/reservationIdList" }, "timeSpan": { "description": "The begin and end date of the reservation.", "$ref": "#/definitions/timeSpanType" }, "guestFirstName": { "description": "Guest First Name.", "$ref": "#/definitions/givenNameType" }, "guestLastName": { "description": "Guest Last Name.", "$ref": "#/definitions/surnameType" }, "hotelId": { "description": "The resort of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelName": { "description": "A text field used to communicate the proper name of the hotel.", "type": "string", "minLength": 0, "maxLength": 80 }, "reservationStatus": { "description": "Indicates the Actual status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "accessDate": { "description": "The date the record was accessed.", "type": "string", "format": "date" }, "insertDateTime": { "description": "Time stamp of the creation of reservation. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "updateDateTime": { "description": "Time stamp of the updation of reservation. Uses the hotel's time zone.", "type": "string", "format": "date-time" } } }, "checkReservationsDetails": { "type": "object", "description": "Response for checking allowed actions, existence of attached records, or indicators of a reservation.", "properties": { "checkReservations": { "description": "Collection of reservations and the status of its allowed actions, attached records, and indicators.", "$ref": "#/definitions/checkReservationsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "checkReservationsType": { "type": "array", "description": "Collection of reservations and the status of its allowed actions, attached records, and indicators.", "maxItems": 4000, "items": { "$ref": "#/definitions/checkReservationType" } }, "checkReservationType": { "type": "object", "description": "Reservation and the status of its allowed actions, attached records, and indicators.", "properties": { "hotelId": { "description": "Property code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "Unique identifier of the reservation.", "$ref": "#/definitions/reservationId" }, "results": { "description": "Collection of status of allowed actions, attached records, and indicators of the reservation.", "$ref": "#/definitions/checkResultsType" } } }, "checkResultsType": { "type": "array", "description": "Collection of status of allowed actions, attached records, and indicators of the reservation.", "maxItems": 4000, "items": { "$ref": "#/definitions/checkResultType" } }, "checkResultType": { "type": "object", "description": "Status of allowed actions, attached records, and indicators of the reservation.", "properties": { "checkInstruction": { "description": "Indicates status of allowed actions, total number of attached records, or number of occurrences of indicator of a reservation.", "$ref": "#/definitions/checkInstructionType" }, "exists": { "description": "Indicates status of allowed actions, total number of attached records, or number of occurrences of indicator of a reservation.", "type": "boolean" } } }, "checkInstructionType": { "type": "string", "description": "Simple type that corresponds to check reservation instructions.", "enum": [ "HasDepositPolicies", "HasCancellationPolicies" ] }, "reservationPace": { "type": "object", "description": "FetchReservationPace response.", "properties": { "reservationPace": { "description": "Contains data returned from ReservationPace Web Service call.", "$ref": "#/definitions/reservationPaceRSType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationPaceRSType": { "type": "object", "description": "Contains reservation pace report data.", "properties": { "hotelId": { "type": "string" }, "businessDate": { "type": "string", "format": "date" }, "dailyPaceStats": { "description": "Contains the statistical data.", "$ref": "#/definitions/dailyPaceStatsType" } } }, "dailyPaceStatsType": { "type": "array", "description": "a collection of reservation pace statistics.", "maxItems": 4000, "items": { "$ref": "#/definitions/dailyPaceStatType" } }, "dailyPaceStatType": { "type": "object", "description": "An instance or a day of a reservation pace statistic.", "properties": { "channel": { "type": "string" }, "consideredDate": { "description": "The day to which the information belongs.", "type": "string", "format": "date" }, "rooms": { "description": "Number of rooms reserved.", "type": "integer" } } }, "reservationStatistics": { "type": "object", "description": "FetchReservationStatistics response", "properties": { "statisticsType": { "description": "Collection of statistic data of a reservation.", "type": "array", "items": { "$ref": "#/definitions/statisticType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "statisticType": { "type": "object", "description": "Defines all details needed to create a statistical report.", "properties": { "statisticCodesType": { "description": "Statistic Codes.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/statisticCodeType" } }, "chainCode": { "description": "The code that identifies a hotel chain or management group. The hotel chain code is decided between vendors. This attribute is optional if the hotel is an independent property that can be identified by the HotelCode attribute.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "The code that uniquely identifies a single hotel property. The hotel code is decided between vendors.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelCityCode": { "description": "The IATA city code; for example DCA, ORD.", "type": "string", "minLength": 0, "maxLength": 40 }, "hotelName": { "description": "A text field used to communicate the proper name of the hotel.", "type": "string", "minLength": 0, "maxLength": 80 }, "hotelCodeContext": { "description": "A text field used to communicate the context (or source of - ex Sabre, Galileo, Worldspan, Amadeus) the HotelReferenceGroup codes.", "type": "string", "minLength": 0, "maxLength": 40 }, "chainName": { "description": "The name of the hotel chain (e.g., Hilton, Marriott, Hyatt).", "type": "string", "minLength": 0, "maxLength": 80 }, "fiscalDate": { "description": "Hotel fiscal date for statistics.", "type": "string", "format": "date" }, "reportCode": { "description": "Identifies the type of statistics collected. Each ReportCode corresponds to a set of category summaries based upon a predetermined agreement.", "type": "string", "minLength": 0, "maxLength": 100 }, "description": { "description": "This element has revenue amount data for its revenue category such as Room Revenue, Food and Beverage Revenue.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "statisticCodeType": { "type": "object", "description": "Defines the codes and corresponding categories for which the data in the other elements has been gathered.", "properties": { "statisticSetsType": { "description": "Collection of statistic summary data.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/statisticSetType" } }, "statCode": { "description": "Actual code used by the system to collect the statistics (e.g. CORP, RACK if category is Market Segment).", "type": "string", "minLength": 0, "maxLength": 20 }, "statCategoryCode": { "description": "Category Code category of StatCode attribute (e.g. Market Segment).", "type": "string", "minLength": 0, "maxLength": 40 }, "statCodeClass": { "description": "Class grouping of StatCode attribute.", "type": "string", "minLength": 0, "maxLength": 40 }, "description": { "description": "Statistic code description.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "statisticSetType": { "type": "object", "description": "An instance of a statistic, which is a set containing revenue category and number category summaries.", "properties": { "revenueCategorySummariesType": { "description": "Collection of RevenueCategorySummary elements. Used if revenue values reported.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/revenueCategorySummaryType" } }, "numericCategorySummariesType": { "description": "Collection of CountCategorySummary elements. Used if count values reported.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/numericCategorySummaryType" } }, "statisticDate": { "description": "Date of the statistic.", "type": "string", "format": "date" }, "weekendDate": { "description": "Determines whether statistic date is a weekend date.", "type": "boolean" } } }, "revenueCategorySummaryType": { "type": "object", "description": "This element has revenue amount data for its revenue category such as Room Revenue, Food and Beverage Revenue.", "properties": { "revenueCategoryCode": { "description": "The representation of a revenue category.", "type": "string", "minLength": 0, "maxLength": 40 }, "amount": { "description": "A monetary amount.", "type": "number" }, "currencyCode": { "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string", "minLength": 3, "maxLength": 3 } } }, "numericCategorySummaryType": { "type": "object", "description": "This element has count data for each count category such as number of guests, rooms occupied, etc.", "properties": { "numericSummary": { "description": "The total count for the category in NumericCategoryCode.", "type": "number" }, "numericCategoryCode": { "description": "The representation of a numeric category such as Guests : Number of guests, RoomsOcc : Rooms occupied.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "splitMultiRoomReservation": { "type": "object", "description": "Request to split multi-room reservation into separate reservations.", "properties": { "reservationId": { "description": "Unique identifier of the multi-room reservation that is to be split.", "$ref": "#/definitions/reservationId" }, "lockHandle": { "description": "An identifier representing the record lock for the reservation under process. When passed, the operation will verify that the lock is still valid.", "type": "number" }, "splitAll": { "description": "If set to TRUE, the reservation will be separated into number of rooms that it currently has. Otherwise, only 1 single room reservation will be created and the original reservation will be deducted with 1 room.", "type": "boolean" }, "copyPaymentInformation": { "description": "Flag to instruct the operation to copy payment methods of the original reservation to the new reservation to be created.", "type": "boolean" }, "reservationPaymentMethods": { "description": "Defines collection of payment methods that will be copied from original reservation to the new reservation to be created.", "$ref": "#/definitions/copyReservationPaymentMethodsType" }, "responseInstructions": { "description": "Response instruction for the operation.", "type": "object", "properties": { "fetchLinkedReservations": { "description": "If set to TRUE, response will have the list of linked reservations.", "type": "boolean" }, "fetchNewReservationIDs": { "description": "If set to TRUE, response will have the list of unique identifiers of the reservations that were created.", "type": "boolean" } } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "splitMultiRoomReservationDetails": { "type": "object", "description": "Response for splitting multi-room reservation into separate reservations.", "properties": { "linkedReservations": { "description": "Collection of linked reservations which includes itinerary, shared, and created reservations from split operation. This will be returned depending on the response instruction.", "$ref": "#/definitions/linkedReservationsInfoType" }, "newReservationIdList": { "description": "Collection of unique identifiers of the reservations that were created by the split operation. This will be returned depending on the response instruction.", "$ref": "#/definitions/uniqueIDListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "sellMessages": { "type": "object", "description": "This is the Response Message Type to the request for retrieving Sell Messages.", "properties": { "sellMessages": { "description": "Sell Messages which are retrieved as per the criteria in the request message. Refer to the generic common types document for the SellMessagesType.", "$ref": "#/definitions/sellMessagesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "sellMessagesType": { "type": "object", "description": "The SellMessagesType is the list of message and attributes returned by web service.", "properties": { "sellMessage": { "description": "This is the message text.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/sellMessageType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "sellMessageType": { "type": "object", "description": "The SellMessagesType defines the standard attributes that will be retrieved with the sell message.", "properties": { "message": { "description": "This is the message text.", "type": "string", "minLength": 0, "maxLength": 2000 }, "croCode": { "description": "This is the Central Reservation office code.", "type": "string", "minLength": 0, "maxLength": 20 }, "chainCode": { "description": "This is the chain code.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "This is the hotel code or resort.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomType": { "description": "This represents the room type code.", "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "description": "This represents the rate plan code of the room type.", "type": "string", "minLength": 0, "maxLength": 20 }, "languageCode": { "description": "This is the language code.", "type": "string", "minLength": 0, "maxLength": 20 }, "stickyFlagYn": { "description": "Flag which tells if this message is Sticky (Y/N).", "type": "string", "minLength": 0, "maxLength": 1 }, "usedInModule": { "description": "This represents the correct moduletype which should be used for fetching SellMessages.", "$ref": "#/definitions/usedInModuleType" }, "beginDate": { "description": "This is the Begin date for the configured SellMessage.", "type": "string", "format": "date" }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" } } }, "reservationDisplayColorInfoType": { "description": "Information of reservation display color, determined based on OPERA parameter RESERVATION_COLOR_DEFINITION ", "type": "object", "properties": { "displayColor": { "description": "Display Color of Reservation.", "$ref": "#/definitions/colorType" }, "colorDefinition": { "description": "Definition populated based on OPERA setting RESERVATION_COLOR_DEFINITION.", "$ref": "#/definitions/colorDefinitionType" }, "colorDescription": { "description": "Description populated based on DisplayColor.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "colorType": { "type": "string", "description": "Color configuration type. This color configuration provides a visual category of entities.", "enum": [ "Red", "DarkRed", "Green", "DarkGreen", "LightGreen", "Orange", "White", "Yellow", "DarkYellow", "Purple", "Brown", "Gray", "Aqua", "Chocolate", "Blue", "LightBlue", "DarkBlue", "Cyan", "DarkCyan", "Magenta", "DarkMagenta", "Black", "Deepteal", "Sunsetorange", "Aquasky", "Mochabrown", "Mossgreen", "Rosewood", "Claybrown", "Softlavender", "Olivegold", "Plumpurple", "Mistblue", "Forestgreen", "Dustyviolet", "Oceanblue", "Copper" ] }, "frontOfficeRoomStatusType": { "type": "string", "description": "Simple type for front office room status instructions to be used in requests for fetching housekeeping rooms. Valid values are Vacant and Occupied.", "enum": [ "Vacant", "Occupied" ] }, "colorDefinitionType": { "type": "string", "description": "Color definition type. This color definition type is used to determine the defintion of color ", "enum": [ "RESERVATION", "MARKET_CODE", "VIP_LEVEL", "MEMBERSHIP_LEVEL" ] }, "actionType": { "type": "string", "description": "Action types allowed by the event api.", "enum": [ "CREATE", "UPDATE", "DELETE" ] }, "customChargeGuestInfoType": { "type": "object", "properties": { "firstName": { "description": "Given name, first name or names", "type": "string" }, "lastName": { "description": "Family name, last name.", "type": "string" }, "fullName": { "description": "String representation of the full name", "type": "string" }, "profileId": { "description": "Unique profile identifier.", "$ref": "#/definitions/profileId" } } }, "fiscalInfoType": { "description": "Fiscal related information for a reservation.", "type": "object", "properties": { "partnerCode": { "description": "Fiscal partner code.", "type": "string" }, "fiscalStatus": { "description": "OPERA Fiscal status.", "type": "string" }, "fiscalPayloadType": { "description": "Fiscal Payload Type.", "$ref": "#/definitions/payloadType" } } }, "payloadType": { "description": "Fiscal Payload Type.", "type": "string", "enum": [ "CheckOut", "FolioGeneration" ] }, "reservationCommissionInfoType": { "type": "object", "properties": { "commissionsPaid": { "type": "boolean" }, "commissionNotesAvailable": { "type": "boolean" } } }, "reservationsSummaryInformationType": { "type": "object", "description": "Reservations Summary.", "properties": { "reservationsInformation": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationsInformationType" } }, "offset": { "description": "Indicates the index of the next applicable set(page).", "type": "integer" }, "limit": { "description": "Indicates number of records the API can return as per the API request limit sent. A maximum of 200 records can be only returned at a time.", "type": "integer" }, "count": { "description": "Indicates number of records the API has returned actually as per the API request criteria.", "type": "integer" }, "hasMore": { "description": "Indicates whether there are more records available to be returned as per the API request criteria or not.", "type": "boolean" }, "totalResults": { "description": "Indicates total number of records available that can be returned as per the API request criteria.", "type": "integer" } } }, "reservationsInformationType": { "type": "object", "description": "Reservations Information.", "properties": { "hotelId": { "description": "Property code.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationIdList": { "description": "Unique identifiers for both internal and external systems Eg: ReservationId, ConfirmationNumber, CancellationNumber, ExternalReferenceNumber etc", "type": "array", "maxItems": 10, "items": { "$ref": "#/definitions/distinctIDType" } }, "externalReferences": { "description": "This type stores the External Reference information for Reservation. Confirmation Number is also supported here if its having a valid non default leg number identifiable via idContext as OPERA", "$ref": "#/definitions/externalReferencesType" }, "guestDetails": { "description": "Guest Information", "$ref": "#/definitions/guestDetails" }, "reservationDates": { "description": "Reservation Dates", "$ref": "#/definitions/reservationDates" }, "companyDetails": { "description": "Company Details", "$ref": "#/definitions/companyDetails" }, "travelAgentDetails": { "description": "Travel Agent Details", "$ref": "#/definitions/travelAgentDetails" }, "groupDetails": { "description": "Group Details", "$ref": "#/definitions/groupDetails" }, "blockIdList": { "description": "Unique identifiers for Blocks. Eg: BlockId, BlockCode", "type": "array", "maxItems": 5, "items": { "$ref": "#/definitions/distinctIDType" } }, "membershipDetails": { "description": "Membership Details", "$ref": "#/definitions/membershipDetails" }, "adults": { "description": "Total number of adults.", "type": "integer" }, "children": { "description": "Number of children.", "type": "integer" }, "noOfRooms": { "description": "Number of rooms.", "type": "integer" }, "amount": { "description": "Total share amount.", "type": "number" }, "balance": { "description": "Balance.", "type": "number" }, "rateCode": { "description": "Rate code used for the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencyCode": { "description": "Currency code.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationStatus": { "description": "Reservation status.", "type": "string", "minLength": 0, "maxLength": 20 }, "computedReservationStatus": { "description": "Computed reservation status.", "type": "string", "minLength": 0, "maxLength": 20 }, "creatorId": { "description": "Internal User ID used to create reservation.", "type": "string", "minLength": 0, "maxLength": 100 }, "lastModifierId": { "description": "Internal User ID used to update the reservation details.", "type": "string", "minLength": 0, "maxLength": 100 }, "guaranteeCode": { "description": "Reservation guarantee code.", "type": "string", "minLength": 0, "maxLength": 20 }, "paymentType": { "description": "Payment method used for the reservation.", "type": "string", "minLength": 0, "maxLength": 50 }, "nights": { "description": "Number of Nights", "type": "integer" }, "promotionCode": { "description": "Promotion Code for the Reservation.", "type": "string", "minLength": 0, "maxLength": 32000 }, "roomId": { "description": "Room Number.", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceCode": { "description": "Source of the created reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "originCode": { "description": "Channel used to create the reservation.", "type": "string", "minLength": 0, "maxLength": 40 }, "marketCode": { "description": "Market code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "arrivalTime": { "description": "Arrival Time of reservation.", "type": "string", "minLength": 0, "maxLength": 10 }, "departureTime": { "description": "Departure Time of reservation.", "type": "string", "minLength": 0, "maxLength": 10 }, "roomType": { "description": "Room Type.", "type": "string", "minLength": 0, "maxLength": 32000 }, "bookedRoomType": { "description": "Booked Room Type.", "type": "string", "minLength": 0, "maxLength": 32000 }, "vipStatus": { "description": "VIP Status.", "type": "string", "minLength": 0, "maxLength": 20 }, "linkCode": { "description": "Party code.", "type": "string", "minLength": 0, "maxLength": 50 }, "registrationCardNumber": { "description": "Registration card number.", "type": "string", "minLength": 0, "maxLength": 40 }, "preRegistered": { "description": "Indicates whether the reservation is pre-registered for internet check-in or not.", "type": "boolean" }, "advancedCheckedIn": { "description": "Indicates if the reservation has performed an Advance Check In.", "type": "boolean" }, "shared": { "description": "Indicates if the reservation is shared or not.", "type": "boolean" } } }, "distinctIDType": { "type": "object", "description": "Unique identifiers for both internal and external systems Eg: ReservationId, ConfirmationNumber, CancellationNumber, ExternalReferenceNumber etc", "properties": { "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 32000 }, "type": { "description": "A reference to the type of object defined by the UniqueID element. Eg: Reservation, Confirmation, Cancellation, ExternalReference etc", "type": "string", "minLength": 0, "maxLength": 20 }, "idExtension": { "description": "Additional identifying value assigned by the creating system. Eg: ConfirmationLegNumber, ExternalLegNumber", "type": "integer" } } }, "reservationDates": { "type": "object", "description": "Reservation Dates", "properties": { "arrivalDate": { "description": "Date of arrival.", "type": "string", "format": "date" }, "departureDate": { "description": "Date of departure.", "type": "string", "format": "date" }, "cancelledOn": { "description": "Date when reservation(s) was cancelled.", "type": "string", "format": "date" }, "folioClosedOn": { "description": "Date when folio was closed.", "type": "string", "format": "date" }, "createDateTime": { "description": "Date when reservation(s) was created. Uses database time zone.", "type": "string", "format": "date-time" }, "lastModifyDateTime": { "description": "Date when reservation(s) was updated. Uses database time zone.", "type": "string", "format": "date-time" } } }, "guestDetails": { "type": "object", "description": "Guest Details", "properties": { "guestNameId": { "description": "ID of the guest.", "type": "string", "minLength": 0, "maxLength": 20 }, "lastName": { "description": "Reservation last name.", "type": "string", "minLength": 0, "maxLength": 80 }, "firstName": { "description": "Reservation first name.", "type": "string", "minLength": 0, "maxLength": 80 }, "alternateLastName": { "description": "Alternate last name.", "type": "string", "minLength": 0, "maxLength": 80 }, "alternateFirstName": { "description": "Alternate first name.", "type": "string", "minLength": 0, "maxLength": 80 }, "alternateSalutation": { "description": "Alternate salutation.", "type": "string", "minLength": 0, "maxLength": 60 }, "guestTitle": { "description": "Guest title.", "type": "string", "minLength": 0, "maxLength": 40 }, "emailAddress": { "description": "Email address of the Guest.", "type": "string", "minLength": 0, "maxLength": 200 }, "phoneNumber": { "description": "Phone number of the Guest.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "membershipDetails": { "type": "object", "description": "Membership Details", "properties": { "membershipId": { "description": "Membership Internal ID.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipNumber": { "description": "Membership number.", "type": "string", "minLength": 0, "maxLength": 32000 }, "membershipType": { "description": "Membership Type.", "type": "string", "minLength": 0, "maxLength": 32000 }, "membershipLevel": { "description": "Membership Level.", "type": "string", "minLength": 0, "maxLength": 32000 }, "multipleMemberships": { "description": "Multiple Memberships.", "type": "boolean" } } }, "companyDetails": { "type": "object", "description": "Company Details", "properties": { "companyId": { "description": "ID of the company for the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "companyName": { "description": "Name of the company for the reservation.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "groupDetails": { "type": "object", "description": "Group Details", "properties": { "groupID": { "description": "ID of the group for the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "groupName": { "description": "Name of the group for the reservation.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "travelAgentDetails": { "type": "object", "description": "Travel Agent Details", "properties": { "travelAgentID": { "description": "ID of the travel agent for the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "travelAgentName": { "description": "Name of the travel agent for the reservation.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "reservationsSummary": { "type": "object", "description": "Response object to the Fetch Reservations information. Based on the criteria, reservation information is returned.", "properties": { "reservationsSummaryInformation": { "description": "Collection of reservations summary fetched.", "$ref": "#/definitions/reservationsSummaryInformationType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationMembershipAwardType": { "type": "object", "description": "This type contains information of a membership award attached to a reservation.", "properties": { "membershipType": { "description": "Membership type for which awards are defined.", "type": "string", "minLength": 0, "maxLength": 20 }, "nameOnCard": { "description": "Name to be displayed on the membership card.", "type": "string", "minLength": 0, "maxLength": 80 }, "membershipCardNo": { "description": "The card number associated with this membership.", "type": "string", "minLength": 0, "maxLength": 50 }, "awardBasedOn": { "description": "Indicates if the Award is based on RATE, PRODUCT or UPGRADE.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardType": { "description": "Unique code that identifies this award.", "type": "string", "minLength": 0, "maxLength": 40 }, "pointsRequired": { "description": "Number of points required for the award.", "type": "number", "minimum": 0, "maxLength": 20 }, "dateAwarded": { "description": "Date when the award was issued.", "type": "string", "format": "date" }, "arrivalDate": { "description": "The arrival date of the stay for when the award is associated.", "type": "string", "format": "date" }, "awardCancelDate": { "description": "If the reservation associated with the award was cancelled, the reservation cancellation date appears here.", "type": "string", "format": "date" }, "cancelPenaltyDays": { "description": "The cancel days, set up in awards configuration that establishes the number of days before arrival when a reservation may be cancelled without an award points penalty.", "type": "number", "minimum": 0, "maxLength": 20 }, "cancelPenaltyPoints": { "description": "The award points that will be deducted (based on a cancel days restriction) if the award is cancelled. (Cancel days, set up in awards configuration, and establish the number of days before arrival when a reservation may be cancelled without an award points penalty).", "type": "number", "minimum": 0, "maxLength": 20 }, "actualCancelPoints": { "description": "The number of points actually deducted from the member's total award points if there is a penalty points restriction associated with the award cancellation.", "type": "number", "minimum": 0, "maxLength": 20 }, "awardCancellationNo": { "description": "Unique ID for the award cancellation if cancelled.", "type": "number", "minimum": 0, "maxLength": 20 }, "stayDate": { "description": "The date of the reservation associated with the award.", "type": "string", "format": "date" } } }, "createReservationType": { "description": "Create Reservation Response Type", "type": "object", "properties": { "reservations": { "description": "Collection of Reservations returned/fetched as per the criteria in the fetch request.", "$ref": "#/definitions/hotelReservationsType" }, "channelInformation": { "description": "Information to be returned, if the request is received through a channel", "$ref": "#/definitions/channelResvRSInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "lastCommittedResvType": { "type": "object", "properties": { "reservationStatus": { "description": "Indicates the Actual status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "roomType": { "description": "Current room type.", "type": "string", "minLength": 0, "maxLength": 20 }, "numberOfRooms": { "description": "Number of rooms", "type": "integer" }, "arrivalDate": { "type": "string", "format": "date" }, "departureDate": { "type": "string", "format": "date" } } }, "reservationKeyInfoType": { "type": "object", "description": "Holds the room key information provided by the Door Lock System.", "properties": { "keyPin": { "description": "PIN provided in keyTrack3 from the Door Lock System that is used to unlock a room. This is supported when Key Pin handling is active for the property and the Door Lock System in use.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "departureReservationInfoType": { "type": "object", "description": "Key information about the departure reservation.", "properties": { "reservationExpectedDepartureTime": { "description": "The departure Reservation Expected Departure Time. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "reservationStatus": { "description": "Indicates the Actual status of the departure reservation.", "$ref": "#/definitions/pMS_ResStatusType" } } }, "roomOwnerStatusType": { "type": "string", "description": "Enumeration of different ownership statuses of room", "enum": [ "OwnerRoom", "Exclusive", "Regular" ] }, "linkedReservationsCommonDetailsType": { "type": "object", "description": "Details common to all linked reservations.", "properties": { "linkedName": { "type": "string", "description": "Name associated with a group of linked reservations.", "minLength": 0, "maxLength": 50 } } }, "changeLinkedReservationsCommonDetails": { "type": "object", "description": "Request object for updating linked reservations details.", "properties": { "linkedReservationsCommonDetails": { "description": "Updated values of details common to all linked reservations.", "$ref": "#/definitions/linkedReservationsCommonDetailsType" } } }, "linkedReservationsCommonDetails": { "type": "object", "description": "Response object for updating linked reservations details.", "properties": { "linkedReservationsCommonDetails": { "description": "Updated values of details common to all linked reservations.", "$ref": "#/definitions/linkedReservationsCommonDetailsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "changeLinkedReservationType": { "type": "object", "description": "Request object to change a linked reservation information.", "properties": { "linkedReservationInfo": { "description": "Linked reservation information that needs to be changed.", "$ref": "#/definitions/linkedReservationInfoType" }, "backToBackToReservationId": { "description": "Unique identifier of the source linked reservation to be marked as Back to Back along with a target linked reservation when the target linked reservation is marked as Back to Back.", "$ref": "#/definitions/uniqueID_Type" } } }, "backToBackResSequenceType": { "type": "object", "description": "Type object represents Back To Back Sequence Position and Total Count of Linked Back To Back Reservations ordered by consecutive Stay Dates.", "properties": { "position": { "description": "Indicates the Sequence position of Back to Back Reservation.", "type": "integer" }, "totalCount": { "description": "Indicates the total count of Back To Back Reservations in the group of Linked Reservations.", "type": "integer" } } }, "roomOccupancyType": { "description": "Room Occupancy information.", "type": "object", "properties": { "roomId": { "type": "string", "description": "Room Id.", "minLength": 0, "maxLength": 20 }, "roomType": { "type": "string", "description": "Room Type.", "minLength": 0, "maxLength": 20 }, "roomIsOccupied": { "type": "boolean", "description": "Indicates if the Room is currently occupied." }, "estimatedDepartureTime": { "type": "string", "description": "Estimated Time of Departure of reservation when room status is occupied.", "format": "date-time" }, "guestFirstName": { "type": "string", "description": "Guest First/Given Name on reservation when room status is occupied.", "minLength": 0, "maxLength": 40 }, "guestLastName": { "type": "string", "description": "Guest Last Name /Surname on reservation when room status is occupied.", "minLength": 0, "maxLength": 40 }, "roomStatus": { "description": "Room status", "$ref": "#/definitions/housekeepingRoomStatusType" }, "reservationIdList": { "description": "A list of Ids for reservation( ResvNameId and ConfirmationNumber).", "$ref": "#/definitions/uniqueIDListType" }, "roomNumberLocked": { "description": "This attribute is to verify if room number is locked for the reservation. When true the room number cannot be changed. This is supported when OPERA Control Do Not Move is active.", "type": "boolean" } } }, "combineShareFromExistingReservationType": { "type": "object", "description": "Details of the existing reservation to be combined as a sharer.", "properties": { "routeAllTransactionsToShareReservationId": { "description": "Reservation ID of an existing reservation to whom all transactions of the joining reservation will be routed to.", "$ref": "#/definitions/uniqueID_Type" }, "dailyRates": { "description": "Collection of room rate information on a daily basis.", "$ref": "#/definitions/dailyRatesType" } } }, "scheduledRoomMoveInfoType": { "description": "Scheduled Move information.", "type": "object", "properties": { "moveStatus": { "description": "Scheduled Room Move Status.", "$ref": "#/definitions/scheduledRoomMoveStatusType" }, "moveComments": { "type": "string", "description": "Comments about scheduled move.", "minLength": 0, "maxLength": 200 }, "moveInRoomOccupancyInfo": { "description": "Scheduled Move In Room Occupancy Information.", "$ref": "#/definitions/roomOccupancyType" }, "estimatedMoveTime": { "type": "string", "description": "Estimated Move Time. Uses the hotel's time zone.", "format": "date-time" }, "moveOutRoomId": { "type": "string", "description": "Scheduled Move Out Room Id.", "minLength": 0, "maxLength": 20 }, "moveOutRoomType": { "type": "string", "description": "Scheduled Move Out Room Type.", "minLength": 0, "maxLength": 20 }, "moveOutRoomStatus": { "description": "Scheduled Move Out Room Status.", "$ref": "#/definitions/housekeepingRoomStatusType" } } }, "scheduledRoomMoveType": { "description": "Scheduled Move information.", "type": "object", "properties": { "scheduledRoomMoveInfo": { "description": "Scheduled Room Move information for a reservation.", "$ref": "#/definitions/scheduledRoomMoveInfoType" }, "roomAssignmentSegmentBegin": { "type": "string", "description": "Date Room Assignment Begins. Uses the hotel's time zone.", "format": "date-time" }, "roomAssignmentSegmentEnd": { "type": "string", "description": "Date of the Scheduled Move Room. Uses the hotel's time zone.", "format": "date-time" }, "roomAssignmentSegmentNo": { "type": "integer", "description": "Room Assignment Segment Number." }, "roomNumberLocked": { "description": "This attribute is to verify if room number is locked for the reservation. When true the room number cannot be changed. This is supported when OPERA Control Do Not Move is active.", "type": "boolean" } } }, "scheduledRoomMoveStatusType": { "type": "string", "description": "Flag indicating scheduled room move status.", "enum": [ "Completed", "Pending" ] }, "checkDistributionReservationsSummaryType": { "type": "object", "description": "Reservation Statistics and the status of its allowed actions, attached records.", "properties": { "hotelId": { "description": "Property code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "channelCode": { "description": "Channel code.", "type": "string", "minLength": 0, "maxLength": 20 }, "enterpriseId": { "description": "EnterpriseId of Property.", "type": "string", "minLength": 0, "maxLength": 20 }, "arrivalDate": { "description": "Arrival Date.", "type": "string", "format": "date" }, "departureDate": { "description": "Departure Date.", "type": "string", "format": "date" }, "creationDate": { "description": "Creation Date. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "lastUpdateDate": { "description": "LastUpdate Date. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "cancellationDate": { "description": "Cancellation Date. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "numberOfRooms": { "description": "number of Rooms Booked.", "type": "integer" }, "reservationStatus": { "description": "Status of Reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "confirmationId": { "description": "ConfirmationId of Reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "legNumber": { "description": "ConfirmationLeg Number of Reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "ReservationId of Reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "guestName": { "description": "GuestName.", "type": "string", "minLength": 0, "maxLength": 20 }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "checkDistributionReservationsSummary": { "type": "object", "description": "Response for checking allowed actions, existence of attached records, or count of reservations.", "properties": { "checkReservations": { "description": "Collection of reservations Count and the status of its allowed actions, attached records.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/checkDistributionReservationsSummaryType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "bookingTimeSpanType": { "type": "object", "description": "The booking time span of the reservation, only applicable when time increments are being used.", "properties": { "startDateTime": { "type": "string", "description": "The start time of the reservation booking. Uses the hotel's time zone.", "format": "date-time" }, "endDateTime": { "type": "string", "description": "The end time of the reservation booking. Uses the hotel's time zone.", "format": "date-time" } } }, "changePayeeSharerType": { "description": "Request object to to mark or unmark the payee sharer information.", "type": "object", "properties": { "shareReservation": { "description": "Information of the Shared reservation to be updated.", "$ref": "#/definitions/payeeSharerInfoType" } } }, "payeeSharerInfoType": { "description": "Holds the information to mark or unmark a shared reservation as a payee sharer.", "type": "object", "properties": { "reservationId": { "description": "Unique identifier of the reservation.", "$ref": "#/definitions/uniqueID_Type" }, "hotelId": { "description": "Property code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "payeeSharer": { "description": "This attribute indicates if the Shared reservation is marked as the Payee Sharer or not.", "type": "boolean" }, "refreshRoutings": { "description": "This attribute indicates if the routing created/removed when updating payee needs to be refreshed or not.", "type": "boolean" } } }, "addOnReservationPackageType": { "type": "object", "description": "AddOn ReservationPackageType class.", "properties": { "scheduleList": { "description": "A HotelPackageSchedule type.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationPackageScheduleType" } }, "consumptionDetails": { "description": "Package consumption details. Includes information for quantity , allowance etc.", "$ref": "#/definitions/packageConsumptionType" }, "packageCode": { "description": "Package code. This is the unique code used for the package and is a required element.", "type": "string", "minLength": 0, "maxLength": 20 }, "internalId": { "description": "Reservation Package Opera Internal Unique Id. This is the unique Id used for this reservation package.", "type": "number" }, "startDate": { "description": "Package begin date.", "type": "string", "format": "date" }, "endDate": { "description": "Package End Date.", "type": "string", "format": "date" }, "packageGroup": { "description": "Package group code. Package group code is used to link multiple packages that are members of a group.", "type": "string", "minLength": 0, "maxLength": 20 }, "source": { "description": "Indicates if the source of the product is Rate header, Rate Detail or Reservation. For new development this field is to be used for passing the product scource", "$ref": "#/definitions/productSourceType" }, "awardCode": { "description": "This is the Award code used to redeem the package if the package is a redemption package.", "type": "string", "minLength": 0, "maxLength": 20 }, "points": { "description": "Indicates the points used to redeem the redemption package.", "type": "integer" }, "calculationRule": { "description": "The price calculation rule for this package.", "$ref": "#/definitions/packageCalculationRuleType" } } }, "reservationAddOnPackagesType": { "type": "object", "description": "A Service object represents a non-room product provided to guests. Service products may have associated inventory and charges.", "properties": { "reservationPackages": { "description": "A Service object represents a package provided to guests. Service packages may have associated inventory and charges.", "type": "array", "items": { "$ref": "#/definitions/addOnReservationPackageType" } }, "overridePackageConfiguration": { "default": true, "type": "boolean", "description": "Indicates if scheduleList and calculationRule provided in this request should override package configuration. When overridePackageConfiguration is true the scheduleList is mandatory." }, "overrideInventoryItemAvailabilty": { "default": false, "type": "boolean", "description": "Indicates if Availablity should be overriden when an Inventory Item based on a package is not available." } } }, "addOnReservationPackagesType": { "type": "object", "description": "A collection of Reservation packages.", "properties": { "reservationId": { "description": "Unique identifier of the reservation.", "$ref": "#/definitions/uniqueID_Type" }, "hotelId": { "description": "Property code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationPackages": { "description": "A Service object represents a package provided to guests. Service packages may have associated inventory and charges.", "type": "array", "items": { "$ref": "#/definitions/reservationPackageType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reservationPreConfiguredRoutingInstructionsType": { "type": "object", "properties": { "consumableInventory": { "description": "List of default routing instructions.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/resPreConfiguredRoutingInstrType" } } } }, "scheduledRoomMoveResponseType": { "description": "Scheduled Room Move information.", "type": "object", "properties": { "moveComments": { "type": "string", "description": "Comments about scheduled move.", "minLength": 0, "maxLength": 200 }, "moveInRoomOccupancyInfo": { "description": "Scheduled Move In Room Occupancy Information.", "$ref": "#/definitions/roomOccupancyType" }, "estimatedMoveTime": { "type": "string", "description": "Estimated Move Time in 24Hour Format. Uses the hotel's time zone.", "format": "date-time" } } }, "scheduledRoomMoveDetails": { "description": "Details regarding a specific scheduled room move.", "type": "object", "properties": { "moveComments": { "type": "string", "description": "Comments about scheduled move.", "minLength": 0, "maxLength": 200 }, "scheduledMoveTime": { "type": "string", "description": "The scheduled time of room move. Uses the hotel's time zone.", "format": "date-time" } } }, "scheduledRoomMoveDetailType": { "type": "object", "description": "Scheduled room move information.", "properties": { "scheduledRoomMoveFrom": { "description": "Indicates if the reservation is scheduled to be moved from a room", "$ref": "#/definitions/scheduleRoomMoveType" }, "scheduledRoomMoveTo": { "description": "Indicates if the reservation is scheduled to be moved to a room", "$ref": "#/definitions/scheduleRoomMoveType" } } }, "scheduleRoomMoveType": { "type": "object", "description": "Type of room move scheduled either from or to information", "properties": { "scheduleRoomMoveStatus": { "description": "Indicates if the reservation is scheduled to be moved from or to a room.", "$ref": "#/definitions/scheduledRoomMoveStatusType" }, "scheduleRoomMoveDate": { "description": "Business date on which room is scheduled to be moved from or to another room.", "type": "string", "format": "date" }, "scheduleMoveRoomNumber": { "description": "Room to which guest is scheduled to be moved.", "type": "string", "minLength": 0, "maxLength": 20 }, "scheduledMoveTime": { "type": "string", "description": "The scheduled time of room move. Uses the hotel's time zone.", "format": "date-time" } } }, "attachDetachType": { "type": "object", "description": "This type contains attach and detach information for accompanying guest profile.", "properties": { "attachDateTime": { "description": "Time stamp the accompanying guest was last attached. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "detachDateTime": { "description": "Time stamp the accompanying guest was last detached. Uses the hotel's time zone.", "type": "string", "format": "date-time" }, "detached": { "description": "This attribute indicates if the accompanying guest is marked as detached or attached.", "type": "boolean" } } }, "validatePoliciesType": { "type": "object", "description": "Request object to fetch deposit and cancellation policies.", "properties": { "arrivalDate": { "description": "Arrival Date of the guest.", "type": "string", "format": "date" }, "departureDate": { "description": "Departure Date of the guest.", "type": "string", "format": "date" }, "guestId": { "description": "Reservation Guest's Unique ID.", "$ref": "#/definitions/uniqueID_Type" }, "guaranteeCode": { "description": "Guarantee Code should be supplied only for the code verification purpose, if the supplied code is valid for the rest of the criteria it will return the response with the Guarantee Code information.", "type": "string" }, "calculateEstimateAmount": { "description": "Determines whether estimated amount to be calculated or not", "type": "boolean" }, "numberOfRooms": { "description": "The number of rooms requested.", "type": "integer" }, "reservationPackages": { "description": "A Service object represents a non-room product provided to guests. Service products may have associated inventory and charges.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationPackageType" } }, "rates": { "description": "A collection of Room Rates associated with this Stay.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/rateSearchType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateSearchType": { "type": "object", "description": "Room Rate associated with a particular segment of the Stay.", "properties": { "startDate": { "description": "Start Date.", "type": "string", "format": "date" }, "endDate": { "description": "End Date.", "type": "string", "format": "date" }, "ratePlanCode": { "description": "Rate Plan Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "blockId": { "description": "Block ID.", "$ref": "#/definitions/blockId" }, "attachedProfiles": { "description": "Reservation's Attached Profiles unique IDs.", "$ref": "#/definitions/resAttachedProfileListType" }, "roomType": { "description": "Room Type.", "type": "string", "minLength": 0, "maxLength": 20 }, "guestCounts": { "$ref": "#/definitions/guestCountsType" }, "rateAmount": { "description": "Rate amount.", "$ref": "#/definitions/currencyAmountType" } } }, "reservationGuaranteesPolicies": { "type": "object", "description": "Response object to fetch reservation guarantees.", "properties": { "guaranteePolcies": { "description": "A collection of Guarantee Codes information with cancellation penalty and deposit policy information.", "type": "array", "items": { "$ref": "#/definitions/guaranteePolicyType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "flexFieldValues": { "type": "object", "description": "Request object for flex fields values.", "properties": { "flexFieldValueInfo": { "description": "Provides information about flex fields", "$ref": "#/definitions/flexFieldValueType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "flexFieldValueType": { "type": "object", "description": "Provides the details of a flex field values", "properties": { "code": { "description": "Flex field code", "type": "string", "minLength": 0, "maxLength": 20 }, "flexFieldValue": { "description": "value of the Dynamic Field ", "type": "string", "minLength": 0, "maxLength": 200 } } }, "flexFieldsResponse": { "type": "object", "description": "Response object for flex fields.", "properties": { "flexFieldValues": { "description": "List of flex fields.", "type": "array", "maxItems": 100, "items": { "$ref": "#/definitions/flexFieldValueType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" }, "totalPages": { "description": "Evaluated total page count based on the requested max fetch count", "type": "integer" }, "offset": { "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned", "type": "integer" }, "limit": { "description": "Indicates maximum number of records a Web Service should return", "type": "integer" }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "operaVersion": { "type": "object", "description": "Response for Ping operation.", "properties": { "operaVersion": { "description": "Current Opera Version Number", "type": "string" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "offshoreRateType": { "type": "object", "description": "Defines Offshore rate information.", "properties": { "offshoreRateCode": { "description": "Offshore Rate Code", "type": "string", "minLength": 0, "maxLength": 20 }, "offshoreRateAmount": { "description": "Offshore Rate Amount", "type": "number" }, "offshoreRateCurrency": { "description": "Offshore Rate Currency specifying the monetary unit for the Offshore Rate. Use ISO 4217, three alpha code", "type": "string", "minLength": 0, "maxLength": 20 } } }, "externalDailyRateType": { "type": "object", "description": "Room rate information provided by an external CRS application on a daily basis for this reservation.", "properties": { "startDate": { "description": "Start date of the reservation stay.", "type": "string", "format": "date" }, "endDate": { "description": "End date of the reservation stay. If the same rate amounts need to be applied to a date range of the reservation stay, then the Start Date and End Date would specify the range.", "type": "string", "format": "date" }, "rateAmount": { "description": "The rate amount per room or per share on the specific reservation stay date.", "type": "number" }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "assignBlockRateInstructionsType": { "type": "string", "description": "Instructions for rate handling when assigning a block to a reservation.", "enum": [ "DoNotApplyBlockRate", "Prompt", "ApplyBlockRate" ] }, "changePackageQuantityType": { "description": "Request object to update package quantity for package codes.", "type": "object", "properties": { "packageQuantityInfo": { "description": "Information of the package codes and their consumed quantity.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/packageQuantityInfoType" } } } }, "packageQuantityInfoType": { "type": "object", "description": "Information regarding a single package quantity", "properties": { "packageCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "consumptionDate": { "type": "string", "format": "date-time", "description": "Uses the hotel's time zone." }, "consumedQuantity": { "type": "integer" } } }, "packageInfoType": { "type": "object", "description": "Package information related to a reservation", "properties": { "packageCode": { "type": "string", "description": "The unique code identifying the package." }, "packageDescription": { "type": "string", "description": "A description of the package." }, "packageCategoryInfo": { "description": "Information about the category of the package.", "$ref": "#/definitions/packageCategoryInfoType" }, "consumptionDate": { "type": "string", "format": "date", "description": "The consumption date of the package." }, "reservationDate": { "type": "string", "format": "date", "description": "The reservation date of the package." }, "consumedQuantity": { "type": "integer", "description": "The quantity of the package that has been consumed" }, "calculatedQuantity": { "type": "integer", "description": "The quantity of the package calculated to be consumed based on the package's quantity and the calculation rule" }, "quantity": { "type": "integer", "description": "Quantity of packages to be attached i.e. the multiplier to be applied against the calculation rule to determine the calculated quantity of the packages" }, "calculationRule": { "type": "string", "description": "The price calculation rule for this package" }, "unitPrice": { "type": "number", "description": "The price per unit of the package" }, "forecastConsumptionDate": { "description": "The forecasted consumption date of the package.", "type": "string", "format": "date" } } }, "packageCategoryInfoType": { "type": "object", "description": "Information about the package category", "properties": { "packageCategory": { "type": "string", "description": "The category of the package" }, "packageCategoryDescription": { "type": "string", "description": "A description of the package category." } } }, "unavailableItemInstructionType": { "type": "string", "enum": [ "OverrideAvailability", "ReturnWarning", "RemoveItem" ] }, "separateShareReservation": { "type": "object", "description": "Request to separate Share Reservation and apply rate amounts to separated and remaining share reservations from room rates provided by an external application on a daily basis.", "properties": { "criteria": { "description": "Criteria to separate Share Reservation and apply rate amounts to separated and remaining share reservations from room rates provided by an external application. To be used when OPERA Control parameter 'External Availability, Rates and Inventory' is active and OPERA Control parameter 'Share Rate Amount from External System Definition' is set to 'Share' or 'Room'.", "$ref": "#/definitions/separateShareReservationType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "separateShareReservationType": { "type": "object", "description": "Type to separate Share Reservation and apply rate amounts to separated and remaining share reservations from room rates provided by an external application.", "properties": { "dailyRateDistributionCriteria": { "description": "Criteria to distribute room rates provided by an external application to separated and remaining share reservations on a daily basis.", "$ref": "#/definitions/dailyRateDistributionCriteria" } } }, "dailyRateDistributionCriteria": { "type": "object", "description": "Criteria to distribute and apply rate amounts to separated and remaining share reservations from room rates provided by an external application.", "properties": { "externalDailyRatesForSeparatedShare": { "type": "array", "description": "Collection of room rate information provided by an external application on a daily basis to be applied to share reservation based on the share rate distribution method. To be used when OPERA Control parameter 'External Availability, Rates and Inventory' is active and OPERA Control parameter 'Share Rate Amount from External System Definition' is set to 'Room'.", "maxItems": 4000, "items": { "$ref": "#/definitions/externalDailyRateType" } }, "externalDailyRatesForRemainingShares": { "type": "array", "description": "Collection of room rate information provided by an external application on a daily basis to be applied to share reservation based on the share rate distribution method. To be used when OPERA Control parameter 'External Availability, Rates and Inventory' is active and OPERA Control parameter 'Share Rate Amount from External System Definition' is set to 'Room'.", "maxItems": 4000, "items": { "$ref": "#/definitions/externalDailyRateType" } } } }, "packageCategoryReservationType": { "type": "object", "description": "Information regarding each reservation being returned in the response", "properties": { "reservationIdList": { "description": "Unique identifiers for the reservation for both internal and external systems", "$ref": "#/definitions/reservationIdList" }, "roomStay": { "description": "Collection of room stays.", "$ref": "#/definitions/stayInfoType" }, "reservationGuest": { "description": "Collection of guests associated with the reservation.", "$ref": "#/definitions/resGuestInfoType" }, "reservationMemberships": { "description": "List of reservation memberships which are attached from profile.", "type": "array", "maxItems": 10, "items": { "$ref": "#/definitions/reservationMembershipType" } }, "sharedGuests": { "description": "Collection of guests who share this reservation.", "$ref": "#/definitions/resSharedGuestListType" }, "reservationPaymentMethod": { "description": "Payment method used for this reservation", "$ref": "#/definitions/reservationPaymentMethodType" }, "advanceCheckIn": { "description": "Information relating to Reservation's Advance Checked In state and Expected Time of Return", "$ref": "#/definitions/advanceCheckInType" }, "reservationStatus": { "description": "Indicates the status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "reservationPackages": { "description": "A Service object represents a non-room product provided to guests. Service products may have associated inventory and charges.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationPackageType" } }, "paymentMethod": { "description": "Payment Method.", "type": "string", "minLength": 0, "maxLength": 20 }, "openFolio": { "description": "Returns true when reservation has an open folio.", "type": "boolean" }, "preRegistered": { "description": "Defines if the reservation is pre-registered or not.", "type": "boolean" }, "shareReservation": { "description": "Defines if the reservation is shared with another reservation or not", "type": "boolean" }, "noPost": { "description": "Defines if the no post flag is set on the reservation or not", "type": "boolean" } } }, "packageCategoryReservations": { "type": "object", "description": "Response object to the Fetch Reservations by package request operation. Based on the criteria, reservation information is returned.", "properties": { "reservations": { "description": "Collection of Reservations and their information.", "type": "object", "properties": { "reservationInfo": { "description": "Contains details of the reservations.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/packageCategoryReservationType" } }, "totalPages": { "description": "Evaluated total page count based on the requested max fetch count.", "type": "integer" }, "offset": { "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, "limit": { "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "masterInfoList": { "type": "array", "items": { "$ref": "#/definitions/masterInfoType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "tieredDepositRule": { "type": "object", "description": "Type for a tiered deposit rule policy that is configured and attached to a tiered deposit rule schedule.", "properties": { "depositRuleCodeDescription": { "description": "", "$ref": "#/definitions/codeDescriptionType" }, "depositRuleId": { "description": "Internal deposit rule identifier that is used to attach the tiered deposit rule to a tiered deposit rule schedule.", "type": "number" }, "amountPercent": { "description": "Payment expressed as a fixed amount, or a percentage of/or room nights.", "$ref": "#/definitions/policyAmountPercentType" }, "deadline": { "description": "Payment deadline, absolute or relative.", "$ref": "#/definitions/policyDeadlineType" }, "formattedRule": { "description": "Formatted Text Rule of the Cancellation Penalty.", "type": "string", "minLength": 0, "maxLength": 2000 }, "estimatedAmount": { "description": "Estimated amount for this rule", "type": "number" } } }, "tieredCancelPenalty": { "type": "object", "description": "Type for a tiered cancellation penalty that is configured and attached to a tiered cancel penalty schedule.", "properties": { "cancelPenaltyCodeDescription": { "description": "", "$ref": "#/definitions/codeDescriptionType" }, "cancelPenaltyId": { "description": "Internal cancel penalty identifier that is used to attach the tiered cancel penalty to a tiered cancel penalty schedule.", "type": "number" }, "amountPercent": { "description": "Cancellation fee expressed as a fixed amount, or percentage of/or room nights.", "$ref": "#/definitions/policyAmountPercentType" }, "deadline": { "description": "Cancellation deadline, absolute or relative.", "$ref": "#/definitions/policyDeadlineType" }, "formattedRule": { "description": "Formatted Text Rule of the Cancellation Penalty.", "type": "string", "minLength": 0, "maxLength": 2000 }, "estimatedAmount": { "description": "Estimated amount for this rule", "type": "number" } } }, "reservationProtectionType": { "type": "object", "description": "Reservation Protection information related to the reservation.", "properties": { "reservationProtected": { "description": "This attribute indicates if the reservation is marked as Protected or not.", "type": "boolean" } } }, "depositPaymentType": { "type": "object", "description": "Request to post a deposit payment to a reservation.", "properties": { "criteria": { "description": "Criteria for the deposit payment information to be posted.", "$ref": "#/definitions/reservationDepositPaymentCriteriaType" } } }, "reservationDepositPaymentCriteriaType": { "type": "object", "description": "Criteria for posting a deposit payment to a reservation.", "properties": { "paymentMethod": { "description": "Payment method used by the payee.", "$ref": "#/definitions/cashieringPaymentMethodType" }, "postingAmount": { "description": "Amount to post to the folio.", "$ref": "#/definitions/currencyAmountType" }, "postingReference": { "description": "User-defined posting reference.", "type": "string", "minLength": 0, "maxLength": 2000 }, "postingRemark": { "description": "User-defined posting remark.", "type": "string", "minLength": 0, "maxLength": 2000 }, "comments": { "description": "User Defined Comments. Used for Deposit Payment postings.", "type": "string", "minLength": 0, "maxLength": 2000 }, "folioWindowNo": { "type": "integer" }, "cashierId": { "type": "integer" } } }, "cashieringPaymentMethodType": { "type": "object", "properties": { "paymentCard": { "$ref": "#/definitions/resPaymentCardType" }, "paymentMethod": { "type": "string", "minLength": 0, "maxLength": 20 }, "authorizationApproval": { "description": "Authorization approval record.", "$ref": "#/definitions/authorizationInfoType" } } }, "authorizationInfoType": { "type": "object", "properties": { "approvalAmount": { "description": "Approved amount.", "$ref": "#/definitions/currencyAmountType" }, "approvalCode": { "description": "The approval code authenticates the authorization.", "type": "string", "minLength": 0, "maxLength": 20 }, "originalAuthSequence": { "description": "Unique Authorization Sequence for the authorization and settlement.", "type": "integer" }, "vendorTranId": { "description": "Vendor transaction id for the authorization.", "type": "string", "minLength": 0, "maxLength": 20 }, "alternateTransRef": { "description": "Alternate vendor transaction id for the authorization.", "type": "string", "minLength": 0, "maxLength": 64 } } }, "postingIntervalType": { "type": "object", "description": "Posting Interval details for the reservation including begin/end dates, amount and frequency for each posting interval cycle on the reservation. Only available to be returned for extended stay reservations with at least 1 rate code with either a weekly or monthly posting interval.", "properties": { "beginDate": { "type": "string", "format": "date", "description": "Begin Date of the Posting Interval." }, "endDate": { "type": "string", "format": "date", "description": "End Date of the Posting Interval." }, "frequency": { "$ref": "#/definitions/postingIntervalFrequency", "description": "Specifies the frequency at which charges are posted for the rate plan on the reservation." }, "postingAmount": { "type": "number", "description": "The amount to be posted for the rate plan on the begin date of the posting interval." }, "rateCode": { "type": "string", "description": "Rate code used for the reservation." }, "currencyCode": { "type": "string", "description": "Provides a currency code to reflect the currency in which an amount may be expressed." } } }, "postingIntervalFrequency": { "type": "string", "description": "Specifies the frequency at which charges are posted for the rate plan on the reservation.", "enum": [ "Nightly", "Weekly", "Monthly" ] }, "traceFrequencyType": { "type": "object", "description": "Defines the trace frequency settings and associated parameters for creating reservation traces. Fields are conditionally required depending on the selected traceFrequencyPattern value.", "properties": { "traceFrequencyPattern": { "description": "Selects how frequently the trace should be generated.", "$ref": "#/definitions/traceFrequencyPatternType" }, "startOnDayY": { "description": "Applicable to 'Every X Nights Starting Night Y' frequency pattern. Specifies which day the trace should first be generated.", "type": "integer" }, "everyXDays": { "description": "Applicable to 'Every X Nights Starting Night Y' frequency pattern. Determines how often the trace recurs after the start day.", "type": "integer" }, "certainNightsOfTheWeek": { "description": "Applicable to 'Certain Nights Of The Week' frequency pattern. Represents which weekdays a trace should be generated for.", "$ref": "#/definitions/certainNightsOfTheWeek" }, "daysPriorToArrival": { "description": "Applicable to 'X Days Prior To Arrival' frequency pattern. Represents the days prior to arrival on which a trace should be generated.", "type": "integer" } } }, "traceFrequencyPatternType": { "type": "string", "description": "Defines the Trace Frequency for the created trace. Traces created with a defined trace frequency will have the trace dates automatically updated when a reservation changes based on selected frequency and corresponding configuration.", "enum": [ "ArrivalNight", "EveryXNightsStartingNightY", "CertainNightsOfTheWeek", "DepartureNight", "EveryNight", "XDaysPriorToArrival" ] }, "certainNightsOfTheWeek": { "description": "Supports the 'Certain Nights Of The Week' trace frequency option by indicating on which days traces should be generated.", "type": "object", "properties": { "sunday": { "description": "If true, a trace will be created for every Sunday on the reservation.", "type": "boolean" }, "monday": { "description": "If true, a trace will be created for every Monday on the reservation.", "type": "boolean" }, "tuesday": { "description": "If true, a trace will be created for every Tuesday on the reservation.", "type": "boolean" }, "wednesday": { "description": "If true, a trace will be created for every Wednesday on the reservation.", "type": "boolean" }, "thursday": { "description": "If true, a trace will be created for every Thursday on the reservation.", "type": "boolean" }, "friday": { "description": "If true, a trace will be created for every Friday on the reservation.", "type": "boolean" }, "saturday": { "description": "If true, a trace will be created for every Saturday on the reservation.", "type": "boolean" } } }, "preArrivalReviewStatusType": { "type": "string", "description": "Simple type for Pre-Arrival Review Status.", "enum": [ "Reviewed", "NotReviewed", "Modified" ] }, "resvIdentificationInfoType": { "type": "object", "description": "Information on the identification of the customer.", "properties": { "resvIdentification": { "description": "Detailed information on the identification of the customer.", "$ref": "#/definitions/identificationType" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 }, "profileId": { "description": "Unique owner profile information.", "$ref": "#/definitions/profileId" } } }, "reservationStatusEnum": { "type": "string", "enum": [ "Cancelled", "CheckedOut", "CheckedIn", "DueIn", "DueOut", "InHouse", "NoShow", "WaitList" ] }, "searchReservationsSummaryRequest": { "type": "object", "properties": { "advancedCheckedIn": { "type": "boolean", "description": "This filter indicates if the reservation(s) has performed an Advance Check-In or not. Data fetched is for 30 days ahead of business date." }, "limit": { "type": "integer", "default": 200, "description": "This filter indicates number of records the API has to fetch." }, "offset": { "type": "integer", "default": 0, "description": "This filter is for the index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned." }, "preRegistered": { "type": "boolean", "description": "This filter indicates whether the reservation is Pre-Registered for Internet Check-In or not. Data fetched is for 30 days ahead of business date." }, "arrivalDate": { "type": "string", "format": "date", "description": "This filter is for the date of arrival of reservation." }, "departureDate": { "type": "string", "format": "date", "description": "This filter is for the date of departure of reservation." }, "createDateTime": { "type": "string", "format": "date", "description": "This filter is for the business date when reservation(s) was created in the system." }, "cancelledOn": { "type": "string", "format": "date", "description": "This filter is for the date when reservation(s) was cancelled." }, "folioClosedOn": { "type": "string", "format": "date", "description": "This filter is for the date when reservation(s) folio was closed." }, "lastName": { "type": "string", "description": "This filter looks up reservations with this last Name. Data fetched is for +-2 business date only when passed alone." }, "companyId": { "type": "number", "description": "This filter is ID of the company used for the reservation. Data fetched is for +-2 business date only when passed alone." }, "guestNameId": { "type": "number", "description": "This filter is ID of the guest." }, "reservationStatus": { "$ref": "#/definitions/reservationStatusEnum", "description": "This filter is computed reservation status of the reservation(s)." }, "confirmationNumber": { "type": "string", "description": "This filter is ID of confirmation for the reservation." }, "externalReferenceNumber": { "type": "string", "description": "This filter is ID of external reference for the reservation." }, "cancellationNumber": { "type": "string", "description": "This filter is ID of cancellation for the reservation." }, "membershipNumber": { "type": "string", "description": "This filter is used for looking up reservations with this membership number. Last Name is required along with membership number to filter the data." }, "registeredCardNumber": { "type": "string", "description": "This filter is unique identifier of the registration card number. Last Name is required along with registration card number to filter the data." }, "balance": { "type": "number", "description": "This filter checks reservations with balance amount greater than or equal to this amount. Departure date is required along with balance to filter the data." }, "roomId": { "type": "string", "description": "This filter is for room number." } } }, "searchReservationsRequest": { "type": "object", "properties": { "recentlyAccessed": { "type": "boolean", "description": "Mark this reservation as recently accessed." }, "limit": { "type": "integer", "description": "Indicates maximum number of records a Web Service should return." }, "offset": { "type": "integer", "default": 0, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned." }, "searchType": { "$ref": "#/definitions/reservationSearchType", "description": "Represents Reservation search type Player Snapshot." }, "hotelIds": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "List of Hotels to support searches with multiple resorts for which traces are to be fetched." }, "text": { "type": "string", "description": "Free form text field for searching all reservation fields" }, "reservationIdList": { "type": "array", "items": { "type": "string" }, "description": "Unique reservation IDs." }, "confirmationNumberList": { "type": "array", "items": { "type": "string" }, "description": "Confirmation numbers" }, "cancellationNumberList": { "type": "array", "items": { "type": "string" }, "description": "Cancellation numbers" }, "externalReferenceIds": { "type": "array", "items": { "type": "string" }, "description": "External Reference Ids" }, "externalSystemCodes": { "type": "array", "items": { "type": "string" }, "default": [ "External" ], "description": "Used to identify source of the identifier (e.g., IATA, ABTA)." }, "arrivalEndDate": { "type": "string", "format": "date", "description": "The ending value of the date range." }, "arrivalStartDate": { "type": "string", "format": "date", "description": "The starting value of the date range." }, "departureEndDate": { "type": "string", "format": "date", "description": "The ending value of the date range." }, "departureStartDate": { "type": "string", "format": "date", "description": "The starting value of the date range." }, "expectedArrivalStartTime": { "type": "string", "format": "date-time", "description": "The ending value of the time span. Uses the hotel's time zone." }, "expectedArrivalEndTime": { "type": "string", "format": "date-time", "description": "The starting value of the time span. Uses the hotel's time zone." }, "expectedReturnEndTime": { "type": "string", "format": "date-time", "description": "The ending value of the time span. Uses the hotel's time zone." }, "expectedReturnStartTime": { "type": "string", "format": "date-time", "description": "The starting value of the time span. Uses the hotel's time zone." }, "companyNames": { "type": "array", "items": { "type": "string" }, "description": "Attached profile name" }, "sourceNames": { "type": "array", "items": { "type": "string" }, "description": "Attached profile name" }, "travelAgentNames": { "type": "array", "items": { "type": "string" }, "description": "Attached profile name" }, "groupNames": { "type": "array", "items": { "type": "string" }, "description": "Attached profile name" }, "travelAgentIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "companyIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "sourceIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "contactIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "groupIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "billingContactIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "profileId": { "type": "string", "description": "Unique Identifier for a guest profile associated with the reservation(s)" }, "membershipCardNumber": { "type": "string", "description": "Membership ID criteria." }, "membershipLevels": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Membership Levels." }, "membershipTypes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Membership Types." }, "reservationsWithMembershipType": { "type": "boolean", "description": "When true, only reservations with memberships of specified type are returned." }, "surname": { "type": "string", "description": "Family name, last name." }, "givenName": { "type": "string", "description": "Given name, first name or names" }, "anyVIPStatus": { "type": "boolean", "description": "VIP status of the customer." }, "vipCodes": { "type": "array", "items": { "type": "string" }, "description": "VIP codes of the customer." }, "guaranteeCode": { "type": "string", "description": "Fetches the reservation having Guarantee Code(Reservation Type) supplied here." }, "paymentMethod": { "type": "string", "description": "Fetches the reservation having method of payment supplied here." }, "discountApplied": { "type": "boolean", "default": false, "description": "Fetches the reservation for which discount is applied" }, "user": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "User(s) performing the action." }, "createdBy": { "type": "string", "description": "Fetches reservation created by specified user. If both CreatedByUsers and CreatedBy is specified, CreatedByUsers will take precedence." }, "cancelledByList": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Fetches reservations cancelled by list of users." }, "cancelledOn": { "type": "string", "format": "date", "description": "Fetches the reservations which are cancelled on a specific date." }, "ratePlanCodes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Rate Plan Codes." }, "sourceCodes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Source Codes." }, "marketCodes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Market Codes." }, "excludeBlockReservations": { "type": "boolean", "description": "If true the search result will exclude the blocks reservations." }, "blockName": { "type": "string", "description": "The Name of the block that is attached to the reservation." }, "blockIds": { "type": "array", "items": { "type": "string" }, "description": "Block IDs." }, "blockCodes": { "type": "array", "items": { "type": "string" }, "description": "Block Codes." }, "customReference": { "type": "string", "description": "Custom reference" }, "recordLocator": { "type": "string", "description": "GDS Record Locator for reservation." }, "profileExternalReferencesToFetch": { "type": "array", "maxItems": 10, "items": { "type": "string" }, "description": "Define external system(s) to return external reference ids for associated profiles for the reservation. A maximum of 10 different external systems." }, "resvExternalReferencesToFetch": { "type": "array", "maxItems": 10, "items": { "type": "string" }, "description": "Define external system(s) to return external reference ids for reservations. A maximum of 10 different external systems." }, "orderBy": { "type": "array", "items": { "$ref": "#/definitions/reservationOrderBy" }, "description": "Order results by reservation attribute." }, "sortOrder": { "type": "array", "items": { "$ref": "#/definitions/sortOrder" }, "uniqueItems": true, "description": "Sort order." }, "roomAssignedOnly": { "type": "boolean", "description": "Indicator to query reservations which have a room number assigned." }, "roomUnassignedOnly": { "type": "boolean", "description": "Indicator to query reservations which does not have a room number assigned." }, "roomId": { "type": "string", "description": "Room number of the reservation to search by." }, "roomType": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Room Type." }, "roomFeatures": { "type": "array", "items": { "type": "string" }, "description": "A code representing a room feature." }, "roomSpecials": { "type": "array", "items": { "type": "string" }, "description": "Preference value for display purposes." }, "roomSmokingPreference": { "type": "string", "description": "Preference value for display purposes." }, "roomFloorPreferences": { "type": "array", "items": { "type": "string" }, "description": "Preference value for display purposes." }, "housekeepingRoomStatuses": { "type": "array", "items": { "$ref": "#/definitions/housekeepingRoomStatusType" }, "uniqueItems": true, "description": "Simple type for room status instructions." }, "roomClasses": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Room Classes." }, "roomRangeFrom": { "type": "string", "description": "From Room (inclusive)" }, "roomRangeTo": { "type": "string", "description": "To Room (inclusive)" }, "communication": { "type": "string", "description": "Any communication attached to the reservation from the primary guest's profile such as phone, fax, or email address." }, "phone": { "type": "string", "description": "The phone number attached to the reservation from the primary guest's profile." }, "email": { "type": "string", "description": "The email address attached to the reservation from the primary guest's profile." }, "fetchInstructions": { "type": "array", "items": { "$ref": "#/definitions/fetchInstructionType" }, "uniqueItems": true, "description": "Instruction on which of the reservation's elements are to be returned." }, "allowedReservationActions": { "type": "array", "items": { "$ref": "#/definitions/reservationAllowedActionType" }, "uniqueItems": true, "description": "Allowed reservation actions." }, "allowPreRegistration": { "type": "boolean", "description": "Flag for reservation to be eligible for prior check in by guest using mobile device." }, "hasDepositBalance": { "type": "boolean", "description": "Indicates that only reservations with deposit balance should be expected from the result." }, "hasOpenBalance": { "type": "boolean", "description": "Indicates that only reservations with open balance should be expected from the result." }, "hasOpenFolio": { "type": "boolean", "description": "Indicates that only reservations with open folio should be expected from the result." }, "includeScheduledCheckOut": { "type": "boolean", "description": "Criteria that indicates whether to scheduled checkouts or not." }, "linkedOnly": { "type": "boolean", "description": "Indicates that only linked reservations should be expected from the result." }, "unlinkedOnly": { "type": "boolean", "description": "Indicates that only unlinked reservations should be expected from the result." }, "actualArrivals": { "type": "boolean", "description": "Indicates if reservations which have already arrived on the Search Date is required." }, "actualDepartures": { "type": "boolean", "description": "Indicates if reservations which were expected to depart on the Search Date and have already checked, is required." }, "complimentaryReservations": { "type": "boolean", "description": "Indicates if reservations where rate codes are marked as Complimentary Rates, is required. This flag should be used in conjunction with the Arrivals, Departures or StayOvers criteria." }, "dayOfArrivalCancels": { "type": "boolean", "description": "Indicates if reservations which have cancelled on the Search Date which is also the day of arrival is required." }, "dayUse": { "type": "boolean", "description": "Indicates if reservations which are day use reservation on the Search Date, is required." }, "earlyDepartures": { "type": "boolean", "description": "Indicates if reservations which checked out early on the Search Date, is required." }, "expectedArrivals": { "type": "boolean", "description": "Indicates if reservations which are expected arrivals for the Search Date and who have not yet arrived, is required." }, "expectedDepartures": { "type": "boolean", "description": "Indicates if reservations which are expected departures for the Search Date and who have not yet departed, is required." }, "extendedStays": { "type": "boolean", "description": "Indicates if reservations which have extended their stays on the Search Date, is required." }, "houseUseReservations": { "type": "boolean", "description": "Indicates if reservations where rate codes are marked as House Use Rates, is required. This flag should be used in conjunction with the Arrivals, Departures or StayOvers criteria." }, "stayovers": { "type": "boolean", "description": "Indicates if reservations which are StayOvers on the Search Date, is required." }, "stayDate": { "type": "string", "format": "date", "description": "Date for searching the reservations. This is the date for which the search types are applicable. If date is not available, the business date will be used by default." }, "roomRoutingId": { "type": "string", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "excludePseudoRoomReservations": { "type": "boolean", "description": "Indicates to exclude Pseudo room reservations." }, "excludeReservationIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system." }, "excludeVIPStatusCodes": { "type": "array", "items": { "type": "string" }, "description": "VIP status of the customer." }, "excludeSpecials": { "type": "array", "items": { "type": "string" }, "description": "Preference value for display purposes." }, "excludeFloorPreferences": { "type": "array", "items": { "type": "string" }, "description": "Preference value for display purposes." }, "excludeAdvanceCheckedIn": { "type": "boolean", "description": "Indicates to exclude Advance Checked In Reservations from search result." }, "excludeRoomFeatures": { "type": "array", "items": { "type": "string" }, "description": "Exclude the reservation(s) with provided room features from the search result." }, "playerId": { "type": "string", "description": "Player ID associated to the reservation." }, "gamingBalanceFrom": { "type": "number", "description": "Balance from." }, "gamingBalanceTo": { "type": "number", "description": "Balance to." }, "compAccountingBalanceFrom": { "type": "number", "description": "Comp Balance From" }, "compAccountingBalanceTo": { "type": "number", "description": "Comp Balance To" }, "searchTypes": { "type": "array", "items": { "$ref": "#/definitions/reservationSearchType" }, "uniqueItems": true, "description": "Represents Reservation search type Player Snapshot." }, "reservationStatuses": { "type": "array", "items": { "$ref": "#/definitions/reservationStatusType" }, "uniqueItems": true, "description": "Reservation status type for reservations search." }, "transportationCodes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Codes to be searched." }, "roomReadyStatuses": { "type": "array", "items": { "$ref": "#/definitions/roomReadyStatusType" }, "uniqueItems": true, "description": "Enum to denote the Status of Readiness messages sent to Guest Devices." }, "checkoutMessageReceived": { "type": "boolean", "description": "Fetches the reservations for which Checkout Message is received." }, "optedForCommunication": { "type": "boolean", "description": "Fetches the reservations for which reservation communication has been opted." }, "createdOn": { "type": "string", "format": "date", "description": "Fetches reservations which were created on the given property business date." }, "stayOn": { "type": "string", "format": "date", "description": "Fetches all reservations that are scheduled to stay over the selected date." }, "contactNames": { "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 82 }, "description": "Name of Contact Profile associated with Reservation." }, "taRecordLocatorList": { "type": "array", "maxItems": 30, "items": { "type": "string" }, "description": "Travel Agent Record Locators List." }, "guaranteeCodes": { "type": "array", "maxItems": 100, "items": { "type": "string", "minLength": 0, "maxLength": 20 }, "description": "Fetches the reservation having Guarantee Codes(Reservation Type) supplied here." }, "linkedName": { "type": "string", "minLength": 0, "maxLength": 50, "description": "Name of the group of Linked Reservations to be searched." }, "backToBackOnly": { "type": "boolean", "description": "Indicates that only reservations marked as Back to Back should be expected in the result." }, "backToBackDateOn": { "type": "string", "format": "date", "description": "Fetches linked Back to Back reservations with the specified Back to Back Date." }, "scheduledRoomMoveDate": { "type": "string", "format": "date", "description": "Scheduled Move Rooms Date Criteria." }, "scheduledRoomMoveStartTime": { "type": "string", "minLength": 0, "maxLength": 8, "pattern": "([0-1]?[0-9]|2[0-3]):[0-5][0-9]", "description": "Start of Scheduled Move Room Time Range Criteria (in 24 hour time format). Uses the hotel's time zone." }, "scheduledRoomMoveEndTime": { "type": "string", "minLength": 0, "maxLength": 8, "pattern": "([0-1]?[0-9]|2[0-3]):[0-5][0-9]", "description": "End of Scheduled Move Room Time Range Criteria (in 24 hour time format). Uses the hotel's time zone." }, "scheduledRoomMoveStatus": { "$ref": "#/definitions/scheduledRoomMoveStatusType", "description": "Scheduled Move Room Status Criteria." }, "checkInInitiatedBy": { "type": "string", "description": "This indicates who initiated the Check In/Advance Check In. Advance Check In functionality is available when the Advance Check In OPERA Control is active." }, "flexChar": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "description": "Search by User Defined Character Field." }, "flexNum": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "description": "Search by User Defined Number Field." }, "flexDate": { "type": "array", "items": { "type": "string" }, "uniqueItems": true, "description": "Search by User Defined Date Field." }, "preRegisteredOnly": { "type": "boolean", "description": "Fetch only reservations that are pre-registered." }, "itineraryLeg": { "type": "integer", "description": "Itinerary leg number filter; must be used with ConfirmationNumberList." }, "similaritySearch": { "type": "boolean", "description": "When true, the search will include results that are similar matches based on fields such as surname, givenName, and email." }, "includeReviewedPreArrivals": { "type": "boolean", "description": "Indicates whether to include Pre-Arrival Reservations that are currently in a Reviewed status." } } }, "reservationSearchType": { "type": "string", "enum": [ "Any", "DayUse", "Arrival", "Arrived", "Departure", "WaitList", "Cancellation", "CheckedOut", "NoShow", "Complimentary", "InHouse", "PostStayPendingBalance", "PreRegistered", "PostToRoom", "OpenFolio", "ScheduledCheckOut", "Queued", "MobileCheckout", "RegisteredAndInHouse", "ResvBlockTraces", "GuestMessages", "MassCancellation", "Operator", "Turndown", "WalkIn", "AdvanceCheckedIn", "OpenBalance", "AutoFolioSettlement", "Routing", "PlayerSnapshot" ] }, "reservationOrderBy": { "type": "string", "enum": [ "Nights", "ArrivalDate", "ArrivalDateETR", "DepartureDate", "GuestSurname", "RateAmount", "RateCode", "Room", "RoomType" ] }, "sortOrder": { "type": "string", "enum": [ "Asc", "Desc" ] }, "fetchInstructionType": { "type": "string", "enum": [ "Reservation", "ReservationID", "Indicators", "Deposits", "RevenuesAndBalances", "GuestServiceStatus", "MasterInfo", "CancellationInfo", "BlockReservations", "TaxType", "GuestDeviceNotification", "RoomAssignedByAI", "FetchChildAges", "OffshoreRates", "PostingIntervals", "PreArrivals" ] }, "roomReadyStatusType": { "type": "string", "enum": [ "Pending", "Completed", "Failed", "Sent", "Received", "Cancelled", "PendingAvailability" ] }, "searchHotelReservationsRequest": { "type": "object", "properties": { "keyTrack2": { "type": "string", "minLength": 1, "maxLength": 2000, "description": "keyTrack2 is an id which is either generated by the PMS or provided by the door lock system and which is associated to the reservation. With the keyTrack2 value a reservation can be identified." }, "discrepancy": { "$ref": "#/definitions/discrepancyEnum", "description": "Room Discrepancy reason." }, "recentlyAccessed": { "type": "boolean", "description": "Mark this reservation as recently accessed." }, "limit": { "type": "integer", "description": "Indicates maximum number of records a Web Service should return." }, "offset": { "type": "integer", "default": 0, "description": "Index or initial index of the set (page) being requested. If the index goes out of the bounds of the total set count then no data will be returned." }, "searchType": { "$ref": "#/definitions/hotelReservationSearchType", "description": "Reservation search type." }, "text": { "type": "string", "description": "Free form text field for searching all reservation fields." }, "reservationIdList": { "type": "array", "items": { "type": "string" }, "description": "Reservation IDs." }, "confirmationNumberList": { "type": "array", "items": { "type": "string" }, "description": "Confirmation numbers." }, "cancellationNumberList": { "type": "array", "items": { "type": "string" }, "description": "Cancellation numbers." }, "externalReferenceIds": { "type": "array", "items": { "type": "string" }, "description": "External Reference Ids." }, "externalSystemCodes": { "type": "array", "items": { "type": "string" }, "default": [ "External" ], "description": "Used to identify the source of the identifier (e.g., IATA, ABTA)." }, "externalReferenceLegId": { "type": "number", "description": "External reference leg number" }, "arrivalEndDate": { "type": "string", "format": "date", "description": "The ending value of the date range." }, "arrivalStartDate": { "type": "string", "format": "date", "description": "The starting value of the date range." }, "departureEndDate": { "type": "string", "format": "date", "description": "The ending value of the date range." }, "departureStartDate": { "type": "string", "format": "date", "description": "The starting value of the date range." }, "stayOnStartDate": { "type": "string", "format": "date", "description": "The starting value of the date range." }, "createdOnStartDate": { "type": "string", "format": "date", "description": "Fetches reservations created on the given property business date." }, "expectedArrivalEndTime": { "type": "string", "format": "date-time", "description": "The ending value of the time span. Uses the hotel's time zone." }, "expectedArrivalStartTime": { "type": "string", "format": "date-time", "description": "The starting value of the time span. Uses the hotel's time zone." }, "depositDueEndDate": { "type": "string", "format": "date", "description": "The ending value of the date range." }, "depositDueStartDate": { "type": "string", "format": "date", "description": "The starting value of the date range." }, "expectedReturnEndTime": { "type": "string", "format": "date-time", "description": "The ending value of the time span. Uses the hotel's time zone." }, "expectedReturnStartTime": { "type": "string", "format": "date-time", "description": "The starting value of the time span. Uses the hotel's time zone." }, "companyNames": { "type": "array", "items": { "type": "string" }, "description": "Attached profile name." }, "sourceNames": { "type": "array", "items": { "type": "string" }, "description": "Attached profile name." }, "travelAgentNames": { "type": "array", "items": { "type": "string" }, "description": "Attached profile name." }, "groupNames": { "type": "array", "items": { "type": "string" }, "description": "Attached profile name." }, "travelAgentIds": { "type": "array", "items": { "type": "string" }, "description": "Travel agent IDs." }, "companyIds": { "type": "array", "items": { "type": "string" }, "description": "Company IDs." }, "sourceIds": { "type": "array", "items": { "type": "string" }, "description": "Source IDs." }, "contactIds": { "type": "array", "items": { "type": "string" }, "description": "Contact IDs." }, "groupIds": { "type": "array", "items": { "type": "string" }, "description": "Group IDs." }, "billingContactIds": { "type": "array", "items": { "type": "string" }, "description": "Billing contact IDs." }, "profileId": { "type": "string", "description": "Profile ID." }, "commissionPaid": { "type": "boolean", "description": "Commission Paid criteria." }, "vouchersGenerated": { "type": "boolean", "description": "Reservations with/without generated vouchers." }, "membershipCardNumber": { "type": "string", "description": "Membership ID." }, "membershipLevels": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Membership levels." }, "membershipTypes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Membership types." }, "reservationsWithMembershipType": { "type": "boolean", "description": "Only reservations with a membership belonging to the specified membership type will be returned." }, "surname": { "type": "string", "description": "Family name, last name." }, "givenName": { "type": "string", "description": "Given name, first name(s)." }, "fromName": { "type": "string", "description": "From given name." }, "toName": { "type": "string", "description": "To given name." }, "anyVIPStatus": { "type": "boolean", "description": "VIP status of the customer." }, "vipCodes": { "type": "array", "items": { "type": "string" }, "description": "VIP codes." }, "guaranteeCode": { "type": "string", "description": "Guarantee code." }, "paymentMethod": { "type": "string", "description": "Payment method." }, "discountApplied": { "type": "boolean", "default": false, "description": "Fetches the reservation for which discount is applied." }, "user": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "User(s)." }, "createdBy": { "type": "string", "description": "Created by user." }, "cancelledByList": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Cancelled by user(s)." }, "cancelledOn": { "type": "string", "format": "date", "description": "Cancelled on specific date." }, "ratePlanCodes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Rate plan codes." }, "sourceCodes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Source codes." }, "marketCodes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Market codes." }, "excludeBlockReservations": { "type": "boolean", "description": "Exclude block reservations." }, "blockCriteriaHotelCode": { "type": "string", "description": "Hotel Code of the Block." }, "blockName": { "type": "string", "description": "Block name." }, "blockIds": { "type": "array", "items": { "type": "string" }, "description": "Block IDs." }, "blockCodes": { "type": "array", "items": { "type": "string" }, "description": "Block codes." }, "customReference": { "type": "string", "description": "Custom reference." }, "recordLocator": { "type": "string", "description": "GDS Record Locator." }, "orderBy": { "type": "array", "items": { "$ref": "#/definitions/hotelReservationOrderBy" }, "description": "Order by fields." }, "sortOrder": { "type": "array", "items": { "$ref": "#/definitions/sortOrderEnum" }, "uniqueItems": true, "default": [ "Asc" ], "description": "Sort order." }, "roomAssignedOnly": { "type": "boolean", "description": "Reservations with room assigned." }, "roomUnassignedOnly": { "type": "boolean", "description": "Reservations with room not assigned." }, "roomId": { "type": "string", "description": "Room number." }, "roomType": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Room type." }, "roomFeatures": { "type": "array", "items": { "type": "string" }, "description": "Room features." }, "roomSpecials": { "type": "array", "items": { "type": "string" }, "description": "Room specials." }, "roomSmokingPreference": { "type": "string", "description": "Room smoking preference." }, "roomFloorPreferences": { "type": "array", "items": { "type": "string" }, "description": "Room floor preferences." }, "housekeepingRoomStatuses": { "type": "array", "items": { "$ref": "#/definitions/housekeepingRoomStatusType" }, "uniqueItems": true, "description": "Housekeeping room statuses." }, "roomClasses": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Room classes." }, "roomRangeFrom": { "type": "string", "description": "Room range from." }, "roomRangeTo": { "type": "string", "description": "Room range to." }, "communication": { "type": "string", "description": "Attached communication (phone, fax, or email)." }, "phone": { "type": "string", "description": "Phone number." }, "email": { "type": "string", "description": "Email address." }, "profileExternalReferencesToFetch": { "type": "array", "maxItems": 10, "items": { "type": "string" }, "description": "External refs to fetch for profile." }, "resvExternalReferencesToFetch": { "type": "array", "maxItems": 10, "items": { "type": "string" }, "description": "External refs to fetch for reservation." }, "fetchInstructions": { "type": "array", "items": { "$ref": "#/definitions/hotelReservationFetchInstruction" }, "uniqueItems": true, "description": "Fetch instruction(s)." }, "allowedReservationActions": { "type": "array", "items": { "$ref": "#/definitions/hotelReservationAllowedAction" }, "uniqueItems": true, "description": "Allowed reservation actions." }, "allowPreRegistration": { "type": "boolean", "description": "Eligible for prior check in." }, "excludeNoPost": { "type": "boolean", "description": "Exclude no post flag." }, "excludePMRooms": { "type": "boolean", "description": "Exclude PM room type." }, "hasDepositBalance": { "type": "boolean", "description": "Has deposit balance." }, "hasOpenBalance": { "type": "boolean", "description": "Has open balance." }, "hasOpenFolio": { "type": "boolean", "description": "Has open folio." }, "includeScheduledCheckOut": { "type": "boolean", "description": "Include scheduled check out." }, "linkedOnly": { "type": "boolean", "description": "Linked only reservations." }, "unlinkedOnly": { "type": "boolean", "description": "Unlinked only reservations." }, "actualArrivals": { "type": "boolean", "description": "Arrivals already checked in." }, "actualDepartures": { "type": "boolean", "description": "Departures already checked out." }, "complimentaryReservations": { "type": "boolean", "description": "Reservations marked as complimentary rates." }, "dayOfArrivalCancels": { "type": "boolean", "description": "Reservations cancelled on day of arrival." }, "dayUse": { "type": "boolean", "description": "Day use reservations." }, "earlyDepartures": { "type": "boolean", "description": "Early departures." }, "expectedArrivals": { "type": "boolean", "description": "Expected arrivals not checked in." }, "expectedDepartures": { "type": "boolean", "description": "Expected departures not checked out." }, "extendedStays": { "type": "boolean", "description": "Extended stays." }, "houseUseReservations": { "type": "boolean", "description": "Reservations marked as house use rates." }, "stayovers": { "type": "boolean", "description": "StayOver reservations." }, "stayDate": { "type": "string", "format": "date", "description": "Reservation stay date." }, "roomRoutingId": { "type": "string", "description": "Room routing ID." }, "periodicFolio": { "$ref": "#/definitions/periodicFolioEnum", "description": "Periodic folio type." }, "folioSettlementTypes": { "type": "string", "description": "Comma-delimited folio settlement type codes." }, "defaultDays": { "type": "boolean", "description": "Use number of days for settlement defined for the reservation." }, "daysSinceLastAutoSettled": { "type": "number", "description": "Days since last auto settled." }, "dateSinceLastAutoSettled": { "type": "string", "format": "date", "description": "Date since last auto settled." }, "excludePseudoRoomReservations": { "type": "boolean", "description": "Exclude pseudo room reservations." }, "excludeReservationIds": { "type": "array", "items": { "type": "string" }, "description": "Reservation IDs to exclude." }, "excludeVIPStatusCodes": { "type": "array", "items": { "type": "string" }, "description": "VIP status codes to exclude." }, "excludeSpecials": { "type": "array", "items": { "type": "string" }, "description": "Specials to exclude." }, "excludeFloorPreferences": { "type": "array", "items": { "type": "string" }, "description": "Floor preferences to exclude." }, "excludeAdvanceCheckedIn": { "type": "boolean", "description": "Exclude advance checked in reservations." }, "excludeRoomFeatures": { "type": "array", "items": { "type": "string" }, "description": "Room features to exclude." }, "playerId": { "type": "string", "description": "Player ID." }, "gamingBalanceFrom": { "type": "number", "description": "Gaming balance from." }, "gamingBalanceTo": { "type": "number", "description": "Gaming balance to." }, "compAccountingBalanceFrom": { "type": "number", "description": "Comp balance from." }, "compAccountingBalanceTo": { "type": "number", "description": "Comp balance to." }, "searchTypes": { "type": "array", "items": { "$ref": "#/definitions/hotelReservationSearchType" }, "uniqueItems": true, "description": "Reservation search types." }, "reservationStatuses": { "type": "array", "items": { "$ref": "#/definitions/hotelReservationStatusType" }, "uniqueItems": true, "description": "Reservation statuses." }, "transportationCodes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Transportation codes." }, "roomReadyStatuses": { "type": "array", "items": { "$ref": "#/definitions/roomReadyStatusType" }, "uniqueItems": true, "description": "Room ready statuses." }, "checkoutMessageReceived": { "type": "boolean", "description": "Reservations for which checkout message is received." }, "optedForCommunication": { "type": "boolean", "description": "Reservations for which communication has been opted in." }, "swapShiftRoomReservationId": { "type": "string", "description": "Reservation for which room can be shifted/swapped." }, "roomSmokingPreferences": { "type": "array", "items": { "type": "string" }, "description": "Room smoking preferences." }, "roomFeaturePreferences": { "type": "array", "items": { "type": "string" }, "description": "Room feature preferences." }, "roomsFloorPreferences": { "type": "array", "items": { "type": "string" }, "description": "Rooms floor preferences." }, "contactNames": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Contact names." }, "taRecordLocatorList": { "type": "array", "maxItems": 30, "items": { "type": "string" }, "description": "TA record locator list." }, "packageCodes": { "type": "array", "maxItems": 100, "items": { "type": "string" }, "description": "Package codes." }, "inventoryItems": { "type": "array", "maxItems": 100, "items": { "type": "string" }, "description": "Inventory items." }, "guaranteeCodes": { "type": "array", "maxItems": 100, "items": { "type": "string" }, "description": "Guarantee codes." }, "linkedName": { "type": "string", "minLength": 0, "maxLength": 50, "description": "Linked group name." }, "backToBackOnly": { "type": "boolean", "description": "Mark as back-to-back only." }, "backToBackDateOn": { "type": "string", "format": "date", "description": "Back-to-back date." }, "scheduledRoomMoveDate": { "type": "string", "format": "date", "description": "Scheduled room move date." }, "scheduledRoomMoveStartTime": { "type": "string", "minLength": 0, "maxLength": 8, "pattern": "([0-1]?[0-9]|2[0-3]):[0-5][0-9]", "description": "Scheduled room move time start. Uses the hotel's time zone." }, "scheduledRoomMoveEndTime": { "type": "string", "minLength": 0, "maxLength": 8, "pattern": "([0-1]?[0-9]|2[0-3]):[0-5][0-9]", "description": "Scheduled room move time end. Uses the hotel's time zone." }, "scheduledRoomMoveStatus": { "$ref": "#/definitions/scheduledRoomMoveStatusType", "description": "Scheduled room move status." }, "excludeBackToBackReservations": { "type": "boolean", "description": "Exclude back-to-back reservations." }, "checkInInitiatedBy": { "type": "string", "description": "Who initiated check-in." }, "flexChar": { "type": "array", "items": { "type": "string" }, "description": "User-defined character field." }, "flexNum": { "type": "array", "items": { "type": "string" }, "description": "User-defined number field." }, "flexDate": { "type": "array", "items": { "type": "string" }, "description": "User-defined date field." }, "pkgCategoryToFetch": { "type": "string", "description": "Package category code to return details for." }, "pkgForecastedConsumptionDateToFetch": { "type": "string", "format": "date", "description": "Forecasted package consumption date to return details for." }, "itineraryLeg": { "type": "integer", "description": "Itinerary leg number filter; must be used with ConfirmationNumberList." }, "preRegisteredOnly": { "type": "boolean", "description": "Only fetch pre-registered reservations." }, "similaritySearch": { "type": "boolean", "description": "Include similar results in search." }, "includeReviewedPreArrivals": { "type": "boolean", "description": "Include pre-arrival reservations in reviewed status." } } }, "discrepancyEnum": { "type": "string", "enum": [ "Skip", "Sleep" ] }, "hotelReservationSearchType": { "type": "string", "enum": [ "Any", "DayUse", "Arrival", "Arrived", "Departure", "WaitList", "Cancellation", "CheckedOut", "NoShow", "Complimentary", "InHouse", "PostStayPendingBalance", "PreRegistered", "PostToRoom", "OpenFolio", "ScheduledCheckOut", "Queued", "MobileCheckout", "RegisteredAndInHouse", "ResvBlockTraces", "GuestMessages", "MassCancellation", "Operator", "Turndown", "WalkIn", "AdvanceCheckedIn", "OpenBalance", "AutoFolioSettlement", "Routing", "PlayerSnapshot", "FiscalInfo", "CorrectionPostings", "Vouchers", "ScheduledRoomMoves" ] }, "hotelReservationStatusType": { "type": "string", "enum": [ "Cancelled", "CheckedOut", "CheckedIn", "DueIn", "DueOut", "InHouse", "NoShow", "WaitList" ] }, "hotelReservationOrderBy": { "type": "string", "enum": [ "Nights", "ArrivalDate", "ArrivalDateETR", "DepartureDate", "GuestSurname", "RateAmount", "RateCode", "Room", "RoomType", "QueuePriority", "QueueDurationTime" ] }, "sortOrderEnum": { "type": "string", "enum": [ "Asc", "Desc" ] }, "hotelReservationFetchInstruction": { "type": "string", "enum": [ "Reservation", "ReservationID", "Indicators", "Deposits", "RevenuesAndBalances", "GuestServiceStatus", "MasterInfo", "CancellationInfo", "BlockReservations", "TaxType", "GuestDeviceNotification", "RoomAssignedByAI", "SwapShiftRooms", "ReservationPreferences", "FiscalInfo", "CommissionsInfo", "DepartureReservationInfo", "MultipleMemberships", "FetchChildAges", "OffshoreRates", "PostingIntervals", "PreArrivals" ] }, "hotelReservationAllowedAction": { "type": "string", "enum": [ "Cancel", "Move", "PreCharge", "PostCharge", "FacilitySchedule", "Upsell", "PreCheckIn", "PostToNoShowCancel", "NoShow", "NameChange", "Discount", "HouseKeeping", "EnrollToPrimaryMembership", "EnrollInProgress", "MemberAwardAttached" ] }, "periodicFolioEnum": { "type": "string", "enum": [ "Weekly", "Monthly", "Days" ] }, "searchExternalSystemReservationsRequest": { "type": "object", "properties": { "externalReferenceList": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "recentlyAccessed": { "type": "boolean", "description": "Mark this reservation as recently accessed." }, "limit": { "type": "integer", "description": "Indicates maximum number of records a Web Service should return." }, "offset": { "type": "integer", "default": 0, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned." }, "resvExternalReferencesToFetch": { "type": "array", "maxItems": 10, "items": { "type": "string" }, "description": "Define the external system(s) to return external reference ids for reservations. A maximum of 10 different external systems can be be provided for this parameter." }, "searchType": { "$ref": "#/definitions/externalReservationSearchType", "description": "Reservation search type." }, "hotelIds": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Hotel IDs for multi-property search." }, "text": { "type": "string", "description": "Free form text field for searching all reservation fields." }, "arrivalEndDate": { "type": "string", "format": "date", "description": "The ending value of the date range." }, "arrivalStartDate": { "type": "string", "format": "date", "description": "The starting value of the date range." }, "departureEndDate": { "type": "string", "format": "date", "description": "The ending value of the date range." }, "departureStartDate": { "type": "string", "format": "date", "description": "The starting value of the date range." }, "expectedArrivalStartTime": { "type": "string", "format": "date-time", "description": "The ending value of the time span. Uses the hotel's time zone." }, "expectedArrivalEndTime": { "type": "string", "format": "date-time", "description": "The starting value of the time span. Uses the hotel's time zone." }, "expectedReturnEndTime": { "type": "string", "format": "date-time", "description": "The ending value of the time span. Uses the hotel's time zone." }, "expectedReturnStartTime": { "type": "string", "format": "date-time", "description": "The starting value of the time span. Uses the hotel's time zone." }, "companyNames": { "type": "array", "items": { "type": "string" }, "description": "Attached company profile names." }, "travelAgentIds": { "type": "array", "items": { "type": "string" }, "description": "Travel agent IDs." }, "companyIds": { "type": "array", "items": { "type": "string" }, "description": "Company IDs." }, "sourceIds": { "type": "array", "items": { "type": "string" }, "description": "Source IDs." }, "contactIds": { "type": "array", "items": { "type": "string" }, "description": "Contact IDs." }, "groupIds": { "type": "array", "items": { "type": "string" }, "description": "Group IDs." }, "billingContactIds": { "type": "array", "items": { "type": "string" }, "description": "Billing contact IDs." }, "profileIds": { "type": "array", "items": { "type": "string" }, "description": "Profile IDs." }, "membershipCardNumber": { "type": "string", "description": "Membership Card ID." }, "membershipLevels": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Membership levels." }, "membershipTypes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Membership types." }, "surname": { "type": "string", "description": "Family name, last name." }, "givenName": { "type": "string", "description": "Given name, first name or names." }, "anyVIPStatus": { "type": "boolean", "description": "VIP status of the customer." }, "vipCodes": { "type": "array", "items": { "type": "string" }, "description": "VIP status codes." }, "guaranteeCode": { "type": "string", "description": "Guarantee code." }, "paymentMethod": { "type": "string", "description": "Payment method." }, "discountApplied": { "type": "boolean", "default": false, "description": "Reservations for which discount is applied." }, "user": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "User(s)." }, "createdBy": { "type": "string", "description": "Created by user." }, "cancelledByList": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Users who cancelled." }, "cancelledOn": { "type": "string", "format": "date", "description": "Cancelled on date." }, "ratePlanCodes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Rate plan codes." }, "sourceCodes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Source codes." }, "marketCodes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Market codes." }, "excludeBlockReservations": { "type": "boolean", "description": "If true the search result will exclude the blocks reservations." }, "blockName": { "type": "string", "description": "Block name." }, "blockIds": { "type": "array", "items": { "type": "string" }, "description": "Block IDs." }, "blockCodes": { "type": "array", "items": { "type": "string" }, "description": "Block Codes." }, "customReference": { "type": "string", "description": "Custom reference." }, "recordLocator": { "type": "string", "description": "GDS Record Locator for reservation." }, "orderBy": { "type": "array", "items": { "$ref": "#/definitions/externalReservationOrderBy" }, "description": "Order by attributes." }, "sortOrder": { "type": "array", "items": { "$ref": "#/definitions/sortOrderEnum" }, "uniqueItems": true, "default": [ "Asc" ], "description": "Sort order." }, "roomAssignedOnly": { "type": "boolean", "description": "Reservations with room assigned." }, "roomUnassignedOnly": { "type": "boolean", "description": "Reservations with room not assigned." }, "roomId": { "type": "string", "description": "Room number." }, "roomType": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Room type." }, "roomFeatures": { "type": "array", "items": { "type": "string" }, "description": "Room features." }, "roomSpecials": { "type": "array", "items": { "type": "string" }, "description": "Room specials." }, "roomSmokingPreference": { "type": "string", "description": "Room smoking preference." }, "roomFloorPreferences": { "type": "array", "items": { "type": "string" }, "description": "Room floor preferences." }, "housekeepingRoomStatuses": { "type": "array", "items": { "$ref": "#/definitions/housekeepingRoomStatusType" }, "uniqueItems": true, "description": "Housekeeping room statuses." }, "roomClasses": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Room classes." }, "roomRangeFrom": { "type": "string", "description": "Room range from." }, "roomRangeTo": { "type": "string", "description": "Room range to." }, "communication": { "type": "string", "description": "Attached communication (phone, fax, or email)." }, "phone": { "type": "string", "description": "Phone number." }, "email": { "type": "string", "description": "Email address." }, "fetchInstructions": { "type": "array", "items": { "$ref": "#/definitions/externalReservationFetchInstruction" }, "uniqueItems": true, "description": "Fetch instruction(s)." }, "allowPreRegistration": { "type": "boolean", "description": "Eligible for prior check in." }, "hasDepositBalance": { "type": "boolean", "description": "Has deposit balance." }, "hasOpenBalance": { "type": "boolean", "description": "Has open balance." }, "hasOpenFolio": { "type": "boolean", "description": "Has open folio." }, "includeScheduledCheckOut": { "type": "boolean", "description": "Include scheduled check out." }, "linkedOnly": { "type": "boolean", "description": "Only linked reservations." }, "unlinkedOnly": { "type": "boolean", "description": "Only unlinked reservations." }, "actualArrivals": { "type": "boolean", "description": "Arrivals already checked in." }, "actualDepartures": { "type": "boolean", "description": "Departures already checked out." }, "complimentaryReservations": { "type": "boolean", "description": "Reservations marked as complimentary rates." }, "dayOfArrivalCancels": { "type": "boolean", "description": "Reservations cancelled on day of arrival." }, "dayUse": { "type": "boolean", "description": "Day use reservations." }, "earlyDepartures": { "type": "boolean", "description": "Early departures." }, "expectedArrivals": { "type": "boolean", "description": "Expected arrivals not checked in." }, "expectedDepartures": { "type": "boolean", "description": "Expected departures not checked out." }, "extendedStays": { "type": "boolean", "description": "Extended stays." }, "houseUseReservations": { "type": "boolean", "description": "Reservations marked as house use." }, "stayovers": { "type": "boolean", "description": "StayOver reservations." }, "stayDate": { "type": "string", "format": "date", "description": "Reservation stay date." }, "roomRoutingId": { "type": "string", "description": "Room routing ID." }, "excludePseudoRoomReservations": { "type": "boolean", "description": "Exclude pseudo room reservations." }, "excludeReservationIds": { "type": "array", "items": { "type": "string" }, "description": "Reservation IDs to exclude." }, "excludeVIPStatusCodes": { "type": "array", "items": { "type": "string" }, "description": "VIP status codes to exclude." }, "excludeSpecials": { "type": "array", "items": { "type": "string" }, "description": "Specials to exclude." }, "excludeFloorPreferences": { "type": "array", "items": { "type": "string" }, "description": "Floor preferences to exclude." }, "excludeAdvanceCheckedIn": { "type": "boolean", "description": "Exclude advance checked in reservations." }, "excludeRoomFeatures": { "type": "array", "items": { "type": "string" }, "description": "Room features to exclude." }, "playerId": { "type": "string", "description": "Player ID." }, "gamingBalanceFrom": { "type": "number", "description": "Gaming balance from." }, "gamingBalanceTo": { "type": "number", "description": "Gaming balance to." }, "compAccountingBalanceFrom": { "type": "number", "description": "Comp balance from." }, "compAccountingBalanceTo": { "type": "number", "description": "Comp balance to." }, "searchTypes": { "type": "array", "items": { "$ref": "#/definitions/externalReservationSearchType" }, "uniqueItems": true, "description": "Reservation search types." }, "reservationStatuses": { "type": "array", "items": { "$ref": "#/definitions/externalReservationStatusType" }, "uniqueItems": true, "description": "Reservation statuses." }, "transportationCodes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Transportation codes." }, "roomReadyStatuses": { "type": "array", "items": { "$ref": "#/definitions/roomReadyStatusType" }, "uniqueItems": true, "description": "Room ready statuses." }, "checkoutMessageReceived": { "type": "boolean", "description": "Reservation with checkout message received." }, "optedForCommunication": { "type": "boolean", "description": "Opted for communication flag." } }, "required": [ "externalReferenceList" ] }, "externalReservationSearchType": { "type": "string", "enum": [ "Any", "DayUse", "Arrival", "Arrived", "Departure", "WaitList", "Cancellation", "CheckedOut", "NoShow", "Complimentary", "InHouse", "PostStayPendingBalance", "PreRegistered", "PostToRoom", "OpenFolio", "ScheduledCheckOut", "Queued", "MobileCheckout", "RegisteredAndInHouse", "ResvBlockTraces", "GuestMessages", "MassCancellation", "Operator", "Turndown", "WalkIn", "AdvanceCheckedIn", "OpenBalance", "AutoFolioSettlement", "Routing", "PlayerSnapshot" ] }, "externalReservationOrderBy": { "type": "string", "enum": [ "Nights", "ArrivalDate", "ArrivalDateETR", "DepartureDate", "GuestSurname", "RateAmount", "RateCode", "Room", "RoomType" ] }, "externalReservationStatusType": { "type": "string", "enum": [ "Cancelled", "CheckedOut", "CheckedIn", "DueIn", "DueOut", "InHouse", "NoShow", "WaitList" ] }, "externalReservationFetchInstruction": { "type": "string", "enum": [ "Reservation", "ReservationID", "Indicators", "Deposits", "RevenuesAndBalances", "GuestServiceStatus", "MasterInfo", "CancellationInfo", "BlockReservations", "TaxType", "GuestDeviceNotification", "RoomAssignedByAI", "OffshoreRates", "PostingIntervals" ] }, "searchPreConfiguredRoutingInstructionsRequest": { "type": "object", "properties": { "rateCode": { "type": "string" }, "promotionCodes": { "type": "array", "maxItems": 4000, "items": { "type": "string" }, "description": "Promotion Code for ComplimentaryRouting" }, "guestName": { "type": "string", "description": "Attached profile name" }, "guestIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "companyName": { "type": "string", "description": "Attached profile name" }, "companyIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "groupName": { "type": "string", "description": "Attached profile name" }, "groupIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "travelAgentName": { "type": "string", "description": "Attached profile name" }, "travelAgentIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "sourceName": { "type": "string", "description": "Attached profile name" }, "sourceIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "contactName": { "type": "string", "description": "Attached profile name" }, "contactIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "billingContactName": { "type": "string", "description": "Attached profile name" }, "billingContactIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "addresseeName": { "type": "string", "description": "Attached profile name" }, "addresseeIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "reservationId": { "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA reservation ID which is used to find reservation from OPERA. This ID is a primary identification of a reservation in OPERA." } } }, "searchRateInfoRequest": { "type": "object", "properties": { "currencyCode": { "type": "string", "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code." }, "summaryInfo": { "type": "boolean", "description": "Flag to indicate if summary information is required." }, "criteriaStartDate": { "type": "string", "format": "date" }, "criteriaEndDate": { "type": "string", "format": "date" }, "adults": { "type": "integer", "description": "Defines the number of Adults." }, "children": { "type": "integer", "description": "Defines the number of Children." }, "childAge": { "type": "array", "items": { "type": "integer" }, "description": "Age of a child in years." }, "bucket1Count": { "type": "integer", "description": "Number of children classified under the first Age Qualifying Group(Child Bucket#1)." }, "bucket2Count": { "type": "integer", "description": "Number of children classified under the second Age Qualifying Group(Child Bucket#2)." }, "bucket3Count": { "type": "integer", "description": "Number of children classified under the third Age Qualifying Group(Child Bucket#3)." }, "bucket4Count": { "type": "integer", "description": "Number of children classified under the fourth Age Qualifying Group(Child Bucket#4)." }, "bucket5Count": { "type": "integer", "description": "Number of children classified under the fifth Age Qualifying Group(Child Bucket#5)." }, "detailDate": { "type": "string", "format": "date", "description": "Required when detailed results are needed. The date for the rate detail is needed." }, "blockId": { "type": "string", "description": "A unique identifying value assigned by the creating system. Reference for block." }, "blockIdType": { "type": "string", "description": "A reference to the type of object defined by the UniqueID element." }, "id": { "type": "string", "description": "A unique identifying value assigned by the creating system." }, "idExtension": { "type": "integer", "description": "Additional identifying value assigned by the creating system." }, "idContext": { "type": "string", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA)." }, "type": { "type": "string", "description": "A reference to the type of object defined by the UniqueID element." }, "ratePlanCode": { "type": "string", "description": "Used for codes in the OPERA Code tables. Example: 1, 101, 101.EQP, 101.EQP.X" }, "effectiveRateEnd": { "type": "array", "items": { "type": "string", "format": "date" }, "description": "The ending value(s) of the date range." }, "effectiveRateStart": { "type": "array", "items": { "type": "string", "format": "date" }, "description": "The starting value(s) of the date range." }, "roomType": { "type": "string", "description": "Code for the room type, eg 1, 101, 101.EQP, or 101.EQP.X" } } }, "postDeletePreCheckInReservationRequest": { "type": "object", "properties": { "resvIDExtension": { "type": "integer", "description": "Additional identifying value assigned by the creating system." }, "arrivalTime": { "type": "string", "format": "date-time", "description": "The time at which the guest arrives at the hotel. Uses the hotel's time zone." }, "roomId": { "type": "string", "description": "Room Number to be assigned to the reservation." }, "guestPreferredCurrency": { "type": "string", "description": "Currency code preferred by guest." }, "allowMobileViewFolio": { "type": "boolean", "description": "Attribute AllowMobileViewFolio is set to true when the reservation is eligible for viewing folio using mobile device." }, "paymentMethodDescription": { "type": "array", "items": { "type": "string" } }, "paymentMethodFolioView": { "type": "array", "items": { "type": "integer" } }, "paymentMethod": { "type": "array", "items": { "type": "string" } }, "attachCreditCardToProfile": { "type": "boolean", "description": "Attach the credit card to profile." }, "cardHolderName": { "type": "string" }, "cardNumber": { "type": "string" }, "cardNumberLast4Digits": { "type": "string" }, "cardNumberMasked": { "type": "string" }, "cardOrToken": { "type": "string", "enum": [ "CardNumber", "Token" ], "description": "Simple type for indicating if credit card number is tokenized." }, "cardType": { "type": "string", "enum": [ "Ab", "Am", "Ax", "Cb", "Dc", "Ds", "Dt", "Ec", "Er", "Jc", "Jl", "Mc", "Nb", "So", "St", "Sw", "Va", "Xy", "Zz", "Cp", "Cu" ], "description": "This is required for Credit Card Payment Methods. This indicates the type of Credit Card associated with this payment method." }, "expirationDate": { "type": "string", "format": "date", "description": "Expiration date of the credit card" }, "expirationDateExpired": { "type": "boolean" }, "expirationDateMasked": { "type": "string", "description": "Masked Expiration date of the credit card" }, "processing": { "type": "string", "enum": [ "Eft", "Manual" ] }, "swiped": { "type": "boolean" }, "userDefinedCardType": { "type": "string", "description": "Indicates the user defined credit card type if credit card type from a defined list is not provided" }, "cardId": { "type": "string", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "cardIdIDExtension": { "type": "integer", "description": "Additional identifying value assigned by the creating system." }, "cardIdIDContext": { "type": "string", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA)." }, "cardIdType": { "type": "string", "description": "A reference to the type of object defined by the UniqueID element." }, "currentAuthorizedAmount": { "type": "number", "description": "A monetary amount." }, "authorizedAmountCurrencyCode": { "type": "string", "description": "Provides a currency code to reflect the currency in which an amount may be expressed." }, "approvalAmountNeeded": { "type": "number", "description": "A monetary amount." }, "approvalAmountCurrencyCode": { "type": "string", "description": "Provides a currency code to reflect the currency in which an amount may be expressed." }, "balanceAmount": { "type": "number", "description": "A monetary amount." }, "balanceCurrencyCode": { "type": "string", "description": "Provides a currency code to reflect the currency in which an amount may be expressed." }, "authorizationRuleCode": { "type": "integer", "description": "The authorization rule code." }, "authorizationRuleAmount": { "type": "number", "description": "A monetary amount." }, "authorizationRuleCurrencyCode": { "type": "string", "description": "Provides a currency code to reflect the currency in which an amount may be expressed." }, "authorizationRulePercent": { "type": "number", "description": "A percentage value if the authorization rule is percentage based." }, "emailFolio": { "type": "boolean" }, "emailFolioID": { "type": "string", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "emailFolioIDExtension": { "type": "integer", "description": "Additional identifying value assigned by the creating system." }, "emailFolioIDContext": { "type": "string", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA)." }, "emailFolioIDType": { "type": "string", "description": "A reference to the type of object defined by the UniqueID element." }, "emailFolioCreateDateTime": { "type": "string", "format": "date-time", "description": "Time stamp of the creation. Uses the hotel's time zone." }, "emailFolioCreatorID": { "type": "string", "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation." }, "emailFolioEmailAddress": { "type": "string", "description": "Defines the e-mail address." }, "emailFolioEmailFormat": { "type": "string", "enum": [ "Html", "Text" ], "description": "Supported Email format." }, "emailFolioLastModifierID": { "type": "string", "description": "Identifies the last software system or person to modify a record." }, "emailFolioLastModifyDateTime": { "type": "string", "format": "date-time", "description": "Time stamp of last modification. Uses the hotel's time zone." }, "emailFolioOrderSequence": { "type": "number", "description": "Display Order sequence." }, "emailFolioPrimaryInd": { "type": "boolean", "description": "When true, indicates a primary information." }, "emailFolioPurgeDate": { "type": "string", "format": "date", "description": "Date an item will be purged from a database (e.g., from a live database to an archive)." }, "emailFolioType": { "type": "string", "description": "Defines the purpose of the e-mail address (e.g. personal, business, listserve)." }, "emailFolioTypeDescription": { "type": "string", "description": "Describes the Type code" }, "arrivalCarrierCode": { "type": "string" }, "arrivalDateTime": { "type": "string", "format": "date-time", "description": "Uses the hotel's time zone." }, "arrivalStationCode": { "type": "string" }, "arrivalTransportCode": { "type": "string" }, "arrivalTransportationReqd": { "type": "boolean" }, "arrivalType": { "type": "string" }, "arrivalComments": { "type": "string" } } }, "reservationStatusType": { "type": "string", "description": "Simple type for indicating the reservation status.", "enum": [ "Cancelled", "CheckedOut", "CheckedIn", "DueIn", "DueOut", "InHouse", "NoShow", "WaitList" ] } }, "tags": [ { "name": "ReservationExternal", "description": "The Reservation External module provides operations for OPERA Cloud to access reservations from external interfaces." }, { "name": "Reservation", "description": " The REST APIs allow you to perform all actions related to reservations from creating a new reservation, to adding on sharers, updating packages, item inventory and even pre-checking in a reservation." }, { "name": "RSVStats", "description": "The Reservation Statistics Service provides statistical data for reservations that exist in OPERA Cloud." } ], "externalDocs": { "description": "Find out more about Oracle Hospitality", "url": "https://docs.oracle.com/en/industries/hospitality/integration_platforms.html" } }