{
"swagger": "2.0",
"info": {
"title": "OPERA Cloud Cashiering Outbound API",
"description": "APIs to cater for Cashiering related external (outbound) functionality with OPERA. These APIs facilitate various operations related to getting data from an external system, and inserting it into OPERA.
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": "/csh/v1", "produces": [ "application/json" ], "paths": { "/hotels/{hotelId}/memberships/{membershipId}/compRedemptions": { "get": { "summary": "Operation to get complimentary redemptions for a guest having PTS Membership Type", "description": "You can use this API to get complimentary redemptions for a guest having PTS Membership TypeOperationId:getCompRedemptions
", "operationId": "getCompRedemptions", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Membership number of the guest in the reservation" }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$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 type for Complimentary Redemptions retrieval.", "schema": { "$ref": "#/definitions/fetchCompRedemptionsRS" } }, "204": { "description": "CompRedemptions 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": [ "Cashiering" ] } }, "/hotels/{hotelId}/memberships/{membershipId}/compRedemptionAuthorizations": { "put": { "summary": "Operation to authorize complimentary redemptions for a guest having PTS Membership Type", "description": "You can use this API to authorize complimentary redemptions for a guest having PTS Membership TypeOperationId:authorizeCompRedemptions
", "operationId": "authorizeCompRedemptions", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Membership number of the guest in the reservation" }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel" }, { "name": "authorizeCompRedemptions", "in": "body", "required": true, "description": "Request type for Complimentary Redemptions authorization.", "schema": { "allOf": [ { "$ref": "#/definitions/authorizeCompRedemptionsRQ" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$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 type of Complimentary Redemptions authorization.", "schema": { "$ref": "#/definitions/authorizeCompRedemptionsRS" } }, "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": [ "Cashiering" ] } }, "/hotels/{hotelId}/memberships/{membershipId}/compRedemptionPostings": { "post": { "summary": "Operation to post complimentary redemptions for a guest having PTS Membership Type", "description": "You can use this API to post complimentary redemptions for a guest having PTS Membership TypeOperationId:postCompRedemptions
", "operationId": "postCompRedemptions", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Membership number of the guest in the reservation" }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel" }, { "name": "postCompRedemptions", "in": "body", "required": true, "description": "Request type of Complimentary Redemptions posting.", "schema": { "allOf": [ { "$ref": "#/definitions/postCompRedemptionsRQ" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$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 type for Complimentary Redemptions posting.", "schema": { "$ref": "#/definitions/postCompRedemptionsRS" } }, "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": [ "Cashiering" ] } }, "/hotels/{hotelId}/memberships/{membershipId}/compRedemptionReversals": { "post": { "summary": "Operation to reverse complimentary redemptions for a guest having PTS Membership Type", "description": "You can use this API to reverse complimentary redemptions for a guest having PTS Membership TypeOperationId:reverseCompRedemptions
", "operationId": "reverseCompRedemptions", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Membership number of the guest in the reservation" }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel" }, { "name": "reverseCompRedemptions", "in": "body", "required": true, "description": "Request type of Complimentary Redemptions reversal.", "schema": { "allOf": [ { "$ref": "#/definitions/reverseCompRedemptionsRQ" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$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": [ "Cashiering" ] } }, "/hotels/{hotelId}/asyncCompPostingsApproval": { "put": { "summary": "Operation to request for submitting bulk comp postings for vendor approval.", "description": "The API will only submit the request to the vendor and does not wait for the response and it is an asynchronous API. Also, the caller of the API will get an HTTP 200 response code.OperationId:asyncApproveCompPostings
", "operationId": "asyncApproveCompPostings", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel" }, { "name": "postings", "in": "body", "required": true, "description": "Request object to submit comp transactions request in bulk to gaming system.", "schema": { "allOf": [ { "$ref": "#/definitions/bulkCompTransactionsCriteriaType" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$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 for bulk submit comp transactions request.", "schema": { "$ref": "#/definitions/sendBulkCompTransactionsStatus" } }, "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": [ "Cashiering" ] } }, "/hotels/{hotelId}/compPostingsApproval": { "put": { "summary": "Operation to request for comp postings approval.", "description": "You can use this API to submit Comp Transactions.OperationId:approveCompPostings
", "operationId": "approveCompPostings", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel" }, { "name": "postings", "in": "body", "required": true, "description": "Request object to submit comp transactions request to gaming system", "schema": { "allOf": [ { "$ref": "#/definitions/compTransactionsCriteriaType" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$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 for submit comp transactions request.", "schema": { "$ref": "#/definitions/sendCompTransactionsStatus" } }, "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": [ "Cashiering" ] } }, "/hotels/{hotelId}/compPostingsReversal": { "put": { "summary": "Operation to request for comp postings reversal.", "description": "You can use this API to reverse Comp Transactions.OperationId:reverseCompPostings
", "operationId": "reverseCompPostings", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel" }, { "name": "postings", "in": "body", "required": true, "description": "Request object for comp postings reversal to be sent to the gaming system.", "schema": { "allOf": [ { "$ref": "#/definitions/compTransactionsCriteriaType" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$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": [ "Cashiering" ] } } }, "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 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" }, "Accept-Language": { "name": "Accept-Language", "type": "string", "description": "Language code", "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": { "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 } } }, "sendBulkCompTransactionsStatus": { "type": "object", "properties": { "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "sendCompTransactionsStatus": { "type": "object", "properties": { "compPostings": { "description": "List of transactions processed by the vendor.", "$ref": "#/definitions/compTransactionsInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "compTransactionsInfoType": { "type": "array", "description": "List of comp transactions.", "maxItems": 4000, "items": { "$ref": "#/definitions/compTransactionInfoType" } }, "compTransactionInfoType": { "type": "object", "description": "Transaction information being processed by the vendor.", "properties": { "transactionId": { "description": "Transaction Number for which request is being submitted.", "type": "number" }, "transactionCode": { "description": "Transaction code.", "type": "string", "minLength": 0, "maxLength": 200 }, "transactionDescription": { "description": "Transaction description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "roomId": { "description": "Room number associated with the transaction.", "type": "string", "minLength": 0, "maxLength": 20 }, "confirmationNo": { "description": "Confirmation number associated with the transaction.", "type": "string", "minLength": 0, "maxLength": 50 }, "approvalDate": { "description": "Approval date of the posting.", "type": "string", "format": "date", "maxLength": 8 }, "approvalStatus": { "description": "Approval status of the posting.", "type": "string", "minLength": 0, "maxLength": 20 }, "approvalCode": { "description": "Approval code of the posting.", "type": "string", "minLength": 0, "maxLength": 20 }, "approvalMessage": { "description": "Approval message of the posting coming from the vendor.", "type": "string", "minLength": 0, "maxLength": 200 }, "amount": { "description": "Transaction amount.", "$ref": "#/definitions/currencyAmountType" }, "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 } } }, "cashierId": { "type": "number", "description": "The Cashier ID of the Cashier who is currently processing the transaction(s)." }, "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 } } }, "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" ] }, "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" } } }, "fetchCompRedemptionsRS": { "type": "object", "description": "Response type for retrieval of Complimentary Redemption codes and their respective Available Amount.", "properties": { "compRedemptions": { "description": "Complimentary Redemption codes and their respective Available Amount.", "$ref": "#/definitions/fetchCompRedemptionsRSCompRedemptionsType" } } }, "fetchCompRedemptionsRSCompRedemptionsType": { "type": "array", "description": "Collection of Complimentary Redemption codes and their respective Available Amount.", "maxItems": 4000, "items": { "$ref": "#/definitions/fetchCompRedemptionsRSCompRedemptionType" } }, "fetchCompRedemptionsRSCompRedemptionType": { "type": "object", "description": "Information about a Complimentary Redemption code and its Available Amount.", "properties": { "code": { "description": "The associated redemption code.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of the Complimentary Redemption code.", "type": "string", "minLength": 0, "maxLength": 2000 }, "availableAmount": { "description": "Available Amount of the Complimentary Redemption code.", "$ref": "#/definitions/currencyAmountType" } } }, "authorizeCompRedemptionsRQ": { "type": "object", "description": "Request type of Complimentary Redemptions for approval.", "properties": { "compRedemptions": { "description": "Complimentary Redemptions for approval.", "type": "object", "$ref": "#/definitions/authorizeCompRedemptionsRQCompRedemptionsType" } } }, "authorizeCompRedemptionsRQCompRedemptionsType": { "type": "array", "description": "Collection of Complimentary Redemptions for approval.", "maxItems": 4000, "items": { "$ref": "#/definitions/authorizeCompRedemptionsRQCompRedemptionType" } }, "authorizeCompRedemptionsRQCompRedemptionType": { "type": "object", "description": "Information about a Complimentary Redemption for approval.", "properties": { "amount": { "description": "The amount to redeem when posting a payment.", "$ref": "#/definitions/currencyAmountType" }, "code": { "description": "The associated redemption code.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of the Complimentary Redemption code.", "type": "string", "minLength": 0, "maxLength": 2000 }, "availableAmount": { "description": "Available Amount of the Complimentary Redemption code.", "$ref": "#/definitions/currencyAmountType" } } }, "authorizeCompRedemptionsRS": { "type": "object", "description": "Response type of Complimentary Redemptions for approval.", "properties": { "compRedemptions": { "description": "Complimentary Redemption codes and their respective Approval Code.", "type": "object", "$ref": "#/definitions/authorizeCompRedemptionsRSCompRedemptionsType" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "authorizeCompRedemptionsRSCompRedemptionsType": { "type": "array", "description": "Collection of Complimentary Redemption codes and their respective Approval Code.", "maxItems": 4000, "items": { "$ref": "#/definitions/authorizeCompRedemptionsRSCompRedemptionType" } }, "authorizeCompRedemptionsRSCompRedemptionType": { "type": "object", "description": "Information about a Complimentary Redemption including its approval code.", "properties": { "code": { "description": "The associated Complimentary Redemption code.", "type": "string", "minLength": 0, "maxLength": 20 }, "approvalCode": { "description": "Approval Code of the Complimentary Redemption.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "postCompRedemptionsRQ": { "type": "object", "description": "Request type of Complimentary Redemptions posting.", "properties": { "compRedemptions": { "description": "Complimentary Redemptions to post as payment.", "$ref": "#/definitions/postCompRedemptionsRQCompRedemptionsType" } } }, "postCompRedemptionsRQCompRedemptionsType": { "type": "array", "description": "Collection of Complimentary Redemptions for posting.", "maxItems": 4000, "items": { "$ref": "#/definitions/postCompRedemptionsRQCompRedemptionType" } }, "postCompRedemptionsRQCompRedemptionType": { "type": "object", "description": "Information about a Complimentary Redemption for posting.", "properties": { "amount": { "description": "The amount to redeem when posting a payment.", "$ref": "#/definitions/currencyAmountType" }, "code": { "description": "The associated redemption code.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of the Complimentary Redemption code.", "type": "string", "minLength": 0, "maxLength": 2000 }, "availableAmount": { "description": "Available Amount of the Complimentary Redemption code.", "$ref": "#/definitions/currencyAmountType" }, "approvalCode": { "description": "Approval Code of the Complimentary Redemption.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "postCompRedemptionsRS": { "type": "object", "description": "Response type of Complimentary Redemptions for posting.", "properties": { "compRedemptions": { "description": "Complimentary Redemption codes and their respective Approval Code.", "type": "object", "$ref": "#/definitions/postCompRedemptionsRSCompRedemptionsType" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "postCompRedemptionsRSCompRedemptionsType": { "type": "array", "description": "Collection of Complimentary Redemption codes and their respective Approval Code.", "maxItems": 4000, "items": { "$ref": "#/definitions/postCompRedemptionsRSCompRedemptionType" } }, "postCompRedemptionsRSCompRedemptionType": { "type": "object", "description": "Information about a Complimentary Redemption including its approval code.", "properties": { "code": { "description": "The associated Complimentary Redemption code.", "type": "string", "minLength": 0, "maxLength": 20 }, "approvalCode": { "description": "Approval Code of the Complimentary Redemption.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "status": { "type": "object", "description": "Response Body.", "properties": { "warnings": { "$ref": "#/definitions/warningsType" }, "links": { "$ref": "#/definitions/links" } } }, "reverseCompRedemptionsRQ": { "type": "object", "description": "Request type of Complimentary Redemptions reversal.", "properties": { "compRedemptions": { "description": "Complimentary Redemptions for reversal.", "$ref": "#/definitions/reverseCompRedemptionsRQCompRedemptionsType" } } }, "reverseCompRedemptionsRQCompRedemptionsType": { "type": "array", "description": "Collection of Complimentary Redemptions for reversal.", "maxItems": 4000, "items": { "$ref": "#/definitions/reverseCompRedemptionsRQCompRedemptionType" } }, "reverseCompRedemptionsRQCompRedemptionType": { "type": "object", "description": "Information about a Complimentary Redemption for reversal.", "properties": { "amount": { "description": "The amount to reverse.", "$ref": "#/definitions/currencyAmountType" }, "code": { "description": "The associated redemption code.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of the Complimentary Redemption code.", "type": "string", "minLength": 0, "maxLength": 2000 }, "approvalCode": { "description": "Approval Code of the Complimentary Redemption.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "reverseCompRedemptionsRS": { "type": "object", "description": "Response type of Complimentary Redemptions for reversal", "properties": { "warnings": { "$ref": "#/definitions/warningsType" } } }, "compTransactionsCriteriaType": { "type": "object", "description": "Contains all transactions to be submitted to the vendor", "properties": { "compPostings": { "description": "List of transactions to be submitted to the vendor.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/compTransactionType" } } } }, "bulkCompTransactionsCriteriaType": { "type": "object", "description": "Contains all transactions to be submitted to the vendor", "properties": { "compPostings": { "description": "List of transactions to be submitted to the vendor.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/bulkCompTransactionType" } } } }, "bulkCompTransactionType": { "type": "object", "description": "Contains the transaction to be submitted to the vendor", "properties": { "amount": { "description": "Transaction amount.", "$ref": "#/definitions/currencyAmountType" }, "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 }, "membershipId": { "description": "Membership number.", "type": "string", "minLength": 0, "maxLength": 100 }, "membershipType": { "description": "Membership number.", "type": "string", "minLength": 0, "maxLength": 100 }, "authorizerId": { "description": "Authorizer Id.", "$ref": "#/definitions/uniqueID_Type" }, "guestNameId": { "description": "Guest unique identifier.", "$ref": "#/definitions/uniqueID_Type" }, "resvNameId": { "description": "Reservation id.", "$ref": "#/definitions/uniqueID_Type" }, "confirmationNo": { "description": "Confirmation number associated with the transaction.", "type": "string", "minLength": 0, "maxLength": 50 }, "roomId": { "description": "Room number associated with the transaction.", "type": "string", "minLength": 0, "maxLength": 20 }, "compId": { "description": "Comp number associated with the transaction.", "type": "string", "minLength": 0, "maxLength": 50 }, "folioNo": { "description": "Window number where the transaction is posted.", "type": "number" }, "subGroup": { "description": "Subgroup for the transaction.", "type": "string", "minLength": 0, "maxLength": 100 }, "transactionId": { "description": "Transaction Number for which request is being submitted.", "type": "number" }, "transactionCode": { "description": "Transaction code.", "type": "string", "minLength": 0, "maxLength": 200 }, "transactionDescription": { "description": "Transaction description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "transactionDate": { "description": "Transaction date of the posting.", "type": "string", "format": "date", "maxLength": 8 }, "userName": { "description": "User name.", "type": "string", "minLength": 0, "maxLength": 80 }, "externalUserId": { "description": "External user id.", "$ref": "#/definitions/uniqueID_Type" }, "cashierId": { "description": "Numeric ID of the cashier.", "type": "number" }, "generateCompTransactions": { "type": "array", "description": "List of comp transactions.", "maxItems": 4000, "items": { "$ref": "#/definitions/generateCompTransactionType" } } } }, "generateCompTransactionType": { "type": "object", "description": "Contains the transaction generate to be submitted to the vendor", "properties": { "amount": { "description": "Transaction amount.", "$ref": "#/definitions/currencyAmountType" }, "transactionId": { "description": "Transaction Number for which request is being submitted.", "type": "number" }, "transactionCode": { "description": "Transaction code.", "type": "string", "minLength": 0, "maxLength": 200 }, "transactionDescription": { "description": "Transaction description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "transactionDate": { "description": "Transaction date of the posting.", "type": "string", "format": "date", "maxLength": 8 } } }, "compTransactionType": { "type": "object", "description": "Contains the transaction to be submitted to the vendor", "properties": { "amount": { "description": "Transaction amount.", "$ref": "#/definitions/currencyAmountType" }, "postedAmount": { "description": "Posted amount.", "$ref": "#/definitions/currencyAmountType" }, "debit": { "description": "Debit amount.", "$ref": "#/definitions/currencyAmountType" }, "credit": { "description": "Credit amount.", "$ref": "#/definitions/currencyAmountType" }, "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 }, "membershipId": { "description": "Membership number.", "type": "string", "minLength": 0, "maxLength": 100 }, "membershipType": { "description": "Membership number.", "type": "string", "minLength": 0, "maxLength": 100 }, "approvalDate": { "description": "Approval date of the posting.", "type": "string", "format": "date", "maxLength": 8 }, "approvalStatus": { "description": "Approval status of the posting.", "type": "string", "minLength": 0, "maxLength": 20 }, "approvalCode": { "description": "Approval code of the posting.", "type": "string", "minLength": 0, "maxLength": 20 }, "authorizerId": { "description": "Authorizer Id.", "$ref": "#/definitions/uniqueID_Type" }, "guestNameId": { "description": "Guest unique identifier.", "$ref": "#/definitions/uniqueID_Type" }, "resvNameId": { "description": "Reservation id.", "$ref": "#/definitions/uniqueID_Type" }, "confirmationNo": { "description": "Confirmation number associated with the transaction.", "type": "string", "minLength": 0, "maxLength": 50 }, "roomId": { "description": "Room number associated with the transaction.", "type": "string", "minLength": 0, "maxLength": 20 }, "compId": { "description": "Comp number associated with the transaction.", "type": "string", "minLength": 0, "maxLength": 50 }, "folioNo": { "description": "Window number where the transaction is posted.", "type": "number" }, "subGroup": { "description": "Subgroup for the transaction.", "type": "string", "minLength": 0, "maxLength": 100 }, "transactionAmount": { "description": "Transaction amount.", "$ref": "#/definitions/currencyAmountType" }, "transactionId": { "description": "Transaction Number for which request is being submitted.", "type": "number" }, "transactionCode": { "description": "Transaction code.", "type": "string", "minLength": 0, "maxLength": 200 }, "transactionDescription": { "description": "Transaction description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "transactionStatus": { "description": "Transaction status.", "type": "string", "minLength": 0, "maxLength": 100 }, "transactionDate": { "description": "Transaction date of the posting.", "type": "string", "format": "date", "maxLength": 8 }, "userName": { "description": "User name.", "type": "string", "minLength": 0, "maxLength": 80 }, "externalUserId": { "description": "External user id.", "$ref": "#/definitions/uniqueID_Type" }, "cashierId": { "description": "Numeric ID of the cashier.", "$ref": "#/definitions/cashierId" } } } }, "tags": [ { "name": "Cashiering", "description": "Cashiering module provides APIs to service front desk billing requirements, as well as any requirements related to a reservation's folio. You can retrieve a guest folio, post billing charges to guest folio, add routing instructions to a reservation, view authorization history, all the way through to checking the guest out using the postCheckOut API." } ], "externalDocs": { "description": "Find out more about Oracle Hospitality", "url": "https://docs.oracle.com/en/industries/hospitality/integration_platforms.html" } }