{ "swagger": "2.0", "info": { "title": "OPERA Cloud Rate API", "description": "APIs to cater for Rate Availability functionality in OPERA Cloud.

Rate Management provides all the tools you need to effectively define and manage the rate structures for a property in OPERA Cloud. Some of the things you can do include creating and managing rate codes, rate classes, rate categories, display sets, rate strategies, as well as managing promotion groups and codes.

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": "/rtp/v1", "produces": [ "application/json" ], "paths": { "/controlSegmentTemplate/{controlSegmentCode}": { "post": { "summary": "Create Control Segment Template", "description": "Use this API to create a new Control Segment Template. Only one template can be created at a time.", "operationId": "postTemplateControlSegment", "parameters": [ { "name": "controlSegmentCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 50, "description": "Unique Code of control segment template." }, { "name": "templateControlSegmentCriteria", "in": "body", "required": true, "description": "Request object that holds the details of Control Segment Template to be created.", "schema": { "allOf": [ { "$ref": "#/definitions/templateControlSegmentCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete Control Segment Template", "description": "Use this API to delete a Control Segment Template.", "operationId": "removeTemplateControlSegment", "parameters": [ { "name": "controlSegmentCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 50, "description": "Unique Code of control segment template." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$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": "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": [ "RatePlan" ] }, "put": { "summary": "Change Control Segment Template", "description": "Use this API to modify a Control Segment Template. Only one template can be modified at a time.", "operationId": "changeTemplateControlSegment", "parameters": [ { "name": "controlSegmentCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 50, "description": "Unique Code of control segment template." }, { "name": "templateControlSegmentToBeChanged", "in": "body", "required": true, "description": "Request object that holds the details of Control Segment Template to be changed.", "schema": { "allOf": [ { "$ref": "#/definitions/templateControlSegmentToBeChanged" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$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 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": [ "RatePlan" ] } }, "/controlSegmentTemplates": { "get": { "summary": "Get Control Segment Templates", "description": "Use this API to get Control Segment Templates.", "operationId": "getTemplateControlSegments", "parameters": [ { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "pageNumber", "in": "query", "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": "controlSegmentCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "membershipType", "in": "query", "required": false, "description": "Membership type code filter.", "type": "string" }, { "name": "includeInactive", "in": "query", "required": false, "description": "Include inactive Control Segment Templates.", "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-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 fetch Control Segment Templates.", "schema": { "$ref": "#/definitions/templateControlSegmentDetails" } }, "204": { "description": "Control Segment Templates 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": [ "RatePlan" ] } }, "/controlSegments": { "get": { "summary": "Get Control Segments", "description": "Use this API to search for Control Segments.

OperationId:getControlSegments

", "operationId": "getControlSegments", "parameters": [ { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "pageNumber", "in": "query", "required": false, "description": "Index or initial index of the set (page) being requested. If the index goes out of bounds then no data will be returned.", "type": "integer" }, { "name": "hotelIds", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "controlSegmentCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "membershipType", "in": "query", "required": false, "description": "Membership type code filter.", "type": "string" }, { "name": "membershipLevel", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Membership level code filter.", "items": { "type": "string" }, "required": false }, { "name": "includeInactive", "in": "query", "required": false, "description": "Include inactive Control Segments.", "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 for fetching Control Segments.", "schema": { "$ref": "#/definitions/controlSegmentsDetails" } }, "204": { "description": "Control Segments 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": [ "RatePlan" ] } }, "/displaySets": { "get": { "summary": "Get Display Sets", "description": "Use this API to get Display Sets.

OperationId:getDisplaySets

", "operationId": "getDisplaySets", "parameters": [ { "name": "fetchInactive", "in": "query", "required": false, "description": "Determines wether to fetch inactive records or not.", "type": "boolean" }, { "name": "codes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Codes to be searched.", "items": { "type": "string" }, "required": false }, { "name": "wildCard", "in": "query", "required": false, "description": "Wildcard search on the code.", "type": "string" }, { "name": "description", "in": "query", "required": false, "description": "Description of the code.", "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 fetching Display Sets.", "schema": { "$ref": "#/definitions/displaySetsDetails" } }, "204": { "description": "DisplaySets 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": [ "ChainConfig" ] }, "post": { "summary": "Create Display Sets", "description": "Use this API to create Display Sets.

OperationId:postDisplaySets

", "operationId": "postDisplaySets", "parameters": [ { "name": "displaySetsCriteria", "in": "body", "required": true, "description": "Request object for creating Display Sets.", "schema": { "allOf": [ { "$ref": "#/definitions/displaySetsCriteria" } ] } }, { "$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": [ "ChainConfig" ] } }, "/displaySets/{displaySetsId}": { "put": { "summary": "Change Display Sets", "description": "Use this API to update Display Sets.

OperationId:putDisplaySets

", "operationId": "putDisplaySets", "parameters": [ { "name": "displaySetsId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of Display Sets." }, { "name": "displaySetsToBeChanged", "in": "body", "required": true, "description": "Request object for changing Display Sets.", "schema": { "allOf": [ { "$ref": "#/definitions/displaySetsToBeChanged" } ] } }, { "$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": [ "ChainConfig" ] }, "delete": { "summary": "Delete Display Sets", "description": "Use this API to delete Display Sets.

OperationId:deleteDisplaySets

", "operationId": "deleteDisplaySets", "parameters": [ { "name": "displaySetsId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of Display Sets." }, { "$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": [ "ChainConfig" ] } }, "/hotels/{hotelId}/bestavailablerates": { "get": { "summary": "Fetch Best Available Rates", "description": "This API allows to fetch Best Available rates for rate code(s).

OperationId:getBestAvailableRates

The maximum allowable limit for this API is 500.

This API allows a time span of 90 days.

", "operationId": "getBestAvailableRates", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "startDay", "in": "query", "required": true, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "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": "rateCode", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "endDay", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "daysOfWeek", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Allowed values for the days of week type.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] }, "required": false }, { "name": "lengthOfStay", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Allowed values for length stay type.", "uniqueItems": true, "items": { "type": "string", "enum": [ "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight" ] }, "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 validating a coupon.", "schema": { "$ref": "#/definitions/getBestAvailableRatesDetails" } }, "204": { "description": "BestAvailableRates 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": [ "RatePlan" ] }, "post": { "summary": "Create a Best Available Rates", "description": "This API allows to create Best Available rates for rate code(s).

OperationId:postBestAvailableRates

", "operationId": "postBestAvailableRates", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "createBestAvailableRates", "in": "body", "required": true, "description": "Request to create best available rates for rate code(s)", "schema": { "allOf": [ { "$ref": "#/definitions/createBestAvailableRates" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete Best Available Rates", "description": "This API allows to fetch Best Available rates for rate code(s).

OperationId:deleteBestAvailableRates

", "operationId": "deleteBestAvailableRates", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "code", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": true }, { "name": "end", "in": "query", "required": true, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "start", "in": "query", "required": true, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "friday", "in": "query", "required": false, "type": "boolean" }, { "name": "monday", "in": "query", "required": false, "type": "boolean" }, { "name": "saturday", "in": "query", "required": false, "type": "boolean" }, { "name": "sunday", "in": "query", "required": false, "type": "boolean" }, { "name": "thursday", "in": "query", "required": false, "type": "boolean" }, { "name": "tuesday", "in": "query", "required": false, "type": "boolean" }, { "name": "wednesday", "in": "query", "required": false, "type": "boolean" }, { "name": "lOS1", "in": "query", "required": false, "description": "Indicates Length of Stay 1 configuration.", "type": "boolean" }, { "name": "lOS2", "in": "query", "required": false, "description": "Indicates Length of Stay 2 configuration.", "type": "boolean" }, { "name": "lOS3", "in": "query", "required": false, "description": "Indicates Length of Stay 3 configuration.", "type": "boolean" }, { "name": "lOS4", "in": "query", "required": false, "description": "Indicates Length of Stay 4 configuration.", "type": "boolean" }, { "name": "lOS5", "in": "query", "required": false, "description": "Indicates Length of Stay 5 configuration.", "type": "boolean" }, { "name": "lOS6", "in": "query", "required": false, "description": "Indicates Length of Stay 6 configuration.", "type": "boolean" }, { "name": "lOS7", "in": "query", "required": false, "description": "Indicates Length of Stay 7 configuration.", "type": "boolean" }, { "name": "lOS8", "in": "query", "required": false, "description": "Indicates Length of Stay 8 configuration.", "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": [ "RatePlan" ] } }, "/hotels/{hotelId}/blocks/ratePlans": { "get": { "summary": "Get rate plans for a given block", "description": "This API allows you to fetch Rate Plans on a specific block.

OperationId:getRatePlansForBlock

", "operationId": "getRatePlansForBlock", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlanCode", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Rate Plan code.", "items": { "type": "string" }, "required": false }, { "name": "beginDate", "in": "query", "required": false, "description": "Start sell date of the rate code.", "type": "string", "format": "date" }, { "name": "endDate", "in": "query", "required": false, "description": "End sell date of the rate code.", "type": "string", "format": "date" }, { "name": "companyId", "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": "companyIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element. Refer to OpenTravel Code List Unique ID Type (UIT).", "type": "string" }, { "name": "sourceId", "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": "sourceIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element. Refer to OpenTravel Code List Unique ID Type (UIT).", "type": "string" }, { "name": "agentId", "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": "agentIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element. Refer to OpenTravel Code List Unique ID Type (UIT).", "type": "string" }, { "name": "negotiatedOnly", "in": "query", "required": false, "description": "Flag to indicate if negotiated rate codes to be fetched.", "type": "boolean" }, { "name": "currencyCode", "in": "query", "required": false, "description": "Currency for the rate code to be fetched.", "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 fetch rate plans summary information for blocks.", "schema": { "$ref": "#/definitions/blockRatePlans" } }, "204": { "description": "RatePlansForBlock 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": [ "RatePlan" ] } }, "/hotels/{hotelId}/controlSegments/{controlSegmentCode}": { "post": { "summary": "Create a new Control Segment", "description": "Use this API to create a new Control Segment.

OperationId:postControlSegment

", "operationId": "postControlSegment", "parameters": [ { "name": "controlSegmentCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 50, "description": "Unique Code of the Control Segment." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of hotel." }, { "name": "controlSegmentCriteria", "in": "body", "required": true, "description": "Request object that holds the details of Control Segment to be created.", "schema": { "allOf": [ { "$ref": "#/definitions/propertyControlSegmentType" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete a Control Segment", "description": "Use this API to delete a Control Segment.

OperationId:removeControlSegment

", "operationId": "removeControlSegment", "parameters": [ { "name": "controlSegmentCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 50, "description": "Unique Code of the Control Segment." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of 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/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": "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": [ "RatePlan" ] }, "put": { "summary": "Modify a Control Segment", "description": "Use this API to modify a Control Segment.

OperationId:changeControlSegment

", "operationId": "changeControlSegment", "parameters": [ { "name": "controlSegmentCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 50, "description": "Unique Code of the Control Segment." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of hotel." }, { "name": "controlSegmentToBeChanged", "in": "body", "required": true, "description": "Request object that holds the details of Control Segment to be changed.", "schema": { "allOf": [ { "$ref": "#/definitions/propertyControlSegmentType" } ] } }, { "$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 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": [ "RatePlan" ] } }, "/hotels/{hotelId}/massRateChangeLog": { "delete": { "summary": "Delete mass rate change log", "description": "This API allows you to delete mass rate change log.

OperationId:deleteMassRateChangeLog

", "operationId": "deleteMassRateChangeLog", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/massRateChangeStatus": { "get": { "summary": "Get mass rate change status", "description": "This API allows you to fetch mass rate change status.

OperationId:getMassRateChangeStatus

", "operationId": "getMassRateChangeStatus", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "detailStatus", "in": "query", "required": false, "description": "Flag to indicate to include the update process details or not.", "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": "A response message to fetch the status of mass rate update operation.", "schema": { "$ref": "#/definitions/massRateChangeStatus" } }, "204": { "description": "MassRateChangeStatus 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": [ "RatePlan" ] } }, "/hotels/{hotelId}/massRatePlanSchedules": { "put": { "summary": "Set mass rate plan schedules", "description": "This API allows you to update mass Rate Plan schedules.

OperationId:setMassRatePlanSchedules

", "operationId": "setMassRatePlanSchedules", "deprecated": true, "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "massRatePlanSchedules", "in": "body", "required": true, "description": "A Request message to update the rate codes schedule.", "schema": { "allOf": [ { "$ref": "#/definitions/massRatePlanSchedules" } ] } }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/negotiatedRates": { "get": { "summary": "Get negotiated rates and profiles ", "description": "This API allows you to fetch negotiated rates and profile for a given hotel id.

OperationId:getNegotiatedRates

The maximum allowable limit for this API is 500.

This API allows a time span of 90 days.

", "operationId": "getNegotiatedRates", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "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": "startDate", "in": "query", "required": false, "description": "Start Date.", "type": "string", "format": "date" }, { "name": "endDate", "in": "query", "required": false, "description": "End Date.", "type": "string", "format": "date" }, { "name": "includeInactiveNegotiatedRates", "in": "query", "required": false, "description": "Inactive negotiated rates.", "type": "boolean" }, { "name": "fetchInstructionsLimit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type for negotiated rates instructions that can be used in requests for partial operations.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Discounts" ] }, "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 fetching negotiated rates and profile discounts.", "schema": { "$ref": "#/definitions/negotiatedRates" } }, "204": { "description": "NegotiatedRates 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": [ "RatePlan" ] }, "post": { "summary": "Create negotiated rates ", "description": "This API allows you to create negotiated rate for a given profile.

OperationId:postNegotiatedRates

", "operationId": "postNegotiatedRates", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "negotiatedRates", "in": "body", "required": true, "description": "Request object for creating negotiated rates. Also this object creates new profile discounts for given negotiated rates.", "schema": { "allOf": [ { "$ref": "#/definitions/negotiatedRates" } ] } }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/negotiatedRates/distributions": { "put": { "summary": "Distribute negotiated rates", "description": "This API allows you to distribute negotiated Rate.

OperationId:distributeNegotiatedRates

", "operationId": "distributeNegotiatedRates", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "distributedNegotiatedRates", "in": "body", "required": true, "description": "Request object for distribute negotiated rates. This object contains a list of negotiated rates that are to be distributed and a list of properties to which to distribute to.", "schema": { "allOf": [ { "$ref": "#/definitions/distributedNegotiatedRates" } ] } }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/negotiatedRates/{rateCode}": { "put": { "summary": "Change negotiated rates ", "description": "This API allows you to update negotiated rate for a given profile.

OperationId:putNegotiatedRates

", "operationId": "putNegotiatedRates", "parameters": [ { "name": "rateCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "negotiatedRates", "in": "body", "required": true, "description": "Request object for changing negotiated rates. This object can be used to manage the negotiated rates and profile discounts. Profile discounts can be created/updated/deleted.", "schema": { "allOf": [ { "$ref": "#/definitions/negotiatedRates" } ] } }, { "$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/negotiatedRatesDetails" } }, "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": [ "RatePlan" ] } }, "/hotels/{hotelId}/negotiatedRates/{rateCode}/profiles": { "get": { "summary": "Fetch Negotiated Rates", "description": "This API allows you to fetch a Rate Plan and Profile for given hotel id and negotiated rate code.

OperationId:getNegotiatedRatesForGivenHotelAndRate

The maximum allowable limit for this API is 500.

This API allows a time span of 90 days.

", "operationId": "getNegotiatedRatesForGivenHotelAndRate", "parameters": [ { "name": "rateCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer", "maximum": 500 }, { "name": "offset", "in": "query", "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": "startDate", "in": "query", "required": false, "description": "Start Date.", "type": "string", "format": "date" }, { "name": "endDate", "in": "query", "required": false, "description": "End Date.", "type": "string", "format": "date" }, { "name": "includeInactiveNegotiatedRates", "in": "query", "required": false, "description": "Inactive negotiated rates.", "type": "boolean" }, { "name": "fetchInstructionsLimit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type for negotiated rates instructions that can be used in requests for partial operations.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Discounts" ] }, "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 fetching negotiated rates and profile discounts.", "schema": { "$ref": "#/definitions/negotiatedRates" } }, "204": { "description": "NegotiatedRatesForGivenHotelAndRate 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": [ "RatePlan" ] } }, "/hotels/{hotelId}/packageForecastGroups": { "get": { "summary": "Get Hotel Package Forecast Groups", "description": "This API allows you to fetch package forecast groups.

OperationId:getHotelPackageForecastGroups

The maximum allowable limit for this API is 1000.

", "operationId": "getHotelPackageForecastGroups", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "hotelIds", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Hotel code.", "items": { "type": "string" }, "required": false }, { "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": "PackageForecastGroupCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Codes to be searched.", "items": { "type": "string" }, "required": false }, { "name": "wildCard", "in": "query", "required": false, "description": "Wildcard search on the code.", "type": "string" }, { "name": "includeInactive", "in": "query", "required": false, "description": "Inactive flag - whether or not to display inactive records", "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 fetching package forecast groups for a hotel.", "schema": { "$ref": "#/definitions/hotelPackageForecastGroups" } }, "204": { "description": "HotelPackageForecastGroups 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": [ "RatePlan" ] }, "post": { "summary": "Create Hotel Package Forecast Groups", "description": "This API allows you to create package forecast groups.

OperationId:postHotelPackageForecastGroups

", "operationId": "postHotelPackageForecastGroups", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "hotelPackageForecastGroupsToCreate", "in": "body", "required": true, "description": "Request object for creating new package forecast groups for a hotel.", "schema": { "allOf": [ { "$ref": "#/definitions/hotelPackageForecastGroupsToCreate" } ] } }, { "$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": [ "RatePlan" ] }, "put": { "summary": "Change Hotel Package Forecast Groups", "description": "This API allows you to update package forecast groups.

OperationId:putHotelPackageForecastGroups

", "operationId": "putHotelPackageForecastGroups", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "hotelPackageForecastGroupsToChange", "in": "body", "required": true, "description": "Request object for modifying package forecast groups for a hotel.", "schema": { "allOf": [ { "$ref": "#/definitions/hotelPackageForecastGroupsToChange" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete Hotel Package Forecast Groups", "description": "This API allows you to delete package forecast groups.

OperationId:deleteHotelPackageForecastGroups

", "operationId": "deleteHotelPackageForecastGroups", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "code", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Configuration code.", "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": [ "RatePlan" ] } }, "/hotels/{hotelId}/packageFormulaRanges": { "get": { "summary": "Get package formula ranges", "description": "This API allows you to fetch package formula ranges.

OperationId:getPackageFormulaRanges

", "operationId": "getPackageFormulaRanges", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "taxRangeType", "in": "query", "required": false, "description": "Tax Range Type.", "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 the request to search for package formula ranges. Based on the hotel code and tax range type code, response can contain multiple package formula ranges", "schema": { "$ref": "#/definitions/packageFormulaRanges" } }, "204": { "description": "PackageFormulaRanges 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": [ "RatePlan" ] }, "post": { "summary": "Create package formula ranges", "description": "This API allows you to create package formula ranges.

OperationId:postPackageFormulaRanges

", "operationId": "postPackageFormulaRanges", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "packageFormulaRanges", "in": "body", "required": true, "description": "Request to create a new package formula range", "schema": { "allOf": [ { "$ref": "#/definitions/packageFormulaRanges" } ] } }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/packageFormulaRanges/{packageFormulaRangeId}": { "put": { "summary": "Change package formula ranges", "description": "This API allows you to update package formula ranges.

OperationId:putPackageFormulaRanges

", "operationId": "putPackageFormulaRanges", "parameters": [ { "name": "packageFormulaRangeId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Package Formula Range Id." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "packageFormulaRanges", "in": "body", "required": true, "description": "Request to change and existing package formula ranges. The Property, Amount From, Amount To, Tax Amount, Interval Amount are the details that can be changed on an existing package formula range.", "schema": { "allOf": [ { "$ref": "#/definitions/packageFormulaRanges" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete package formula ranges", "description": "This API allows you to delete package formula ranges.

OperationId:deletePackageFormulaRanges

", "operationId": "deletePackageFormulaRanges", "parameters": [ { "name": "packageFormulaRangeId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Package Formula Range Id." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "amount", "in": "query", "required": false, "description": "A monetary amount.", "type": "number" }, { "name": "currencyCode", "in": "query", "required": false, "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "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": [ "RatePlan" ] } }, "/hotels/{hotelId}/packageGroups": { "get": { "summary": "Get package groups", "description": "This API allows you to fetch package group.

OperationId:getPackageGroups

The maximum allowable limit for this API is 1000.

", "operationId": "getPackageGroups", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "hotelIds", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Hotel code.", "items": { "type": "string" }, "required": false }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "code", "in": "query", "required": false, "description": "Package code or group to be searched.", "type": "string" }, { "name": "descriptionWildCard", "in": "query", "required": false, "description": "The description or a part of the description based on which results should be filtered.", "type": "string" }, { "name": "includeOnlySeparateLinePackages", "in": "query", "required": false, "description": "If set to true, the API returns only those package groups where all package codes are configured as Add to Rate - Separate Line packages. If false or omitted, no additional filtering is applied.", "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 fetch package groups.", "schema": { "$ref": "#/definitions/packageGroupsInfo" } }, "204": { "description": "PackageGroups 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": [ "RatePlan" ] }, "post": { "summary": "Create package group", "description": "This API allows you to create package group.

OperationId:postPackageGroup

", "operationId": "postPackageGroup", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "packageGroup", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/packageGroup" } ] } }, { "$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": [ "RatePlan" ] }, "put": { "summary": "Change package group", "description": "This API allows you to change package group.

OperationId:putPackageGroup

", "operationId": "putPackageGroup", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "packageGroup", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/packageGroup" } ] } }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/packageGroups/{packageCode}": { "delete": { "summary": "Delete package group", "description": "This API allows you to delete package group.

OperationId:deletePackageGroups

", "operationId": "deletePackageGroups", "parameters": [ { "name": "packageCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Package Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/packages/{packageCode}": { "get": { "summary": "Get package for given package", "description": "This API allows you to fetch package details for a given package.

OperationId:getPackage

", "operationId": "getPackage", "parameters": [ { "name": "packageCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Package Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "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": [ "Header", "PostingRules", "CalculatedPrice", "Items", "Details", "UsageDetails" ] }, "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 fetch a package's complete details.", "schema": { "$ref": "#/definitions/packageInfo" } }, "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": [ "RatePlan" ] }, "post": { "summary": "Create package", "description": "This API allows you to create a package.

OperationId:postPackage

", "operationId": "postPackage", "parameters": [ { "name": "packageCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Package Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "packageInfo", "in": "body", "required": true, "description": "Request object to create a package.", "schema": { "allOf": [ { "$ref": "#/definitions/packageInfo" } ] } }, { "$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": [ "RatePlan" ] }, "put": { "summary": "Change the package", "description": "This API allows you to update a package.

OperationId:putPackage

", "operationId": "putPackage", "parameters": [ { "name": "packageCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Package Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "packageInfo", "in": "body", "required": true, "description": "Request object to change a package details.", "schema": { "allOf": [ { "$ref": "#/definitions/packageInfo" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete the package", "description": "This API allows you to delete a package.

OperationId:deletePackage

", "operationId": "deletePackage", "parameters": [ { "name": "packageCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Package Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/packages/{packageCode}/rates": { "get": { "summary": "Get package rates", "description": "This API allows you to fetch rate plan codes associated for a package.

OperationId:getPackageRates

The maximum allowable limit for this API is 1000.

", "operationId": "getPackageRates", "parameters": [ { "name": "packageCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Package Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "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 to fetch rate plan codes associated for a package. It contains package's short information.", "schema": { "$ref": "#/definitions/packageRates" } }, "204": { "description": "PackageRates 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": [ "RatePlan" ] } }, "/hotels/{hotelId}/packages/{packageCode}/text": { "post": { "summary": "Generate package description with AI Author Service Proxy.", "description": "This API allows you to call the AI Author Service Proxy to generate a description for a package code.", "operationId": "generatePackageCodeDescription", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "packageCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Package Code." }, { "name": "generatePackageCodeDescriptionRequest", "in": "body", "required": true, "schema": { "$ref": "#/definitions/generatePackageCodeDescriptionRequest" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" } ], "responses": { "201": { "description": "Response object containing the generated text based on prompt input for a given use case.", "schema": { "$ref": "#/definitions/generatePackageCodeDescriptionResponse" } }, "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": [ "RatePlan" ] } }, "/hotels/{hotelId}/profiles/{profileId}/startDate/{startDate}/negotiatedRates/{ratePlanId}": { "delete": { "summary": "Delete negotiated rates", "description": "This API allows you to delete negotiated rate.

OperationId:deleteNegotiatedRates

", "operationId": "deleteNegotiatedRates", "parameters": [ { "name": "ratePlanId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan ID." }, { "name": "startDate", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Start Date." }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a profile." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/promotionCodes": { "get": { "summary": "Get promotion codes", "description": "This API allows you to fetch promotion codes.

OperationId:getPromotionCodes

The maximum allowable limit for this API is 1000.

", "operationId": "getPromotionCodes", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "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": "promotionCode", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "promotionGroup", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "rateCodes", "in": "query", "required": false, "description": "Comma separated list of rates codes. This is used to filter the response and return only those promotion codes that are tied to any of these rate codes.", "type": "string" }, { "name": "description", "in": "query", "required": false, "description": "Category Description of the promotion.", "type": "string" }, { "name": "includeInactive", "in": "query", "required": false, "description": "Indicates whether to include inactive promotions.", "type": "boolean" }, { "name": "promotionsValidAfterDate", "in": "query", "required": false, "description": "Filter based on a booking end date that grabs all promotions on or after the input 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 fetch rate plan codes associated for a package. It contains package's short information.", "schema": { "$ref": "#/definitions/propertyPromotionCodes" } }, "204": { "description": "PromotionCodes 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": [ "RatePlan" ] } }, "/hotels/{hotelId}/promotionCodes/{promotionCode}": { "put": { "summary": "Change promotion codes", "description": "This API allows you to update promotion codes.

OperationId:putPromotionCode

", "operationId": "putPromotionCode", "parameters": [ { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Promotion Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "propertyPromotionCode", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/propertyPromotionCode" } ] } }, { "$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": [ "RatePlan" ] }, "post": { "summary": "Create promotion codes", "description": "This API allows you to create promotion codes.

OperationId:postPromotionCode

", "operationId": "postPromotionCode", "parameters": [ { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Promotion Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "propertyPromotionCode", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/propertyPromotionCode" } ] } }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/promotionCodes/{promotionCode}/coupons": { "post": { "summary": "Generate promotion coupon codes", "description": "This API allows you to generate promotion coupon codes.

OperationId:generatePromotionCouponCodes

