OPERA Cloud Cashiering Asynchronous API

APIs to cater for Cashiering related asynchronous functionality in OPERA Cloud. Compatible with OPERA Cloud release 26.2.0.0. 2 operation(s) documented; base path /csh/async/v1. Harvested verbatim from Oracle's public hospitality-api-docs repository (Swagger 2.0, release 26.2.0.0).

OpenAPI Specification

oracle-hospitality-property-v1-cshasync.json Raw ↑
{
  "swagger": "2.0",
  "info": {
    "title": "OPERA Cloud Cashiering Asynchronous API",
    "description": "APIs to cater for Cashiering related asynchronous functionality in OPERA Cloud.<br /><br /> Compatible with OPERA Cloud release 26.2.0.0.<br /><br /><p> 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.</p>",
    "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/async/v1",
  "produces": [
    "application/json"
  ],
  "paths": {
    "/hotels/{hotelId}/financialPostingsNetVat": {
      "post": {
        "summary": "Get Financial Postings with Net and Vat breakdown.",
        "description": "You can use this API to get Financial postings with Net and Vat breakdown. <p><strong>OperationId:</strong>startFinancialPostingsAsync</p> <p>This API allows a time span of <strong>15</strong> days.</p>",
        "operationId": "startFinancialPostingsAsync",
        "x-interaction": [
          "async-polling"
        ],
        "responses": {
          "202": {
            "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 process status resource"
              }
            },
            "description": "Location of process status resource"
          }
        },
        "parameters": [
          {
            "name": "hotelId",
            "in": "path",
            "required": true,
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Unique ID of the hotel"
          },
          {
            "name": "netvatcriteriatype",
            "in": "body",
            "required": true,
            "description": "Request object for fetching financial postings with net vat asynchronously.",
            "schema": {
              "$ref": "#/definitions/netvatcriteriatype"
            }
          },
          {
            "$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/Accept-Language"
          }
        ],
        "consumes": [
          "application/json;charset=UTF-8"
        ],
        "produces": [
          "application/json;charset=UTF-8"
        ],
        "tags": [
          "CashieringAsync"
        ]
      }
    },
    "/hotels/{hotelId}/financialPostingsNetVat/{statusId}": {
      "head": {
        "summary": "Check status of financial postings process",
        "description": "Use this to check whether the response is ready yet. You can get  the value of statusId with startFinancialPostingsAsync API response (under header location). <p><strong>OperationId:</strong>getFinancialPostingsProcessStatusAsync</p>",
        "operationId": "getFinancialPostingsProcessStatusAsync",
        "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"
              },
              "Status": {
                "type": "string",
                "description": "Status of the requested process.",
                "enum": [
                  "Processing",
                  "Invalid"
                ]
              },
              "Cache-Control": {
                "type": "string",
                "description": "number of seconds to wait before polling again.",
                "x-example": "max-age=10"
              }
            },
            "description": "Response for status of scheduled asynchronous process."
          },
          "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"
              },
              "Status": {
                "type": "string",
                "description": "Status of the requested process.",
                "enum": [
                  "Completed"
                ]
              },
              "Location": {
                "type": "string",
                "description": "Location of newly created resource once the status of process run is Complete."
              }
            },
            "description": "Response for status of scheduled asynchronous process."
          }
        },
        "parameters": [
          {
            "name": "statusId",
            "in": "path",
            "required": true,
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          {
            "name": "hotelId",
            "in": "path",
            "required": true,
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "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/x-hotelid"
          },
          {
            "$ref": "#/parameters/Accept-Language"
          }
        ],
        "consumes": [
          "application/json;charset=UTF-8"
        ],
        "produces": [
          "application/json;charset=UTF-8"
        ],
        "tags": [
          "CashieringAsync"
        ]
      },
      "get": {
        "summary": "Get results of Financial Postings with Net and Vat breakdown.",
        "description": "This API returns response for the process initiated with startFinancialPostingsAsync. You can get the value of statusId with getFinancialPostingsProcessStatusAsync API response (under header location). <p><strong>OperationId:</strong>getFinancialPostingsAsync</p>",
        "operationId": "getFinancialPostingsAsync",
        "parameters": [
          {
            "name": "hotelId",
            "in": "path",
            "required": true,
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Unique ID of the hotel"
          },
          {
            "name": "statusId",
            "in": "path",
            "required": true,
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          {
            "$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 fetching the Posting Journal.",
            "schema": {
              "$ref": "#/definitions/financialPostingsNetVat"
            }
          },
          "204": {
            "description": "FinancialPostings not found."
          }
        },
        "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'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"
    }
  },
  "definitions": {
    "netvatcriteriatype": {
      "type": "object",
      "description": "Request object for fetching financial postings with net vat asynchronously.",
      "properties": {
        "netvatcriteriatype": {
          "$ref": "#/definitions/fetchFinancialPostingsNetVatSearchType"
        }
      }
    },
    "fetchFinancialPostingsNetVatSearchType": {
      "type": "object",
      "properties": {
        "hotelId": {
          "description": "The Hotel Code for which financial postings net vat search will be performed.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "folioWindowNo": {
          "description": "The Folio Window number of this posting.",
          "type": "array",
          "collectionFormat": "multi",
          "items": {
            "type": "integer"
          },
          "required": false
        },
        "includePseudoRooms": {
          "required": false,
          "type": "string"
        },
        "reservationId": {
          "required": true,
          "type": "string",
          "minLength": 1,
          "maxLength": 2000,
          "description": "Unique ID of the reservation"
        },
        "timeSpan": {
          "description": "The start date and time span for the search to be performed.",
          "$ref": "#/definitions/timeSpanType"
        }
      }
    },
    "timeSpanType": {
      "type": "object",
      "description": "Allows for a choice in description of the amount of time spanned by this type. EndDate specifies a specific date, whild 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"
        }
      }
    },
    "financialPostingsNetVat": {
      "type": "object",
      "description": "Response for fetching the Posting Journal with Net and Vat breakdown.",
      "properties": {
        "financialPostings": {
          "description": "Journal entries of the response.",
          "type": "array",
          "maxItems": 4000,
          "items": {
            "$ref": "#/definitions/financialPostingsNetVatType"
          }
        },
        "totalPages": {
          "description": "Evaluated total page count based on the requested max fetch count.",
          "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"
        },
        "links": {
          "$ref": "#/definitions/links"
        },
        "warnings": {
          "$ref": "#/definitions/warningsType"
        }
      }
    },
    "financialPostingsNetVatType": {
      "type": "object",
      "description": "Financial Postings with their Net and Vat breakup",
      "properties": {
        "posting": {
          "description": "Details of the primary posting.",
          "$ref": "#/definitions/detailPostingType"
        },
        "postingBreakdown": {
          "description": "Details of posting's breakdown.",
          "$ref": "#/definitions/postingBreakdownType"
        }
      }
    },
    "detailPostingType": {
      "type": "object",
      "description": "Posting information of the transaction.",
      "properties": {
        "referenceTransactionNo": {
          "description": "Generate transaction number for the Posting.",
          "type": "number"
        },
        "referencePackageTransactionNo": {
          "description": "Package transaction number for the Posting.",
          "type": "number"
        },
        "remark": {
          "description": "Posting remarks.",
          "type": "string",
          "minLength": 0,
          "maxLength": 2000
        },
        "reference": {
          "description": "User-defined posting reference.",
          "type": "string",
          "minLength": 0,
          "maxLength": 2000
        },
        "checkNo": {
          "description": "Check number for the posting.",
          "type": "string",
          "minLength": 0,
          "maxLength": 2000
        },
        "checkCount": {
          "description": "Check number count for the posting.",
          "type": "string",
          "minLength": 0,
          "maxLength": 2000
        },
        "postedAmount": {
          "description": "Actual currency amount posted.",
          "$ref": "#/definitions/currencyAmountType"
        },
        "price": {
          "description": "Indicates the unit price of the consumption.",
          "$ref": "#/definitions/currencyAmountType"
        },
        "quantity": {
          "description": "Indicates Quantity.",
          "type": "number"
        },
        "transactionType": {
          "description": "This is the transaction type which says whether it is a Consumption(C), Payment (FC) or Package (PK) and it is inherited from transaction code.",
          "$ref": "#/definitions/cashieringTransactionTypeType"
        },
        "creditAmount": {
          "description": "The amount posted as credit to the ledger.",
          "$ref": "#/definitions/currencyAmountType"
        },
        "debitAmount": {
          "description": "The amount posted as debit to the ledger.",
          "$ref": "#/definitions/currencyAmountType"
        },
        "articleCode": {
          "description": "Information regarding the Article(Using Articles Functionality) of this transaction.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "cashierInfo": {
          "$ref": "#/definitions/cashierInfoType"
        },
        "paidOut": {
          "description": "Indicates if this transaction is a paid out transaction.",
          "type": "boolean"
        },
        "arrangementCode": {
          "description": "Corrected arrangement code from the package associated to this transaction.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "groupTypeInfo": {
          "description": "Information related to transaction grouping.",
          "$ref": "#/definitions/postingGroupType"
        },
        "rateCode": {
          "description": "Rate code associated to this transaction.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "compRedemptionCode": {
          "description": "Comp redemption code assiciated to the transaction.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "updateInfo": {
          "description": "Update info associated to this transaction.",
          "type": "object",
          "properties": {
            "updateDate": {
              "type": "string",
              "format": "date",
              "maxLength": 8
            },
            "updateBy": {
              "type": "string"
            }
          }
        },
        "fbaCertificate": {
          "description": "Flag indicates that the posting is Flexible Benefits Awards Certificate",
          "type": "boolean"
        },
        "taxInvoiceNo": {
          "description": "Tax invoice number generated by payment tax.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "serviceRecovery": {
          "description": "Flag to indicates service recovery",
          "type": "boolean"
        },
        "compPostingsInfo": {
          "description": "Comp Postings information for the folio.",
          "$ref": "#/definitions/compPostingsType"
        },
        "financialTransactionIdList": {
          "description": "Collection of unique identifiers of the financial transactions.",
          "$ref": "#/definitions/uniqueIDListType"
        },
        "exchange": {
          "description": "Available when the Fetch Folio Search Type requests the amounts to be converted to a currency different from the Resort currency.",
          "$ref": "#/definitions/exchangeAmounts"
        },
        "approvalCode": {
          "description": "Approval code of the posting.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "approvalStatus": {
          "description": "Approval status of the posting.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "stampDuty": {
          "description": "Flag to identify a Stamp Duty Transaction.",
          "type": "boolean"
        },
        "customCharge": {
          "description": "Flag to identify a Custom Charge.",
          "type": "boolean"
        },
        "transactionNo": {
          "description": "Unique Transaction Identifier.",
          "type": "number"
        },
        "transactionDate": {
          "description": "Transaction Date.",
          "type": "string",
          "format": "date",
          "maxLength": 8
        },
        "transactionCode": {
          "description": "Billing Transaction Code.",
          "type": "string",
          "minLength": 0,
          "maxLength": 200
        },
        "transactionDescription": {
          "description": "Billing Transaction Description.",
          "type": "string",
          "minLength": 0,
          "maxLength": 2000
        },
        "transactionAmount": {
          "description": "The amount of the transaction.",
          "type": "number"
        },
        "postingDate": {
          "description": "Date and time of posting.",
          "type": "string",
          "format": "date",
          "maxLength": 8
        },
        "revenueDate": {
          "description": "The date on which the transaction has its revenue effect.",
          "type": "string",
          "format": "date",
          "maxLength": 8
        },
        "receiptNo": {
          "description": "The receipt number of the transaction, if there is a receipt generated.",
          "type": "number"
        },
        "roundingDifferenceTrx": {
          "description": "Indicator to determine if the posting was a posting for the Rounding Difference.",
          "type": "boolean"
        },
        "commissionable": {
          "description": "Indicator to determine if the transaction is commissionable.",
          "type": "boolean"
        },
        "reversePaymentTransactionNo": {
          "description": "Reverse payment transaction unique identifier.",
          "type": "number"
        },
        "canAdjustInvoice": {
          "description": "Indicator to determine if the transaction can be adjusted.",
          "type": "boolean"
        },
        "depositTransactionId": {
          "description": "Tax Service Accounting Codes used.",
          "type": "string",
          "minLength": 0,
          "maxLength": 40
        },
        "hotelId": {
          "description": "Property code.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "targetHotel": {
          "description": "Cross property posting hotel code.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "subPostings": {
          "description": "SubPostings for the posting.",
          "$ref": "#/definitions/summaryPostingsType"
        },
        "guestInfo": {
          "description": "Details of the Guest information where this transaction was posted to.",
          "type": "object",
          "properties": {
            "profileId": {
              "description": "Profile Id corresponding to the guest name. It is sometimes possible to have a guest name but the profile id is null.",
              "$ref": "#/definitions/profileId"
            },
            "reservationId": {
              "description": "Reservation Id corresponding to the guest name. It is sometimes possible to have a room number but the reservation id is null.",
              "$ref": "#/definitions/reservationId"
            },
            "guestName": {
              "description": "Guest name associated with the transaction.",
              "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
            }
          }
        },
        "aRInfo": {
          "description": "Details of the AR account if the posting was part of an AR invoice.",
          "$ref": "#/definitions/transactionARInfoType"
        },
        "currencyExchangeInfo": {
          "description": "Currency exchange information if the posting was made using a currency different from the default currency.",
          "$ref": "#/definitions/transactionCurrencyExchangeInfoType"
        },
        "adjustmentInfo": {
          "description": "Details regarding the adjustment made if the current transaction was created as a result of an adjustment.",
          "$ref": "#/definitions/transactionAdjustmentInfoType"
        },
        "paymentMethod": {
          "description": "Defined method of payment for this transaction.",
          "$ref": "#/definitions/reservationPaymentMethodType"
        },
        "payeeInfo": {
          "description": "Payee information for the folio.",
          "$ref": "#/definitions/payeeInfoType"
        },
        "miscellaneousInfo": {
          "type": "object",
          "properties": {
            "createDateTime": {
              "type": "string",
              "format": "date-time"
            },
            "covers": {
              "description": "POS covers",
              "type": "string",
              "minLength": 0,
              "maxLength": 10
            }
          }
        },
        "exchangeInformation": {
          "description": "Exchange Information - text presentation of the exchange operation including formula, buy rate, etc.",
          "type": "string",
          "minLength": 0,
          "maxLength": 2000
        },
        "folioWindowNo": {
          "type": "integer"
        },
        "folioNo": {
          "description": "The Folio number of this posting, if there was a Folio already generated.",
          "type": "number"
        },
        "folioNoWithPrefix": {
          "description": "The folio number with prefix value.",
          "type": "string",
          "minLength": 0,
          "maxLength": 200
        },
        "internalFolioWindowID": {
          "description": "Internal Unique id for the Folio Window.",
          "type": "string"
        },
        "revisionNo": {
          "type": "number"
        },
        "folioTypeName": {
          "description": "The name of the Folio Type used for the Folio Number sequence.",
          "type": "string",
          "minLength": 0,
          "maxLength": 100
        },
        "fiscalBillNo": {
          "description": "The Fiscal Bill number of this posting",
          "type": "string",
          "minLength": 0,
          "maxLength": 2000
        },
        "deferredTax": {
          "description": "Flag to indicate if the Posting is a deferred tax record. Set to true only when the posting is a deferred tax record. Set to false only when the posting is not a deferred tax record.",
          "type": "boolean"
        }
      }
    },
    "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"
        },
        "payeeAddressCount": {
          "description": "Payee multiple address count.",
          "type": "integer"
        },
        "payeeReferenceCurrency": {
          "description": "Reference currency of the payee.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "payeeAccountInfo": {
          "description": "AR account short info of the payee.",
          "$ref": "#/definitions/aRAccountShortInfoType"
        },
        "payeeTaxNumber": {
          "description": "The tax number of the payee.",
          "type": "string",
          "minLength": 0,
          "maxLength": 40
        },
        "payeeInternalFolio": {
          "description": "Flag considered during folio settlement, to select the corresponding Folio Type when the value is true. Only used in Poland country mode.",
          "type": "boolean"
        }
      }
    },
    "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"
        }
      }
    },
    "transactionAdjustmentInfoType": {
      "type": "object",
      "description": "Adjustment details of the transaction, if the transaction was created as part of an adjustment.",
      "properties": {
        "reason": {
          "description": "Reason for the adjustment.",
          "type": "string",
          "minLength": 0,
          "maxLength": 2000
        },
        "departmentCode": {
          "description": "Department code for service recovery",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "code": {
          "description": "Adjustment code used.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        }
      }
    },
    "transactionCurrencyExchangeInfoType": {
      "type": "object",
      "description": "Details of the Exchange Information for this transaction, if the posting was made in a currency different from the default currency.",
      "properties": {
        "description": {
          "description": "Description or reference for this exchange.",
          "type": "string",
          "minLength": 0,
          "maxLength": 200
        },
        "exchangeRate": {
          "description": "The Buying rate used for this transaction.",
          "$ref": "#/definitions/currencyAmountType"
        },
        "currencyAmount": {
          "description": "The foreign currency amount posted for this transaction.",
          "$ref": "#/definitions/currencyAmountType"
        },
        "amount": {
          "description": "The converted default currency amount",
          "$ref": "#/definitions/currencyAmountType"
        },
        "commissionPercent": {
          "description": "Percentage for commission used for the currency conversion.",
          "type": "number"
        },
        "code": {
          "description": "Foreign Currency Code of the currency which was used to post this transaction.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "exchangeDate": {
          "description": "The date when this exchange rate was set.",
          "type": "string",
          "format": "date",
          "maxLength": 8
        }
      }
    },
    "transactionARInfoType": {
      "type": "object",
      "description": "Details of the AR account where this transaction was posted to.",
      "properties": {
        "accountNumber": {
          "description": "AR Account number.",
          "type": "string",
          "minLength": 0,
          "maxLength": 20
        },
        "accountName": {
          "description": "The Account name where this invoice is sent.",
          "type": "string",
          "minLength": 0,
          "maxLength": 1000
        },
        "invoiceNo": {
          "description": "The invoice number which 

# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oracle-hospitality/refs/heads/main/openapi/oracle-hospitality-property-v1-cshasync.json