", "operationId": "generatePromotionCouponCodes", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Promotion Code." }, { "name": "generatePromotionCouponCodes", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/generatePromotionCouponCodes" } ] } }, { "$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/generatedCouponCodeDetails" } }, "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": [ "RatePlan" ] }, "get": { "summary": "Get promotion coupon codes", "description": "This API allows you to get promotion coupon codes.

OperationId:getPromotionCouponCodes

", "operationId": "getPromotionCouponCodes", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Promotion Code." }, { "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": "batchCode", "in": "query", "type": "array", "maxItems": 10, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "createdOn", "in": "query", "required": false, "description": "Date when promotion coupon code was created.", "type": "string", "format": "date" }, { "name": "includeInactive", "in": "query", "required": false, "description": "Indicates whether to include inactive promotion coupon codes.", "type": "boolean" }, { "name": "couponCode", "in": "query", "required": false, "description": "Promotion Coupon Code.", "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 get the promotion coupon code.", "schema": { "$ref": "#/definitions/getPromotionCouponCodes" } }, "204": { "description": "Promotion Coupon Code 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": [ "RatePlan" ] } }, "/hotels/{hotelId}/promotionCodes/{promotionCode}/coupons/{couponId}": { "put": { "summary": "Update promotion coupon codes", "description": "This API allows you to update promotion coupon codes.

OperationId:putPromotionCouponCode

", "operationId": "putPromotionCouponCode", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Promotion Code." }, { "name": "couponId", "in": "path", "required": true, "type": "integer", "description": "Promotion Coupon Code Id." }, { "name": "updatePromotionCouponCode", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/updatePromotionCouponCode" } ] } }, { "$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": [ "RatePlan" ] }, "get": { "summary": "Get promotion coupon code", "description": "This API allows you to get promotion coupon code based on promotion coupon code id.

OperationId:getPromotionCouponCode

", "operationId": "getPromotionCouponCode", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Promotion Code." }, { "name": "couponId", "in": "path", "required": true, "type": "integer", "description": "Promotion Coupon Code 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 get the promotion coupon code.", "schema": { "$ref": "#/definitions/getPromotionCouponCode" } }, "204": { "description": "Promotion Coupon Code 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": [ "RatePlan" ] } }, "/hotels/{hotelId}/promotionGroups": { "get": { "summary": "Get promotion groups", "description": "This API allows you to fetch promotion codes.

OperationId:getPromotionGroups

The maximum allowable limit for this API is 1000.

", "operationId": "getPromotionGroups", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "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": "code", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "promotionGroupListCode", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "rateCodes", "in": "query", "required": false, "description": "Comma separated list of rates codes. This is used to filter the response and return only those promotion codes that are tied to any of these rate codes.", "type": "string" }, { "name": "description", "in": "query", "required": false, "description": "Category Description of the promotion.", "type": "string" }, { "name": "includeInactive", "in": "query", "required": false, "description": "Indicates whether to include inactive promotions.", "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 fetch rate plan codes associated for a package. It contains package's short information.", "schema": { "$ref": "#/definitions/promotionGroups" } }, "204": { "description": "PromotionGroups 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": [ "RatePlan" ] } }, "/hotels/{hotelId}/promotionGroups/copy": { "put": { "summary": "Copy promotion groups", "description": "This API allows you to copy promotions groups.

OperationId:copyPromotionGroups

", "operationId": "copyPromotionGroups", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "promotionGroupsCopy", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/promotionGroupsCopy" } ] } }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/promotionGroups/{groupCode}": { "put": { "summary": "Change promotion groups", "description": "This API allows you to update promotion groups.

OperationId:putPromotionGroup

", "operationId": "putPromotionGroup", "parameters": [ { "name": "groupCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Promotion Group Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "promotionGroup", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/promotionGroup" } ] } }, { "$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": [ "RatePlan" ] }, "post": { "summary": "Create promotion groups", "description": "This API allows you to create promotion groups.

OperationId:postPromotionGroup

", "operationId": "postPromotionGroup", "parameters": [ { "name": "groupCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Promotion Group Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "promotionGroup", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/promotionGroup" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete promotion groups", "description": "This API allows you to delete promotion groups.

OperationId:deletePromotionGroup

", "operationId": "deletePromotionGroup", "parameters": [ { "name": "groupCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Promotion Group Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/rateAccessExclusions": { "put": { "summary": "Set rate access exclusions", "description": "This API allows you to set rate access exclusions.

OperationId:setRateAccessExclusions

", "operationId": "setRateAccessExclusions", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "rateAccessExclusions", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/rateAccessExclusions" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete rate access exclusions", "description": "This API allows you to delete rate access exclusions.

OperationId:deleteRateAccessExclusions

This API allows a time span of 90 days.

", "operationId": "deleteRateAccessExclusions", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "rateCode", "in": "query", "required": false, "description": "Rate code", "type": "string" }, { "name": "allowCancelReservation", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Allow to cancel a reservation under this access exclusion.", "items": { "type": "boolean" }, "required": false }, { "name": "allowCreateReservation", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Allow to create a reservation under this access exclusion.", "items": { "type": "boolean" }, "required": false }, { "name": "allowModifyReservation", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Allow to modify a reservation under this access exclusion.", "items": { "type": "boolean" }, "required": false }, { "name": "excludeFromAvailability", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Exclude a specific rate from availability", "items": { "type": "boolean" }, "required": false }, { "name": "inactive", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The rate access exclusion is inactive", "items": { "type": "boolean" }, "required": false }, { "name": "sourceType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The type of source (CRO or Hotel code) for which the rate access exclusion is set.", "items": { "type": "string" }, "required": false }, { "name": "sourceValue", "in": "query", "type": "array", "collectionFormat": "multi", "description": "CRO or Hotel code value.", "items": { "type": "string" }, "required": false }, { "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" }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/rateCategories": { "get": { "summary": "Get Rate Category", "description": "Search for Rate Categories. The search criteria can include a Rate category, the list of hotel Codes and the description of the Rate Category.

OperationId:getRateCategory

The maximum allowable limit for this API is 1000.

", "operationId": "getRateCategory", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of hotel." }, { "name": "hotelIds", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Hotel code.", "items": { "type": "string" }, "required": false }, { "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": "rateCategoryListCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "rateCategoryDescription", "in": "query", "required": false, "description": "Rate Category description. Partial description searches are considered.", "type": "string" }, { "name": "includeInactive", "in": "query", "required": false, "description": "Indicator that tells whether inactive rate category should be included in fetch result.", "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 fetching Rate Categories for a property.", "schema": { "$ref": "#/definitions/rateCategoryDetails" } }, "204": { "description": "RateCategory 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": [ "HotelConfig" ] }, "post": { "summary": "Create Rate Category", "description": "This API can be used to Use this API to create a Rate Category e.g. RACK. Only one rate category can be Use this API to created at a time.

OperationId:postRateCategory

", "operationId": "postRateCategory", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of hotel." }, { "name": "rateCategoryCriteria", "in": "body", "required": true, "description": "Request object for Creating a new Rate Category for a property.", "schema": { "allOf": [ { "$ref": "#/definitions/rateCategoryCriteria" } ] } }, { "$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": [ "HotelConfig" ] }, "delete": { "summary": "Delete Rate Category", "description": "Use this delete a Rate Category e.g. RACK.

OperationId:deleteRateCategory

", "operationId": "deleteRateCategory", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of hotel." }, { "name": "rateCategory", "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" }, "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": [ "HotelConfig" ] }, "put": { "summary": "Change Rate Category", "description": "This API can be used to Modify a Rate Category e.g. RACK. Only one rate category can be modified at a time.

OperationId:changeRateCategory

", "operationId": "changeRateCategory", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of hotel." }, { "name": "rateCategoryToBeChanged", "in": "body", "required": true, "description": "Request object for modifying a Rate Category for a property.", "schema": { "allOf": [ { "$ref": "#/definitions/rateCategoryToBeChanged" } ] } }, { "$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": [ "HotelConfig" ] } }, "/hotels/{hotelId}/rateClasses": { "get": { "summary": "Get rate classes", "description": "Use this API to get rate classes.

OperationId:getRateClass

The maximum allowable limit for this API is 1000.

", "operationId": "getRateClass", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of hotel." }, { "name": "hotelIds", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Hotel code.", "items": { "type": "string" }, "required": false }, { "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": "rateClassListCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "description", "in": "query", "required": false, "description": "Description of the rate class.", "type": "string" }, { "name": "includeInactive", "in": "query", "required": false, "description": "Indicator which tells whether inactive rate class to be included or not.", "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 for fetch rate classes.", "schema": { "$ref": "#/definitions/rateClassDetails" } }, "204": { "description": "RateClass 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": [ "HotelConfig" ] }, "post": { "summary": "Create new rate class", "description": "Use this API to create new rate class.

OperationId:postRateClass

", "operationId": "postRateClass", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of hotel." }, { "name": "rateClassCriteria", "in": "body", "required": true, "description": "Request to create new rate class.", "schema": { "allOf": [ { "$ref": "#/definitions/rateClassCriteria" } ] } }, { "$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": [ "HotelConfig" ] } }, "/hotels/{hotelId}/rateClasses/{rateClassCode}": { "put": { "summary": "Changes to rate class", "description": "Use this API to updates to rate class.

OperationId:changeRateClass

", "operationId": "changeRateClass", "parameters": [ { "name": "rateClassCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Code of rate class." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of hotel." }, { "name": "rateClassToBeChanged", "in": "body", "required": true, "description": "Request to save changes to rate class.", "schema": { "allOf": [ { "$ref": "#/definitions/rateClassToBeChanged" } ] } }, { "$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": [ "HotelConfig" ] }, "delete": { "summary": "Delete rate class", "description": "Use this API to delete rate class.

OperationId:deleteRateClass

", "operationId": "deleteRateClass", "parameters": [ { "name": "rateClassCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Code of rate class." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of 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/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": [ "HotelConfig" ] } }, "/hotels/{hotelId}/rateGroups": { "get": { "summary": "Get rate groups", "description": "This API allows you to update rate groups.

OperationId:getRateGroups

", "operationId": "getRateGroups", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "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": "code", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Codes to be searched.", "items": { "type": "string" }, "required": false }, { "name": "wildCard", "in": "query", "required": false, "description": "Wildcard search on the code.", "type": "string" }, { "name": "description", "in": "query", "required": false, "description": "Rate Group Description.", "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 Ping operation.", "schema": { "$ref": "#/definitions/rateGroupsInfo" } }, "204": { "description": "RateGroups 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": [ "RatePlan" ] }, "put": { "summary": "Change rate groups", "description": "This API allows you to update rate groups.

OperationId:putRateGroups

", "operationId": "putRateGroups", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "rateGroups", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/rateGroups" } ] } }, { "$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": [ "RatePlan" ] }, "post": { "summary": "Create rate groups", "description": "This API allows you to create rate groups.

OperationId:postRateGroups

", "operationId": "postRateGroups", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "rateGroups", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/rateGroups" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete rate groups", "description": "This API allows you to delete rate groups.

OperationId:deleteRateGroups

", "operationId": "deleteRateGroups", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/ratePlan/schedule/yieldAdjustment": { "get": { "summary": "Get rate plan schedule yield adjustments", "description": "This API allows you to fetch Rate Plan schedules for yield adjustments.

OperationId:getRatePlanScheduleYieldAdjustments

", "operationId": "getRatePlanScheduleYieldAdjustments", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "summaryInfo", "in": "query", "required": false, "description": "When true response will return summary information otherwise detailed information.", "type": "boolean" }, { "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": "ratePlanCode", "in": "query", "required": false, "description": "Rate plan code.", "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 fetch Yield adjustments for rate plan schedule.", "schema": { "$ref": "#/definitions/ratePlanScheduleYieldAdjustments" } }, "204": { "description": "RatePlanScheduleYieldAdjustments 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": [ "RatePlan" ] } }, "/hotels/{hotelId}/ratePlanSchedules/{scheduleId}/split": { "post": { "summary": "Split rate plan schedule", "description": "This API allows you to split Rate Plan schedule.

OperationId:splitRatePlanSchedule

", "operationId": "splitRatePlanSchedule", "parameters": [ { "name": "scheduleId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Schedule Id." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlanScheduleToSplit", "in": "body", "required": true, "description": "Request object to split rate plan schedule.", "schema": { "allOf": [ { "$ref": "#/definitions/ratePlanScheduleToSplit" } ] } }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/ratePlans": { "get": { "summary": "Get rate plans by Hotel Code", "description": "This API allows you to fetch Rate Plans for a given hotel id. API returns only Nightly rates when posting interval is not provided

OperationId:getRatePlansByHotel

", "operationId": "getRatePlansByHotel", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlanCode", "in": "query", "required": false, "description": "Rate plan code.", "type": "string" }, { "name": "postingInterval", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Optional posting interval filter. When nothing is provided in this filter then only Nightly rates will be returned", "uniqueItems": true, "items": { "type": "string", "enum": [ "Nightly", "Weekly", "Monthly", "All" ] } }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type for Rate plan codes instructions that can be used in requests for partial operations.", "uniqueItems": true, "items": { "type": "string", "enum": [ "PrimaryDetails", "TransactionDetails", "Packages", "RateCommission", "NegotiatedProfiles", "RateControls", "RoutingInstructions", "AccessExclusions", "ApprovalNotes" ] }, "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 fetch rate plan's complete details.", "schema": { "$ref": "#/definitions/ratePlanInfo" } }, "204": { "description": "RatePlansByHotel 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": [ "RatePlan" ] }, "post": { "summary": "Create rate plans ", "description": "This API allows you to create Rate Plans for a given hotel ID.

OperationId:postRatePlan

", "operationId": "postRatePlan", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlan", "in": "body", "required": true, "description": "Request object to create rate plan.", "schema": { "allOf": [ { "$ref": "#/definitions/ratePlan" } ] } }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/ratePlans/sync": { "put": { "summary": "Synchronizes Rate Plan information including Rate Header and Packages across target properties.", "description": "This API updates all requested properties having the same rate code so they have the same rate code attributes.", "operationId": "syncRatePlans", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlansSync", "in": "body", "required": true, "description": "Request object to synchronize rate codes.", "schema": { "$ref": "#/definitions/ratePlansSync" } }, { "$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 for synchronizing rate codes.", "schema": { "$ref": "#/definitions/status" }, "examples": { "application/json": {} } }, "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": [ "RatePlan" ] } }, "/hotels/{hotelId}/ratePlans/{ratePlanCode}": { "get": { "summary": "Get rate plan", "description": "This API allows you to fetch Rate Plan for a given hotel id and Rate Plan Code.

OperationId:getRatePlan

", "operationId": "getRatePlan", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type for Rate plan codes instructions that can be used in requests for partial operations.", "uniqueItems": true, "items": { "type": "string", "enum": [ "PrimaryDetails", "TransactionDetails", "Packages", "RateCommission", "NegotiatedProfiles", "RateControls", "RoutingInstructions", "AccessExclusions", "ApprovalNotes" ] }, "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 fetch rate plan's complete details.", "schema": { "$ref": "#/definitions/ratePlanInfo" } }, "204": { "description": "RatePlan 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": [ "RatePlan" ] }, "put": { "summary": "Change rate plan ", "description": "This API allows you to update Rate Plan information such as date range, linked room types, and rate controls for a given hotelID. There is a separate API to add or update the rate plan pricing schedule.

OperationId:putRatePlan

", "operationId": "putRatePlan", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlan", "in": "body", "required": true, "description": "Request object to change rate plan.", "schema": { "allOf": [ { "$ref": "#/definitions/ratePlan" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete rate plan ", "description": "This API allows you to delete Rate Plan for a given hotel id.

OperationId:deleteRatePlan

", "operationId": "deleteRatePlan", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/ratePlans/{ratePlanCode}/copy": { "put": { "summary": "Copy rate plans", "description": "This API allows you to copy Rate Plans.

OperationId:copyRatePlans

", "operationId": "copyRatePlans", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlansCopy", "in": "body", "required": true, "description": "Request object for Copying rate plans to multiple hotels.", "schema": { "allOf": [ { "$ref": "#/definitions/ratePlansCopy" } ] } }, { "$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": "Return object to the request for copying rate plans to multiple hotels.", "schema": { "$ref": "#/definitions/ratePlansCopyDetails" } }, "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": [ "RatePlan" ] } }, "/hotels/{hotelId}/ratePlans/{ratePlanCode}/dailySchedules": { "put": { "summary": "Set daily rate plan schedule range", "description": "This API allows you to set Rate Plan schedule range.

OperationId:setDailyRatePlanScheduleRange

", "operationId": "setDailyRatePlanScheduleRange", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "dailyRatePlanScheduleRange", "in": "body", "required": true, "description": "A Request message that sets the rate plan schedules for daily rates as a range.", "schema": { "allOf": [ { "$ref": "#/definitions/dailyRatePlanScheduleRange" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete daily rate plan schedule range", "description": "This API allows you to delete daily Rate Plan schedules.

OperationId:deleteDailyRatePlanScheduleRange

", "operationId": "deleteDailyRatePlanScheduleRange", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "startDate", "in": "query", "required": true, "type": "string", "format": "date" }, { "name": "endDate", "in": "query", "required": true, "type": "string", "format": "date" }, { "name": "roomType", "in": "query", "required": false, "type": "array", "description": "Room Type.", "maxItems": 4000, "items": { "type": "string" } }, { "name": "roomClass", "in": "query", "required": false, "type": "array", "description": "Room Class.", "maxItems": 4000, "items": { "type": "string" } }, { "name": "friday", "in": "query", "required": false, "type": "boolean" }, { "name": "monday", "in": "query", "required": false, "type": "boolean" }, { "name": "saturday", "in": "query", "required": false, "type": "boolean" }, { "name": "sunday", "in": "query", "required": false, "type": "boolean" }, { "name": "thursday", "in": "query", "required": false, "type": "boolean" }, { "name": "tuesday", "in": "query", "required": false, "type": "boolean" }, { "name": "wednesday", "in": "query", "required": false, "type": "boolean" }, { "name": "duration", "in": "query", "required": false, "type": "string" }, { "name": "advancedDailyBaseRatePlanCode", "in": "query", "required": false, "description": "The Base Rate Plan Code which will be used to look up for and configure the Pricing Schedule for the main Rate Plan Code", "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": [ "RatePlan" ] } }, "/hotels/{hotelId}/ratePlans/{ratePlanCode}/metrics": { "get": { "summary": "Get rate plan metrics", "description": "Provides counts for dependent base rates and rate code pricing schedules for a given rate plan. If no 'fields' are specified, all supported metrics are returned.", "operationId": "getRatePlanMetrics", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "fields", "in": "query", "required": false, "description": "Select which metric fields to return. Supported values are 'dependentBaseRates' and 'rateCodePricingSchedules'. If omitted, all supported metrics are returned.", "type": "array", "collectionFormat": "multi", "uniqueItems": true, "items": { "type": "string", "enum": [ "DependentBaseRates", "RateCodePricingSchedules" ] } }, { "$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": "Rate plan metrics.", "schema": { "$ref": "#/definitions/ratePlanMetrics" }, "examples": { "application/json": { "dependentBaseRates": 42, "rateCodePricingSchedules": 17 } } }, "204": { "description": "RatePlanMetrics 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": [ "RatePlan" ] } }, "/hotels/{hotelId}/ratePlans/{ratePlanCode}/packages": { "put": { "summary": "Change rate plan package", "description": "This API allows you to update Rate Plan package.

OperationId:putRatePlanPackages

", "operationId": "putRatePlanPackages", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlanPackages", "in": "body", "required": true, "description": "Request object to change package code and package group details when attached to a rate plan.", "schema": { "allOf": [ { "$ref": "#/definitions/ratePlanPackages" } ] } }, { "$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": [ "RatePlan" ] }, "post": { "summary": "Create rate plan package", "description": "This API allows you to create Rate Plan package.

OperationId:postRatePlanPackages

", "operationId": "postRatePlanPackages", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlanPackages", "in": "body", "required": true, "description": "Request object to attach package codes and package groups to a rate plan.", "schema": { "allOf": [ { "$ref": "#/definitions/ratePlanPackages" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete rate plan packages", "description": "This API allows you to delete Rate Plan package.

OperationId:deleteRatePlanPackages

", "operationId": "deleteRatePlanPackages", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "packageCode", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Configuration code.", "items": { "type": "string" }, "required": false }, { "name": "packageGroup", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Configuration code.", "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": [ "RatePlan" ] } }, "/hotels/{hotelId}/ratePlans/{ratePlanCode}/postingRhythms": { "put": { "summary": "Change rate plan posting rhythms", "description": "This API allows you to update Rate Plan posting rhythms.

OperationId:putRatePlanPostingRhythms

", "operationId": "putRatePlanPostingRhythms", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlanPostingRhythms", "in": "body", "required": true, "description": "Request object for changing existing rate plan advanced posting rhythms.", "schema": { "allOf": [ { "$ref": "#/definitions/ratePlanPostingRhythms" } ] } }, { "$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": [ "RatePlan" ] }, "post": { "summary": "Create rate plan posting rhythms", "description": "This API allows you to create Rate Plan posting rhythms.

OperationId:postRatePlanPostingRhythms

", "operationId": "postRatePlanPostingRhythms", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlanPostingRhythms", "in": "body", "required": true, "description": "Request object for creating new rate plan advanced posting rhythms.", "schema": { "allOf": [ { "$ref": "#/definitions/ratePlanPostingRhythms" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete rate plan posting rhythms", "description": "This API allows you to delete Rate Plan posting rhythms.

OperationId:deleteRatePlanPostingRhythms

", "operationId": "deleteRatePlanPostingRhythms", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "code", "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" }, "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": [ "RatePlan" ] } }, "/hotels/{hotelId}/ratePlans/{ratePlanCode}/schedules": { "get": { "summary": "Get rate plan schedules", "description": "This API allows you to fetch Rate Plan schedules.

OperationId:getRatePlanSchedules

This API allows a time span of 365 days.

", "operationId": "getRatePlanSchedules", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "excludeRatePlanPackage", "in": "query", "required": false, "description": "Exclude the List of Pricing Schedule Packages from the response.", "type": "boolean" }, { "name": "tierId", "in": "query", "required": false, "type": "integer", "minimum": 1, "maximum": 5 }, { "name": "ratePlanScheduleId", "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": "ratePlanScheduleIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element. Refer to OpenTravel Code List Unique ID Type (UIT).", "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": "roomType", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Room Type.", "items": { "type": "string" }, "required": false }, { "name": "roomClass", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Room Class.", "items": { "type": "string" }, "required": false }, { "name": "offset", "in": "query", "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": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return. When offset is sent, limit value cannot exceed 500. ", "type": "integer" }, { "name": "includeInactive", "in": "query", "required": false, "description": "Include inactive rate schedules in the fetch result.", "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 fetch rate plan schedules.", "schema": { "$ref": "#/definitions/ratePlanSchedulesInfo" } }, "204": { "description": "RatePlanSchedules 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": [ "RatePlan" ] }, "put": { "summary": "Change rate plan schedules", "description": "This API allows you to update Rate Plan schedules.

OperationId:putRatePlanSchedules

", "operationId": "putRatePlanSchedules", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlanSchedules", "in": "body", "required": true, "description": "Request object to change rate plan schedules.", "schema": { "allOf": [ { "$ref": "#/definitions/ratePlanSchedules" } ] } }, { "$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": [ "RatePlan" ] }, "post": { "summary": "Create rate plan schedules", "description": "This API allows you to create Rate Plan pricing schedule.

OperationId:postRatePlanSchedules

", "operationId": "postRatePlanSchedules", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlanSchedulesToCreate", "in": "body", "required": true, "description": "Request object to create rate plan schedules.", "schema": { "allOf": [ { "$ref": "#/definitions/ratePlanSchedulesToCreate" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete rate plan schedule", "description": "This API allows you to delete Rate Plan schedules.

OperationId:deleteRatePlanSchedules

", "operationId": "deleteRatePlanSchedules", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlanScheduleIds", "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": "tierID", "in": "query", "required": false, "description": "Tier that the rate plan schedule belongs to.", "type": "integer" }, { "name": "seasonCode", "in": "query", "required": false, "description": "Season code attached to the rate plan schedule that defines the start and end dates. When creating a rate plan schedule, if a season code is provided the start and end dates will be ignored. These values will be pulled from the season code record.", "type": "string" }, { "name": "start", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "end", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "roomType", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false, "description": "List of room types that are for the rate plan schedule." }, { "name": "sunday", "in": "query", "required": false, "description": "Day Of The Week Schedule Should Be Applicable.", "type": "boolean" }, { "name": "monday", "in": "query", "required": false, "description": "Day Of The Week Schedule Should Be Applicable.", "type": "boolean" }, { "name": "tuesday", "in": "query", "required": false, "description": "Day Of The Week Schedule Should Be Applicable.", "type": "boolean" }, { "name": "wednesday", "in": "query", "required": false, "description": "Day Of The Week Schedule Should Be Applicable.", "type": "boolean" }, { "name": "thursday", "in": "query", "required": false, "description": "Day Of The Week Schedule Should Be Applicable.", "type": "boolean" }, { "name": "friday", "in": "query", "required": false, "description": "Day Of The Week Schedule Should Be Applicable.", "type": "boolean" }, { "name": "saturday", "in": "query", "required": false, "description": "Day Of The Week Schedule Should Be Applicable.", "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": [ "RatePlan" ] } }, "/hotels/{hotelId}/ratePlans/{ratePlanCode}/schedules/set": { "put": { "summary": "Set rate plan schedules", "description": "This API allows you to set Rate Plan schedules.

OperationId:setRatePlanSchedules

", "operationId": "setRatePlanSchedules", "parameters": [ { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "ratePlanSchedules", "in": "body", "required": true, "description": "Request object to set rate plan schedules.", "schema": { "allOf": [ { "$ref": "#/definitions/ratePlanSchedulesToSet" } ] } }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/ratePlans/{ratePlanCode}/sourceTiers/{sourceTierId}/destinationTiers/{destinationTierId}/schedules/copy": { "put": { "summary": "Copy tiered rate schedules", "description": "This API allows you to copy tiered rate schedules.

OperationId:copyTieredRateSchedules

", "operationId": "copyTieredRateSchedules", "parameters": [ { "name": "destinationTierId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Destination Tier Id." }, { "name": "sourceTierId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Source Tier Id." }, { "name": "ratePlanCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Rate Plan Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "tieredRateSchedulesCopy", "in": "body", "required": true, "description": "Request object to copy the specified tier 1 rate schedules into the specified tiers.", "schema": { "allOf": [ { "$ref": "#/definitions/tieredRateSchedulesCopy" } ] } }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/rateSeasons": { "get": { "summary": "Get Hotel Rate Seasons", "description": "Use this API to get Hotel Rate Seasons.

OperationId:getRateSeasons

The maximum allowable limit for this API is 1000.

", "operationId": "getRateSeasons", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of hotel." }, { "name": "hotelIds", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Hotel code.", "items": { "type": "string" }, "required": false }, { "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": "seasonsCodes", "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 for fetching rate seasons for a hotel.", "schema": { "$ref": "#/definitions/rateSeasonsDetails" } }, "204": { "description": "RateSeasons 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": [ "HotelConfig" ] }, "post": { "summary": "Create Hotel Rate Seasons", "description": "Use this API to create Hotel Rate Seasons.

OperationId:postRateSeasons

", "operationId": "postRateSeasons", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of hotel." }, { "name": "rateSeasonsCriteria", "in": "body", "required": true, "description": "Request object for creating new rate seasons for a hotel.", "schema": { "allOf": [ { "$ref": "#/definitions/rateSeasonsCriteria" } ] } }, { "$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": [ "HotelConfig" ] } }, "/hotels/{hotelId}/rateSeasons/{seasonCode}": { "put": { "summary": "Change Hotel Rate Seasons", "description": "Use this API to update Hotel Rate Seasons.

OperationId:changeRateSeasons

", "operationId": "changeRateSeasons", "parameters": [ { "name": "seasonCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Code of season." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of hotel." }, { "name": "rateSeasonsToBeChanged", "in": "body", "required": true, "description": "Request object for modifying rate seasons for a hotel.", "schema": { "allOf": [ { "$ref": "#/definitions/rateSeasonsToBeChanged" } ] } }, { "$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": [ "HotelConfig" ] }, "delete": { "summary": "Delete Hotel Rate Seasons", "description": "Use this API to delete Hotel Rate Seasons.

OperationId:removeRateSeasons

", "operationId": "removeRateSeasons", "parameters": [ { "name": "seasonCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Code of season." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of 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/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": [ "HotelConfig" ] } }, "/hotels/{hotelId}/rateStrategies": { "get": { "summary": "Get rate strategies", "description": "This API allows you to fetch rate strategies.

OperationId:getRateStrategies

The maximum allowable limit for this API is 1000.

", "operationId": "getRateStrategies", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "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": "restrictionDate", "in": "query", "required": false, "description": "search Rate Strategies with this restriction 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 for Fetching existing Rate strategies.", "schema": { "$ref": "#/definitions/rateStrategies" } }, "204": { "description": "RateStrategies 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": [ "RatePlan" ] }, "post": { "summary": "Create rate strategies", "description": "This API allows you to create rate strategies.

OperationId:postRateStrategy

", "operationId": "postRateStrategy", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "rateStrategy", "in": "body", "required": true, "description": "Request object for Creating a new Rate Strategy.", "schema": { "allOf": [ { "$ref": "#/definitions/rateStrategy" } ] } }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/rateStrategies/{rateStrategyId}": { "put": { "summary": "Change rate strategies", "description": "This API allows you to update rate strategies.

OperationId:putRateStrategy

", "operationId": "putRateStrategy", "parameters": [ { "name": "rateStrategyId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Strategy Id" }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "rateStrategy", "in": "body", "required": true, "description": "Request object for Modifying Rate Strategy.", "schema": { "allOf": [ { "$ref": "#/definitions/rateStrategy" } ] } }, { "$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": [ "RatePlan" ] }, "delete": { "summary": "Delete rate strategies", "description": "This API allows you to delete rate strategies.

OperationId:deleteRateStrategy

", "operationId": "deleteRateStrategy", "parameters": [ { "name": "rateStrategyId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Strategy Id" }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "$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": [ "RatePlan" ] } }, "/hotels/{hotelId}/rates/activityLog": { "get": { "summary": "Get rate activity log", "description": "This API allows you to fetch Rate Activity Log.

OperationId:getRateActivityLog

The maximum allowable limit for this API is 500.

This API allows a time span of 90 days.

", "operationId": "getRateActivityLog", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "module", "in": "query", "default": "RateCode", "required": true, "type": "string", "description": "Activity module.", "uniqueItems": true, "enum": [ "Reservation", "Contract", "Allotment", "Outlookview", "Profile", "Accountreceivables", "GdsConvRateCodes", "RateCode", "Billing", "Activity" ] }, { "name": "parameterName", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Name of the parameter.", "items": { "type": "string" }, "required": true }, { "name": "parameterValue", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Value of the parameter.", "items": { "type": "string" }, "required": true }, { "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": "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": "userId", "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 to fetch rate activity log.", "schema": { "$ref": "#/definitions/rateActivityLog" } }, "204": { "description": "RateActivityLog 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": [ "RatePlan" ] } }, "/hotels/{hotelId}/rates/coupons/{couponCode}": { "get": { "summary": "Validate a coupon code", "description": "This API allows you to validate a coupon code.

OperationId:validateRateCoupon

", "operationId": "validateRateCoupon", "parameters": [ { "name": "couponCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 40, "description": "Coupon Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "$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 validating a coupon.", "schema": { "$ref": "#/definitions/promotionCouponValidationDetails" } }, "204": { "description": "validateRateCoupon 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": [ "Availability" ] } }, "/hotels/{hotelId}/rates/promotions/{promotionCode}": { "get": { "summary": "Validate a promotion code", "description": "This API allows you to validate a promotion code.

OperationId:validateRatePromotion

", "operationId": "validateRatePromotion", "parameters": [ { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Promotion Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "$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 validating a coupon.", "schema": { "$ref": "#/definitions/promotionCouponValidationDetails" } }, "204": { "description": "validateRatePromotion 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": [ "Availability" ] } }, "/hotels/{hotelId}/rates/promotionsCoupons": { "get": { "summary": "Validate promotion and coupon code", "description": "This API allows you to validate a promotion and coupon code.

OperationId:validateRatePromotionCoupon

", "operationId": "validateRatePromotionCoupon", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "couponCode", "in": "query", "required": true, "description": "Coupon code to validate.", "type": "string" }, { "name": "promotionCode", "in": "query", "required": true, "description": "Promotion Code to which the coupon belongs.", "type": "string" }, { "name": "startDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "endDate", "in": "query", "required": false, "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 for validating a coupon.", "schema": { "$ref": "#/definitions/promotionCouponValidationDetails" } }, "204": { "description": "validateRatePromotionCoupon 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": [ "Availability" ] } }, "/hotels/{hotelId}/yieldAdjustments": { "get": { "summary": "Get yield adjustments", "description": "This API allows you to fetch yield adjustments.

OperationId:getYieldAdjustments

The maximum allowable limit for this API is 1000.

", "operationId": "getYieldAdjustments", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "currencyCode", "in": "query", "required": false, "description": "fetch adjustment codes attached to this Currency code.", "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 fetch Yield adjustments based on the requested criteria.", "schema": { "$ref": "#/definitions/yieldAdjustments" } }, "204": { "description": "YieldAdjustments 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": [ "RatePlan" ] } }, "/packageForecastGroups": { "get": { "summary": "Get Template Package Forecast Groups", "description": "This API allows you to fetch Package Forecast groups template.

OperationId:getTemplatePackageForecastGroups

", "operationId": "getTemplatePackageForecastGroups", "parameters": [ { "name": "includeInactive", "in": "query", "default": "false", "required": true, "description": "Inactive flag - whether or not to display inactive records", "type": "boolean" }, { "name": "packageForecastGroupCode", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Codes to be searched.", "items": { "type": "string" }, "required": false }, { "name": "wildCard", "in": "query", "required": false, "description": "Wildcard search on the code.", "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 fetching template package forecast groups.", "schema": { "$ref": "#/definitions/templatePackageForecastGroups" } }, "204": { "description": "TemplatePackageForecastGroups 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": [ "RatePlan" ] }, "post": { "summary": "Create Template Package Forecast Groups", "description": "This API allows you to create Package Forecast groups template.

OperationId:postTemplatePackageForecastGroups

", "operationId": "postTemplatePackageForecastGroups", "parameters": [ { "name": "templatePackageForecastGroups", "in": "body", "required": true, "description": "Request object for creating new template package forecast groups.", "schema": { "allOf": [ { "$ref": "#/definitions/templatePackageForecastGroups" } ] } }, { "$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": [ "RatePlan" ] }, "put": { "summary": "Change Template Package Forecast Groups", "description": "This API allows you to update Package Forecast groups template.

OperationId:putTemplatePackageForecastGroups

", "operationId": "putTemplatePackageForecastGroups", "parameters": [ { "name": "templatePackageForecastGroups", "in": "body", "required": true, "description": "Request object for modifying template package forecast groups.", "schema": { "allOf": [ { "$ref": "#/definitions/templatePackageForecastGroups" } ] } }, { "$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": [ "RatePlan" ] } }, "/packageForecastGroups/{packageForecastGroupCode}": { "delete": { "summary": "Delete Template Package Forecast Groups", "description": "This API allows you to delete Package Forecast groups template.

OperationId:deleteTemplatePackageForecastGroups

", "operationId": "deleteTemplatePackageForecastGroups", "parameters": [ { "name": "packageForecastGroupCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code." }, { "$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": [ "RatePlan" ] } }, "/packages": { "get": { "summary": "Get packages", "description": "This API allows you to fetch packages for a hotel id.

OperationId:getPackages

This API allows a time span of 365 days.

", "operationId": "getPackages", "parameters": [ { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "hotelId", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Hotel code.", "items": { "type": "string" }, "required": false }, { "name": "packageCode", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "packageCategory", "description": "Package Category based on which results should be filtered.", "required": false, "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" } }, { "name": "descriptionWildCard", "in": "query", "required": false, "description": "The description or a part of the description based on which results should be filtered.", "type": "string" }, { "name": "startDate", "in": "query", "required": false, "description": "Start Date for pricing schedule.", "type": "string", "format": "date" }, { "name": "endDate", "in": "query", "required": false, "description": "End Date for pricing schedule.", "type": "string", "format": "date" }, { "name": "adults", "in": "query", "required": false, "description": "Number of adults for pricing schedule calculation.", "type": "integer" }, { "name": "children", "in": "query", "required": false, "description": "Number of children for pricing schedule calculation.", "type": "integer" }, { "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": "includeGroup", "in": "query", "required": false, "description": "Indicates if Group Packages will be fetched.", "type": "boolean" }, { "name": "sellSeparate", "in": "query", "required": false, "description": "Indicates if Only Sell Separate Packages will be fetched, if not specified, it will ignore the criteria.", "type": "boolean" }, { "name": "ticketPostingRhythm", "in": "query", "required": false, "description": "Indicates if Only Ticket Posting Rhythm will be fetched, if not specified, it will ignore the criteria.", "type": "boolean" }, { "name": "excludeRedemptionPackages", "in": "query", "required": false, "description": "Indicates if redemption packages must be excluded from the list.", "type": "boolean" }, { "name": "includeOnlySeparateLinePackages", "in": "query", "required": false, "description": "Indicates if Only Add to Rate - Separate line will be fetched, if not specified, it will ignore the criteria.", "type": "boolean" }, { "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": [ "Header", "PostingRules", "CalculatedPrice", "Items", "Details", "UsageDetails" ] }, "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 fetch list of packages.", "schema": { "$ref": "#/definitions/packagesInfo" } }, "204": { "description": "Packages 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": [ "RatePlan" ] } }, "/packages/copy": { "put": { "summary": "Copy package code(s) ", "description": "This API allows you to copy package codes(s) from one hotel to another.

OperationId:copyPackages

", "operationId": "copyPackages", "parameters": [ { "name": "packagesCopy", "in": "body", "required": true, "description": "List of the package codes to be copied to other hotel code(s).", "schema": { "allOf": [ { "$ref": "#/definitions/packagesCopy" } ] } }, { "$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": [ "RatePlan" ] } }, "/packages/text/{responseId}": { "put": { "summary": "Save the package description to the AI Author Service.", "description": "This API allows you to call the AI Author Service Proxy to save the description for a package code.", "operationId": "savePackageCodeDescription", "parameters": [ { "name": "responseId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Response value of the AI Proxy Service." }, { "name": "savePackageCodeDescriptionRequest", "in": "body", "required": true, "schema": { "$ref": "#/definitions/savePackageCodeDescriptionRequest" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" } ], "responses": { "200": { "description": "Response object containing the generated text based on prompt input for a given use case.", "schema": { "$ref": "#/definitions/savePackageCodeDescriptionResponse" } }, "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": [ "RatePlan" ] } }, "/profiles/{profileId}/negotiatedRates": { "get": { "summary": "Get negotiated rate details for given profile", "description": "This API allows you to fetch negotiated Rates for a given profile.

OperationId:getNegotiatedRatesForGivenProfile

The maximum allowable limit for this API is 500.

This API allows a time span of 90 days.

", "operationId": "getNegotiatedRatesForGivenProfile", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer", "maximum": 500 }, { "name": "offset", "in": "query", "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": "startDate", "in": "query", "required": false, "description": "Start Date.", "type": "string", "format": "date" }, { "name": "endDate", "in": "query", "required": false, "description": "End Date.", "type": "string", "format": "date" }, { "name": "hotelCode", "in": "query", "required": false, "description": "Hotel code associated to the hotel", "type": "string" }, { "name": "hotelCodes", "in": "query", "type": "array", "maxItems": 300, "collectionFormat": "multi", "description": "Hotel code of negotiated rates to be searched.", "items": { "type": "string" }, "required": false }, { "name": "ratePlanCode", "in": "query", "required": false, "description": "Rate Plan Code associated with the rate", "type": "string" }, { "name": "includeInactiveNegotiatedRates", "in": "query", "required": false, "description": "Inactive negotiated rates.", "type": "boolean" }, { "name": "fetchInstructionsLimit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type for negotiated rates instructions that can be used in requests for partial operations.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Discounts" ] }, "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 fetching negotiated rates and profile discounts.", "schema": { "$ref": "#/definitions/negotiatedRates" } }, "204": { "description": "NegotiatedRatesForGivenProfile 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": [ "RatePlan" ] } }, "/promotionCodes": { "get": { "summary": "Get Template Promotion Codes", "description": "This API allows you to fetch Promotion Code template.

OperationId:getTemplatePromotionCodes

The maximum allowable limit for this API is 1000.

", "operationId": "getTemplatePromotionCodes", "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": "hotelId", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Hotel code.", "items": { "type": "string" }, "required": false }, { "name": "promotionCode", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "promotionGroup", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "rateCodes", "in": "query", "required": false, "description": "Comma separated list of rates codes. This is used to filter the response and return only those promotion codes that are tied to any of these rate codes.", "type": "string" }, { "name": "description", "in": "query", "required": false, "description": "Category Description of the promotion.", "type": "string" }, { "name": "includeInactive", "in": "query", "required": false, "description": "Indicates whether to include inactive promotions.", "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 fetch rate plan codes associated for a package. It contains package's short information.", "schema": { "$ref": "#/definitions/templatePromotionCodes" } }, "204": { "description": "TemplatePromotionCodes 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": [ "RatePlan" ] } }, "/promotionCodes/{promotionCode}": { "put": { "summary": "Change Template Promotion Code", "description": "This API allows you to update Promotion Code template.

OperationId:putTemplatePromotionCode

", "operationId": "putTemplatePromotionCode", "parameters": [ { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Promotion Code." }, { "name": "templatePromotionCode", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/templatePromotionCode" } ] } }, { "$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": [ "RatePlan" ] }, "post": { "summary": "Create Template Promotion Code", "description": "This API allows you to create Promotion Code template.

OperationId:postTemplatePromotionCode

", "operationId": "postTemplatePromotionCode", "parameters": [ { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Promotion Code." }, { "name": "templatePromotionCode", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/templatePromotionCode" } ] } }, { "$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": [ "RatePlan" ] } }, "/promotionCodes/{promotionCode}/coupons": { "post": { "summary": "Generate template promotion coupon codes", "description": "This API allows you to generate promotion coupon codes at template promotion level.

OperationId:generateTemplatePromotionCouponCodes

", "operationId": "generateTemplatePromotionCouponCodes", "parameters": [ { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Promotion Coupon Code." }, { "name": "generatePromotionCouponCodes", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/generatePromotionCouponCodes" } ] } }, { "$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/generatedCouponCodeDetails" } }, "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": [ "RatePlan" ] }, "get": { "summary": "Get promotion coupon codes at template level.", "description": "This API allows you to get promotion coupon codes for a template.

OperationId:getTemplatePromotionCouponCodes

", "operationId": "getTemplatePromotionCouponCodes", "parameters": [ { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Promotion Code." }, { "name": "hotelId", "in": "query", "type": "array", "maxItems": 10, "collectionFormat": "multi", "description": "Hotel code.", "items": { "type": "string" }, "required": false }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "default": 50, "maximum": 100, "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": "batchCode", "in": "query", "type": "array", "maxItems": 10, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "createdOn", "in": "query", "required": false, "description": "Date when promotion coupon code was created.", "type": "string", "format": "date" }, { "name": "includeInactive", "in": "query", "required": false, "description": "Indicates whether to include inactive promotion coupon codes.", "type": "boolean" }, { "name": "couponCode", "in": "query", "required": false, "description": "Promotion Coupon Code.", "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 get the promotion coupon code.", "schema": { "$ref": "#/definitions/getPromotionCouponCodes" } }, "204": { "description": "Promotion Coupon Code 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": [ "RatePlan" ] } }, "/promotionCodes/{promotionCode}/coupons/inactivate": { "put": { "summary": "Inactivate promotion coupon codes for a given batch code.", "description": "This API allows you to inactivate promotion coupon codes for a given batch code.

OperationId:inactivatePromotionCouponBatchCode

", "operationId": "inactivatePromotionCouponBatchCode", "parameters": [ { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Promotion Code." }, { "name": "inactivatePromotionCouponBatchCode", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/inactivatePromotionCouponBatchCodeType" } ] } }, { "$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": [ "RatePlan" ] } }, "/promotionCodes/{promotionCode}/coupons/{couponId}": { "put": { "summary": "Update promotion coupon codeat template level.", "description": "This API allows you to update promotion coupon code at template level.

OperationId:putTemplatePromotionCouponCode

", "operationId": "putTemplatePromotionCouponCode", "parameters": [ { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Promotion Code." }, { "name": "couponId", "in": "path", "required": true, "type": "integer", "description": "Promotion Coupon Code Id." }, { "name": "updatePromotionCouponCode", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/updatePromotionCouponCode" } ] } }, { "$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": [ "RatePlan" ] }, "get": { "summary": "Get promotion coupon code at template level.", "description": "This API allows you to get promotion coupon code based on promotion coupon code id for a template.

OperationId:getTemplatePromotionCouponCode

", "operationId": "getTemplatePromotionCouponCode", "parameters": [ { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Promotion Code." }, { "name": "couponId", "in": "path", "required": true, "type": "integer", "description": "Promotion Coupon Code 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 get the promotion coupon code.", "schema": { "$ref": "#/definitions/getPromotionCouponCode" } }, "204": { "description": "Promotion Coupon Code 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": [ "RatePlan" ] } }, "/ratePlanSchedules": { "put": { "summary": "Manages rate plan schedules", "description": "This API allows you to update Rate Plan schedules.

OperationId:manageRatePlansSchedules

", "operationId": "manageRatePlansSchedules", "parameters": [ { "name": "ratePlansSchedulesToManage", "in": "body", "required": true, "description": "Request object to create/change/delete rate plans schedules.", "schema": { "allOf": [ { "$ref": "#/definitions/ratePlansSchedulesToManage" } ] } }, { "$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": [ "RatePlan" ] } }, "/ratePlans": { "get": { "summary": "Get rate plans", "description": "This API allows you to fetch Rate Plans. API returns only Nightly rates when posting interval is not provided.

OperationId:getRatePlans

The maximum allowable limit for this API is 1000.

", "operationId": "getRatePlans", "parameters": [ { "name": "hotelId", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Hotel code.", "items": { "type": "string" }, "required": true }, { "name": "includeRateInformation", "in": "query", "required": false, "description": "Indicates whether rate plan short and long information should be included in the fetched results.", "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": "ratePlanCode", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Rate Plan code.", "items": { "type": "string" }, "required": false }, { "name": "rateCategory", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Rate category of the rate plan.", "items": { "type": "string" }, "required": false }, { "name": "sellDate", "in": "query", "required": false, "description": "Sell date of the rate plan.", "type": "string", "format": "date" }, { "name": "displaySet", "in": "query", "required": false, "description": "Display set for the rate plan.", "type": "string" }, { "name": "postingInterval", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Optional posting interval filter. When nothing is provided in this filter then only Nightly rates will be returned", "uniqueItems": true, "items": { "type": "string", "enum": [ "Nightly", "Weekly", "Monthly", "All" ] } }, { "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. Refer to OpenTravel Code List Unique ID Type (UIT).", "type": "string" }, { "name": "attributeName", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "orderType", "in": "query", "type": "array", "collectionFormat": "multi", "uniqueItems": true, "items": { "type": "string", "enum": [ "Asc", "Desc" ] }, "required": false }, { "name": "includeInactive", "in": "query", "required": false, "description": "Include or not include inactive rate codes.", "type": "boolean" }, { "name": "dayUseOnly", "in": "query", "required": false, "description": "Indicates to only fetch rate plans flagged as Day Use.", "type": "boolean" }, { "name": "approvalStatus", "in": "query", "required": false, "type": "string", "description": "Indicates that the Rate Plan is approved for selling.", "uniqueItems": true, "enum": [ "NewUnapproved", "ChangedUnapproved", "Rejected", "Approved" ] }, { "$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 fetch rate plans summary information.", "schema": { "$ref": "#/definitions/ratePlansSummary" } }, "204": { "description": "RatePlans 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": [ "RatePlan" ] } }, "/rateStrategies": { "post": { "summary": "Set rate strategies", "description": "This API allows you to set Rate strategies.

OperationId:setRateStrategies

", "operationId": "setRateStrategies", "parameters": [ { "name": "rateStrategiesToSet", "in": "body", "required": true, "description": "Request object for setting rate strategies. This operation will change details of rate strategy if rate strategy with the given Hotel Code, Restriction Dates, Rate Code, Rate Category, Room Type, Condition Type and Restriction Type already exists. Otherwise, it will create new rate strategy.", "schema": { "allOf": [ { "$ref": "#/definitions/rateStrategiesToSet" } ] } }, { "$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": [ "RatePlan" ] } }, "/services/rateplan/status": { "get": { "summary": "Get Rate plan service version", "description": "This API allows you to fetch Rate Plan Service version.

OperationId:pingRatePlanService

", "operationId": "pingRatePlanService", "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": "pingRatePlanService 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": [ "RatePlan" ] } }, "/templates/rateCategories": { "get": { "summary": "Get Template Rate Categories", "description": "Use this API to fetch a Template Rate Category. The search criteria can include rate category and the property code.

OperationId:getTemplateRateCategory

", "operationId": "getTemplateRateCategory", "parameters": [ { "name": "rateCategoryListCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "rateCategoryDescription", "in": "query", "required": false, "description": "Rate Category description. Partial description searches are considered.", "type": "string" }, { "name": "includeInactive", "in": "query", "required": false, "description": "Indicator that tells whether inactive rate category should be included in fetch result.", "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 fetching Rate Categories for a property.", "schema": { "$ref": "#/definitions/templateRateCategoryDetails" } }, "204": { "description": "TemplateRateCategory 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": [ "HotelConfig" ] }, "post": { "summary": "Create a Template Rate Category", "description": "Use this API to create a new Template Rate Category.

OperationId:postTemplateRateCategory

", "operationId": "postTemplateRateCategory", "parameters": [ { "name": "templateRateCategoryCriteria", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/templateRateCategoryCriteria" } ] } }, { "$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": [ "HotelConfig" ] } }, "/templates/rateCategories/{rateCategoryCode}": { "put": { "summary": "Change Template Rate Category", "description": "Use this API to Modify a Template Rate Category. Only one template can be updated at a time.

OperationId:changeTemplateRateCategory

", "operationId": "changeTemplateRateCategory", "parameters": [ { "name": "rateCategoryCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Code of rate category." }, { "name": "templateRateCategoryToBeChanged", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/templateRateCategoryToBeChanged" } ] } }, { "$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": [ "HotelConfig" ] }, "delete": { "summary": "Delete a Template Rate Category", "description": "Use this API to delete a Template Rate Category. Only one rate category template can be sent as part of the request.

OperationId:deleteTemplateRateCategory

", "operationId": "deleteTemplateRateCategory", "parameters": [ { "name": "rateCategoryCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Code of rate category." }, { "$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": [ "HotelConfig" ] } }, "/templates/rateClasses": { "get": { "summary": "Get template rate classes", "description": "Use this API to get template rate classes.

OperationId:getTemplateRateClass

", "operationId": "getTemplateRateClass", "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": "hotelIds", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "description": "Hotel code.", "items": { "type": "string" }, "required": false }, { "name": "rateClassListCodes", "in": "query", "type": "array", "maxItems": 4000, "collectionFormat": "multi", "items": { "type": "string" }, "required": false }, { "name": "description", "in": "query", "required": false, "description": "Description of the rate class.", "type": "string" }, { "name": "includeInactive", "in": "query", "required": false, "description": "Indicator which tells whether inactive rate class to be included or not.", "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 for fetch template rate classes.", "schema": { "$ref": "#/definitions/templateRateClassDetails" } }, "204": { "description": "TemplateRateClass 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": [ "HotelConfig" ] }, "post": { "summary": "Create new template rate class", "description": "Use this API to create new template rate class.

OperationId:postTemplateRateClass

", "operationId": "postTemplateRateClass", "parameters": [ { "name": "templateRateClassCriteria", "in": "body", "required": true, "description": "Request to create new template rate class.", "schema": { "allOf": [ { "$ref": "#/definitions/templateRateClassCriteria" } ] } }, { "$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": [ "HotelConfig" ] } }, "/templates/rateClasses/{rateClassCode}": { "put": { "summary": "Change template rate class", "description": "Use this API to modify template rate class.

OperationId:changeTemplateRateClass

", "operationId": "changeTemplateRateClass", "parameters": [ { "name": "rateClassCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Code of rate class." }, { "name": "templateRateClassToBeChanged", "in": "body", "required": true, "description": "Request to save changes to template rate class.", "schema": { "allOf": [ { "$ref": "#/definitions/templateRateClassToBeChanged" } ] } }, { "$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": [ "HotelConfig" ] }, "delete": { "summary": "Delete template rate class", "description": "Use this API to delete template rate class.

OperationId:deleteTemplateRateClass

", "operationId": "deleteTemplateRateClass", "parameters": [ { "name": "rateClassCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Code of rate class." }, { "$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": [ "HotelConfig" ] } }, "/templates/rateSeasons": { "get": { "summary": "Get Template Rate Seasons", "description": "Use this API to get Template Rate Seasons.

OperationId:getTemplateRateSeasons

", "operationId": "getTemplateRateSeasons", "parameters": [ { "name": "seasonCodes", "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 for fetching template rate seasons.", "schema": { "$ref": "#/definitions/templateRateSeasonsDetails" } }, "204": { "description": "TemplateRateSeasons 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": [ "HotelConfig" ] }, "post": { "summary": "Create Template Rate Seasons", "description": "Use this API to create Template Rate Seasons.

OperationId:postTemplateRateSeasons

", "operationId": "postTemplateRateSeasons", "parameters": [ { "name": "templateRateSeasonsCriteria", "in": "body", "required": true, "description": "Request object for creating new template rate seasons.", "schema": { "allOf": [ { "$ref": "#/definitions/templateRateSeasonsCriteria" } ] } }, { "$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": [ "HotelConfig" ] } }, "/templates/rateSeasons/{seasonCode}": { "put": { "summary": "Change Template Rate Seasons", "description": "Use this API to update Template Rate Seasons.

OperationId:changeTemplateRateSeasons

", "operationId": "changeTemplateRateSeasons", "parameters": [ { "name": "seasonCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Code of season." }, { "name": "templateRateSeasonsToBeChanged", "in": "body", "required": true, "description": "Request object for modifying template rate seasons.", "schema": { "allOf": [ { "$ref": "#/definitions/templateRateSeasonsToBeChanged" } ] } }, { "$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": [ "HotelConfig" ] }, "delete": { "summary": "Delete Template Rate Seasons", "description": "Use this API to delete Template Rate Seasons.

OperationId:removeTemplateRateSeasons

", "operationId": "removeTemplateRateSeasons", "parameters": [ { "name": "seasonCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Code of season." }, { "$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": [ "HotelConfig" ] } }, "/upsert/hotels/{hotelId}/packageFormulaRanges": { "put": { "summary": "Create/Change package formula ranges", "description": "This API allows you to create/update package formula ranges.

OperationId:putUpsertPackageFormulaRanges

", "operationId": "putUpsertPackageFormulaRanges", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "packageFormulaRanges", "in": "body", "required": true, "description": "Request to change and existing package formula ranges. The Property, Amount From, Amount To, Tax Amount, Interval Amount are the details that can be changed on an existing package formula range.", "schema": { "allOf": [ { "$ref": "#/definitions/packageFormulaRanges" } ] } }, { "$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": [ "RatePlan" ] } }, "/upsert/hotels/{hotelId}/promotionCodes/{promotionCode}": { "put": { "summary": "Change/Create promotion codes", "description": "This API allows you to update/create promotion codes.

OperationId:putUpsertPromotionCode

", "operationId": "putUpsertPromotionCode", "parameters": [ { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Promotion Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "propertyPromotionCode", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/propertyPromotionCode" } ] } }, { "$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": [ "RatePlan" ] } }, "/upsert/hotels/{hotelId}/rateGroups": { "put": { "summary": "Change/Create rate groups", "description": "This API allows you to update/create rate groups.

OperationId:putUpsertRateGroups

", "operationId": "putUpsertRateGroups", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "rateGroups", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/rateGroups" } ] } }, { "$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": [ "RatePlan" ] } }, "/upsert/hotels/{hotelId}/rateSeasons/{seasonCode}": { "put": { "summary": "Create/Change Hotel Rate Seasons", "description": "Use this API to create/update Hotel Rate Seasons.

OperationId:changeUpsertRateSeasons

", "operationId": "changeUpsertRateSeasons", "parameters": [ { "name": "seasonCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Code of season." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of hotel." }, { "name": "rateSeasonsToBeChanged", "in": "body", "required": true, "description": "Request object for modifying rate seasons for a hotel.", "schema": { "allOf": [ { "$ref": "#/definitions/rateSeasonsToBeChanged" } ] } }, { "$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": [ "HotelConfig" ] } }, "/upsert/hotels/{hotelId}/rateStrategies": { "put": { "summary": "Create/Change rate strategies", "description": "This API allows you to Create/Change rate strategies.

OperationId:putUpsertRateStrategy

", "operationId": "putUpsertRateStrategy", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID that identifies a single hotel property." }, { "name": "rateStrategy", "in": "body", "required": true, "description": "Request object for Modifying Rate Strategy.", "schema": { "allOf": [ { "$ref": "#/definitions/rateStrategy" } ] } }, { "$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": [ "RatePlan" ] } }, "/upsert/promotionCodes/{promotionCode}": { "put": { "summary": "Change/create Template Promotion Code", "description": "This API allows you to update/create Promotion Code template.

OperationId:putUpsertTemplatePromotionCode

", "operationId": "putUpsertTemplatePromotionCode", "parameters": [ { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Promotion Code." }, { "name": "templatePromotionCode", "in": "body", "required": true, "schema": { "allOf": [ { "$ref": "#/definitions/templatePromotionCode" } ] } }, { "$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": [ "RatePlan" ] } } }, "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": { "displaySetsDetails": { "type": "object", "description": "Response object for fetching Display Sets.", "properties": { "displaySets": { "description": "Collection of Display Sets.", "$ref": "#/definitions/displaySetsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "displaySetsType": { "type": "array", "description": "List of Display Sets.", "maxItems": 4000, "items": { "$ref": "#/definitions/displaySetType" } }, "displaySetType": { "type": "object", "description": "Contains Common Master configuration detail.", "properties": { "code": { "description": "Common Master unique code.", "type": "string", "minLength": 0, "maxLength": 40 }, "description": { "description": "Description of the Master code.", "$ref": "#/definitions/translationTextType2000" }, "displayOrder": { "description": "Common Master record sequence number.", "type": "number" }, "inactive": { "description": "Determines whether this code is inactive or not.", "type": "boolean" }, "protected": { "description": "Determines whether this code is protected from deleting and making inactive", "type": "boolean" }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "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" } } }, "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." } }, "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" ] }, "displaySetsCriteria": { "type": "object", "description": "Request object for creating Display Sets.", "properties": { "displaySets": { "description": "Display Setsto be created.", "$ref": "#/definitions/displaySetsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "status": { "type": "object", "description": "Response Body.", "properties": { "warnings": { "$ref": "#/definitions/warningsType" }, "links": { "$ref": "#/definitions/links" } } }, "displaySetsToBeChanged": { "type": "object", "description": "Request object for changing Display Sets.", "properties": { "displaySets": { "description": "Display Setsto be changed.", "$ref": "#/definitions/displaySetsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "getBestAvailableRatesDetails": { "type": "object", "properties": { "bestAvailableRatesList": { "description": "The list of best available rates for rate code(s)", "$ref": "#/definitions/bestAvailableRatesListType" }, "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" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "bestAvailableRatesListType": { "type": "object", "description": "The list of best availabe rates for rate code(s)", "properties": { "bestAvailableRates": { "description": "Collection of best available rates for rate code(s)", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/bestAvailableRateType" } }, "masterInfoList": { "description": "The list of references of rate code selected as best available rates", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/masterInfo" } }, "hotelId": { "description": "Hotel code for which best available rates will be considered.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "bestAvailableRateType": { "type": "object", "description": "The list of best availabe rates for rates code(s).", "properties": { "rateCode": { "description": "Rate Code selected to be search.", "$ref": "#/definitions/codeListType" }, "lengthOfStay": { "description": "Best available rate length of stay", "type": "integer" }, "date": { "description": "Best available rate date available", "type": "string", "format": "date", "maxLength": 8 } } }, "codeListType": { "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "masterInfo": { "type": "object", "description": "The reference to the rate codes selected as best availabe rates", "properties": { "rate": { "description": "Rate Codes for which best available rates will be considered.", "$ref": "#/definitions/codeDescriptionType" } } }, "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 } } }, "createBestAvailableRates": { "type": "object", "description": "Request to create best available rates for rate code(s)", "properties": { "bestAvailableRates": { "description": "The best available rates created.", "$ref": "#/definitions/bestAvailableRatesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "bestAvailableRatesType": { "type": "object", "description": "The best available rate for rate code(s)", "properties": { "hotelId": { "description": "Hotel Code for Best Available Rate", "type": "string", "minLength": 0, "maxLength": 20 }, "rateCode": { "description": "Rate Code selected to be search.", "$ref": "#/definitions/codeListType" }, "dateRange": { "description": "Date range for the best available rates.", "$ref": "#/definitions/dateRangeType" }, "duration": { "description": "Days for which best available rates will be considered", "type": "object", "properties": { "sunday": { "type": "boolean" }, "monday": { "type": "boolean" }, "tuesday": { "type": "boolean" }, "wednesday": { "type": "boolean" }, "thursday": { "type": "boolean" }, "friday": { "type": "boolean" }, "saturday": { "type": "boolean" } } }, "lengthOfStay": { "description": "Length of Stay for which best available rates will be considered", "type": "object", "properties": { "lOS1": { "description": "Indicates Length of Stay 1 configuration.", "type": "boolean" }, "lOS2": { "description": "Indicates Length of Stay 2 configuration.", "type": "boolean" }, "lOS3": { "description": "Indicates Length of Stay 3 configuration.", "type": "boolean" }, "lOS4": { "description": "Indicates Length of Stay 4 configuration.", "type": "boolean" }, "lOS5": { "description": "Indicates Length of Stay 5 configuration.", "type": "boolean" }, "lOS6": { "description": "Indicates Length of Stay 6 configuration.", "type": "boolean" }, "lOS7": { "description": "Indicates Length of Stay 7 configuration.", "type": "boolean" }, "lOS8": { "description": "Indicates Length of Stay 8 configuration.", "type": "boolean" } } } } }, "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", "maxLength": 8 }, "end": { "description": "The ending value of the date range.", "type": "string", "format": "date", "maxLength": 8 } } }, "blockRatePlans": { "type": "object", "description": "Response object to fetch rate plans summary information for blocks.", "properties": { "blockRatePlans": { "description": "Description of rate codes for the block and their information.", "$ref": "#/definitions/blockRatePlansType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "blockRatePlansType": { "type": "object", "description": "Description of rate codes for the block and their information.", "properties": { "blockRatePlan": { "description": "Block rate plan code information.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/blockRatePlanType" } }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 } } }, "blockRatePlanType": { "type": "object", "description": "The block rate plan code information.", "properties": { "rateCode": { "description": "Rate code", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of the rate code.", "type": "string", "minLength": 0, "maxLength": 2000 }, "startSellDate": { "description": "Start sell date of the rate code.", "type": "string", "format": "date", "maxLength": 8 }, "endSellDate": { "description": "End sell date of the rate code.", "type": "string", "format": "date", "maxLength": 8 }, "currencyCode": { "description": "Currency of the rate code.", "type": "string", "minLength": 0, "maxLength": 20 }, "sellSequence": { "description": "SellSequence for the rate code.", "type": "number" }, "marketCode": { "description": "Market code associated with the rate code.", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceCode": { "description": "Source code associated with the rate code.", "type": "string", "minLength": 0, "maxLength": 20 }, "negotiated": { "description": "True if the rate plan code, is a negotiated code otherwise false.", "type": "boolean" }, "showRateAmount": { "description": "True if the rate amount for the rate plan code will be visible, otherwise false.", "type": "boolean" } } }, "massRateChangeStatus": { "type": "object", "description": "A response message to fetch the status of mass rate update operation.", "properties": { "statusList": { "description": "Mass rate update status operation response.", "$ref": "#/definitions/massRateChangeStatusListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "massRateChangeStatusListType": { "type": "array", "description": "Mass rate update details.", "maxItems": 4000, "items": { "$ref": "#/definitions/massRateChangeStatusType" } }, "massRateChangeStatusType": { "type": "object", "description": "Mass Rate Update Status details.", "properties": { "totalRatePlans": { "description": "Total number of rate codes being processed.", "type": "integer" }, "completedRatePlans": { "description": "Total number of completed rate codes.", "type": "integer" }, "status": { "description": "Update status for the current hotel code.", "$ref": "#/definitions/massRateChangeProcessStatusType" }, "details": { "description": "Summary of the mass rate update process.", "$ref": "#/definitions/massRateChangeDetailLogListType" }, "hotelId": { "description": "Property code.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "massRateChangeProcessStatusType": { "type": "string", "description": "Simple type for base type, flat or percentage.", "enum": [ "NotRunning", "Running", "Completed", "RunningOnLegacySystem", "Finalizing" ] }, "massRateChangeDetailLogListType": { "type": "array", "description": "Mass rate update details.", "maxItems": 4000, "items": { "$ref": "#/definitions/massRateChangeDetailLogType" } }, "massRateChangeDetailLogType": { "type": "object", "properties": { "description": { "description": "Message details.", "type": "string", "minLength": 0, "maxLength": 2000 }, "ratePlanCode": { "description": "Rate Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "status": { "description": "Update status for rate code.", "$ref": "#/definitions/massRateChangeRecordStatusType" } } }, "massRateChangeRecordStatusType": { "type": "string", "description": "Simple type for base type, flat or percentage.", "enum": [ "Success", "Fail" ] }, "massRatePlanSchedules": { "type": "object", "description": "A Request message to update the rate codes schedule.", "properties": { "criteria": { "description": "Daily Rate schedules range operation request.", "$ref": "#/definitions/massRateChangeCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "massRateChangeCriteriaType": { "type": "object", "description": "Container for mass rate update operation.", "properties": { "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "dateRange": { "description": "Date Range with days of week where the rate update has to be applied.", "$ref": "#/definitions/timeSpanDaysOfWeekType" }, "type": { "$ref": "#/definitions/ratePlanScheduleType" }, "baseType": { "$ref": "#/definitions/baseType" }, "calculation": { "description": "Defines type of calculation(Amount or Offset) should be performed.", "$ref": "#/definitions/amountOrOffsetType" }, "amountType": { "description": "Indicates all the amounts are Flat Amounts or Percentages.", "$ref": "#/definitions/percentageOrFlatType" }, "rateCodes": { "description": "List of rate codes for which the mass rate update has to be applied.", "$ref": "#/definitions/rateCodes" }, "roomTypes": { "description": "List of room types for which the range update has to be applied.", "$ref": "#/definitions/roomTypes" }, "rateAmounts": { "description": "Rate amounts to be applied for mass rate update operation.", "$ref": "#/definitions/rateAmountsType" }, "rounding": { "description": "Rounding method.", "$ref": "#/definitions/ratePlanRoundingType" } } }, "timeSpanDaysOfWeekType": { "type": "object", "description": "Container for Time span with days of week.", "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" } } }, "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", "maxLength": 8 }, "endDate": { "type": "string", "format": "date", "maxLength": 8 }, "duration": { "type": "string" } } }, "ratePlanScheduleType": { "type": "string", "description": "Simple type for rate code types.", "enum": [ "Standard", "Dependent", "Daily" ] }, "baseType": { "type": "string", "description": "Simple type for base type, flat or differential.", "enum": [ "Flat", "Differential" ] }, "amountOrOffsetType": { "type": "string", "description": "Simple type for amount type.", "enum": [ "Amount", "Offset" ] }, "percentageOrFlatType": { "type": "string", "description": "Simple type for flat or percentage type.", "enum": [ "Flat", "Percentage" ] }, "rateCodes": { "description": "List of rate codes.", "$ref": "#/definitions/rateCodesListType" }, "rateCodesListType": { "type": "array", "description": "Rate Codes.", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "roomTypes": { "description": "List of room types.", "$ref": "#/definitions/roomTypeListType" }, "roomTypeListType": { "type": "array", "description": "Room Type.", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "rateAmountsType": { "type": "object", "properties": { "baseAmount": { "type": "number" }, "onePersonRate": { "description": "Rate amount for one person.", "type": "number" }, "twoPersonsRate": { "description": "Rate amount for two persons.", "type": "number" }, "threePersonsRate": { "description": "Rate amount for three persons.", "type": "number" }, "fourPersonsRate": { "description": "Rate amount for four persons.", "type": "number" }, "fivePersonsRate": { "description": "Rate amount for five persons.", "type": "number" }, "extraPersonRate": { "description": "Rate amount for each extra person.", "type": "number" }, "extraChildRate": { "description": "Rate amount for the 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" } } }, "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" }, "bucketLabel": { "description": "Guest age label configured for the bucket when Guest Age Categories OPERA Control is active.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "ratePlanRoundingType": { "type": "string", "description": "Simple type for base type, flat or percentage.", "enum": [ "None", "Up", "Down", "Floor", "Ceiling", "Undefined" ] }, "negotiatedRates": { "type": "object", "description": "Response object for fetching negotiated rates and profile discounts.", "properties": { "negotiatedRates": { "description": "Negotiated rates based on the search criteria.", "$ref": "#/definitions/negotiatedRatesType" }, "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" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "negotiatedRatesType": { "type": "array", "description": "List of Negotiated rates to be maintained.", "maxItems": 4000, "items": { "$ref": "#/definitions/negotiatedRateType" } }, "negotiatedRateType": { "type": "object", "description": "Negotiated rate details", "properties": { "negotiatedProfile": { "description": "Collection of Negotiated profiles.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/negotiatedProfileType" } }, "hotelId": { "description": "Hotel Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "description": "Rate plan code.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "negotiatedProfileType": { "type": "object", "description": "Profile details", "properties": { "profileIdList": { "description": "Unique id for the Negotiated profile.", "$ref": "#/definitions/uniqueIDListType" }, "profileName": { "description": "Name details for the profile.", "$ref": "#/definitions/profileNameType" }, "rateInfoList": { "description": "collection of Negotiated rates.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/negRateAccessType" } }, "profileType": { "description": "Type of profile such as Guest, Agent, Company, Group, Source, Employee, Hotel, Vendor or Contact.", "$ref": "#/definitions/profileTypeType" }, "externalSystemCode": { "description": "External system code selected to allow changes from external system.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "uniqueIDListType": { "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 } } }, "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 }, "nameSuffix": { "description": "Hold various name suffixes and letters (e.g. Jr., Sr., III, Ret., Esq.)", "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" } } }, "personNameTypeType": { "type": "string", "description": "Person's name in an external system.", "enum": [ "Primary", "Alternate", "Incognito", "External", "Phonetic" ] }, "negRateAccessType": { "type": "object", "description": "Details of Negotiated rate.", "properties": { "commissionCode": { "description": "Commission code for the negotiated rate.", "type": "string", "minLength": 0, "maxLength": 20 }, "corporateAgreementId": { "description": "The master identifier for multiple offices/locations under the same company profile. This property is intended for retrieval only and cannot be modified during create or update operations.", "type": "string", "minLength": 0, "maxLength": 80 }, "negotiatedRateOrder": { "description": "Sequence for the negotiated rate.", "type": "integer" }, "inactive": { "description": "Negotiated Rate is inactive or not. This property is intended for retrieval only and cannot be modified during create or update operations.", "type": "boolean" }, "newTimeSpan": { "description": "Valid Time span for the negotiated rate.", "$ref": "#/definitions/timeSpanType" }, "discounts": { "description": "List of discounts for the negotiated rate.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileDiscountType" } }, "start": { "description": "The starting value of the date range.", "type": "string", "format": "date", "maxLength": 8 }, "end": { "description": "The ending value of the date range.", "type": "string", "format": "date", "maxLength": 8 } } }, "profileDiscountType": { "type": "object", "description": "Discount details for a profile.", "properties": { "dateRangeDetails": { "description": "Valid Time span for the discount rate and days of week details.", "$ref": "#/definitions/timeSpanDaysOfWeekType" }, "discAmount": { "description": "Discount amount value and type. Percentage or flat for a discounted rate.", "type": "object", "properties": { "amount": { "type": "number" }, "flatOrPercentage": { "type": "string" } } }, "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. Refer to OpenTravel Code List Unique ID Type (UIT).", "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" } } }, "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" ] }, "distributedNegotiatedRates": { "type": "object", "description": "Request object for distribute negotiated rates. This object contains a list of negotiated rates that are to be distributed and a list of properties to which to distribute to.", "properties": { "negotiatedRateList": { "description": "List of profile negotiated rates.", "$ref": "#/definitions/negotiatedRatesType" }, "hotelCodeList": { "description": "List of hotel codes to which to distribute the negotiated rates.", "$ref": "#/definitions/hotelCodeListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "hotelCodeListType": { "type": "array", "description": "Hotel code.", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "negotiatedRatesDetails": { "type": "object", "description": "Response Body.", "properties": { "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "hotelPackageForecastGroups": { "type": "object", "description": "Response object for fetching package forecast groups for a hotel.", "properties": { "hotelPackageForecastGroups": { "description": "Collection of hotel level package forecast groups.", "$ref": "#/definitions/hotelPackageForecastGroupsType" }, "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" } } }, "hotelPackageForecastGroupsType": { "type": "array", "description": "Hotel package forecast group details.", "maxItems": 4000, "items": { "$ref": "#/definitions/hotelPackageForecastGroupType" } }, "hotelPackageForecastGroupType": { "type": "object", "description": "Base details common between hotel and template package forecast groups.", "properties": { "description": { "description": "Description of the package forecast group.", "type": "string", "minLength": 0, "maxLength": 2000 }, "sellSequence": { "description": "Indicates package forecast sell sequence.", "type": "number" }, "inactive": { "description": "Inactive flag for a package forecast group.", "type": "boolean" }, "code": { "description": "Package forecast group code to identify the package forecast group.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "Hotel code that the package forecast group belongs to.", "type": "string", "minLength": 0, "maxLength": 20 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "hotelPackageForecastGroupsToCreate": { "type": "object", "description": "Request object for creating new package forecast groups for a hotel.", "properties": { "hotelPackageForecastGroups": { "description": "Collection of hotel package forecast groups to be created.", "$ref": "#/definitions/hotelPackageForecastGroupsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "hotelPackageForecastGroupsToChange": { "type": "object", "description": "Request object for modifying package forecast groups for a hotel.", "properties": { "hotelPackageForecastGroups": { "description": "Collection of hotel package forecast group to be changed.", "$ref": "#/definitions/hotelPackageForecastGroupsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "packageFormulaRanges": { "type": "object", "description": "Response for the request to search for package formula ranges. Based on the hotel code and tax range type code, response can contain multiple package formula ranges", "properties": { "packageFormulaRanges": { "description": "Collection of package formula ranges.", "$ref": "#/definitions/packageFormulaRangesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "packageFormulaRangesType": { "type": "array", "description": "Collection of Package Formula Ranges.", "maxItems": 4000, "items": { "$ref": "#/definitions/packageFormulaRangeType" } }, "packageFormulaRangeType": { "type": "object", "description": "Package Formula Ranges data.", "properties": { "hotelId": { "description": "Hotel Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "taxRangeType": { "description": "Tax Range Type.", "type": "string", "minLength": 0, "maxLength": 20 }, "amountFrom": { "description": "Amount From.", "$ref": "#/definitions/currencyAmountType" }, "amountTo": { "description": "Amount To.", "$ref": "#/definitions/currencyAmountType" }, "taxAmount": { "description": "Tax Amount.", "$ref": "#/definitions/currencyAmountType" }, "taxPercentage": { "description": "Tax Percentage.", "type": "number" }, "intervalAmount": { "description": "Interval Amount.", "$ref": "#/definitions/currencyAmountType" }, "pkgFormulaRangeId": { "description": "Package Formula Range Id.", "type": "integer" }, "managedBy": { "$ref": "#/definitions/managedByOptions" }, "startDate": { "description": "Start Date for which tax is applied. Inclusive. Non-mandatory. If specified, this tax will not be calculated for reservations before (arrival date earlier than) this date.", "type": "string", "format": "date" }, "endDate": { "description": "End Date for which tax is applied. Inclusive. Non-mandatory. If specified, this tax will not be calculated for reservations after (arrival date later than) this date.", "type": "string", "format": "date" } } }, "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 } } }, "packageGroupsInfo": { "type": "object", "description": "Response object to fetch package groups.", "properties": { "packageGroupList": { "description": "List of package groups.", "type": "object", "properties": { "packageGroups": { "description": "Package Groups of each hotel.", "type": "array", "items": { "$ref": "#/definitions/hotelPackageGroupsType" } }, "allRowsFetched": { "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" }, "totalRows": { "description": "Total number of rows queried", "type": "integer" } } }, "masterInfoList": { "description": "Refer to Generic common types document.", "type": "array", "items": { "$ref": "#/definitions/masterInfoType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "hotelPackageGroupsType": { "type": "object", "properties": { "packageGroup": { "description": "Information about the each package group.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/packageGroupType" } }, "hotelId": { "description": "Hotel code for the packages.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "packageGroupType": { "type": "object", "description": "Information about a package group common to all usages.", "properties": { "description": { "description": "Package group description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "translatedDescription": { "description": "List of translated text and language codes.", "$ref": "#/definitions/translationTextType2000" }, "shortDescription": { "description": "The short description of the package group.", "type": "string", "minLength": 0, "maxLength": 40 }, "translatedShortDescription": { "description": "List of translated text and language codes.", "$ref": "#/definitions/translationTextType40" }, "code": { "description": "Package group Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "sellSeparate": { "description": "Can Package group be sold separately?", "type": "boolean" }, "webBookable": { "description": "Is Package group web bookable?", "type": "boolean" }, "membersList": { "description": "List of Package group Members.", "$ref": "#/definitions/packageCodeListType" }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "packageCodeListType": { "type": "array", "description": "Package Full Information", "maxItems": 4000, "items": { "$ref": "#/definitions/packageCodeType" } }, "packageCodeType": { "type": "object", "properties": { "header": { "description": "Package code header details.", "$ref": "#/definitions/packageCodeHeaderType" }, "schedules": { "description": "Package code price schedule details.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/configPackageScheduleType" } }, "hotelId": { "description": "Hotel code for the packages.", "type": "string", "minLength": 0, "maxLength": 20 }, "code": { "description": "Package Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Package Code Description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "group": { "description": "Indicates if it is a Package Group or not.", "type": "boolean" }, "ratePlanCode": { "description": "Package Code specific to a rate plan code.", "type": "string", "minLength": 0, "maxLength": 20 }, "adjustOverlappingRange": { "description": "Flag to adjust the overlapping dates automatically. True will allow the system to adjust the overlapping dates automatically . False will not allow overlapping dates and throws error messages if overlapping dates are found", "type": "boolean" }, "redemption": { "description": "Flag to configure the package as Award Package so they can be redeemed for points on a reservation", "type": "boolean" }, "managedBy": { "$ref": "#/definitions/managedByOptions" }, "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" } } }, "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" }, "usageDetails": { "description": "Package code usage information.", "$ref": "#/definitions/configPackageUsageDetailType" } } }, "configPackagePrimaryDetailsType": { "type": "object", "description": "A Config Package Info type.", "properties": { "description": { "description": "The description of the package.", "type": "string", "minLength": 0, "maxLength": 2000 }, "translatedDescription": { "description": "List of translated text and language codes.", "$ref": "#/definitions/translationTextType2000" }, "shortDescription": { "description": "The short description of the package.", "type": "string", "minLength": 0, "maxLength": 40 }, "translatedShortDescription": { "description": "List of translated text and language codes.", "$ref": "#/definitions/translationTextType40" }, "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", "maxLength": 8 }, "endSellDate": { "description": "Indicates the end sell date of the package.", "type": "string", "format": "date", "maxLength": 8 }, "externallyExcluded": { "type": "boolean", "description": "Flag to indicate if a package is configured as Externally Excluded." }, "packageCategory": { "type": "string", "description": "Package Category.", "minLength": 0, "maxLength": 20 } } }, "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" }, "packageAllowanceValidUntilEOD": { "description": "For the Packages with allowance, the allowance will remain available past check out for a reservation until End of Day; else the Package Profit / Loss will be posted upon Check Out.", "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 }, "packagePostingRules": { "description": "The package posting rule details.", "$ref": "#/definitions/packagePostingRulesType" } } }, "packagePostingRulesType": { "type": "object", "properties": { "transactionCode": { "description": "The Transaction code used to post the package price.", "$ref": "#/definitions/packageTransactionCodeType" }, "overageCode": { "description": "The overage code to record over consumed allowance.", "$ref": "#/definitions/packageTransactionCodeType" }, "profitCode": { "description": "The transaction code to record package profit, if any, from un-consumed allowance.", "$ref": "#/definitions/packageTransactionCodeType" }, "lossCode": { "description": "The transaction code to record package Loss, if any, from un-consumed allowance.", "$ref": "#/definitions/packageTransactionCodeType" }, "alternateCodesList": { "description": "The alternate transaction code that can be consumed by the guest in place of the transaction code.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/packageTransactionCodeType" } } } }, "packageTransactionCodeType": { "type": "object", "properties": { "description": { "description": "The description of the code.", "type": "string", "minLength": 0, "maxLength": 200 }, "code": { "description": "Posting / transaction code.", "type": "string", "minLength": 0, "maxLength": 20 }, "type": { "description": "Code is inclusive or exclusive of other charges such as taxes.", "$ref": "#/definitions/amountDeterminationType" } } }, "amountDeterminationType": { "type": "string", "description": "Used to indicate if an amount is inclusive or exclusive of other charges, such as taxes.", "enum": [ "Inclusive", "Exclusive" ] }, "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" }, "deliveryTimeRequired": { "description": "Indicates whether a delivery time is required for the package.", "type": "boolean" }, "webBookable": { "description": "Can package be sold via Web channel.", "type": "boolean" }, "formula": { "description": "The custom formula used for this package, if any.", "type": "string", "minLength": 0, "maxLength": 2000 }, "formulaFunctionName": { "description": "The custom formula function name used for this package, if any.", "type": "string", "minLength": 0, "maxLength": 2000 }, "formulaFunctionArguments": { "description": "The function argument name-value combination accepted by the custom formula used for this package.", "$ref": "#/definitions/functionArgumentsType" }, "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.Posting Rhythm Type will be set as default to Every Night when Posting Rhythm or Posting Rhythm Type is null.", "$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 Price based on the posting rhythm of the package on the package start date. Note, if the posting rhythm is set to Child, and either 'Child Rates by Defined Bucket' or 'Guest Age Categories' is active, the calculated price is the weighted average based on the ages of children on the reservation.", "type": "number" }, "ageBucketPricing": { "description": "Unit Pricing on the Package Start Date Per Child Bucket / Guest Age Category. Applicable when Child Bucket or Guest Age Categories functionality is active and package's price calculation rule is Per Child.", "type": "array", "maxItems": 3, "items": { "$ref": "#/definitions/hotelPackageSchedulePriceType" } }, "minAdvanceBookingDays": { "description": "Minimum number of days in advance a reservation must be made to attach this package.", "type": "integer" }, "calculatedAllowance": { "description": "Calculated Allowance based on the posting rhythm of the package on the package start date. Note, if the posting rhythm is set to Child, and either 'Child Rates by Defined Bucket' or 'Guest Age Categories' is active, the calculated allowance is the weighted average based on the ages children on the reservation.", "type": "number" } } }, "functionArgumentsType": { "type": "array", "description": "Collection of function arguments and their corresponding values.", "maxItems": 4000, "items": { "$ref": "#/definitions/functionArgumentType" } }, "functionArgumentType": { "type": "object", "description": "This type provided details of a function argument and the value it holds.", "properties": { "name": { "description": "Specifies the name of the function argument.", "type": "string", "minLength": 0, "maxLength": 200 }, "value": { "description": "Specifies the value held by the function argument.", "type": "string", "minLength": 0, "maxLength": 800 }, "position": { "description": "Specifies the position of the function argument in the argument list.", "type": "integer" }, "dataType": { "description": "Specifies the datatype of the function argument.", "type": "string", "minLength": 0, "maxLength": 40 }, "required": { "description": "Argument of the function mandatory or not.", "type": "boolean" }, "useLovYn": { "description": "Specifies if the function argument is an lov or not.", "type": "boolean" }, "lovAllowMultiSelectYn": { "description": "Specifies if the function argument lov is single select or multi select lov.", "type": "boolean" }, "lovName": { "description": "Specifies the lov name of the function argument.", "type": "string", "minLength": 0, "maxLength": 100 } } }, "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. Note: for redemption packages, EveryNight is the only valid value.", "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" } } }, "configPackageUsageDetailType": { "type": "object", "description": "A Config Package Usage Detail type.", "properties": { "source": { "description": "Indicates if the source of the product is Rate header, Rate Detail or Reservation.", "$ref": "#/definitions/productSourceType" }, "usedInReservations": { "description": "Indicates if the package is used in, reserved or prospect reservations.", "type": "boolean" }, "usedInRates": { "description": "Indicates if the package is used in any rate code.", "type": "boolean" }, "usedInHouseReservations": { "description": "Indicates if any checked in reservations are using this product.", "type": "boolean" } } }, "productSourceType": { "type": "string", "description": "Sources of Products", "enum": [ "Reservation", "RateHeader", "RateDetail" ] }, "configPackageScheduleType": { "type": "object", "description": "A Hotel Package Schedule. 'new' prefixed properties hold updated values for create or update operations; non-prefixed properties hold original values for update or delete operations.", "properties": { "newTimeSpan": { "description": "The new time span for package price. Required when creating, updating a pricing schedule.", "$ref": "#/definitions/timeSpanType" }, "schedulePrices": { "description": "Collection of price schedule for the package. Omit this field when attempting to delete a pricing schedule.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/hotelPackageSchedulePriceType" } }, "ratePlanCode": { "description": "The rate plan code specific prices for the package (if any).", "type": "string", "minLength": 0, "maxLength": 20 }, "minNights": { "description": "Minimum number of nights that are required on a reservation to avail the package.", "type": "integer" }, "maxNights": { "description": "Maximum number of nights that are required on a reservation to avail the package.", "type": "integer" }, "minPersons": { "description": "Minimum number of persons that are required on a reservation to avail the package.", "type": "integer" }, "maxPersons": { "description": "Maximum number of persons that are required on a reservation to avail the package.", "type": "integer" }, "newMinNights": { "description": "New minimum number of nights that are required on a reservation to avail the package.", "type": "integer" }, "newMaxNights": { "description": "New maximum number of nights that are required on a reservation to avail the package.", "type": "integer" }, "newMinPersons": { "description": "New minimum number of persons that are required on a reservation to avail the package.", "type": "integer" }, "newMaxPersons": { "description": "New maximum number of persons that are required on a reservation to avail the package.", "type": "integer" }, "start": { "description": "The starting value of the date range. Required when updating or deleting a pricing schedule.", "type": "string", "format": "date", "maxLength": 8 }, "end": { "description": "The ending value of the date range. Required when updating or deleting a pricing schedule.", "type": "string", "format": "date", "maxLength": 8 }, "daysOfWeek": { "$ref": "#/definitions/daysOfWeekControlsType" }, "newDaysOfWeek": { "$ref": "#/definitions/daysOfWeekControlsType" } } }, "hotelPackageSchedulePriceType": { "type": "object", "description": "A Hotel Package Schedule Pricing.", "properties": { "unitPrice": { "description": "The price per unit of the package.", "type": "number" }, "unitAllowance": { "description": "The allowance per unit of the package.", "type": "number" }, "unitPoints": { "description": "Number of points per unit of the package", "type": "number" }, "bucket": { "description": "The bucket is applicable for child bucket functionality when package's price calculation rule is Child.", "$ref": "#/definitions/packageChildBuckets" }, "bucketLabel": { "description": "Guest age label configured for the bucket when Guest Age Categories OPERA Control is active.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "packageChildBuckets": { "type": "string", "description": "Simple type for package child buckets.", "enum": [ "Bucket1", "Bucket2", "Bucket3" ] }, "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 }, "addtionalCodeInfo": { "$ref": "#/definitions/addtionalCodeInfoType" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "code": { "type": "string", "minLength": 0, "maxLength": 20 } } }, "addtionalCodeInfoType": { "type": "array", "description": "Holds name of additional code information", "maxItems": 4000, "items": { "type": "object", "properties": { "name": { "description": "Holds name of additional code information", "$ref": "#/definitions/masterInfoCodeDetailType" }, "value": { "description": "Holds value of additional code information", "type": "string", "minLength": 0, "maxLength": 2000 } } } }, "masterInfoCodeDetailType": { "type": "string", "enum": [ "LongDescription", "ShortDescription" ] }, "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" ] }, "packageGroup": { "type": "object", "properties": { "packageGroups": { "description": "New package group details to be saved.", "$ref": "#/definitions/hotelPackageGroupsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "packageInfo": { "type": "object", "description": "Request object to create a package.", "properties": { "packageCode": { "description": "Details of the package code to be created.", "$ref": "#/definitions/packageCodeType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "packageRates": { "type": "object", "description": "Response object to fetch rate plan codes associated for a package. It contains package's short information.", "properties": { "ratePlanList": { "description": "Hotel code for which rates are associated.", "type": "object", "properties": { "ratePlan": { "type": "array", "items": { "$ref": "#/definitions/ratePlanShortInfoType" } }, "hotelCode": { "description": "Hotel code for which rates are associated.", "$ref": "#/definitions/codeType" }, "packageCode": { "description": "Package code for which rates are associated.", "$ref": "#/definitions/codeType" } } }, "masterInfoList": { "description": "Refer to Generic common types document.", "type": "array", "items": { "$ref": "#/definitions/masterInfoType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "ratePlanShortInfoType": { "type": "object", "description": "The Rate plan code information.", "properties": { "primaryDetails": { "description": "Rate plan code header primary details.", "$ref": "#/definitions/ratePlanPrimaryDetailsType" }, "classifications": { "description": "Rate plan code grouping details.", "$ref": "#/definitions/ratePlanClassificationsType" }, "descriptions": { "description": "Short and Long info details of the Rate Plan.", "$ref": "#/definitions/ratePlanDescriptionsType" }, "externalAttributes": { "description": "Elements which are needed by External Interfaces", "$ref": "#/definitions/ratePlanExternalAttributesType" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "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 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date", "maxLength": 8 }, "discountAllowed": { "description": "Indicates whether the rate plan is allowed to be discounted.", "type": "boolean" }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "ratePlanPrimaryDetailsType": { "type": "object", "properties": { "description": { "description": "Description of the rate plan.", "$ref": "#/definitions/translationTextType2000" }, "startSellDate": { "description": "Start sell date of the rate plan.", "type": "string", "format": "date", "maxLength": 8 }, "endSellDate": { "description": "End sell date of the rate plan.", "type": "string", "format": "date", "maxLength": 8 }, "sellSequence": { "description": "Sell Sequence for the rate plan.", "type": "number" }, "postingInterval": { "description": "Specifies the frequency at which charges are posted for this rate plan (Nightly, Weekly, or Monthly; default is Nightly).", "type": "string", "$ref": "#/definitions/ratePostingInterval" }, "privilegedRate": { "description": "The particular rate code is marked as privileged making it restrictive on who can update information.", "type": "boolean" }, "privilegedRateRestriction": { "description": "The restrictions marked on the rate code are marked as privileged making it restrictive on who can update information.", "type": "boolean" }, "baseType": { "description": "In Advanced Dynamic Base Rates, specifies how the rate code rates are defined, either as FLAT (defined by amounts) or DIFFERENTIAL (defined by offset).", "$ref": "#/definitions/baseType" }, "lockStatus": { "description": "Specifies the lock status of the rate code. Rates can be Unlocked, Externally locked, locked at Property level, or locked at Central level.", "$ref": "#/definitions/rateCodeLockStatusType" }, "approvalStatus": { "description": "Approval Status of the Rate Plan.", "$ref": "#/definitions/ratePlanApprovalStatusType" }, "offshoreRate": { "type": "boolean", "description": "If true, indicates that rate code is Offshore Rate." } } }, "rateCodeLockStatusType": { "type": "string", "description": "Indicates that the rate code is locked by the central system and cannot be edited at the property level.", "enum": [ "Unlocked", "External", "Property", "Central" ] }, "ratePlanApprovalStatusType": { "type": "string", "description": "Indicates that the Rate Plan is approved for selling.", "enum": [ "NewUnapproved", "ChangedUnapproved", "Rejected", "Approved" ] }, "ratePlanClassificationsType": { "type": "object", "properties": { "rateCategory": { "description": "Rate Category for the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "displaySet": { "description": "Display set for the rate plan. Passing a value of null in the request data will retain any existing value in the database, and an empty string will nullify the value.", "type": "string", "minLength": 0, "maxLength": 20 }, "marketCode": { "description": "Market code for the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceCode": { "description": "Source code for the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateGroup": { "description": "Rate group for the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "ratePlanDescriptionsType": { "type": "object", "description": "Info URL, Short and Long Info details of the rate plan.", "properties": { "shortInfo": { "description": "Short info of the rate plan.", "$ref": "#/definitions/translationTextType2000" }, "longInfo": { "description": "Long info of the rate plan.", "$ref": "#/definitions/translationTextType2000" }, "infoURL": { "description": "Info URL is the location associated for more information about the rate plan.", "type": "string" }, "rateInfoTemplate": { "description": "Rate information template which is configured for the hotel. This value can be used to populate the LongInfo of this rate plan, if desired.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "ratePlanExternalAttributesType": { "type": "object", "properties": { "marshaRateProgram": { "description": "Rate Category for the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "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 }, "propertyPromotionCodes": { "type": "object", "properties": { "propertyPromotionCodes": { "description": "Collection of Property promotions.", "type": "object", "properties": { "propertyPromotionCodes": { "description": "Collection of Property promotions.", "$ref": "#/definitions/propertyPromotionCodesType" }, "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" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "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" } } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "propertyPromotionCodesType": { "type": "array", "description": "A property promotion.", "maxItems": 4000, "items": { "$ref": "#/definitions/propertyPromotionCodeType" } }, "propertyPromotionCodeType": { "type": "object", "description": "A template promotion.", "properties": { "promotionCodeDetails": { "description": "Details of the promotion.", "$ref": "#/definitions/promotionCodeDetailsType" }, "promotionCode": { "description": "An alphanumeric code for the promotion. This code may not be changed once the promotion code is saved.", "type": "string", "minLength": 0, "maxLength": 20 }, "propertyPromotionRateCodes": { "description": "List of Attached Rate Codes", "$ref": "#/definitions/propertyPromotionRateCodesType" }, "promoCodeRoutingInstruction": { "description": "Routing fetchInstructions item which is uniquely identified by its Time Span.", "$ref": "#/definitions/promoCodeRoutingInstructionType" }, "promoCodeRoutingInstructions": { "type": "array", "description": "Routing fetchInstructions item which is uniquely identified by its Time Span", "maxItems": 4000, "items": { "$ref": "#/definitions/promoCodeRoutingInstructionType" } }, "hotelId": { "description": "Hotel code the property promotion code belongs to.", "type": "string", "minLength": 0, "maxLength": 20 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "promotionCodeDetailsType": { "type": "object", "description": "Details of the promotion.", "properties": { "promotionName": { "description": "Name of the Promotion.", "$ref": "#/definitions/translationTextType2000" }, "promotionGroup": { "description": "Group that the promotion code belongs to. If the promotion group will be associated with a profile promotion, the promotion group is identified as PROFILE.", "type": "string", "minLength": 0, "maxLength": 20 }, "promotionGroupName": { "description": "Name of the promotion group.", "type": "string", "minLength": 0, "maxLength": 40 }, "description": { "description": "Description of the promotion.", "type": "string", "minLength": 0, "maxLength": 2000 }, "bookingDate": { "description": "Available only for reservation promotion codes. Define the selling start and end dates to determine the time frame this promotion code is active.", "$ref": "#/definitions/timeSpanType" }, "stayDate": { "description": "Define the stay dates for which this promotion code may be used.", "$ref": "#/definitions/timeSpanType" }, "category": { "description": "You may enter any information, such as the membership program or level.", "type": "string", "minLength": 0, "maxLength": 20 }, "categoryDesc": { "description": "Description of the category.", "type": "string", "minLength": 0, "maxLength": 2000 }, "promoInstructions": { "description": "One line of information. If you wish to enter long information, use the Information field.", "type": "string", "minLength": 0, "maxLength": 2000 }, "promoInformation": { "description": "Free text comments that further describe the promotion code", "type": "string", "minLength": 0, "maxLength": 2000 }, "upgradeAllowed": { "description": "Available only for reservation promotion codes. Indicates if room upgrades are allowed for the promotion.", "type": "string", "minLength": 0, "maxLength": 1 }, "updateOutsideBookingDate": { "description": "Indicates if reservations are allowed to edit after the booking date has passed.", "type": "boolean" }, "checkInOutTime": { "description": "Check in and check out of the promotion.", "$ref": "#/definitions/dateTimeSpanType" }, "inactiveDate": { "description": "Date the promotion is inactived.", "type": "string", "format": "date", "maxLength": 8 }, "membershipType": { "description": "Indicates associated membership type for profile promotion code", "type": "string", "minLength": 0, "maxLength": 20 }, "global": { "description": "Specifies whether the preference is to be available for selection at all properties .", "type": "boolean" }, "limitedUse": { "description": "Indicates if promotion code is of limited use type. Limited use promotion codes can not be used without coupon codes.", "type": "boolean" }, "limitedUseGlobal": { "description": "Indicates if template promotion code is of limited use type. Limited use promotion codes can not be used without coupon codes.", "type": "boolean" } } }, "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" }, "endDateTime": { "type": "string", "format": "date-time" } } }, "propertyPromotionRateCodesType": { "type": "array", "description": "List of Promotion Rate Code", "maxItems": 4000, "items": { "$ref": "#/definitions/propertyPromotionRateCodeType" } }, "propertyPromotionRateCodeType": { "type": "object", "properties": { "hotelId": { "description": "One of the unique key of the promotion code it attaches to.", "type": "string", "minLength": 0, "maxLength": 20 }, "promotionCode": { "description": "One of the unique key of the promotion code it attaches to.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateCode": { "description": "Code of the rate.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateDescription": { "description": "Description of the rate.", "type": "string", "minLength": 0, "maxLength": 2000 }, "actionType": { "description": "Created or removed rate code. Accepted values are \"CREATED\", \"REMOVED\"", "type": "string", "minLength": 0, "maxLength": 20 } } }, "promoCodeRoutingInstructionType": { "type": "object", "description": "Routing limit can be one of the three: Credit Limit, Percetage Limit, Covers Limit", "properties": { "duration": { "description": "Duration of this fetchInstructions.", "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 fetchInstructions is a daily fetchInstructions.", "type": "boolean" } } }, "transactionCodes": { "description": "Set of Transaction Codes configured in this time span.", "$ref": "#/definitions/trxCodesInfoType" }, "billingInstructions": { "description": "Set of billing instructions configured for the rate plan.", "$ref": "#/definitions/billingInstructionsType" }, "creditLimit": { "description": "Allowable credit amount for this routing fetchInstructions. Null value means no limit, 0 equals zero.", "type": "number" }, "percentageLimit": { "description": "The routing limit percentage allowed for this routing fetchInstructions.", "type": "number" }, "covers": { "description": "Number of covers for this routing fetchInstructions.", "type": "number" }, "limitUsed": { "description": "Amount of Credit used for this routing fetchInstructions.", "type": "number" }, "authorizerInfo": { "description": "The authorizer information.", "$ref": "#/definitions/authorizerInfoType" }, "membershipId": { "description": "Membership number", "type": "string", "minLength": 0, "maxLength": 100 }, "comments": { "description": "User Defined Comments. Used for Comp Routing.", "type": "string", "minLength": 0, "maxLength": 2000 }, "actionType": { "description": "Created or removed rate code.", "type": "string", "minLength": 0, "maxLength": 20 }, "folioNo": { "description": "The folio number where it is applied.", "type": "integer" }, "promptForAuthorizer": { "description": "Flag to indicate to prompt the Authorizer.", "type": "boolean" }, "autoPopulateRouting": { "description": "Flag to auto populate the Routing.", "type": "boolean" }, "compPreApprovalRequired": { "description": "Flag to indicate that pre approval is required.", "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 }, "transactionGroup": { "description": "Category of the transaction code.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionSubGroup": { "description": "Sub category of the transaction code.", "type": "string", "minLength": 0, "maxLength": 20 }, "universalProductCode": { "description": "Unique Universal product code of the transaction code.", "type": "string", "minLength": 0, "maxLength": 20 }, "routingInstructionsId": { "description": "This is the Routing Instruction Id attached with Reservation. It is only used for internal purpose. It should not be used by external vendor or consumer.", "type": "number" }, "articles": { "description": "The List of Articles defined for this transaction code, when using the Articles functionality.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/articleInfoType" } }, "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 }, "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" } } }, "articleInfoType": { "type": "object", "description": "Information regarding an article.", "properties": { "description": { "description": "Description of the article.", "type": "string", "minLength": 0, "maxLength": 2000 }, "transactionCode": { "description": "Transaction code to which the article belongs.", "type": "string", "minLength": 0, "maxLength": 20 }, "price": { "description": "Default price of the article.", "$ref": "#/definitions/currencyAmountType" }, "postIt": { "description": "Post it information of the article.", "$ref": "#/definitions/articlePostItType" }, "universalProductCode": { "description": "Unique Universal product code of the article.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "Hotel code to which the article belongs.", "type": "string", "minLength": 0, "maxLength": 20 }, "articleCode": { "description": "Unique code of the article.", "type": "string", "minLength": 0, "maxLength": 20 }, "inactive": { "description": "Indicates whether the article is inactive or not.", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" } } }, "articlePostItType": { "type": "object", "description": "Post it information of an article.", "properties": { "availableForPostIt": { "description": "Indicates whether the article is available for post it.", "type": "boolean" }, "color": { "description": "Color indicator which is only configurable if article is available for post it.", "$ref": "#/definitions/colorType" } } }, "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" ] }, "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 }, "routingInstructionsId": { "description": "This is the Routing Instruction Id attached with Reservation. It is only used for internal purpose. It should not be used by external vendor or consumer.", "type": "number" }, "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 } } }, "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" } } }, "propertyPromotionCode": { "type": "object", "properties": { "propertyPromotionCode": { "description": "Consists of new property promotion details to be saved.", "$ref": "#/definitions/propertyPromotionCodeType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "promotionGroups": { "type": "object", "properties": { "promotionGroups": { "description": "Collection of promotion groups", "type": "object", "properties": { "promotionGroups": { "description": "Collection of promotion groups", "$ref": "#/definitions/promotionGroupsType" }, "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" }, "allRowsFetched": { "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" }, "totalRows": { "description": "Total number of rows queried", "type": "integer" } } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "promotionGroupsType": { "type": "array", "description": "A promotion group.", "maxItems": 4000, "items": { "$ref": "#/definitions/promotionGroupType" } }, "promotionGroupType": { "type": "object", "description": "Details of a Promotion Group", "properties": { "plan": { "description": "Description of the marketing plan associated with the promotion group.", "type": "string", "minLength": 0, "maxLength": 2000 }, "name": { "description": "Name of the promotion group.", "type": "string", "minLength": 0, "maxLength": 40 }, "type": { "description": "Type of promotion group (e.g., radio, TV, Internet/Web, email, etc.).", "type": "string", "minLength": 0, "maxLength": 20 }, "airline": { "description": "A Y or N indicates whether the promotion group is associated with an airline whose passengers also participate in the promotion.", "type": "string", "minLength": 0, "maxLength": 1 }, "revenue": { "description": "A Y or N indicates if revenue is expected or the current year from this promotion group.", "type": "string", "minLength": 0, "maxLength": 1 }, "promotionCodes": { "description": "Collection of Promotion Codes that belong to the promotion group.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/promotionCodeType" } }, "hotelId": { "description": "Hotel code the promotion group belongs to.", "type": "string", "minLength": 0, "maxLength": 20 }, "promotionGroup": { "description": "Alphanumeric code for the promotion group.", "type": "string", "minLength": 0, "maxLength": 20 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "promotionCodeType": { "type": "object", "description": "A template promotion.", "properties": { "promotionCodeDetails": { "description": "Details of the promotion.", "$ref": "#/definitions/promotionCodeDetailsType" }, "promotionCode": { "description": "An alphanumeric code for the promotion. This code may not be changed once the promotion code is saved.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "promotionGroupsCopy": { "type": "object", "properties": { "criteria": { "description": "Criteria for copying promotion groups.", "$ref": "#/definitions/copyPromotionGroupsCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "copyPromotionGroupsCriteriaType": { "type": "object", "description": "Copy Promotion Groups criteria type to copy multiple Promotion Groups from one Hotel to another Hotel.", "properties": { "copyPromotionGroups": { "description": "The details of Promotion Groups to be copied.", "type": "object", "properties": { "copyPromotionGroup": { "description": "The details of Promotion Groups to be copied.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/copyPromotionGroupType" } }, "hotelId": { "description": "Hotel Code from which Promotion Groups are being copied.", "type": "string", "minLength": 0, "maxLength": 20 } } } } }, "copyPromotionGroupType": { "type": "object", "description": "The type describes Promotion Groups Details being copied.", "properties": { "targets": { "description": "The details of Promotion Groups targets, where it is being copied and with what name.", "type": "array", "maxItems": 4000, "items": { "type": "object", "properties": { "promotionGroups": { "description": "The code to be used for the Promotion Group being copied.", "type": "array", "maxItems": 10, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "hotelId": { "description": "Hotel code to which Promotion Group will be copied.", "type": "string", "minLength": 0, "maxLength": 20 } } } }, "promotionGroup": { "description": "Promotion Group being copied.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "promotionGroup": { "type": "object", "properties": { "promotionGroup": { "description": "Consists of new promotion group details to be saved.", "$ref": "#/definitions/promotionGroupType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateAccessExclusions": { "type": "object", "properties": { "rateAccessExclusions": { "description": "Consists of the rate access exclusions to be modified.", "$ref": "#/definitions/rateAccessExclusionsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateAccessExclusionsType": { "type": "object", "properties": { "rateAccessExclusion": { "description": "Collection of Rate Access Exclusions.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/rateAccessExclusionType" } }, "hotelId": { "description": "Hotel code for the rate code.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateCode": { "description": "Rate code", "type": "string", "minLength": 0, "maxLength": 20 } }, "required": [ "rateCode" ] }, "rateAccessExclusionType": { "type": "object", "description": "Access Exclusion information indicating the actions allowed under a HUB or Hotel for which the access exclusion is set.", "properties": { "sourceType": { "description": "The type of source (CRO or Hotel code) for which the rate access exclusion is set.", "type": "string", "minLength": 0, "maxLength": 40 }, "sourceValue": { "description": "CRO or Hotel code value.", "type": "string", "minLength": 0, "maxLength": 2000 }, "allowModifyReservation": { "description": "Allow to modify a reservation under this access exclusion.", "type": "boolean" }, "allowCancelReservation": { "description": "Allow to cancel a reservation under this access exclusion.", "type": "boolean" }, "allowCreateReservation": { "description": "Allow to create a reservation under this access exclusion.", "type": "boolean" }, "inactive": { "description": "The rate access exclusion is inactive", "type": "boolean" }, "excludeFromAvailability": { "description": "Exclude a specific rate from availability", "type": "boolean" }, "dateRange": { "description": "Date range for the rate access exclusion.", "$ref": "#/definitions/dateRangeType" } } }, "rateCategoryDetails": { "type": "object", "description": "Response object for fetching Rate Categories for a property.", "properties": { "hotelRateCategories": { "description": "Collection of Hotel level Rate categories.", "type": "object", "properties": { "rateCategories": { "description": "Collection of Hotel level Rate categories.", "type": "array", "items": { "$ref": "#/definitions/hotelRateCategoriesType" } }, "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" } } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "hotelRateCategoriesType": { "type": "object", "properties": { "rateCategory": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/rateCategoryType" } }, "hotelId": { "description": "Hotel Code for a rate category.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "rateCategoryType": { "type": "object", "description": "This type represents the rate category type.", "properties": { "rateCategoryDetails": { "description": "Begin date for the rate category.", "type": "object", "properties": { "beginDate": { "description": "Begin date for the rate category.", "type": "string", "format": "date", "maxLength": 8 }, "endDate": { "description": "End date for the rate category.", "type": "string", "format": "date", "maxLength": 8 }, "description": { "description": "Description of rate category.", "type": "string", "minLength": 0, "maxLength": 200 }, "rateClass": { "description": "Active date of the room category.", "type": "string", "minLength": 0, "maxLength": 20 }, "sellSequence": { "description": "Indicates rate category sell sequence.", "type": "number" } } }, "rateCategory": { "description": "Rate category Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "rateCategoryCriteria": { "type": "object", "description": "Request object for Creating a new Rate Category for a property.", "properties": { "hotelRateCategory": { "description": "Hotel rate category to be created.", "$ref": "#/definitions/hotelRateCategoryType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "hotelRateCategoryType": { "type": "object", "description": "This type represents the rate category type.", "properties": { "rateCategoryDetails": { "description": "Begin date for the rate category.", "type": "object", "properties": { "beginDate": { "description": "Begin date for the rate category.", "type": "string", "format": "date", "maxLength": 8 }, "endDate": { "description": "End date for the rate category.", "type": "string", "format": "date", "maxLength": 8 }, "description": { "description": "Description of rate category.", "type": "string", "minLength": 0, "maxLength": 200 }, "rateClass": { "description": "Active date of the room category.", "type": "string", "minLength": 0, "maxLength": 20 }, "sellSequence": { "description": "Indicates rate category sell sequence.", "type": "number" } } }, "rateCategory": { "description": "Rate category Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "Hotel Code for a rate category.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "rateCategoryToBeChanged": { "type": "object", "description": "Request object for modifying a Rate Category for a property.", "properties": { "hotelRateCategory": { "description": "Hotel rate category to be changed.", "$ref": "#/definitions/hotelRateCategoryType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateClassDetails": { "type": "object", "description": "Response for fetch rate classes.", "properties": { "rateClasses": { "description": "Collection of rate classes.", "type": "object", "properties": { "rateClasses": { "description": "Collection of rate classes.", "$ref": "#/definitions/rateClassesType" }, "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" } } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateClassesType": { "type": "array", "description": "Collection of hotel rate classes.", "maxItems": 4000, "items": { "$ref": "#/definitions/rateClassType" } }, "rateClassType": { "type": "object", "description": "A hotel rate class.", "properties": { "description": { "description": "Description of the rate class.", "type": "string", "minLength": 0, "maxLength": 2000 }, "sequence": { "description": "Display Sequence of the rate class.", "type": "integer" }, "timeSpan": { "description": "Begin Date and End Date of the rate class.", "$ref": "#/definitions/timeSpanType" }, "rateClass": { "description": "Code that uniquely identifies the rate class.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateCategories": { "description": "List of Attached Rate Categories.", "$ref": "#/definitions/simpleRateCategoriesType" }, "hotelId": { "description": "Hotel Code the rate class belongs to.", "type": "string", "minLength": 0, "maxLength": 20 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "simpleRateCategoriesType": { "type": "array", "description": "List of Rate Categories with description.", "maxItems": 4000, "items": { "$ref": "#/definitions/codeDescriptionType" } }, "rateClassCriteria": { "type": "object", "description": "Request to create new rate class.", "properties": { "rateClass": { "description": "New rate class to be saved.", "$ref": "#/definitions/rateClassType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateClassToBeChanged": { "type": "object", "description": "Request to save changes to rate class.", "properties": { "rateClass": { "description": "Rate class to be updated.", "$ref": "#/definitions/rateClassType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateGroupsInfo": { "type": "object", "properties": { "rateGroups": { "description": "Collection of Rate Groups.", "$ref": "#/definitions/rateGroupsType" }, "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" } } }, "rateGroupsType": { "type": "array", "description": "Collection of Rate Groups.", "maxItems": 4000, "items": { "$ref": "#/definitions/rateGroupType" } }, "rateGroupType": { "type": "object", "description": "Details of Rate Group.", "properties": { "hotelId": { "description": "Hotel Code the Rate Group belong to.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateGroupCode": { "description": "Unique code for Rate group.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Rate Group Description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "rateGroups": { "type": "object", "properties": { "rateGroups": { "description": "Rate Group Codes to be changed.", "$ref": "#/definitions/rateGroupsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "ratePlanScheduleYieldAdjustments": { "type": "object", "description": "Response object to fetch Yield adjustments for rate plan schedule.", "properties": { "yieldSummary": { "description": "Summary of rate plan schedules yield adjustments fetched based on the request criteria.", "$ref": "#/definitions/scheduleYieldSummaryType" }, "yieldInfoList": { "description": "List of the rate plan schedules yield adjustments fetched based on the request criteria.", "$ref": "#/definitions/scheduleYieldInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "scheduleYieldSummaryType": { "type": "array", "description": "Yield summary for each adjutment type.", "maxItems": 4, "items": { "$ref": "#/definitions/yieldSummaryType" } }, "yieldSummaryType": { "type": "object", "description": "Yield adjustment summary for each adjutment type.", "properties": { "adjustmentCategory": { "description": "Adjustment category for which summery is provided.", "$ref": "#/definitions/adjustmentCategoryType" }, "totalAmount": { "description": "Total Amount of adjustment for this Adjustment category.", "type": "number" } } }, "adjustmentCategoryType": { "type": "string", "description": "Simple type for Yield Adjustment types.", "enum": [ "PerStay", "PerNight", "PerPersonPerStay", "PerPersonPerNight" ] }, "scheduleYieldInfoType": { "type": "object", "description": "The list of complete Yield adjustment information for the rate schedule.", "properties": { "yieldInfo": { "description": "The detail info for the adjustment code.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/yieldInfoType" } }, "hotelId": { "description": "the hotel code for the yield adjustments.", "type": "string", "minLength": 0, "maxLength": 20 }, "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. Refer to OpenTravel Code List Unique ID Type (UIT).", "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" } } }, "yieldInfoType": { "type": "object", "description": "The complete Yield adjustment information for the rate schedule.", "properties": { "adjustmentCode": { "description": "Adjustment Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "adjustmentCategory": { "description": "Adjustment category to which this adjustment belongs.", "$ref": "#/definitions/adjustmentCategoryType" }, "description": { "description": "Description of the adjustment code.", "type": "string", "minLength": 0, "maxLength": 200 }, "currencyCode": { "description": "The currency Code for this adjustment code.", "type": "string", "minLength": 0, "maxLength": 20 }, "adjustmentAmountOverridden": { "description": "Whether the Adjustment amount is overridden? false, signifies the amount is current value of Adjustment code.", "type": "boolean" }, "adjustmentAmount": { "description": "Adjustment amount for the code.", "type": "number" } } }, "ratePlanScheduleToSplit": { "type": "object", "description": "Request object to split rate plan schedule.", "properties": { "ratePlanSchedule": { "description": "Rate plan schedule to be created from split.", "type": "object", "properties": { "hotelId": { "description": "Hotel code of rate plan schedule.", "$ref": "#/definitions/codeType" }, "ratePlanCode": { "description": "Rate plan code of rate plan schedule.", "$ref": "#/definitions/codeType" } } }, "splitDetails": { "description": "Details of rate plan schedule to be created from split.", "$ref": "#/definitions/baseRatePlanScheduleDetailType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "baseRatePlanScheduleDetailType": { "type": "object", "properties": { "rateAmounts": { "description": "Rate amounts for the rate plan schedule.", "$ref": "#/definitions/scheduleRateAmountsType" }, "advancedBaseRateOffset": { "description": "Rate plan schedule based on an offset from its Base Rate or BAR Rate.", "$ref": "#/definitions/advancedBaseRateOffsetType" }, "rateAmountBoundaries": { "description": "Rate amount boundaries for the rate plan schedule. Includes the minimum and/or maximum rate amounts for one and/or two adults.", "$ref": "#/definitions/rateAmountBoundariesType" }, "classifications": { "description": "Rate plan schedule grouping details.", "$ref": "#/definitions/ratePlanScheduleClassificationsType" }, "occupantThresholdPricing": { "description": "Occupant threshold pricing for the rate plan schedule including adult thresholds, child thresholds, and occupant thresholds.", "$ref": "#/definitions/occupantThresholdPricingType" }, "adjustmentDetails": { "description": "The adjustment code details for the rate plan schedule.", "$ref": "#/definitions/scheduleAdjustmentDetailsType" }, "rateSchedulePackages": { "description": "List of packages attached to the rate plan schedule.", "$ref": "#/definitions/ratePackagesType" }, "tierID": { "description": "Tier that the rate plan schedule belongs to.", "$ref": "#/definitions/tierIDType" }, "seasonCode": { "description": "Season code attached to the rate plan schedule that defines the start and end dates. When creating a rate plan schedule, if a season code is provided the start and end dates will be ignored. These values will be pulled from the season code record.", "type": "string", "minLength": 0, "maxLength": 20 }, "start": { "description": "The starting value of the date range.", "type": "string", "format": "date", "maxLength": 8 }, "end": { "description": "The ending value of the date range.", "type": "string", "format": "date", "maxLength": 8 } } }, "scheduleRateAmountsType": { "type": "object", "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" } } }, "advancedBaseRateOffsetType": { "type": "object", "description": "A Rate which is of Advanced Dynamic Base Rate can have rate schedule based on an offset from its Base Rate or BAR Rate.", "properties": { "offset": { "description": "offset amount for the advanced dynamic base rate schedule.", "type": "number" }, "flatOrPercentage": { "description": "It signifies offset amount is of Flat or Percentage type. Valid Values are F/P.", "type": "string", "minLength": 1, "maxLength": 1 }, "applyBar": { "description": "Should this schedule be Advanced dynamically based on BAR rate.", "type": "boolean" }, "barBaseAmount": { "description": "Offset amount for the advanced dynamic base rate schedule from its BAR Rate.", "type": "number" }, "barFlatOrPercentage": { "description": "It signifies whether Bar Base Amount is of Flat or Percentage type. Valid Values are F/P.", "type": "string", "minLength": 1, "maxLength": 1 }, "barRounding": { "description": "Rounding style used for the calculated rate amounts. Valid values are U,D,N,C,F which means Up, Down, None, Up-Keep Decimal, Down-Keep Decimal.", "type": "string", "minLength": 0, "maxLength": 1 } } }, "rateAmountBoundariesType": { "type": "object", "description": "Rate amount boundaries for the rate plan schedule. Minimum and/or maximum rate amounts can be defined for one and/or two adults.", "properties": { "minimum": { "description": "Minimum rate amounts for one and/or two adults.", "$ref": "#/definitions/rateAmountBoundaryType" }, "maximum": { "description": "Maximum rate amounts for one and/or two adults.", "$ref": "#/definitions/rateAmountBoundaryType" } } }, "rateAmountBoundaryType": { "type": "object", "description": "Set of rate amounts for one and/or two adults. This set will represent either the minimum or maximum rate boundary.", "properties": { "onePersonRate": { "description": "One person rate amount for the rate boundary.", "type": "number" }, "twoPersonRate": { "description": "Two person rate amount for the rate boundary.", "type": "number" } } }, "ratePlanScheduleClassificationsType": { "type": "object", "properties": { "marketCode": { "description": "Market code for the rate schedule.", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceCode": { "description": "Source code for the rate schedule.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "occupantThresholdPricingType": { "type": "object", "description": "Definition for creating pricing for a rate schedule, based on occupants threshold level.", "properties": { "adults": { "description": "Threshold for Adults in the room.", "type": "object", "properties": { "threshold": { "description": "Threshold value, after it is reached the corresponding amount will be charged.", "type": "integer" }, "amount": { "description": "Amount to be charged after the threshold is reached.", "type": "number" } } }, "children": { "description": "Threshold for Children in the room.", "type": "object", "properties": { "threshold": { "description": "Threshold value, after it is reached the corresponding amount will be charged.", "type": "integer" }, "amount": { "description": "Amount to be charged after the threshold is reached.", "type": "number" }, "excludeBucket1": { "description": "When rates are Defined by Age buckets, should the 1st buckets children count be excluded from threshold pricing.", "type": "boolean" }, "excludeBucket2": { "description": "When rates are Defined by Age buckets, should the 2nd buckets children count be excluded from threshold pricing.", "type": "boolean" }, "excludeBucket3": { "description": "When rates are Defined by Age buckets, should the 3rd buckets children count be excluded from threshold pricing.", "type": "boolean" } } }, "occupants": { "description": "Threshold for Occupants in the room.", "type": "object", "properties": { "threshold": { "description": "Threshold value, after it is reached the corresponding amount will be charged.", "type": "integer" }, "amount": { "description": "Amount to be charged after the threshold is reached.", "type": "number" } } } } }, "scheduleAdjustmentDetailsType": { "type": "array", "description": "The list of adjustment codes for the rate plan schedule.", "maxItems": 4000, "items": { "$ref": "#/definitions/adjustmentDetailType" } }, "adjustmentDetailType": { "type": "object", "description": "The adjustment code details for the rate schedule.", "properties": { "overriddenAmount": { "description": "The amount with which the actual adjustment will be overridden. if no amount is sent, default adjustment code's amount will be used.", "type": "number" }, "adjustmentCode": { "description": "the adjustment code that needs to be attached to the rate schedule.", "type": "string", "minLength": 0, "maxLength": 20 }, "deleteAdjustment": { "description": "Should this Adjustment code be deleted ?", "type": "boolean" } } }, "ratePackagesType": { "type": "object", "properties": { "packages": { "description": "A collection of packages attached to the rate code.", "$ref": "#/definitions/ratePackageCodeListType" }, "packageGroups": { "description": "Package Group full Information along with the members that belong to this Group.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/ratePackageGroupType" } } } }, "ratePackageCodeListType": { "type": "array", "description": "Rate Package Full Information", "maxItems": 4000, "items": { "$ref": "#/definitions/ratePackageCodeType" } }, "ratePackageCodeType": { "type": "object", "description": "Package code details applied to a rate plan.", "properties": { "header": { "description": "Package code header details.", "$ref": "#/definitions/packageCodeHeaderType" }, "schedules": { "description": "Package code price schedule details.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/configPackageScheduleType" } }, "hotelId": { "description": "Hotel code for the packages.", "type": "string", "minLength": 0, "maxLength": 20 }, "code": { "description": "Package Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Package Code Description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "group": { "description": "Indicates if it is a Package Group or not.", "type": "boolean" }, "ratePlanCode": { "description": "Package Code specific to a rate plan code.", "type": "string", "minLength": 0, "maxLength": 20 }, "adjustOverlappingRange": { "description": "Flag to adjust the overlapping dates automatically. True will allow the system to adjust the overlapping dates automatically . False will not allow overlapping dates and throws error messages if overlapping dates are found", "type": "boolean" }, "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" }, "scheduleExceptions": { "description": "Package code schedule price exception for the rate plan.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/configPackageScheduleType" } }, "quantity": { "description": "Quantity of the package code included in the rate plan.", "type": "integer" } } }, "ratePackageGroupType": { "type": "object", "description": "Information about a package group common to all usages.", "properties": { "description": { "description": "Package group description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "translatedDescription": { "description": "List of translated text and language codes.", "$ref": "#/definitions/translationTextType2000" }, "shortDescription": { "description": "The short description of the package group.", "type": "string", "minLength": 0, "maxLength": 40 }, "translatedShortDescription": { "description": "List of translated text and language codes.", "$ref": "#/definitions/translationTextType40" }, "code": { "description": "Package group Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "sellSeparate": { "description": "Can Package group be sold separately?", "type": "boolean" }, "webBookable": { "description": "Is Package group web bookable?", "type": "boolean" }, "packages": { "description": "List of Package group members for a rate plan.", "$ref": "#/definitions/ratePackageCodeListType" } } }, "tierIDType": { "type": "integer", "minimum": 1, "maximum": 5 }, "ratePlanInfo": { "type": "object", "description": "Response object to fetch rate plan's complete details.", "properties": { "ratePlans": { "description": "Rate plan complete details such as primary details, classifications, room types etc.", "type": "array", "items": { "$ref": "#/definitions/ratePlanType" } }, "masterInfoList": { "description": "Refer to Generic common types document.", "type": "array", "items": { "$ref": "#/definitions/masterInfoType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "ratePlanType": { "type": "object", "description": "The Rate plan code Details.", "properties": { "primaryDetails": { "description": "Rate plan code header primary details.", "$ref": "#/definitions/ratePlanPrimaryDetailsType" }, "classifications": { "description": "Rate plan code grouping details.", "$ref": "#/definitions/ratePlanClassificationsType" }, "transactionDetails": { "description": "Rate plan code header folio and transaction information.", "$ref": "#/definitions/ratePlanTransactionDetailsType" }, "rateCommission": { "description": "Commission details for Rate plan code.", "$ref": "#/definitions/ratePlanCommissionType" }, "rateDeposit": { "description": "Deposit details for Rate plan code.", "$ref": "#/definitions/ratePlanDepositType" }, "descriptions": { "description": "Short and Long info details of the Rate Plan.", "$ref": "#/definitions/ratePlanDescriptionsType" }, "roomTypeList": { "description": "List of room types that are supported by the Rate Plan.", "$ref": "#/definitions/rateRoomTypeListType" }, "ratePackages": { "description": "A collection of packages associated to the rate plan code.", "$ref": "#/definitions/ratePackagesType" }, "negotiatedRates": { "description": "List of negotiated Profiles.", "type": "object", "properties": { "negotiatedRate": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/negotiatedRateType" } }, "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" } } }, "controls": { "description": "Describes the sell and yield controls for the rate code.", "$ref": "#/definitions/ratePlanControlsType" }, "distribution": { "description": "Distribution setup for the rate code.", "$ref": "#/definitions/ratePlanDistributionType" }, "ratePlanCodeIndicators": { "description": "Indicators of additional information attached to the Rate code.", "$ref": "#/definitions/indicatorsType" }, "ratePlanBasedOnRates": { "description": "Rate plan types based on rates.", "$ref": "#/definitions/ratePlanBasedOnRatesType" }, "ratePlanScheduleInfo": { "description": "Rate plan's summary information about its schedules.", "$ref": "#/definitions/ratePlanScheduleInfoType" }, "approvalNotes": { "description": "Approval Notes for Rate plan code.", "$ref": "#/definitions/ratePlanNotesType" }, "routingInstructions": { "description": "Rate plan's default routing instructions.", "$ref": "#/definitions/ratePlanRoutingInstructionsType" }, "externalAttributes": { "description": "Elements which are needed by External Interfaces", "$ref": "#/definitions/ratePlanExternalAttributesType" }, "accessExclusions": { "description": "List of access exclusions.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/rateAccessExclusionType" } }, "mobileCheckinAllowed": { "description": "This is a placeholder element for future use. Functionality may not be available for the current implementation.", "type": "boolean" }, "mobileCheckoutAllowed": { "description": "This is a placeholder element for future use. Functionality may not be available for the current implementation.", "type": "boolean" }, "hotelId": { "description": "Hotel Code", "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "description": "Rate plan Code", "type": "string", "minLength": 0, "maxLength": 20 }, "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 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date", "maxLength": 8 }, "supressRate": { "description": "Is rate amount suppressed for the rate plan?", "type": "boolean" }, "printRate": { "description": "Is Rate amount printed on the reports for the rate plan?", "type": "boolean" }, "discountAllowed": { "description": "Is rate plan code discounted?", "type": "boolean" }, "redemption": { "description": "Is redemption allowed on the rate code?", "type": "boolean" }, "externallyControlled": { "description": "Is rate plan code externally controlled?", "type": "boolean" }, "bARRate": { "description": "Is rate plan code of BAR Rate type?", "type": "boolean" }, "daily": { "description": "Is rate plan code a daily rate?", "type": "boolean" }, "tiered": { "description": "Is rate plan code a tiered rate?", "type": "boolean" }, "dayUse": { "description": "Is rate plan code for day use?", "type": "boolean" }, "dayType": { "description": "Indicates if rate Calendar factors such as adder/multiplier should be used for price calculation.", "type": "boolean" }, "complimentary": { "description": "Is rate plan code complimentary?", "type": "boolean" }, "houseUse": { "description": "Is rate plan code for house use?", "type": "boolean" }, "negotiated": { "description": "Is rate plan code only available as a negotiated rate that must be associated with a guest, company, or travel agent profile ?", "type": "boolean" }, "ownerRate": { "description": "Is rate plan code flagged as an owner rate plan? Owner rate plans have special functionality for no-shows depending on the Rolling Noshow Preference application setting.", "type": "boolean" }, "ownerUse": { "description": "Rate Code is available for Owner Reservations.", "type": "boolean" }, "ownerReferral": { "description": "Rate code is available for Owner Referral Reservations", "type": "boolean" }, "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" }, "pointsDiscount": { "description": "Flag to identify if the rate plan code is eligible for rate discounting by redeeming points.", "type": "boolean" }, "advancedDailyBase": { "description": "Flag to identify if Rate Code is Advanced Daily Base Rate Code", "type": "boolean" }, "advancedDailyRate": { "description": "Flag to identify if Rate Code is Advanced Daily Rate", "type": "boolean" }, "floorAmount": { "description": "An amount that act as Floor value for Rate Plan.", "type": "number" }, "managedBy": { "$ref": "#/definitions/managedByOptions" }, "offshoreRate": { "type": "boolean", "description": "Exposed rates managed through external systems outside the PMS." }, "localRatePlanCode": { "description": "Rates managed and handled within the PMS by the property.", "type": "string", "minLength": 0, "maxLength": 20 }, "casinoComp": { "type": "boolean", "description": "Indicates whether this rate plan participates in Casino Control Segment restrictions. When true the rate is evaluated against the configured Control Segment and its rule GroupA or GroupB during availability and booking." }, "restrictionGroup": { "description": "Casino restriction group assigned to this rate plan. Allowed values GroupA or GroupB. Required when casinoComp is true.", "$ref": "#/definitions/restrictionGroupType" } } }, "ratePlanTransactionDetailsType": { "type": "object", "properties": { "folioText": { "description": "Folio text of the rate plan.", "$ref": "#/definitions/translationTextType2000" }, "transactionCode": { "description": "Transaction code used by the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomTransactionCodes": { "description": "Collection of transaction codes configured by room types/room classes. The Revenue Posting by Room Type/Room Class function should be on to use this element.", "$ref": "#/definitions/ratePlanRoomTransactionCodesType" }, "packageTransactionCode": { "description": "Package Transaction code used by the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencyCode": { "description": "Currency code used by the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateIncludesTax": { "description": "Is tax included in the rate plan?", "type": "boolean" }, "exchangePosting": { "description": "Determines how the exchange rate is set for the rate code.", "$ref": "#/definitions/exchangePostingType" }, "postingRhythm": { "description": "Determines the rate code posting rhythm.", "$ref": "#/definitions/ratePlanPostingRhythmType" }, "advancedPostingRhythms": { "description": "When the Advanced Rate Code Posting Rhythm parameter is turned on, this element will contain the collection of advanced Buy x Get y posting rhythms for the rate plan.", "$ref": "#/definitions/ratePlanAdvancedPostingRhythmsType" } } }, "ratePlanRoomTransactionCodesType": { "type": "array", "description": "Single transaction code and room type/class association.", "maxItems": 4000, "items": { "$ref": "#/definitions/ratePlanRoomTransactionCodeType" } }, "ratePlanRoomTransactionCodeType": { "type": "object", "description": "Transaction code associated to a room type or room class on a rate plan.", "properties": { "roomType": { "description": "Room type which the transaction code is associated to.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomClass": { "description": "Room class which the transaction code is associated to.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionCode": { "description": "Transaction code associated to the room type/room class.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "exchangePostingType": { "type": "string", "description": "Fixed at Block.", "enum": [ "FixedAtCheckIn", "FixedAtReservation", "CurrentDate", "FixedAtBlock" ] }, "ratePlanPostingRhythmType": { "type": "object", "description": "Rate Plan Posting rhythm type.", "properties": { "doNotPostEveryXNights": { "description": "Do not Post the Rate Code every X nights. This can be used to offer free nights after staying certain number of nights on the rate plan.", "type": "object", "properties": { "xNight": { "description": "The night the rate plan is not supposed to be posted.", "type": "integer", "minimum": 1, "maximum": 14 }, "postPackages": { "description": "Post the packages on free nights if the packages posting rhythm falls on the night rate plan is not getting posted.", "type": "boolean" } } } } }, "ratePlanAdvancedPostingRhythmsType": { "type": "array", "description": "Posting rhythm details for a rate plan containing Buy x Get y functionality.", "maxItems": 4000, "items": { "$ref": "#/definitions/ratePlanAdvancedPostingRhythmType" } }, "ratePlanAdvancedPostingRhythmType": { "type": "object", "description": "Posting rhythm details for a rate plan containing Buy x Get y functionality.", "properties": { "code": { "description": "Code identifying the posting rhythm within the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of the posting rhythm offer.", "type": "string", "minLength": 0, "maxLength": 40 }, "beginSellDate": { "description": "Date which the posting rhythm becomes applicable.", "type": "string", "format": "date", "maxLength": 8 }, "endSellDate": { "description": "Date which the posting rhythm ceases to be applicable.", "type": "string", "format": "date", "maxLength": 8 }, "requiredPaidNights": { "description": "The number of nights which are required to be paid in order to receive free nights.", "type": "integer" }, "eligibleFreeNights": { "description": "The number of free nights which are eligible when the number of required paid nights has been met.", "type": "integer" }, "repeatWithinStay": { "description": "Indicates if the posting rhythm offer can be repeated more than once during the entire stay.", "type": "boolean" }, "repeatWithinSellSegment": { "description": "Indicates if the posting rhythm offer can be repeated more than once within a specific sell segment of the reservation.", "type": "boolean" } } }, "ratePlanCommissionType": { "type": "object", "properties": { "commissionCode": { "description": "commission code used by the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "commissionPercentage": { "description": "commission percentage used by the rate plan.", "type": "number" }, "commissionAmount": { "description": "commission amount used by the rate plan.", "type": "number" } } }, "ratePlanDepositType": { "type": "object", "properties": { "depositMaturityPreference": { "description": "Deposit maturity preference used by the rate plan.", "$ref": "#/definitions/depositMaturityPreferenceType" } } }, "depositMaturityPreferenceType": { "type": "string", "description": "Fixed values for Deposite Maturity Preference affecting the rate code", "enum": [ "CheckIn", "LastStayNight", "LastDayAdvDeposit" ] }, "rateRoomTypeListType": { "type": "array", "description": "Details of each room type", "maxItems": 4000, "items": { "$ref": "#/definitions/rateRoomTypeDetailType" } }, "rateRoomTypeDetailType": { "type": "object", "description": "Details of single room type", "properties": { "code": { "description": "Room type code", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Text description for the room type", "type": "string", "minLength": 0, "maxLength": 2000 }, "pseudo": { "description": "True if room type will not be associated with physical rooms included in inventory", "type": "boolean" }, "rateFloor": { "description": "This is the minimum amount of which room can be sold", "type": "number" } } }, "ratePlanControlsType": { "type": "object", "properties": { "sell": { "description": "Sell controls for the rate code i.e. min. Length of stay, max Length of Stay etc.", "$ref": "#/definitions/ratePlanSellControlsType" }, "yield": { "description": "Yield controls for the rate code i.e. Is rate yieldable? Rate bucket it belongs to? Yield Market it belongs to? etc .", "$ref": "#/definitions/ratePlanYieldControlsType" } } }, "ratePlanSellControlsType": { "type": "object", "properties": { "minimumStayThrough": { "description": "Minimum number of nights the guest has to stay through to consume this rate plan code.", "type": "integer" }, "maximumStayThrough": { "description": "Maximum number of nights the guest has to stay through to consume this rate plan code.", "type": "integer" }, "minimumLengthOfStay": { "description": "Minimum number of nights the guest has to stay to consume this rate plan code.", "type": "integer" }, "maximumLengthOfStay": { "description": "Maximum number of nights the guest has to stay to consume this rate plan code.", "type": "integer" }, "minimumOccupancy": { "description": "Minimum Occupancy of the Rate code.", "type": "integer" }, "maximumOccupancy": { "description": "Maximum Occupancy of the Rate code.", "type": "integer" }, "minimumAdvanceBooking": { "description": "Minimum number of days the guest has to book in advance to consume this rate plan code.", "type": "integer" }, "maximumAdvanceBooking": { "description": "Maximum number of days the guest has to book in advance to consume this rate plan code.", "type": "integer" } } }, "ratePlanYieldControlsType": { "type": "object", "properties": { "yieldable": { "description": "Is rate plan code Yieldable / non-yieldable / stay-pattern?", "$ref": "#/definitions/ratePlanYieldableType" }, "yieldAsRatePlanCode": { "description": "This rate plan code is to be yielded as Yield as Rate Plan Code (if any).", "type": "string", "minLength": 0, "maxLength": 20 }, "yieldMarketCodeList": { "description": "The List of Yeild market codes to be used for this Rate Plan Code (if any).", "$ref": "#/definitions/yieldMarketCodeListType" }, "rateBucket": { "description": "The rate bucket the rate plan code belongs to.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "ratePlanYieldableType": { "type": "string", "description": "Simple type for valid values for Yieldable element for the Rate plan code.", "enum": [ "Yieldable", "NonYieldable", "StayPattern" ] }, "yieldMarketCodeListType": { "type": "array", "description": "Yield Market Code for the rate plan code.", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "ratePlanDistributionType": { "type": "object", "properties": { "restrictionUpdate": { "description": "Restriction updates for the rate plan to be sent to channels?", "type": "boolean" }, "rateUpdate": { "description": "Rate updates for the rate plan to be sent to channels?", "type": "boolean" }, "regionalAvailability": { "description": "Consider the rate plan for regional availability to be used by channels?", "type": "boolean" }, "myFidelioUploadAllowed": { "description": "Rate plan to be uploaded to MyFidleio and published.", "type": "boolean" }, "channelRateMappingExists": { "description": "Flag to indicate if Rate Plan is mapped to at least one Channel.", "type": "boolean" }, "channelAllowed": { "description": "Rate plan Code is available for channels.", "type": "boolean" } } }, "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" } } }, "ratePlanBasedOnRatesType": { "type": "array", "description": "Rate plan type based on rates.", "maxItems": 2, "items": { "$ref": "#/definitions/ratePlanBasedOnRateType" } }, "ratePlanBasedOnRateType": { "type": "object", "description": "Base Rate type such as \"Base Rate\", \"Dynamic Base Rate\"", "properties": { "baseRate": { "description": "Base Rate type", "type": "object", "properties": { "basedOnRatePlan": { "description": "Rate plan code used to base the rate on.", "type": "string", "minLength": 0, "maxLength": 20 }, "baseAmount": { "description": "Base Amount used for base rate calculation.", "type": "number" }, "flatOrPercentage": { "description": "Flat or Percentage (FLT/PCT) indicator.", "type": "string", "minLength": 0, "maxLength": 3 }, "rounding": { "description": "Rounding style used for the calculated rate amounts. Valid values are U,D,N,C,F which means Up, Down, None, Up-Keep Decimal, Down - Keep Decimal.", "type": "string", "minLength": 0, "maxLength": 1 }, "dependentRatePlans": { "description": "Dependent Rate plan code(s) for the rate plan. It is the list of rate plans that are based on the Rate Plan.", "$ref": "#/definitions/ratePlanCodeListType" } } }, "dynamicBaseRate": { "description": "Dynamic Base Rate type", "type": "object", "properties": { "dynamicBasedOnRatePlan": { "description": "Rate plan code used to Dynamically base the rate on.", "type": "string", "minLength": 0, "maxLength": 20 }, "dynamicBaseAmount": { "description": "Base Amount used for Dynamic base rate calculation.", "type": "number" }, "flatOrPercentage": { "description": "Flat or Percentage (FLT/PCT) indicator.", "type": "string", "minLength": 0, "maxLength": 3 }, "rounding": { "description": "Rounding style used for the calculated rate amounts. Valid values are U,D,N,C,F which means Up, Down, None, Up-Keep Decimal, Down - Keep Decimal.", "type": "string", "minLength": 0, "maxLength": 1 }, "compareWithRateSchedules": { "description": "While showing availability, do system need to compare the static rates defined for the rate with dynamically computed base rate pricing? If true, availability shows lower of the these two pricing. If false, availabilty shows the dynamically calucated pricing.", "type": "boolean" }, "dependentRatePlans": { "description": "Dependent Rate plan code(s) for the rate plan.It is the list of rate plans that are Dynamically based on the Rate Plan.", "$ref": "#/definitions/ratePlanCodeListType" } } }, "bARBasedRate": { "description": "Best Available Rate (BAR) Based Rate type", "type": "object", "properties": { "bARBaseAmount": { "description": "Base Amount used for BAR based rate calculation.", "type": "number" }, "flatOrPercentage": { "description": "Flat or Percentage (FLT/PCT) indicator.", "type": "string", "minLength": 0, "maxLength": 3 }, "rounding": { "description": "Rounding style used for the calculated rate amounts. Valid values are U,D,N,C,F which means Up, Down, None, Up-Keep Decimal, Down - Keep Decimal.", "type": "string", "minLength": 0, "maxLength": 1 }, "compareWithRateSchedules": { "description": "While showing availability, do system need to compare the static rates defined for the rate with dynamically computed BAR based rate pricing? If true, availability shows lower of the these two pricing. If false, availabilty shows the dynamically calucated pricing.", "type": "boolean" }, "defaultToHighestBar": { "description": "While showing availability, in case all the BAR rates are closed whether to calculate the rate amount based on highest BAR instead of defaulting to its own rate schedule. If false, availability shows rates from its own rate schedule.", "type": "boolean" } } }, "advancedDynamicBaseRate": { "description": "Advanced Dynamic Base Rate type", "$ref": "#/definitions/advancedDynamicBaseRateType" }, "basedOnRatePlanType": { "description": "Determines the type of Based on Rate plan. None type signifies it is not based on rate plan and if passed to any operation that changes rate plan will remove the Based On Rate Plan (if any).", "$ref": "#/definitions/basedOnRatePlanType" } } }, "ratePlanCodeListType": { "type": "array", "description": "Rate Plan code.", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "advancedDynamicBaseRateType": { "type": "object", "description": "Advanced Dynamic Base Rate type", "properties": { "basedOnRatePlan": { "description": "Rate plan code used to Advanced Dynamically base the rate on.", "type": "string", "minLength": 0, "maxLength": 20 }, "rounding": { "description": "Rounding style used for the calculated rate amounts. Valid values are U,D,N,C,F which means Up, Down, None, Up-Keep Decimal, Down - Keep Decimal.", "type": "string", "minLength": 0, "maxLength": 1 }, "compareWithRateSchedules": { "description": "While showing availability, do system need to compare the static rates defined for the rate with Advanced dynamically computed base rate pricing? If true, availability shows lower of the these two pricing. If false, availability shows the advanced dynamically calculated pricing.", "type": "boolean" }, "advancedDependentRatePlans": { "description": "Advanced Dependent Rate plan code(s) for the rate plan.It is the list of rate plans that are Advanced Dynamically based on the Rate Plan.", "$ref": "#/definitions/ratePlanCodeListType" } } }, "basedOnRatePlanType": { "type": "string", "description": "None means that rate is a standard rate. If sent in the changeRatePlan operation will delete any Based on Rate Plan Type.", "enum": [ "BaseRate", "DynamicBaseRate", "BARBasedRate", "AdvancedDynamicBaseRate", "None" ] }, "ratePlanScheduleInfoType": { "type": "object", "description": "This type contains summary details about the rate plan schedules such as Schedulesefined etc.", "properties": { "schedulesDefined": { "description": "Returns true in case the rate plan has any schedules defined.", "type": "boolean" } } }, "ratePlanNotesType": { "type": "array", "description": "", "maxItems": 4000, "items": { "$ref": "#/definitions/ratePlanNoteType" } }, "ratePlanNoteType": { "type": "object", "description": "Details of the Rate Plan Approval Note", "properties": { "noteId": { "description": "Unique identifier for the Approval Note", "$ref": "#/definitions/uniqueID_Type" }, "note": { "description": "Note Text", "type": "string", "minLength": 0, "maxLength": 4000 }, "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 }, "purgeDate": { "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date", "maxLength": 8 } } }, "ratePlanRoutingInstructionsType": { "type": "object", "description": "Routing fetchInstructions details for a rate plan.", "properties": { "profileType": { "description": "The profile type configured for the rate plan routing instructions. Valid values are Company, Agent, Contact, and Source.", "$ref": "#/definitions/routingProfileTypeType" }, "transactionCodes": { "description": "Set of transaction codes configured for the rate plan.", "$ref": "#/definitions/trxCodesInfoType" }, "billingInstructions": { "description": "Set of billing instructions configured for the rate plan.", "$ref": "#/definitions/billingInstructionsType" } } }, "routingProfileTypeType": { "type": "string", "description": "Profile Types available for routing instructions.", "enum": [ "Agent", "Company", "Contact", "Source" ] }, "ratePlan": { "type": "object", "description": "Request object to create rate plan.", "properties": { "ratePlan": { "description": "Rate plan code details to be created.", "$ref": "#/definitions/ratePlanType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "ratePlansCopy": { "type": "object", "description": "Request object for Copying rate plans to multiple hotels.", "properties": { "criteria": { "description": "Criteria for copying rate plans.", "$ref": "#/definitions/copyRatePlansCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "copyRatePlansCriteriaType": { "type": "object", "description": "Copy Rate plans criteria type to copy multiple rate plans from one Hotel to another Hotel.", "properties": { "copyRatePlans": { "description": "The details of Rate plans to be copied.", "type": "object", "properties": { "copyRatePlan": { "description": "The details of Rate plans to be copied.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/copyRatePlanType" } }, "hotelId": { "description": "Hotel Code from which rate plans are being copied.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "includeRateDetails": { "description": "include rate plan schedules?", "type": "boolean" }, "includePackages": { "description": "include packages?", "type": "boolean" }, "includeNegotiatedRates": { "description": "include negotiated rates?", "type": "boolean" }, "includeRateFloor": { "description": "include rate floors?", "type": "boolean" } } }, "copyRatePlanType": { "type": "object", "description": "The type describes Rate plan Details being copied.", "properties": { "targets": { "description": "The details of Rate plan targets, where it is being copied and with what name.", "type": "array", "maxItems": 4000, "items": { "type": "object", "properties": { "ratePlanCodes": { "description": "The code and description to be used for the rate plan being copied.", "type": "array", "maxItems": 10, "items": { "$ref": "#/definitions/codeDescriptionType" } }, "hotelId": { "description": "Hotel code to which rate code will be copied.", "type": "string", "minLength": 0, "maxLength": 20 }, "approvalStatus": { "description": "Approval Status of the Rate Plan.", "$ref": "#/definitions/ratePlanApprovalStatusType" } } } }, "ratePlanCode": { "description": "Rate plan code being copied.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "ratePlansCopyDetails": { "type": "object", "description": "Return object to the request for copying rate plans to multiple hotels.", "properties": { "copyResponses": { "description": "Copying rate plans response contains copy specific error and warnings.", "$ref": "#/definitions/copyRatePlansResponseType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "copyRatePlansResponseType": { "type": "object", "description": "Copy Rate plan response contains the response messages to identify what happened during copy process.", "properties": { "copyResponse": { "description": "Hotel Code from which rate plans are being copied.", "type": "array", "maxItems": 4000, "items": { "type": "object", "properties": { "hotelId": { "description": "Hotel Code from which rate plans are being copied.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateCode": { "description": "Rate Code from which rate plans are being copied.", "type": "string", "minLength": 0, "maxLength": 200 }, "targetHotelCode": { "description": "Hotel Code where the rate plans are being copied.", "type": "string", "minLength": 0, "maxLength": 20 }, "text": { "description": "Response text with this copy.", "type": "string", "minLength": 0, "maxLength": 2000 } } } }, "isError": { "description": "Does the response contains error? if true means request is not completed.", "type": "boolean" } } }, "dailyRatePlanScheduleRange": { "type": "object", "description": "A Request message that sets the rate plan schedules for daily rates as a range.", "properties": { "dailyRateScheduleRange": { "type": "object", "description": "Daily Rate schedules range operation request, contains information related to Daily rate schedules range update operation.", "properties": { "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "roomTypes": { "description": "List of room types for which the range update has to be applied.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "roomClasses": { "description": "List of room classes for which the range update has to be applied.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "dateRange": { "type": "object", "description": "Date Range with days of week where the range update has to be applied.", "$ref": "#/definitions/timeSpanDaysOfWeekType" }, "incrementFlag": { "type": "boolean", "description": "Flag to indicate if the occupancy data is absolute or relative to the current value." }, "rateAmounts": { "type": "object", "description": "Rate amounts to be applied for range operation.", "$ref": "#/definitions/scheduleRateAmountsType" }, "advancedDailyBaseRatePlanCode": { "description": "The Base Rate Plan Code which will be used to look up for and configure the Pricing Schedule for the main Rate Plan Code", "type": "string", "minLength": 0, "maxLength": 20 }, "occupantThresholdPricing": { "description": "Occupant threshold pricing for the rate plan schedule including adult thresholds, child thresholds, and occupant thresholds.", "$ref": "#/definitions/occupantThresholdPricingType" } } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "ratePlanPackages": { "type": "object", "description": "Request object to attach package codes and package groups to a rate plan.", "properties": { "ratePlan": { "description": "Rate plan to attach the packages to.", "$ref": "#/definitions/genericHotelCodeCodeType" }, "packages": { "description": "Package codes and package groups to attach to the rate plan.", "$ref": "#/definitions/ratePackagesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "genericHotelCodeCodeType": { "type": "object", "description": "Generic Type to specify unique/primary id for the code. mostly used for Hotel level configuration codes removal request.", "properties": { "hotelId": { "description": "Hotel where the code is configured.", "type": "string", "minLength": 0, "maxLength": 20 }, "code": { "description": "Configuration code.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "ratePlanPostingRhythms": { "type": "object", "description": "Request object for creating new rate plan advanced posting rhythms.", "properties": { "ratePlan": { "description": "Rate plan to create the advanced posting rhythms for.", "$ref": "#/definitions/genericHotelCodeCodeType" }, "postingRhythms": { "description": "Collection of advanced posting rhythms to create.", "$ref": "#/definitions/ratePlanAdvancedPostingRhythmsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "ratePlanSchedulesInfo": { "type": "object", "description": "Response object to fetch rate plan schedules.", "properties": { "ratePlanScheduleList": { "description": "List of the rate plan schedules fetched based on the request criteria.", "$ref": "#/definitions/ratePlanScheduleListType" }, "ratePlanMasterInfo": { "description": "Contains the Rate Plan info that will be used as reference by the Rate Schedules. For example, it provides the master list for room types that a rate schedule can have for a rate plan.", "$ref": "#/definitions/ratePlanMasterInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "ratePlanScheduleListType": { "type": "object", "properties": { "ratePlanSchedule": { "description": "Rate plan schedule list.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/ratePlanSchedulesType" } }, "hotelId": { "description": "Hotel code.", "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "description": "Rate plan Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "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" }, "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" }, "totalPages": { "description": "Evaluated total page count based on the requested max fetch count.", "type": "integer" } } }, "ratePlanSchedulesType": { "type": "object", "properties": { "ratePlanScheduleId": { "description": "Rate Plan schedule ID.", "$ref": "#/definitions/uniqueID_Type" }, "ratePlanScheduleDetail": { "description": "Rate Plan Schedule Details.", "$ref": "#/definitions/ratePlanScheduleDetailType" } } }, "ratePlanScheduleDetailType": { "type": "object", "description": "Details of rate plan schedule including room type list and days of week of the schedule.", "properties": { "rateAmounts": { "description": "Rate amounts for the rate plan schedule.", "$ref": "#/definitions/scheduleRateAmountsType" }, "advancedBaseRateOffset": { "description": "Rate plan schedule based on an offset from its Base Rate or BAR Rate.", "$ref": "#/definitions/advancedBaseRateOffsetType" }, "rateAmountBoundaries": { "description": "Rate amount boundaries for the rate plan schedule. Includes the minimum and/or maximum rate amounts for one and/or two adults.", "$ref": "#/definitions/rateAmountBoundariesType" }, "classifications": { "description": "Rate plan schedule grouping details.", "$ref": "#/definitions/ratePlanScheduleClassificationsType" }, "occupantThresholdPricing": { "description": "Occupant threshold pricing for the rate plan schedule including adult thresholds, child thresholds, and occupant thresholds.", "$ref": "#/definitions/occupantThresholdPricingType" }, "adjustmentDetails": { "description": "The adjustment code details for the rate plan schedule.", "$ref": "#/definitions/scheduleAdjustmentDetailsType" }, "rateSchedulePackages": { "description": "List of packages attached to the rate plan schedule.", "$ref": "#/definitions/ratePackagesType" }, "tierID": { "description": "Tier that the rate plan schedule belongs to.", "$ref": "#/definitions/tierIDType" }, "seasonCode": { "description": "Season code attached to the rate plan schedule that defines the start and end dates. When creating a rate plan schedule, if a season code is provided the start and end dates will be ignored. These values will be pulled from the season code record.", "type": "string", "minLength": 0, "maxLength": 20 }, "start": { "description": "The starting value of the date range.", "type": "string", "format": "date", "maxLength": 8 }, "end": { "description": "The ending value of the date range.", "type": "string", "format": "date", "maxLength": 8 }, "roomTypeList": { "description": "List of room types that are for the rate plan schedule.", "$ref": "#/definitions/roomTypeListType" }, "advancedDailyBaseRatePlanCode": { "description": "The Base Rate Plan Code which will be used to look up for and configure the Pricing Schedule for the main Rate Plan Code", "type": "string", "minLength": 0, "maxLength": 20 }, "sunday": { "type": "boolean" }, "monday": { "type": "boolean" }, "tuesday": { "type": "boolean" }, "wednesday": { "type": "boolean" }, "thursday": { "type": "boolean" }, "friday": { "type": "boolean" }, "saturday": { "type": "boolean" } } }, "ratePlanMasterInfoType": { "type": "object", "description": "The Rate plan info type is used primarily by rate plan schedules to get basic rate plan header details.", "properties": { "primaryDetails": { "description": "Rate plan code header primary details.", "$ref": "#/definitions/ratePlanPrimaryDetailsType" }, "roomTypeList": { "description": "List of room types that are supported by the Rate Plan.", "$ref": "#/definitions/rateRoomTypeListType" }, "ratePlanBasedOnRates": { "description": "Based on rate plan details.", "$ref": "#/definitions/ratePlanBasedOnRatesType" }, "rateTiers": { "description": "Rate Tier levels and ranges available for the property.", "$ref": "#/definitions/rateTiersType" }, "hotelId": { "description": "Hotel Code of the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "description": "Rate Plan Code of the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "tiered": { "description": "Is Rate plan tiered?", "type": "boolean" }, "daily": { "description": "Is rate plan code a daily rate?", "type": "boolean" }, "currencyCode": { "description": "Currency code used by the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "bARRate": { "description": "Is rate plan code of BAR Rate type?", "type": "boolean" }, "complimentary": { "description": "Is rate plan code Complimentary?", "type": "boolean" }, "houseUse": { "description": "Is rate plan code for House Use?", "type": "boolean" }, "advancedDailyBase": { "description": "Flag to identify if Rate Code is Advanced Daily Base Rate Code", "type": "boolean" }, "floorAmount": { "description": "An amount that act as Floor value for Rate Plan.", "type": "number" } } }, "rateTiersType": { "type": "array", "description": "Details for each rate tier.", "maxItems": 5, "items": { "$ref": "#/definitions/rateTierType" } }, "rateTierType": { "type": "object", "description": "Details for a single rate tier.", "properties": { "startLOS": { "description": "The starting length of stay days. This is a required field.", "type": "integer" }, "endLOS": { "description": "The ending length of stay days. This is not a required field.", "type": "integer" }, "tierID": { "description": "The rate tier number/level.", "$ref": "#/definitions/tierIDType" } } }, "ratePlanSchedules": { "type": "object", "description": "Request object to change rate plan schedules.", "properties": { "hotelId": { "description": "Hotel Code of the rate plan schedule.", "$ref": "#/definitions/codeType" }, "ratePlanCode": { "description": "Rate plan code of the rate plan schedule.", "$ref": "#/definitions/codeType" }, "ratePlanScheduleList": { "description": "List of rate plan schedules to be updated.", "type": "array", "items": { "$ref": "#/definitions/updateRatePlanSchedulesType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "ratePlanSchedulesToCreate": { "type": "object", "description": "Request object to create rate plan schedules.", "properties": { "hotelId": { "description": "Hotel Code of the rate plan schedule.", "$ref": "#/definitions/codeType" }, "ratePlanCode": { "description": "Rate plan code of the rate plan schedule.", "$ref": "#/definitions/codeType" }, "ratePlanScheduleList": { "description": "List of rate plan schedules to be created.", "type": "array", "items": { "$ref": "#/definitions/ratePlanScheduleDetailType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "tieredRateSchedulesCopy": { "type": "object", "description": "Request object to copy the specified tier 1 rate schedules into the specified tiers.", "properties": { "hotelId": { "description": "Hotel Code of the rate plan schedule(s).", "$ref": "#/definitions/codeType" }, "ratePlanCode": { "description": "Rate plan code of the rate plan schedule(s).", "$ref": "#/definitions/codeType" }, "copyFromTierId": { "description": "Source Tier ID that the rate schedule(s) are to be copied from.", "$ref": "#/definitions/tierIDType" }, "copyToTierId": { "description": "Destination Tier ID that the rate schedule(s) are to be copied to.", "$ref": "#/definitions/tierIDType" }, "ratePlanSchedulesIdList": { "description": "List of Rate Schedule IDs to copy into the specified tier. This element is optional. If no Rate Schedule IDs are provided then all rate schedules from the source tier will be copied into the destination tier.", "$ref": "#/definitions/uniqueIDListType" }, "adultOffset": { "description": "Offset details for the Adult rates. If not provided, the source schedule rates will be used unchanged.", "$ref": "#/definitions/rateOffsetType" }, "childOffset": { "description": "Offset details for the Child rates. If not provided, the source schedule rates will be used unchanged.", "$ref": "#/definitions/rateOffsetType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateOffsetType": { "type": "object", "description": "Rate Offset details for copying a rate schedule to a different tier.", "properties": { "offset": { "description": "Offset amount for copying the rate schedule.", "type": "number" }, "flatOrPercentage": { "description": "Specifies whether the offset amount is of Flat or Percentage type. Valid values are F/P.", "type": "string", "minLength": 1, "maxLength": 1 }, "increaseOrDecrease": { "description": "Specifies whether the offset amount is to increase the rate or decrease the rate. Valid values are I/D.", "type": "string", "minLength": 1, "maxLength": 1 } } }, "rateSeasonsDetails": { "type": "object", "description": "Response object for fetching rate seasons for a hotel.", "properties": { "rateSeasons": { "description": "Collection of hotel level rate seasons.", "$ref": "#/definitions/rateSeasonsType" }, "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" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateSeasonsType": { "type": "array", "description": "Hotel rate season details.", "maxItems": 4000, "items": { "$ref": "#/definitions/rateSeasonType" } }, "rateSeasonType": { "type": "object", "description": "Base details common between hotel and template rate seasons.", "properties": { "description": { "description": "Description of the rate season.", "type": "string", "minLength": 0, "maxLength": 2000 }, "dateRange": { "description": "Start and end dates of the rate season.", "$ref": "#/definitions/timeSpanType" }, "seasonCode": { "description": "Season code to identify the rate season.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservedForRateCode": { "description": "Rate code associated with the rate season. When a rate code is provided, the season code is reserved exclusively for this rate code and cannot be used in other rate codes.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "Hotel code that the rate season belongs to.", "type": "string", "minLength": 0, "maxLength": 20 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "rateSeasonsCriteria": { "type": "object", "description": "Request object for creating new rate seasons for a hotel.", "properties": { "rateSeasons": { "description": "Collection of hotel rate seasons to be created.", "$ref": "#/definitions/rateSeasonsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateSeasonsToBeChanged": { "type": "object", "description": "Request object for modifying rate seasons for a hotel.", "properties": { "rateSeasons": { "description": "Collection of hotel rate season to be changed.", "$ref": "#/definitions/rateSeasonsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateStrategies": { "type": "object", "description": "Response object for Fetching existing Rate strategies.", "properties": { "rateStrategies": { "description": "Contains the results of a successful operation.", "$ref": "#/definitions/rateStrategiesType" }, "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" } } }, "rateStrategiesType": { "type": "object", "description": "The Rate strategy type.", "properties": { "rateStrategy": { "description": "Rate Strategies.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/rateStrategyType" } }, "hotelId": { "description": "Hotel code.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "rateStrategyType": { "type": "object", "description": "The Rate strategy type.", "properties": { "strategyDetail": { "description": "Rate Strategy details.", "$ref": "#/definitions/strategyDetailType" }, "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 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "strategyDetailType": { "type": "object", "description": "The Rate strategy details.", "properties": { "condition": { "description": "Condition defined for the Rate Strategy.", "$ref": "#/definitions/strategyConditionType" }, "restriction": { "description": "Rate Strategy details.", "$ref": "#/definitions/strategyRestrictionType" }, "control": { "description": "Rate Strategy details.", "$ref": "#/definitions/strategyControlType" }, "executionOrder": { "description": "Rate Strategy execution order sequence.", "type": "integer" } } }, "strategyConditionType": { "type": "object", "description": "The Rate strategy condition details type.", "properties": { "type": { "description": "Condition type for the strategy.", "$ref": "#/definitions/rateStrategyConditionType" }, "threshold": { "description": "Condition threshold.", "$ref": "#/definitions/thresholdType" }, "thresholdType": { "description": "Flat or Percentage.", "type": "string", "minLength": 1, "maxLength": 1 }, "considerSellLimits": { "description": "Consider the sell limit for the strategy", "type": "boolean" }, "considerOutOfOrderRooms": { "description": "Consider the out of order rooms for the strategy", "type": "boolean" } } }, "rateStrategyConditionType": { "type": "string", "description": "Rate Strategy control types.", "enum": [ "OccupancyReaches", "OccupancyIsLess", "TimesSoldReaches", "TimesSoldIsLess" ] }, "thresholdType": { "type": "object", "description": "Condition threshold value with incremental flag.", "properties": { "value": { "type": "integer", "description": "Property Value" }, "incremental": { "description": "If incremental flag is true, condition threshold value represents increment or decrement to be adjusted, otherwise it represents an absolute value.", "type": "boolean" } } }, "strategyRestrictionType": { "type": "object", "description": "The Rate strategy restriction details.", "properties": { "rateCategory": { "description": "Rate category for the strategy.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateCode": { "description": "Rate code for the strategy.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateClass": { "description": "Rate class for the strategy.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomClass": { "description": "Room class for the strategy.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomType": { "description": "Room Type for the strategy.", "type": "string", "minLength": 0, "maxLength": 20 }, "numberOfRooms": { "description": "Number of rooms for this room type.", "type": "integer" }, "restrictionRange": { "description": "Restriction date range with day of week for the strategy.", "$ref": "#/definitions/timeSpanDaysOfWeekType" }, "status": { "description": "Applicable Restriction status for the strategy", "$ref": "#/definitions/strategyRestrictionStatusesType" }, "unit": { "description": "Defines restriction in conjunction with Status. Value must be specified for Status MinimumStayThrough, MaximumStayThrough, MinimumLengthOfStay, MaximumLengthOfStay, MinimumAdvanceBooking, MaximumAdvanceBooking.", "type": "integer" } } }, "strategyRestrictionStatusesType": { "type": "string", "enum": [ "Closed", "ClosedForArrival", "ClosedForDeparture", "MinimumStayThrough", "MaximumStayThrough", "MinimumLengthOfStay", "MaximumLengthOfStay", "MinimumAdvanceBooking", "MaximumAdvanceBooking", "Open", "OpenForArrival", "OpenForDeparture" ] }, "strategyControlType": { "type": "object", "description": "The Rate strategy Control type.", "properties": { "dateRange": { "description": "Control date range for the strategy.", "$ref": "#/definitions/timeSpanType" }, "rollingDaysRange": { "description": "Rolling control days from today (Start date rolling forward).", "type": "object", "properties": { "daysInAdvanceFrom": { "description": "Rolling control days from today (Start date rolling forward).", "type": "integer" }, "daysInAdvanceTo": { "description": "Rolling control days from today (End date rolling forward).", "type": "integer" } } } } }, "rateStrategy": { "type": "object", "description": "Request object for Creating a new Rate Strategy.", "properties": { "rateStrategy": { "description": "Rate Strategy details to be created.", "$ref": "#/definitions/hotelRateStrategyType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "hotelRateStrategyType": { "type": "object", "description": "The Rate strategy type with Hotel code.", "properties": { "strategyDetail": { "description": "Rate Strategy details.", "$ref": "#/definitions/strategyDetailType" }, "hotelId": { "description": "Hotel code.", "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 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "rateActivityLog": { "type": "object", "description": "Response object to fetch rate activity log.", "properties": { "activityLog": { "description": "Activity log details for the requested module.", "$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" }, "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 } } }, "promotionCouponValidationDetails": { "type": "object", "description": "Response for validating a coupon.", "properties": { "couponInfo": { "description": "Coupon information.", "$ref": "#/definitions/couponInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "couponInfoType": { "type": "object", "description": "Information about the coupon.", "properties": { "couponCode": { "description": "Coupon code to validate.", "type": "string", "minLength": 0, "maxLength": 40 }, "promotionCode": { "description": "Promotion Code to which the coupon belongs.", "type": "string", "minLength": 0, "maxLength": 20 }, "limitedUse": { "description": "Indicates if promotion code is of limited use type. This is set to true if it is either set on property or template", "type": "boolean" } } }, "yieldAdjustments": { "type": "object", "description": "Response object to fetch Yield adjustments based on the requested criteria.", "properties": { "yieldAdjustments": { "description": "Yield adjustments fetched based on the request criteria.", "$ref": "#/definitions/yieldAdjustmentsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "yieldAdjustmentsType": { "type": "object", "description": "The Yield adjustments defined in the system based on the request.", "properties": { "yieldAdjustment": { "description": "Details of the adjustment codes.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/yieldInfoType" } }, "hotelId": { "description": "Hotel code for the Adjustments.", "type": "string", "minLength": 0, "maxLength": 20 }, "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" } } }, "templatePackageForecastGroups": { "type": "object", "description": "Response object for fetching template package forecast groups.", "properties": { "templatePackageForecastGroups": { "description": "Collection of template level package forecast groups.", "$ref": "#/definitions/templatePackageForecastGroupsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templatePackageForecastGroupsType": { "type": "array", "description": "Template package forecast group details.", "maxItems": 4000, "items": { "$ref": "#/definitions/templatePackageForecastGroupType" } }, "templatePackageForecastGroupType": { "type": "object", "description": "Base details common between hotel and template package forecast groups.", "properties": { "description": { "description": "Description of the package forecast group.", "type": "string", "minLength": 0, "maxLength": 2000 }, "sellSequence": { "description": "Indicates package forecast sell sequence.", "type": "number" }, "inactive": { "description": "Inactive flag for a package forecast group.", "type": "boolean" }, "code": { "description": "Package forecast group code to identify the package forecast group.", "type": "string", "minLength": 0, "maxLength": 20 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "packagesInfo": { "type": "object", "description": "Response object to fetch list of packages.", "properties": { "packageCodesList": { "description": "List of package codes.", "type": "object", "properties": { "packageCodes": { "description": "Package Codes of each hotel.", "type": "array", "items": { "$ref": "#/definitions/hotelPackageCodesType" } }, "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": { "description": "Refer to Generic common types document.", "type": "array", "items": { "$ref": "#/definitions/masterInfoType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "hotelPackageCodesType": { "type": "object", "description": "Depending on the fetch instructions either full details or basic details will be fetched", "properties": { "packageCodeShortInfo": { "description": "Basic information about the each package code.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/packageCodeShortInfoType" } }, "packageCodeInfo": { "description": "Full Details about each package code", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/packageCodeType" } }, "hotelId": { "description": "Hotel code for the packages.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "packageCodeShortInfoType": { "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" }, "code": { "description": "Package Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "group": { "description": "Indicates if it is a Package Group or not.", "type": "boolean" }, "redemptionProductYn": { "description": "Indicates if package is a redemption package.", "type": "string", "minLength": 0, "maxLength": 1 }, "usedInAppSetting": { "description": "Flag to check the package code is used in application setting.", "type": "boolean" }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "packagesCopy": { "type": "array", "description": "List of the package codes to be copied to other hotel code(s).", "items": { "$ref": "#/definitions/copyPackageCodesType" } }, "copyPackageCodesType": { "type": "object", "description": "Copy instructions for package codes.", "properties": { "sourceHotelCode": { "description": "Source hotel code from where package code(s) have to be copied.", "type": "string", "minLength": 0, "maxLength": 20 }, "copyPackagePricing": { "description": "Indicator that tells whether the package pricing records should be copied or not.", "type": "boolean" }, "copyPackageCodeInfo": { "description": "Provides information about the target hotel code where the source package code will be copied to, what the package code will be named under the target hotel code and the description of the package code under the target hotel code.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/copyPackageCodeInfoType" } } } }, "copyPackageCodeInfoType": { "type": "object", "description": "The type gives details of the source package code to be copied along with information of the target where the package code is being copied. Details include source package code to be copied, the hotel code where the package code will be copied to, the name and description with which the package code will be copied under the target hotel code.", "properties": { "sourcePackageCode": { "description": "Source package code to be copied.", "type": "string", "minLength": 0, "maxLength": 20 }, "targetHotelCode": { "description": "Target hotel code where the package code will be copied to.", "type": "string", "minLength": 0, "maxLength": 20 }, "copyAs": { "description": "The code and description to be used for the package code being copied under the target hotel code.", "$ref": "#/definitions/codeDescriptionType" } } }, "templatePromotionCodes": { "type": "object", "properties": { "templatePromotionCodes": { "description": "Collection of template promotions.", "$ref": "#/definitions/templatePromotionCodesType" }, "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" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "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" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templatePromotionCodesType": { "type": "array", "description": "A template promotion.", "maxItems": 4000, "items": { "$ref": "#/definitions/templatePromotionCodeType" } }, "templatePromotionCodeType": { "type": "object", "description": "A template promotion.", "properties": { "promotionCodeDetails": { "description": "Details of the promotion.", "$ref": "#/definitions/promotionCodeDetailsType" }, "promotionCode": { "description": "An alphanumeric code for the promotion. This code may not be changed once the promotion code is saved.", "type": "string", "minLength": 0, "maxLength": 20 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "templatePromotionCode": { "type": "object", "properties": { "templatePromotionCode": { "description": "Consists of new template promotion details to be saved.", "$ref": "#/definitions/templatePromotionCodeType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "ratePlansSchedulesToManage": { "type": "object", "description": "Request object to create/change/delete rate plans schedules.", "properties": { "hotelRatePlansSchedules": { "description": "Hotel rate plan schedules to be managed.", "type": "array", "items": { "$ref": "#/definitions/hotelRatePlanSchedulesType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "hotelRatePlanSchedulesType": { "type": "object", "properties": { "ratePlanScheduleList": { "description": "Rate plan schedule to be managed.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/ratePlanSchedulesType" } }, "hotelId": { "description": "Hotel Code of the rate plan schedules.", "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "description": "Rate plan code of the rate plan schedules.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "ratePlansSummary": { "type": "object", "description": "Response object to fetch rate plans summary information.", "properties": { "ratePlanShortInfoList": { "description": "List of summary information for the rate plan code.", "type": "object", "properties": { "ratePlanShortInfo": { "description": "List of summary information for the rate plan code.", "type": "array", "items": { "$ref": "#/definitions/ratePlanShortInfoType" } }, "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" }, "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" }, "totalPages": { "description": "Evaluated total page count based on the requested max fetch count.", "type": "integer" } } }, "masterInfoList": { "description": "Refer to Generic common types document.", "type": "array", "items": { "$ref": "#/definitions/masterInfoType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "rateStrategiesToSet": { "type": "object", "description": "Request object for setting rate strategies. This operation will change details of rate strategy if rate strategy with the given Hotel Code, Restriction Dates, Rate Code, Rate Category, Room Type, Condition Type and Restriction Type already exists. Otherwise, it will create new rate strategy.", "properties": { "rateStrategies": { "description": "Collection of rate strategies.", "type": "object", "properties": { "rateStrategy": { "description": "Rate Strategy details to be created or changed.", "type": "array", "items": { "$ref": "#/definitions/hotelRateStrategyType" } }, "autoCounterStrategy": { "description": "If AutoCounterStrategy flag is true, system will automatically create or update a counter strategy for open and close condition type strategy.", "type": "boolean" } } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templateRateCategoryDetails": { "type": "object", "properties": { "templateRateCategories": { "description": "Collection of template rate categories.", "type": "array", "items": { "$ref": "#/definitions/templateRateCategoriesType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templateRateCategoriesType": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/rateCategoryType" } }, "templateRateCategoryCriteria": { "type": "object", "properties": { "templateRateCategory": { "description": "Template rate category to be created.", "$ref": "#/definitions/templateRateCategoryType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templateRateCategoryType": { "type": "object", "description": "This type represents the rate category type.", "properties": { "rateCategoryDetails": { "description": "Begin date for the rate category.", "type": "object", "properties": { "beginDate": { "description": "Begin date for the rate category.", "type": "string", "format": "date", "maxLength": 8 }, "endDate": { "description": "End date for the rate category.", "type": "string", "format": "date", "maxLength": 8 }, "description": { "description": "Description of rate category.", "type": "string", "minLength": 0, "maxLength": 200 }, "rateClass": { "description": "Active date of the room category.", "type": "string", "minLength": 0, "maxLength": 20 }, "sellSequence": { "description": "Indicates rate category sell sequence.", "type": "number" } } }, "rateCategory": { "description": "Rate category Code.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "templateRateCategoryToBeChanged": { "type": "object", "properties": { "templateRateCategory": { "description": "Template rate category to be changed.", "$ref": "#/definitions/templateRateCategoryType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templateRateClassDetails": { "type": "object", "description": "Response for fetch template rate classes.", "properties": { "templateRateClasses": { "description": "Collection of template rate classes.", "$ref": "#/definitions/templateRateClassesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templateRateClassesType": { "type": "array", "description": "Collection of template rate classes.", "maxItems": 4000, "items": { "$ref": "#/definitions/templateRateClassType" } }, "templateRateClassType": { "type": "object", "description": "A template rate class.", "properties": { "description": { "description": "Description of the rate class.", "type": "string", "minLength": 0, "maxLength": 2000 }, "sequence": { "description": "Display Sequence of the rate class.", "type": "integer" }, "timeSpan": { "description": "Begin Date and End Date of the rate class.", "$ref": "#/definitions/timeSpanType" }, "rateClass": { "description": "Code that uniquely identifies the rate class.", "type": "string", "minLength": 0, "maxLength": 20 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "templateRateClassCriteria": { "type": "object", "description": "Request to create new template rate class.", "properties": { "templateRateClass": { "description": "New template rate class to be saved.", "$ref": "#/definitions/templateRateClassType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templateRateClassToBeChanged": { "type": "object", "description": "Request to save changes to template rate class.", "properties": { "templateRateClass": { "description": "Template rate class to be updated.", "$ref": "#/definitions/templateRateClassType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templateRateSeasonsDetails": { "type": "object", "description": "Response object for fetching template rate seasons.", "properties": { "templateRateSeasons": { "description": "Collection of template level rate seasons.", "$ref": "#/definitions/templateRateSeasonsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templateRateSeasonsType": { "type": "array", "description": "Hotel rate season details.", "maxItems": 4000, "items": { "$ref": "#/definitions/templateRateSeasonType" } }, "templateRateSeasonType": { "type": "object", "description": "Base details common between hotel and template rate seasons.", "properties": { "description": { "description": "Description of the rate season.", "type": "string", "minLength": 0, "maxLength": 2000 }, "dateRange": { "description": "Start and end dates of the rate season.", "$ref": "#/definitions/timeSpanType" }, "seasonCode": { "description": "Season code to identify the rate season.", "type": "string", "minLength": 0, "maxLength": 20 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "templateRateSeasonsCriteria": { "type": "object", "description": "Request object for creating new template rate seasons.", "properties": { "templateRateSeasons": { "description": "Collection of template rate seasons to be created.", "$ref": "#/definitions/templateRateSeasonsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templateRateSeasonsToBeChanged": { "type": "object", "description": "Request object for modifying template rate seasons.", "properties": { "templateRateSeasons": { "description": "Collection of template rate seasons to be changed.", "$ref": "#/definitions/templateRateSeasonsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "actionType": { "type": "string", "description": "Action types allowed by the event api.", "enum": [ "CREATE", "UPDATE", "DELETE" ] }, "updateRatePlanSchedulesType": { "type": "object", "properties": { "ratePlanScheduleId": { "description": "Rate Plan schedule ID.", "$ref": "#/definitions/uniqueID_Type" }, "ratePlanScheduleDetail": { "description": "Rate Plan Schedule Details.", "$ref": "#/definitions/ratePlanScheduleDetailType" }, "originalRatePlanScheduleDetail": { "description": "OriginalRate Plan Schedule Details.", "$ref": "#/definitions/ratePlanScheduleDetailType" } } }, "ratePlansSync": { "type": "object", "description": "Request object to synchronize rate codes.", "properties": { "ratePlanCodes": { "description": "List of rate codes for which the synchronization has to be applied.", "$ref": "#/definitions/rateCodesListType" }, "target": { "description": "Attributes related to sync target like Hotel Ids.", "$ref": "#/definitions/ratePlansSyncTargetType" } }, "required": [ "ratePlanCodes", "target" ] }, "ratePlansSyncTargetType": { "type": "object", "description": "Attributes related to sync target like Hotel Ids.", "properties": { "hotelIds": { "description": "List of hotel Ids to which to synchronize the rate codes.", "$ref": "#/definitions/hotelCodeListType" } }, "required": [ "hotelIds" ] }, "managedByOptions": { "description": "Describes of the Configuration is Managed by Enterprise or Property.", "type": "string", "enum": [ "EnterpriseManaged", "PropertyManaged", "EnterpriseEnforced", "PropertyOverridden" ] }, "ratePlanSchedulesToSet": { "type": "object", "description": "Request object to set rate plan schedules.", "properties": { "hotelId": { "description": "Hotel Code of the rate plan schedule.", "$ref": "#/definitions/codeType" }, "ratePlanCode": { "description": "Rate plan code of the rate plan schedule.", "$ref": "#/definitions/codeType" }, "ratePlanScheduleList": { "description": "List of rate plan schedules to be created / updated.", "type": "array", "maxItems": 50, "items": { "$ref": "#/definitions/ratePlanScheduleDetailType" } } } }, "generatePromotionCouponCodes": { "type": "object", "description": "Request object to generate the promotion coupon code.", "properties": { "generatePromotionCouponCode": { "description": "Request object details to generate the promotion coupon codes.", "$ref": "#/definitions/generatePromotionCouponCodeType" } } }, "generatePromotionCouponCodeType": { "type": "object", "description": "Consist details to generate promotion coupon codes.", "properties": { "promotionCode": { "description": "Promotion Code to which the coupon belongs.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "Hotel code the promotion code belongs to. Not applicable when generating coupons at template level.", "type": "string", "minLength": 0, "maxLength": 20 }, "couponGenOption": { "description": "Options to use to generate the coupon code- C-Custom, N-Numbers, U-Alpha, X-Alpha-Numeric", "$ref": "#/definitions/couponGenerateOptionType" }, "customGenFormat": { "description": "Format to use to generate the custom coupon code- U-Upper Alpha Character, X-Upper Alpha Numeric Character, N-Numbers", "type": "string", "minLength": 1, "maxLength": 20, "pattern": "[UNX]*" }, "couponsToGenerate": { "description": "Number of coupons to generate.", "type": "integer", "minimum": 1, "maximum": 25000 }, "couponLength": { "description": "Length of a coupon to be generated. If coupon generation option is C-Custom then it is not applicable.", "type": "integer", "minimum": 8, "maximum": 20 }, "prefix": { "description": "Prefix to use for coupon generation. Only applicable when coupon generation option is C-Custom.", "type": "string", "minLength": 0, "maxLength": 5 }, "suffix": { "description": "Suffix to use for coupon generation. Only applicable when coupon generation option is C-Custom.", "type": "string", "minLength": 0, "maxLength": 5 }, "excludeCharacters": { "description": "Characters to exclude while generating the coupon. Only applicable when coupon generation option is C-Custom.", "type": "string", "minLength": 0, "maxLength": 5 }, "managedBy": { "$ref": "#/definitions/managedByOptions" } }, "required": [ "promotionCode", "couponGenOption", "couponsToGenerate" ] }, "couponGenerateOptionType": { "description": "Coupon Generation Options.", "type": "string", "enum": [ "C", "N", "U", "X" ] }, "updatePromotionCouponCode": { "type": "object", "description": "Request object to update the promotion coupon code.", "properties": { "promotionCouponCode": { "description": "Promotion coupon code details to be updated.", "$ref": "#/definitions/updatePromotionCouponCodeType" } } }, "updatePromotionCouponCodeType": { "type": "object", "description": "Promotion coupon code details to be updated.", "properties": { "inactive": { "description": "Indicates if coupon code will be inactivated.", "type": "boolean" } }, "required": [ "inactive" ] }, "getPromotionCouponCodes": { "type": "object", "description": "Collection of promotion coupon code details.", "properties": { "promotionCouponCodes": { "description": "Consist of collection of promotion coupon code details.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/promotionCouponCodeType" } }, "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" }, "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" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "getPromotionCouponCode": { "type": "object", "description": "Response object to get the promotion coupon code based on the resort and promotion code.", "properties": { "promotionCouponCode": { "description": "Promotion coupon code fetched based on the request criteria.", "$ref": "#/definitions/promotionCouponCodeType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "inactivatePromotionCouponBatchCodeType": { "type": "object", "description": "Promotion coupon batch code details to be inactivated.", "properties": { "hotelId": { "description": "Hotel code the property promotion code belongs to. When not provided, it is considered at template level.", "type": "string", "minLength": 0, "maxLength": 20 }, "batchCode": { "description": "Indicates the coupon batch code that will be inactivated.", "type": "string", "minLength": 1, "maxLength": 40 } }, "required": [ "batchCode" ] }, "promotionCouponCodeType": { "type": "object", "description": "Promotion coupon code details.", "properties": { "promotionCode": { "description": "Promotion Code to which the coupon belongs.", "type": "string", "minLength": 0, "maxLength": 20 }, "couponCode": { "description": "Promotion Coupon Code.", "type": "string", "minLength": 0, "maxLength": 40 }, "hotelId": { "description": "Hotel code the property promotion code belongs to.", "type": "string", "minLength": 0, "maxLength": 20 }, "couponId": { "description": "Promotion coupon Code Id.", "type": "integer" }, "batchCode": { "description": "Promotion coupon batch code.", "type": "string", "minLength": 0, "maxLength": 40 }, "status": { "description": "Promotion coupon code status.", "$ref": "#/definitions/couponCodeStatus" }, "createdOn": { "description": "Date when promotion coupon code was created.", "type": "string", "format": "date" }, "inactiveDate": { "description": "Date when promotion coupon code was inactivated.", "type": "string", "format": "date" }, "managedBy": { "$ref": "#/definitions/managedByOptions" } } }, "generatedCouponCodeDetails": { "type": "object", "description": "Response consists of the generated promotion coupon code details.", "properties": { "batchCode": { "description": "Promotion coupon batch code.", "type": "string", "minLength": 0, "maxLength": 40 }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "couponCodeStatus": { "description": "Status of a promotion coupon code.", "type": "string", "enum": [ "Active", "Inactive" ] }, "daysOfWeekControlsType": { "type": "object", "description": "Populated when Package Availability Control is set to 'Days of the Week'. Atleast one of the properties must be provided. ", "properties": { "sunday": { "type": "boolean" }, "monday": { "type": "boolean" }, "tuesday": { "type": "boolean" }, "wednesday": { "type": "boolean" }, "thursday": { "type": "boolean" }, "friday": { "type": "boolean" }, "saturday": { "type": "boolean" } } }, "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" } } }, "ratePostingInterval": { "type": "string", "description": "Allowed values for rate posting interval. Nightly is default when not provided.", "enum": [ "Nightly", "Weekly", "Monthly" ] }, "translationTextType40": { "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": 40 }, "translatedTexts": { "description": "List of translated text and language codes.", "$ref": "#/definitions/translationsTextType" } } }, "ratePlanMetrics": { "type": "object", "description": "Rate plan metrics counts.", "properties": { "dependentBaseRates": { "type": "integer", "description": "Count of dependent base rates.", "example": 42 }, "rateCodePricingSchedules": { "type": "integer", "description": "Count of rate code pricing schedules.", "example": 17 } } }, "restrictionGroupType": { "type": "string", "description": "Casino restriction group assigned to this rate plan. Allowed values: A or B. Required when casinoComp is true.", "enum": [ "GroupA", "GroupB" ] }, "generatePackageCodeDescriptionRequest": { "type": "object", "description": "Request object to generate a package code description.", "properties": { "packageShortDesc": { "type": "string", "description": "Short description of the package." }, "userPrompt": { "type": "string", "description": "User-provided prompt or instructions." }, "calculationRule": { "description": "", "$ref": "#/definitions/packageCalculationRuleType" }, "postingRhythm": { "description": "Posting Rhythm for the package.", "$ref": "#/definitions/postingRhythmType" }, "itemInventoryDescription": { "maxItems": 4000, "description": "Package Code Inventory Items type.", "type": "array", "items": { "$ref": "#/definitions/pkgInventoryItemType" } } } }, "generatePackageCodeDescriptionResponse": { "type": "object", "description": "Response object containing the generated text.", "properties": { "generatedText": { "type": "string", "description": "Generated text." }, "responseId": { "description": "Response ID generated by AI Author Service.", "type": "string" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "savePackageCodeDescriptionRequest": { "type": "object", "description": "Request object containing the saved text and response id used to save a response into the AI Author Service.", "properties": { "savedText": { "type": "string", "description": "Edited text." } }, "required": [ "savedText" ] }, "savePackageCodeDescriptionResponse": { "type": "object", "description": "Response object containing the saved text and response id used to save a response into the AI Author Service.", "properties": { "responseId": { "description": "Response ID generated by AI Author Service.", "type": "string" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templateControlSegmentType": { "type": "object", "description": "Template Control Segment (no hotelId).", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Control Segment code." }, "active": { "type": "boolean", "description": "Control Segment is active or not." }, "withMembership": { "type": "boolean", "description": "When true membership scoping applies in the control segment." }, "membershipTypeCode": { "type": "string", "maxLength": 100 }, "membershipLevels": { "type": "array", "items": { "type": "string" }, "description": "List of membership levels." }, "rules": { "$ref": "#/definitions/ruleGroupsType" }, "chainCode": { "type": "string", "maxLength": 20, "description": "Chain code for the code type." } }, "required": [ "code", "withMembership", "rules" ] }, "templateControlSegmentCriteria": { "type": "object", "description": "Request object that holds the details of Control Segment Template to be created.", "properties": { "templateControlSegment": { "description": "Details of template Control Segment to be created.", "$ref": "#/definitions/templateControlSegmentType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templateControlSegmentToBeChanged": { "type": "object", "description": "Request object that holds the details of Control Segment Template to be changed.", "properties": { "templateControlSegment": { "description": "Details of template Control Segment to be changed.", "$ref": "#/definitions/templateControlSegmentType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "templateControlSegmentDetails": { "type": "object", "description": "Response for fetch Control Segment Templates.", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/templateControlSegmentType" } }, "hasMore": { "type": "boolean" }, "totalResults": { "type": "integer" }, "count": { "type": "integer" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "propertyControlSegmentType": { "type": "object", "description": "Create/Update request body for Control Segment (hotelId is provided in the path).", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Control Segment code." }, "active": { "type": "boolean", "description": "Control Segment is active or not." }, "withMembership": { "type": "boolean", "description": "When true membership scoping applies in the control segment." }, "membershipTypeCode": { "type": "string", "maxLength": 100 }, "membershipLevels": { "type": "array", "items": { "type": "string" }, "description": "List of membership levels." }, "rules": { "$ref": "#/definitions/ruleGroupsType" } }, "required": [ "code", "status", "withMembership", "rules" ] }, "controlSegmentsDetails": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/controlSegmentType" } }, "hasMore": { "type": "boolean" }, "totalResults": { "type": "integer" }, "count": { "type": "integer" } } }, "controlSegmentType": { "type": "object", "description": "Control Segment details for a hotel. Only Groups A and B are supported.", "properties": { "chainCode": { "type": "string", "maxLength": 20, "description": "Chain code for the code type." }, "hotelId": { "type": "string", "maxLength": 20, "description": "Resort hotel code." }, "code": { "type": "string", "maxLength": 50, "description": "Control Segment code." }, "active": { "type": "boolean", "description": "Control Segment is active or not." }, "withMembership": { "type": "boolean", "description": "When true membership scoping applies in the control segment." }, "membershipTypeCode": { "type": "string", "maxLength": 100 }, "membershipLevels": { "type": "array", "items": { "type": "string" }, "description": "List of membership levels." }, "rules": { "$ref": "#/definitions/ruleGroupsType" } }, "required": [ "hotelId", "code", "status", "rules" ] }, "ruleGroupsType": { "type": "object", "description": "Restriction rules by group. Only Groups A and B are supported.", "properties": { "A": { "$ref": "#/definitions/ruleGroupType" }, "B": { "$ref": "#/definitions/ruleGroupType" } } }, "ruleGroupType": { "type": "object", "properties": { "concurrentRooms": { "type": "integer", "description": "Concurrent rooms per night (Group-level)." }, "maxNumDaysAdvanceBooking": { "type": "integer", "description": "Max days in advance a reservation can be booked." }, "consecutiveNights": { "type": "integer", "description": "Length of stay (consecutive nights)." }, "stayBufferNights": { "type": "integer", "description": "Back to back reservation buffer nights." }, "daysBack": { "type": "integer", "description": "Days back based on arrival date." }, "daysAhead": { "type": "integer", "description": "Days ahead based on departure date." }, "nightLimit": { "type": "integer", "description": "Maximum nights a patron can book." }, "description": { "type": "string", "description": "Rule description for the group." } } } }, "tags": [ { "name": "Availability", "description": "The Availability APIs within the Rate module allow you to retrieve, create and update Promotion codes, as well as Coupon codes." }, { "name": "RatePlan", "description": "The Rate Plan APIs allow for creating, managing, and retrieving rates and their related components such as negotiated rates and packages." }, { "name": "ChainConfig", "description": "These APIs will allow you to configure rate related configuration related for Administration." }, { "name": "HotelConfig", "description": "These APIs will allow you to configure rate related configuration related for Administration." } ], "externalDocs": { "description": "Find out more about Oracle Hospitality", "url": "https://docs.oracle.com/en/industries/hospitality/integration_platforms.html" } }