{ "swagger": "2.0", "info": { "title": "OPERA Cloud Customer Relationship Management API", "description": "APIs to cater for Customer Relationship Management (profile) functionality in OPERA Cloud.

There are different types of profiles in OPERA Cloud, including Guest, Company, Travel Agent, Source, Group, and Contact profile types. A profile can store and display a wide range of information about the guest, company, travel agent etc., depending upon the type of profile. For example, a guest profile can store the guest name, address, contact information, details on billing, membership benefits, preferences and much more. All profiles in OPERA when created are assigned a ProfileID. This ID will be used throughout the CRM APIs.

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": "/crm/v1", "produces": [ "application/json" ], "paths": { "/address": { "get": { "summary": "Get city states", "description": "This API will get city and states.

OperationId:getAddress

", "operationId": "getAddress", "parameters": [ { "name": "excludeNoCity", "in": "query", "required": false, "description": "When true indicates that only profiles with city will be fetched.", "type": "boolean" }, { "name": "cityName", "in": "query", "required": false, "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).", "type": "string" }, { "name": "postalCode", "in": "query", "required": false, "description": "Post Office Code number.", "type": "string" }, { "name": "state", "in": "query", "required": false, "description": "State or Province name (e.g., Texas).", "type": "string" }, { "name": "code", "in": "query", "required": false, "description": "Code for a country or a nationality.", "type": "string" }, { "name": "streetAddress", "in": "query", "required": false, "description": "First Line of Street Address. For profile search it matches the first Address line.", "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 City and State based on search criteria. This object contains address information,Success,Warnings and Errors related to this operation.", "schema": { "$ref": "#/definitions/cityState" } }, "204": { "description": "Address 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": [ "Profile" ] } }, "/airline/transactions": { "get": { "summary": "Get airline transactions status", "description": "Request for fetching membership transactions processed by the airline.

OperationId:getAirlineTransactionsStatus

The maximum allowable limit for this API is 200.

", "operationId": "getAirlineTransactionsStatus", "deprecated": true, "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": "batchId", "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": "batchIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "importDate", "in": "query", "required": false, "description": "The date when this batch was imported into OPERA", "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": "Request object for fetching membership transactions processed by the airline.", "schema": { "$ref": "#/definitions/airlineTransactionsStatus" } }, "204": { "description": "AirlineTransactionsStatus 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": [ "ProfileMembership" ] } }, "/availableAwardsBasedOnType": { "get": { "summary": "Get Available Awards", "description": "Get available awards based on type of award selected like Rates, products or services, room type upgrades, and other gifts.

OperationId:getAvailableAwardsBasedOnType

This API allows a time span of 90 days.

", "operationId": "getAvailableAwardsBasedOnType", "parameters": [ { "name": "awardBasedOn", "in": "query", "required": false, "type": "string", "description": "This award allows a guest to apply available membership points towards the balance of his or her bill.", "uniqueItems": true, "enum": [ "Rate", "Product", "Upgrade", "Other", "Ft", "Discount" ] }, { "name": "membershipType", "in": "query", "required": false, "description": "Membership type for which awards are defined.", "type": "string" }, { "name": "rateCriteriaHotelId", "in": "query", "required": false, "description": "Hotel name where the award will be consumed.", "type": "string" }, { "name": "arrivalDate", "in": "query", "required": false, "description": "Arrival date of the reservation associated with the award.", "type": "string", "format": "date" }, { "name": "departureDate", "in": "query", "required": false, "description": "Departure date of the reservation associated with the award.", "type": "string", "format": "date" }, { "name": "bookingDate", "in": "query", "required": false, "description": "Booking date of the reservation associated with the award.", "type": "string", "format": "date" }, { "name": "pointsBelow", "in": "query", "required": false, "description": "Minimum number of points the member is willing to redeem.", "type": "integer" }, { "name": "pointsAbove", "in": "query", "required": false, "description": "Maximum number of points the member is willing to redeem.", "type": "integer" }, { "name": "rateCode", "in": "query", "required": false, "description": "Indicates rate code for the room type.", "type": "string" }, { "name": "roomCategory", "in": "query", "required": false, "description": "Indicates which room category it belongs.", "type": "string" }, { "name": "rooms", "in": "query", "required": false, "description": "Number of rooms that the member will be using.", "type": "string" }, { "name": "awardType", "in": "query", "required": false, "description": "Indicates the award type or code.", "type": "string" }, { "name": "productCriteriaMembershipType", "in": "query", "required": false, "description": "Membership type for which awards are defined.", "type": "string" }, { "name": "productCriteriaHotelId", "in": "query", "required": false, "description": "Hotel name where the award will be consumed.", "type": "string" }, { "name": "productCriteriaArrivalDate", "in": "query", "required": false, "description": "Arrival date of the reservation associated with the award.", "type": "string", "format": "date" }, { "name": "productCriteriaDepartureDate", "in": "query", "required": false, "description": "Departure date of the reservation associated with the award.", "type": "string", "format": "date" }, { "name": "productCriteriaBookingDate", "in": "query", "required": false, "description": "Booking date of the reservation associated with the award.", "type": "string", "format": "date" }, { "name": "productCriteriaPointsBelow", "in": "query", "required": false, "description": "Minimum number of points the member is willing to redeem.", "type": "integer" }, { "name": "productCriteriaPointsAbove", "in": "query", "required": false, "description": "Maximum number of points the member is willing to redeem.", "type": "integer" }, { "name": "packageCode", "in": "query", "required": false, "description": "Package/Product code for the award to check availability.", "type": "string" }, { "name": "upgradeCriteriaMembershipType", "in": "query", "required": false, "description": "Membership type for which awards are defined.", "type": "string" }, { "name": "upgradeCriteriaHotelId", "in": "query", "required": false, "description": "Hotel name where the award will be consumed.", "type": "string" }, { "name": "upgradeCriteriaArrivalDate", "in": "query", "required": false, "description": "Arrival date of the reservation associated with the award.", "type": "string", "format": "date" }, { "name": "upgradeCriteriaDepartureDate", "in": "query", "required": false, "description": "Departure date of the reservation associated with the award.", "type": "string", "format": "date" }, { "name": "upgradeCriteriaBookingDate", "in": "query", "required": false, "description": "Booking date of the reservation associated with the award.", "type": "string", "format": "date" }, { "name": "upgradeCriteriaPointsBelow", "in": "query", "required": false, "description": "Minimum number of points the member is willing to redeem.", "type": "integer" }, { "name": "upgradeCriteriaPointsAbove", "in": "query", "required": false, "description": "Maximum number of points the member is willing to redeem.", "type": "integer" }, { "name": "fromRoomCategory", "in": "query", "required": false, "description": "Indicates availability of upgrade awards based on the room type(range of room types )", "type": "string" }, { "name": "toRoomCategory", "in": "query", "required": false, "description": "Indicates availability of upgrade awards based on the room type(range of room types )", "type": "string" }, { "name": "upgradeCriteriaRooms", "in": "query", "required": false, "description": "Number of rooms that the member will be using.", "type": "string" }, { "name": "upgradeCriteriaAwardType", "in": "query", "required": false, "description": "Indicates the award type or code.", "type": "string" }, { "name": "awardCode", "in": "query", "required": false, "description": "Unique code identifying the Award.", "type": "string" }, { "name": "totalBillingAmount", "in": "query", "required": false, "description": "Total amount for the bill.", "type": "number" }, { "name": "currencyCode", "in": "query", "required": false, "description": "The currency code for the member.", "type": "string" }, { "name": "fTPaymentCriteriaPointsBelow", "in": "query", "required": false, "description": "Minimum number of points the member is willing to redeem.", "type": "integer" }, { "name": "fTPaymentCriteriaPointsAbove", "in": "query", "required": false, "description": "Maximum number of points the member is willing to redeem.", "type": "integer" }, { "name": "otherCriteriaAwardCode", "in": "query", "required": false, "description": "Unique code identifying the award.", "type": "string" }, { "name": "otherCriteriaMembershipType", "in": "query", "required": false, "description": "Membership type for which awards are defined.", "type": "string" }, { "name": "membershipLevel", "in": "query", "required": false, "description": "Level of this Membership Type.", "type": "string" }, { "name": "shortDescription", "in": "query", "required": false, "description": "Name or code identifying the award.", "type": "string" }, { "name": "valueBelow", "in": "query", "required": false, "description": "Amount of currency of the worth of the other award,below or actual value.", "type": "number" }, { "name": "valueAbove", "in": "query", "required": false, "description": "Amount of currency of the worth of the other award,above or actual value.", "type": "number" }, { "name": "otherCriteriaPointsBelow", "in": "query", "required": false, "description": "Minimum number of points the member is willing to redeem.", "type": "integer" }, { "name": "otherCriteriaPointsAbove", "in": "query", "required": false, "description": "Maximum number of points the member is willing to redeem.", "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 member available awards based on the type being passed.", "schema": { "$ref": "#/definitions/availableAwardsBasedOnType" } }, "204": { "description": "AvailableAwardsBasedOnType 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": [ "ProfileMembership" ] } }, "/awards": { "delete": { "summary": "Delete Awards", "description": "Operation to cancel an award already been granted to a member.

OperationId:deleteAwards

", "operationId": "deleteAwards", "parameters": [ { "name": "awardNumber", "in": "query", "required": true, "description": "An identifying number of the award, assigned by the system when the award was issued.", "type": "number" }, { "name": "reservationCancellationNumber", "in": "query", "required": false, "description": "Identifies reservation cancellation number.", "type": "string" }, { "name": "actualCancelPoints", "in": "query", "required": false, "description": "The amount of points that will be deducted for cancelling the award, from the total guest award points.", "type": "number" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "ProfileMembership" ] } }, "/awardsToGrant": { "get": { "summary": "Get Awards to Grant", "description": "Fetch awards list to be able to grant the award to a member

OperationId:getAwardsToGrant

", "operationId": "getAwardsToGrant", "parameters": [ { "name": "awardBasedOn", "in": "query", "required": false, "type": "string", "description": "This award allows a guest to apply available membership points towards the balance of his or her bill.", "uniqueItems": true, "enum": [ "Rate", "Product", "Upgrade", "Other", "Ft", "Discount" ] }, { "name": "totalPointsRequired", "in": "query", "required": false, "description": "The number of points that must be redeemed for this award.", "type": "number" }, { "name": "rooms", "in": "query", "required": false, "description": "Number of rooms that the member will be using.", "type": "string" }, { "name": "membershipId", "in": "query", "required": false, "description": "Unique Membership ID to get award info.", "type": "number" }, { "name": "membershipType", "in": "query", "required": false, "description": "Membership type for which awards are defined.", "type": "string" }, { "name": "awardType", "in": "query", "required": false, "description": "Indicates the award type or code.", "type": "string" }, { "name": "grantAwardInfoHotelId", "in": "query", "required": false, "description": "HotelCode where the award will be consumed.", "type": "string" }, { "name": "rateCode", "in": "query", "required": false, "description": "Rate code associated with the award.", "type": "string" }, { "name": "roomCategory", "in": "query", "required": false, "description": "Indicates which room category it belongs.", "type": "string" }, { "name": "fromRoom", "in": "query", "required": false, "description": "Indicates room type code for the room prior to the upgrade.", "type": "string" }, { "name": "toRoom", "in": "query", "required": false, "description": "Indicates room type code of the upgrade room.", "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 award details to grant an award.", "schema": { "$ref": "#/definitions/awardsToGrant" } }, "204": { "description": "AwardsToGrant 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": [ "ProfileMembership" ] } }, "/certificates": { "delete": { "summary": "Delete certificate", "description": "This API will allow you to delete a certificate.

OperationId:deleteCertificate

", "operationId": "deleteCertificate", "deprecated": true, "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" }, "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": [ "Profile" ] } }, "/companies": { "post": { "summary": "This API facilitates creation of a company/agent/group/source profile in OPERA.", "description": "When a profile doesn't already exist for a guest, use this to create a new profile. The response will provide the newly created profile's OPERA ID. There are many fields in postProfile defined by ListOfValues; ensure you have reviewed ListOfValues APIs in order successfully to use postProfile.

OperationId:postCompanyProfile

", "operationId": "postCompanyProfile", "parameters": [ { "name": "company", "in": "body", "required": true, "description": "Request object for creation of company profile. This object contains profile details with unique identifiers of a profile. The standard optional Opera Context element is also included.", "schema": { "allOf": [ { "$ref": "#/definitions/company" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/companies/{corporateID}": { "get": { "summary": "Get company profile by corporate ID", "description": "Use this to retrieve a specific Company, Travel Agent, Group or Source profile. You must know the corporate ID of the profile for the request API.

OperationId:getCompanyProfile

", "operationId": "getCompanyProfile", "parameters": [ { "name": "corporateID", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA Corporate ID used to find company/agent/group/source profile in OPERA." }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Room Ownership information associated with the profile.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Address", "Communication", "Comment", "Membership", "Preference", "Keyword", "Correspondence", "Profile", "Indicators", "SalesInfo", "Relationship", "Subscriptions" ] }, "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 unique company profile.", "schema": { "$ref": "#/definitions/company" }, "examples": { "application/json": { "companyIdList": [ { "id": "329620", "type": "Profile" }, { "id": "222572", "type": "CorporateId" } ], "companyDetails": { "company": { "companyName": "Example Corporation, Ltd.", "iATAInfo": {} }, "profileAccessType": { "hotelId": "HOTEL1", "sharedLevel": "Property" }, "profileRestrictions": { "restricted": false }, "profileType": "Company", "statusCode": "Active", "registeredProperty": "HOTEL1", "createDateTime": "2019-06-26 16:14:41.0", "creatorId": "BEN@HOTEL1", "lastModifyDateTime": "2019-06-26 16:14:41.0", "lastModifierId": "BEN@HOTEL1", "markForHistory": false } } } }, "204": { "description": "CompanyProfile 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": [ "Profile" ] } }, "/duplicateExternalSubscriptions": { "get": { "summary": "Get profiles with duplicate external subscriptions ", "description": "Fetch profile subscriptions where the same OPERA Cloud profile is linked to multiple external profiles, within the same external system.

OperationId:getDuplicateExternalSubscriptions

The maximum allowable limit for this API is 200.

", "operationId": "getDuplicateExternalSubscriptions", "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": "databaseId", "in": "query", "required": false, "description": "Code identifying the external database record which is linked to external systems.", "type": "string" }, { "name": "profileId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "profileContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "profileType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching subscriptions where the same OPERA profile is linked to multiple external profiles within the same external system.", "schema": { "$ref": "#/definitions/duplicateExternalSubscriptions" } }, "204": { "description": "DuplicateExternalSubscriptions 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": [ "Profile" ] } }, "/duplicateOPERASubscriptions": { "get": { "summary": "Get profiles with duplicate OPERA Cloud subscriptions", "description": "Fetch subscriptions where an external profile within a particular external system is linked to multiple OPERA Cloud profiles.

OperationId:getDuplicateOPERASubscriptions

The maximum allowable limit for this API is 200.

", "operationId": "getDuplicateOPERASubscriptions", "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": "databaseId", "in": "query", "required": false, "description": "Code identifying the external database record which is linked to external systems.", "type": "string" }, { "name": "profileId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "profileContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "profileType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching subscriptions where an external profile within a particular external system is linked to multiple OPERA profiles.", "schema": { "$ref": "#/definitions/duplicateOPERASubscriptions" } }, "204": { "description": "DuplicateOPERASubscriptions 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": [ "Profile" ] } }, "/ecertificates": { "get": { "summary": "Get e-certificate", "description": "This API allows you to retrieve eCertificates which exist on a profile in OPERA Cloud.

OperationId:getECertificates

", "operationId": "getECertificates", "parameters": [ { "name": "profileId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "profileContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "profileType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "hotelId", "in": "query", "required": false, "description": "Property for which preferences are to be fetched.", "type": "string" }, { "name": "code", "in": "query", "required": false, "description": "Ecertificates search criteria", "type": "string" }, { "name": "groupCode", "in": "query", "required": false, "description": "Ecertificates search criteria", "type": "string" }, { "name": "status", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Indicates that OPERA E-Certificate is reserved.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Cancelled", "Consumed", "Deleted", "Expired", "Issued", "Reserved" ] }, "required": false }, { "name": "includeInactive", "in": "query", "required": false, "description": "Include or not include inactive E-certificate.", "type": "boolean" }, { "name": "voucherNo", "in": "query", "required": false, "description": "System generated unique voucher number.", "type": "string" }, { "name": "excludeVoucherNumbers", "in": "query", "type": "array", "collectionFormat": "multi", "description": "List of System generated unique voucher numbers to be excluded.", "items": { "type": "string", "maxItems": 4000 }, "required": false }, { "name": "availableECertificates", "in": "query", "required": false, "description": "Search criteria to limit Ecertificates that are available for reservation consumption.", "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 fetch ECertificates. This object contains collection of ECertificates,Success,Warnings and Errors related to this operation.", "schema": { "$ref": "#/definitions/eCertificates" } }, "204": { "description": "ECertificates 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": [ "Profile" ] }, "post": { "summary": "Create e-certificate", "description": "This API allows you to create a new eCertificates onto a profile in OPERA Cloud.

OperationId:postECertificate

", "operationId": "postECertificate", "parameters": [ { "name": "eCertificateGeneration", "in": "body", "required": true, "description": "Request object to issue E-Certificate.", "schema": { "allOf": [ { "$ref": "#/definitions/eCertificateGeneration" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/ecertificates/{certificateId}": { "delete": { "summary": "Delete e-certificate", "description": "This API allows you to delete an eCertificates which exist on a profile in OPERA Cloud.

OperationId:deleteECertificate

", "operationId": "deleteECertificate", "parameters": [ { "name": "certificateId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] }, "put": { "summary": "Consume an E-Certificate", "description": "Use this API to consume (use) an E-Certificate.

OperationId:consumeECertificate

", "operationId": "consumeECertificate", "parameters": [ { "name": "certificateId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "eCertificateToConsume", "in": "body", "required": true, "description": "Request object to Consume an E-Certificate.", "schema": { "allOf": [ { "$ref": "#/definitions/eCertificateToConsume" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/ecertificates/{certificateId}/action/validate": { "put": { "summary": "Verify E-Certificate Number", "description": "Use this API to verify an ng E-Certificate Number.

OperationId:verifyECertificate

", "operationId": "verifyECertificate", "parameters": [ { "name": "certificateId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "eCertificateToVerify", "in": "body", "required": true, "description": "Request object to Verify an E-Certificate Number.", "schema": { "allOf": [ { "$ref": "#/definitions/eCertificateToVerify" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response object to Verify E-Certificate and will return the profile information.", "schema": { "$ref": "#/definitions/verifiedECertificate" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/ecertificates/{certificateId}/extensions": { "post": { "summary": "Extend E-Certificate Expiry date", "description": "Use this API to extend the date of an existing E-Certificate.

OperationId:extendECertificate

", "operationId": "extendECertificate", "parameters": [ { "name": "certificateId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "eCertificateToExtend", "in": "body", "required": true, "description": "Request object to Consume an E-Certificate.", "schema": { "allOf": [ { "$ref": "#/definitions/eCertificateToExtend" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/enrollments": { "post": { "summary": "Create an Enrollment", "description": "Use this API when you have a guest profile and you want to enroll that guest profile into a membership program in an external system.

OperationId:postEnrollment

", "operationId": "postEnrollment", "parameters": [ { "name": "enrollment", "in": "body", "required": true, "description": "Request object to create profile enrollment.", "schema": { "allOf": [ { "$ref": "#/definitions/enrollment" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "ProfileMembership" ] } }, "/externalSystems/{extSystemCode}/profiles/{profileExternalId}": { "get": { "summary": "Get profile by external ID", "description": "When a reservation is booked via an external system, you would use this API to retrieve a reservation using the external ID in the request

OperationId:getProfileByExtId

", "operationId": "getProfileByExtId", "parameters": [ { "name": "profileExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External System's ID used to get the profile." }, { "name": "extSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "hotelId", "in": "query", "required": false, "description": "Hotel Code used to filter hotel specific information regarding the profile.", "type": "string" }, { "name": "logViewProfile", "in": "query", "required": false, "description": "This element tells when the view profile should be logged.", "type": "boolean" }, { "name": "showInactiveRoomOwners", "in": "query", "required": false, "description": "Flag to show inactive Room Owners.", "type": "boolean" }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Room Ownership information associated with the profile.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Address", "Communication", "Comment", "Membership", "Preference", "Keyword", "Correspondence", "Profile", "Indicators", "SalesInfo", "Relationship", "Subscriptions", "DeliveryMethods", "GdsNegotiatedRate", "NegotiatedRate", "HistoryReservation", "FutureReservation", "WebUserAccount" ] }, "required": false }, { "name": "instructionParameterType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type enumerating the different parameters accepted by a profile Instructions. Parameter names have the name of the instruction expecting it, and the parameter name itself.", "uniqueItems": true, "items": { "type": "string", "enum": [ "NegotiatedRateShowInactive", "NegotiatedRateResort", "NegotiatedRateMaxFetchCount", "NegotiatedRateCode", "GdsNegotiatedRateShowInactive", "PreferencesShowInactive", "ResortForRoutingInstructions", "RelationshipPrimaryProfile", "AddressPrimaryOnly", "CommunicationPrimaryOnly", "DeliveryMethodsHotelCode" ] }, "required": false }, { "name": "value", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Value of Profile Instruction Parameter", "items": { "type": "string" }, "required": false }, { "name": "allowedAction", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Flag indicating whether Profile is Enrolled to Primary Membership Program.", "uniqueItems": true, "items": { "type": "string", "enum": [ "NameChange", "TaxIDChange", "EnrollToPrimaryMembership" ] }, "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 profile.", "schema": { "$ref": "#/definitions/profile" }, "examples": { "application/json": { "profiles": { "profileInfo": [ { "profileIdList": [ { "type": "", "idContext": "a", "id": "a" } ], "profile": { "customer": { "personName": [ { "namePrefix": "a", "givenName": "Thomas", "middleName": "B", "surname": "Smith", "nameSuffix": "a", "nameTitle": "Mr", "nameTitleSuffix": -100000000, "envelopeGreeting": "", "salutation": "", "nameType": "PRIMARY", "language": "E" } ], "anonymization": { "anonymizationStatus": "REQUESTED", "anonymizationDate": "2019-09-03T14:56:18.21Z" }, "citizenCountry": { "name": "United States of America", "code": "US" }, "identifications": { "identificationInfo": [ { "identification": { "idType": "PASSPORT", "idNumber": "C03005988", "idNumberMasked": "C030059XX", "issuedCountry": "USA", "issuedDate": "2009-11-30", "issuedPlace": "New York", "expirationDate": "2019-11-29", "registeredProperty": "", "primaryInd": false, "orderSequence": -100000000 } } ] }, "profession": "Engineer", "alienInfo": { "alienRegistrationNo": "", "immigrationStatus": "a", "visaValidityType": "a" }, "birthCountry": { "name": "United States of America", "code": "US" }, "businessTitle": "Dr", "gender": "MALE", "birthDate": "2000-01-01", "birthDateMasked": "", "language": "EN", "nationality": "US", "nationalityDescription": "a", "customerValue": "a", "creditRating": "", "vipStatus": "2", "vipDescription": "Gold", "birthPlace": "New York", "privateProfile": false, "blacklist": false }, "company": { "companyName": "Example Corporation, Ltd.", "companyName2": "a", "companyName3": "a", "alternateName": "a", "alternateLanguage": "E", "businessLocale": "a", "iATAInfo": { "iATACompany": "a", "iATAConsortia": "a" }, "businessTitle": "a", "currencyCode": "USD", "currencySymbol": "a", "decimalPlaces": -100000000, "language": "", "nationality": "US", "nationalityDescription": "United States of America", "commissionCode": "", "creditRating": "", "corporateIdType": "", "vipStatus": "2", "vipDescription": "Gold VIP", "blacklist": false }, "profileImage": { "language": "", "imageSet": "a", "sequenceId": -100000000, "imageStyle": "FULL", "imageType": "a", "hotelCode": "", "imageURL": "a", "description": "a", "imageOrder": -100000000, "website": "a" }, "addresses": { "addressInfo": [ { "uniqueId": { "type": "", "idContext": "a", "id": "a" }, "address": { "addressLine": [ "500 Oracle Parkway" ], "cityName": "Redwood Shores", "postalCode": "94065", "cityExtension": "a", "state": "CA", "country": { "name": "United States of America", "code": "US" }, "language": "E", "type": "", "typeDescription": "", "primaryInd": false, "barCode": "a", "createDateTime": "2019-09-03T14:56:18.227Z", "creatorId": "a", "lastModifyDateTime": "2019-09-03T14:56:18.228Z", "lastModifierId": "a" } } ] }, "telephones": { "telephoneInfo": [ { "uniqueId": { "type": "", "idContext": "a", "id": "a" }, "telephone": { "phoneTechType": "PHONE", "phoneUseType": "MOBILE", "phoneUseTypeDescription": "Mobile Phone Number", "phoneNumber": "+1 415 555 0100", "extension": "2", "primaryInd": false, "orderSequence": -100000000, "createDateTime": "2019-09-03T14:56:18.23Z", "creatorId": "1234", "lastModifyDateTime": "2019-09-03T14:56:18.231Z", "lastModifierId": "1234" } } ] }, "emails": { "emailInfo": [ { "uniqueId": { "type": "", "idContext": "a", "id": "a" }, "email": { "emailAddress": "eg@example.com", "type": "BUSINESSEMAIL", "typeDescription": "Business Email Address", "emailFormat": "HTML", "primaryInd": false, "orderSequence": -100000000, "createDateTime": "2019-09-03T14:56:18.234Z", "creatorId": "1232", "lastModifyDateTime": "2019-09-03T14:56:18.234Z", "lastModifierId": "1232" } } ] }, "comments": { "commentInfo": [ { "uniqueId": { "type": "", "idContext": "a", "id": "a" }, "comment": { "text": { "value": "", "language": "" }, "commentTitle": "a", "notificationLocation": "", "type": "", "typeDescription": "a", "internal": false, "confidential": false, "overrideInternal": false, "protectDescription": false, "hotelCode": "", "actionType": "", "actionDate": "0101-01-01", "createDateTime": "2019-09-03T14:56:18.239Z", "creatorId": "a", "lastModifyDateTime": "2019-09-03T14:56:18.239Z", "lastModifierId": "a" } } ] }, "profileMemberships": { "profileMembership": [ { "comment": { "text": { "value": "", "language": "" } }, "newMembershipId": "", "nameOnCard": "Thomas Smith", "programDescription": "Hotel Plus Membership", "membershipLevel": "Gold", "membershipLevelDescription": "Gold Level", "membershipClass": "MEM", "earningPreference": "POINTS", "inactive": false, "benefits": [ { "code": "", "message": "a", "inactive": false } ], "tierAdministration": "DISABLED", "downgrade": "GRACE", "reIssueNewCard": "PENDING", "excludeFromBatch": false, "upgradeDescription": "a", "downgradeDescription": "a", "rating": "", "membershipEnrollmentCode": "", "memberStatus": "", "currentPoints": -100000000, "pointsLabel": "a", "enrollmentSource": "", "enrollmentResort": "", "preferredCard": false, "membershipId": "", "membershipType": "", "primaryMembershipYn": "a", "membershipIdNo": -100000000, "centralSetup": false, "signupDate": "0101-01-01", "effectiveDate": "0101-01-01", "expireDate": "0101-01-01", "expireDateExclusiveIndicator": false, "orderSequence": -100000000, "createDateTime": "2019-09-03T14:56:18.247Z", "creatorId": "a", "lastModifyDateTime": "2019-09-03T14:56:18.248Z", "lastModifierId": "a" } ] }, "preferenceCollection": { "preferenceType": [ { "preference": [ {} ], "preferenceType": "", "preferenceTypeDescription": "", "sequence": "", "maxQuantity": -100000000, "availableQuantity": -100000000, "maxResortUsedQuantity": -100000000, "reservationPreference": false, "createDateTime": "2019-09-03T14:56:18.249Z", "creatorId": "a", "lastModifyDateTime": "2019-09-03T14:56:18.249Z", "lastModifierId": "a" } ] }, "keywords": { "keyword": [ { "keywordDetail": { "newKeyword": "a" }, "type": "", "keyword": "a" } ] }, "profileIndicators": [ { "indicatorName": "a", "count": -100000000 } ], "lastStayInfo": { "lastVisit": "0101-01-01", "lastRoom": "", "lastRate": { "amount": -100000000, "currencyCode": "aaa" }, "totalStay": -100000000 }, "profileAccessType": { "chainCode": "a", "croCode": "a", "hotelCode": "a", "sharedLevel": "GLOBAL" }, "profileRestrictions": { "reason": "", "reasonDescription": "a", "restricted": false }, "mailingActions": { "mailingAction": [ { "code": "", "description": "a" } ], "active": false, "totalRows": -100000000 }, "privacyInfo": { "marketResearchParticipation": false, "lastPrivacyPromptDate": "2000-01-01", "infoFromThirdParty": false, "autoEnrollLoyaltyProgram": false, "allowPhone": false, "allowSMS": false, "allowEmail": false, "optInMailingList": false, "optInMarketResearch": false, "optInThirdParty": false, "optInAutoEnrollmentMember": false, "optInPhone": false, "optInSms": false, "optInEmail": false }, "userDefinedFields": { "characterUDFs": [ { "name": "a", "value": "a", "altname": "a" } ], "numericUDFs": [ { "name": "a", "value": -100000000, "altname": "a" } ], "dateUDFs": [ { "name": "a", "value": "0101-01-01", "altname": "a" } ] }, "localizationGuestType": "a", "profileType": "GUEST", "statusCode": "ACTIVE", "registeredProperty": "", "requestForHotel": "", "protectedBy": "a", "createDateTime": "2000-09-03T14:56:18.259Z", "creatorId": "1200", "lastModifyDateTime": "2000-09-03T14:56:18.259Z", "lastModifierId": "1200", "markAsRecentlyAccessed": false, "markForHistory": false, "hasCommission": false } } ], "totalRows": -100000000 }, "links": [ { "href": "", "rel": "", "method": "GET", "operationId": "", "templated": false, "targetSchema": "", "title": "" } ] } } }, "204": { "description": "ProfileByExtId 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": [ "Profile" ] }, "put": { "summary": "Update by external ID", "description": "Use this API to update guests details on profile. You will need to know the External Profile ID and external system code to use this API.

OperationId:putProfileByExtId

", "operationId": "putProfileByExtId", "parameters": [ { "name": "profileExternalId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "External System's ID used to get the profile." }, { "name": "extSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Code to identify the external system from which the request is coming. This is the ExternalSystem ID used to exchange information between OPERA and the external system." }, { "name": "profile", "in": "body", "required": true, "description": "Request object for change/modification of profile details. This object contains modified profile details with unique identifiers for each profile. The standard optional Opera Context element is also included.", "schema": { "allOf": [ { "$ref": "#/definitions/profile" }, { "example": { "profileIdList": [ { "type": "Profile", "idContext": "OPERA", "id": "3149001" } ], "profileDetails": { "customer": { "personName": [ { "givenName": "William", "middleName": "D", "surname": "Smith", "nameSuffix": "10", "nameTitle": "Mr.....", "envelopeGreeting": "Hello Mr. Smith", "salutation": "Mr. Smith", "nameType": "PRIMARY", "language": "E" } ], "citizenCountry": { "value": "United States of America", "code": "USA" }, "identifications": { "identificationInfo": [ { "identification": { "idType": "PASSPORT", "idNumber": "C03005988", "idNumberMasked": "C030059XX", "issuedCountry": "USA", "issuedDate": "2009-11-30", "issuedPlace": "New York", "expirationDate": "2019-11-29", "registeredProperty": "HOTEL1", "primaryInd": true } } ] }, "language": "E", "nationality": "US", "nationalityDescription": "USA", "vipStatus": "006", "vipDescription": "VVIP: VV important person", "privateProfile": false }, "company": { "companyName": "Oracle America Inc", "companyName2": "Oracle Group Companies", "businessTitle": "Developer", "currencyCode": "USD", "currencySymbol": "$", "decimalPlaces": -100000000, "language": "E", "nationality": "USA", "nationalityDescription": "United States", "commissionCode": "", "creditRating": "", "corporateIdType": "", "vipStatus": "006", "vipDescription": "Important", "blacklist": false }, "addresses": { "addressInfo": [ { "address": { "addressLine": [ "500 Oracle Parkway" ], "cityName": "Redwood Shores", "postalCode": "94065", "cityExtension": "a", "state": "CA", "country": { "value": "USA", "code": "US" }, "language": "E", "type": "Office", "typeDescription": "This is office address.", "primaryInd": false, "barCode": "", "createDateTime": "2019-09-18T21:09:36.498Z", "creatorId": "12883", "lastModifyDateTime": "2019-09-18T21:09:36.498Z", "lastModifierId": "12883" } } ] }, "territory": "North America", "telephones": { "telephoneInfo": [ { "telephone": { "phoneTechType": "PHONE", "phoneUseTypeDescription": "office", "phoneNumber": "+1 415 555 0100", "extension": "x25", "primaryInd": false, "orderSequence": -100000000, "createDateTime": "2019-09-18T21:09:36.499Z", "creatorId": "12883", "lastModifyDateTime": "2019-09-18T21:09:36.499Z", "lastModifierId": "12883" } } ] }, "emails": { "emailInfo": [ { "email": { "emailAddress": "eg@example.com", "type": "EMAIL", "typeDescription": "Email Address", "emailFormat": "EMAIL", "primaryInd": false, "orderSequence": -100000000, "createDateTime": "2019-09-17T18:18:32.415Z", "creatorId": "12883", "lastModifyDateTime": "2019-09-17T18:18:32.416Z", "lastModifierId": "12883" } } ] }, "comments": { "commentInfo": [ { "comment": { "text": { "value": "Please add comments here.", "language": "E" }, "commentTitle": "Discount", "type": "GEN", "typeDescription": "Comments for discount.", "internal": false, "confidential": false, "overrideInternal": false } } ] }, "profileAccessType": { "croCode": "HOTEL1", "sharedLevel": "CRO" }, "profileRestrictions": { "restricted": false }, "statusCode": "ACTIVE", "registeredProperty": "HOTEL1", "createDateTime": "2019-09-17 08:10:28.0", "creatorId": "12883", "lastModifyDateTime": "2019-09-17 08:23:05.0", "lastModifierId": "12883", "markForHistory": false }, "links": [ { "href": "http://hotelCompany.example.com/operarest/opera/crm/v2/guests", "rel": "guestProfile", "templated": false, "method": "POST", "operationId": "postGuestProfile" } ] } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 change/modification of profile details. This object contains the profile details with unique identifiers for each profile. Also Success,Warnings and Errors related to this operation.", "schema": { "$ref": "#/definitions/profile" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/guests": { "post": { "summary": "Create a guest, contact or employee profile in OPERA", "description": "When a profile doesn't already exist for a guest, use this to create a new profile. The response will provide the newly created profile's OPERA ID. There are many fields in postProfile defined by ListOfValues; ensure you have reviewed ListOfValues APIs in order successfully to use postProfile.

OperationId:postGuestProfile

", "operationId": "postGuestProfile", "parameters": [ { "name": "guest", "in": "body", "required": true, "description": "Request object for creation of guest profile. This object contains profile details with unique identifiers of a profile. The standard optional Opera Context element is also included.", "schema": { "allOf": [ { "$ref": "#/definitions/guest" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/guests/{guestId}": { "get": { "summary": "Get guest profile by guest ID", "description": "Use this API to retrieve all data stored for a guest Profile, such as their address, phone number, preferences. You must already know the guests Profile ID. If you don't know the profile ID, first use the API getGuests to find the profile ID.

OperationId:getGuestProfile

", "operationId": "getGuestProfile", "parameters": [ { "name": "guestId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA internal ID used to find guest/contact/employee profile in OPERA." }, { "name": "hotelId", "in": "query", "required": false, "description": "Hotel Code used to filter hotel specific information regarding the profile.", "type": "string" }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Room Ownership information associated with the profile.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Address", "Communication", "Comment", "Membership", "Preference", "Keyword", "Correspondence", "Profile", "Indicators", "SalesInfo", "Relationship", "WebUserAccount" ] }, "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 unique guest profile.", "schema": { "$ref": "#/definitions/guest" }, "examples": { "application/json": { "profiles": { "profileInfo": [ { "profileIdList": [ { "type": "", "idContext": "a", "id": "a" } ], "profile": { "customer": { "personName": [ { "namePrefix": "a", "givenName": "Thomas", "middleName": "B", "surname": "Smith", "nameSuffix": "a", "nameTitle": "Mr", "nameTitleSuffix": -100000000, "envelopeGreeting": "", "salutation": "", "nameType": "PRIMARY", "language": "E" } ], "anonymization": { "anonymizationStatus": "REQUESTED", "anonymizationDate": "2019-09-03T14:56:18.21Z" }, "citizenCountry": { "name": "United States of America", "code": "US" }, "identifications": { "identificationInfo": [ { "identification": { "idType": "PASSPORT", "idNumber": "C03005988", "idNumberMasked": "C030059XX", "issuedCountry": "USA", "issuedDate": "2009-11-30", "issuedPlace": "New York", "expirationDate": "2019-11-29", "registeredProperty": "", "primaryInd": false, "orderSequence": -100000000 } } ] }, "profession": "Engineer", "alienInfo": { "alienRegistrationNo": "", "immigrationStatus": "a", "visaValidityType": "a" }, "birthCountry": { "name": "United States of America", "code": "US" }, "businessTitle": "Dr", "gender": "MALE", "birthDate": "2000-01-01", "birthDateMasked": "", "language": "EN", "nationality": "US", "nationalityDescription": "a", "customerValue": "a", "creditRating": "", "vipStatus": "2", "vipDescription": "Gold", "birthPlace": "New York", "privateProfile": false, "blacklist": false }, "company": { "companyName": "Example Corporation, Ltd.", "companyName2": "a", "companyName3": "a", "alternateName": "a", "alternateLanguage": "E", "businessLocale": "a", "iATAInfo": { "iATACompany": "a", "iATAConsortia": "a" }, "businessTitle": "a", "currencyCode": "USD", "currencySymbol": "a", "decimalPlaces": -100000000, "language": "", "nationality": "US", "nationalityDescription": "United States of America", "commissionCode": "", "creditRating": "", "corporateIdType": "", "vipStatus": "2", "vipDescription": "Gold VIP", "blacklist": false }, "profileImage": { "language": "", "imageSet": "a", "sequenceId": -100000000, "imageStyle": "FULL", "imageType": "a", "hotelCode": "", "imageURL": "a", "description": "a", "imageOrder": -100000000, "website": "a" }, "addresses": { "addressInfo": [ { "uniqueId": { "type": "", "idContext": "a", "id": "a" }, "address": { "addressLine": [ "500 Oracle Parkway" ], "cityName": "Redwood Shores", "postalCode": "94065", "cityExtension": "a", "state": "CA", "country": { "name": "United States of America", "code": "US" }, "language": "E", "type": "", "typeDescription": "", "primaryInd": false, "barCode": "a", "createDateTime": "2019-09-03T14:56:18.227Z", "creatorId": "a", "lastModifyDateTime": "2019-09-03T14:56:18.228Z", "lastModifierId": "a" } } ] }, "telephones": { "telephoneInfo": [ { "uniqueId": { "type": "", "idContext": "a", "id": "a" }, "telephone": { "phoneTechType": "PHONE", "phoneUseType": "MOBILE", "phoneUseTypeDescription": "Mobile Phone Number", "phoneNumber": "+1 415 555 0100", "extension": "2", "primaryInd": false, "orderSequence": -100000000, "createDateTime": "2019-09-03T14:56:18.23Z", "creatorId": "1234", "lastModifyDateTime": "2019-09-03T14:56:18.231Z", "lastModifierId": "1234" } } ] }, "emails": { "emailInfo": [ { "uniqueId": { "type": "", "idContext": "a", "id": "a" }, "email": { "emailAddress": "eg@example.com", "type": "BUSINESSEMAIL", "typeDescription": "Business Email Address", "emailFormat": "HTML", "primaryInd": false, "orderSequence": -100000000, "createDateTime": "2019-09-03T14:56:18.234Z", "creatorId": "1232", "lastModifyDateTime": "2019-09-03T14:56:18.234Z", "lastModifierId": "1232" } } ] }, "comments": { "commentInfo": [ { "uniqueId": { "type": "", "idContext": "a", "id": "a" }, "comment": { "text": { "value": "", "language": "" }, "commentTitle": "a", "notificationLocation": "", "type": "", "typeDescription": "a", "internal": false, "confidential": false, "overrideInternal": false, "protectDescription": false, "hotelCode": "", "actionType": "", "actionDate": "0101-01-01", "createDateTime": "2019-09-03T14:56:18.239Z", "creatorId": "a", "lastModifyDateTime": "2019-09-03T14:56:18.239Z", "lastModifierId": "a" } } ] }, "profileMemberships": { "profileMembership": [ { "comment": { "text": { "value": "", "language": "" } }, "newMembershipId": "", "nameOnCard": "Thomas Smith", "programDescription": "Hotel Plus Membership", "membershipLevel": "Gold", "membershipLevelDescription": "Gold Level", "membershipClass": "MEM", "earningPreference": "POINTS", "inactive": false, "benefits": [ { "code": "", "message": "a", "inactive": false } ], "tierAdministration": "DISABLED", "downgrade": "GRACE", "reIssueNewCard": "PENDING", "excludeFromBatch": false, "upgradeDescription": "a", "downgradeDescription": "a", "rating": "", "membershipEnrollmentCode": "", "memberStatus": "", "currentPoints": -100000000, "pointsLabel": "a", "enrollmentSource": "", "enrollmentResort": "", "preferredCard": false, "membershipId": "", "membershipType": "", "primaryMembershipYn": "a", "membershipIdNo": -100000000, "centralSetup": false, "signupDate": "0101-01-01", "effectiveDate": "0101-01-01", "expireDate": "0101-01-01", "expireDateExclusiveIndicator": false, "orderSequence": -100000000, "createDateTime": "2019-09-03T14:56:18.247Z", "creatorId": "a", "lastModifyDateTime": "2019-09-03T14:56:18.248Z", "lastModifierId": "a" } ] }, "preferenceCollection": { "preferenceType": [ { "preference": [ {} ], "preferenceType": "", "preferenceTypeDescription": "", "sequence": "", "maxQuantity": -100000000, "availableQuantity": -100000000, "maxResortUsedQuantity": -100000000, "reservationPreference": false, "createDateTime": "2019-09-03T14:56:18.249Z", "creatorId": "a", "lastModifyDateTime": "2019-09-03T14:56:18.249Z", "lastModifierId": "a" } ] }, "keywords": { "keyword": [ { "keywordDetail": { "newKeyword": "a" }, "type": "", "keyword": "a" } ] }, "profileIndicators": [ { "indicatorName": "a", "count": -100000000 } ], "lastStayInfo": { "lastVisit": "0101-01-01", "lastRoom": "", "lastRate": { "amount": -100000000, "currencyCode": "aaa" }, "totalStay": -100000000 }, "profileAccessType": { "chainCode": "a", "croCode": "a", "hotelCode": "a", "sharedLevel": "GLOBAL" }, "profileRestrictions": { "reason": "", "reasonDescription": "a", "restricted": false }, "mailingActions": { "mailingAction": [ { "code": "", "description": "a" } ], "active": false, "totalRows": -100000000 }, "privacyInfo": { "marketResearchParticipation": false, "lastPrivacyPromptDate": "2000-01-01", "infoFromThirdParty": false, "autoEnrollLoyaltyProgram": false, "allowPhone": false, "allowSMS": false, "allowEmail": false, "optInMailingList": false, "optInMarketResearch": false, "optInThirdParty": false, "optInAutoEnrollmentMember": false, "optInPhone": false, "optInSms": false, "optInEmail": false }, "userDefinedFields": { "characterUDFs": [ { "name": "a", "value": "a", "altname": "a" } ], "numericUDFs": [ { "name": "a", "value": -100000000, "altname": "a" } ], "dateUDFs": [ { "name": "a", "value": "0101-01-01", "altname": "a" } ] }, "localizationGuestType": "a", "profileType": "GUEST", "statusCode": "ACTIVE", "registeredProperty": "", "requestForHotel": "", "protectedBy": "a", "createDateTime": "2000-09-03T14:56:18.259Z", "creatorId": "1200", "lastModifyDateTime": "2000-09-03T14:56:18.259Z", "lastModifierId": "1200", "markAsRecentlyAccessed": false, "markForHistory": false, "hasCommission": false } } ], "totalRows": -100000000 }, "links": [ { "href": "", "rel": "", "method": "GET", "operationId": "", "templated": false, "targetSchema": "", "title": "" } ] } } }, "204": { "description": "GuestProfile 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": [ "Profile" ] } }, "/hotels/{hotelId}/memberships/{membershipId}": { "get": { "summary": "Get Membership Issued awards points ", "description": "Get a memberships issued awards points per property.

OperationId:getMembershipAwardPointsByHotel

", "operationId": "getMembershipAwardPointsByHotel", "deprecated": true, "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 member award points by Hotel.", "schema": { "$ref": "#/definitions/membershipAwardPointsByHotel" } }, "204": { "description": "MembershipAwardPointsByHotel 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": [ "ProfileMembership" ] } }, "/hotels/{hotelId}/profiles/{profileId}/commissionAccount": { "put": { "summary": "Copy profile commission account", "description": "You can use this API to copy the commission account on a profile

OperationId:copyProfileCommissionAccount

", "operationId": "copyProfileCommissionAccount", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "profileCommissionAccountCopy", "in": "body", "required": true, "description": "Request object for copying transaction groups configuration.", "schema": { "allOf": [ { "$ref": "#/definitions/profileCommissionAccountCopy" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/hotels/{hotelId}/profiles/{profileId}/flexFieldCode/{flexFieldCode}": { "delete": { "summary": "Operation to delete a flex field.", "description": "Operation to delete a flex field Value.

OperationId:deleteFlexFieldValue

", "operationId": "deleteProfileFlexFieldValue", "parameters": [ { "name": "flexFieldCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Flex field code" }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel in OPERA" }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA internal profile ID which is used to find any type of profile from OPERA. This ID is a primary identification of a profile in OPERA." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "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": [ "Profile" ] } }, "/hotels/{hotelId}/profiles/{profileId}/flexFieldValues": { "get": { "summary": "Operation to fetch flex field values.", "description": "API to fetch flex field values.

OperationId:getFlexFieldValue

", "operationId": "getProfileFlexFieldValue", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel in OPERA" }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA internal profile ID which is used to find any type of profile from OPERA. This ID is a primary identification of a profile in OPERA." }, { "name": "flexFieldId", "in": "query", "type": "number", "description": "Flex field ID", "required": false }, { "name": "flexFieldCode", "in": "query", "type": "string", "description": "Flex field code", "required": false }, { "name": "flexFieldValue", "in": "query", "type": "string", "description": "Flex field Value", "required": false }, { "name": "limit", "in": "query", "required": false, "default": 50, "maximum": 100, "description": "Indicates maximum number of records a Web Service should return. Default is 50", "type": "integer" }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching flex field Values.", "schema": { "$ref": "#/definitions/flexFieldsResponse" } }, "204": { "description": "Flex field details not found." }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] }, "post": { "summary": "Operation to create a flex field with value for a module.", "description": "Operation to create a flex field Value.

OperationId:postFlexFieldValue

", "operationId": "postProfileFlexFieldValue", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel in OPERA" }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA internal profile ID which is used to find any type of profile from OPERA. This ID is a primary identification of a profile in OPERA." }, { "name": "flexFieldValueInfo", "in": "body", "required": true, "description": "Request object to create a new flex field", "schema": { "allOf": [ { "$ref": "#/definitions/flexFieldValues" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] }, "put": { "summary": "Operation to update flex field value.", "description": "Operation to update flex field value.

OperationId:putFlexFieldValue

", "operationId": "putProfileFlexFieldValue", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique ID of the hotel in OPERA" }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA internal profile ID which is used to find any type of profile from OPERA. This ID is a primary identification of a profile in OPERA." }, { "name": "flexFieldValueInfo", "in": "body", "required": true, "description": "Request object for updating the configuration of flex fields.", "schema": { "allOf": [ { "$ref": "#/definitions/flexFieldValues" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Body.", "schema": { "$ref": "#/definitions/status" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/hotels/{hotelId}/profiles/{profileId}/reprocess": { "put": { "summary": "Re-Process a single Stage Record", "description": "Use this API to Re-Process a single Stage Record.

OperationId:reProcessStageRecord

", "operationId": "reProcessStageRecord", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "description": "Resort for the stage record to reprocess or rematch", "type": "string" }, { "name": "profileId", "in": "path", "required": true, "description": "Resort Name Id for the stage record to reprocess or rematch", "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": "Response object for the the reprocessed staged profile.", "schema": { "$ref": "#/definitions/reProcessStageRecord" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/issueOtherAwards": { "post": { "summary": "Issue an OTHER type award ", "description": "This API will allow you to issue OTHER type award based on membership id or membership type and membership card number

OperationId:issueOtherAwards

", "operationId": "issueOtherAwards", "parameters": [ { "name": "otherAwardsIssueCriteria", "in": "body", "required": true, "description": "Request object to issue an OTHER type award to a member's profile.", "schema": { "allOf": [ { "$ref": "#/definitions/otherAwardsIssueCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response object for issue awards.", "schema": { "$ref": "#/definitions/issuedAward" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "ProfileMembership" ] } }, "/memberHistory": { "get": { "summary": "Get primary membership history details of a guest.", "description": "Use this API to retrieve primary membership history details of a profile.

OperationId:getMembershipCardHistory

", "operationId": "getMemberHistory", "parameters": [ { "name": "membershipId", "in": "query", "required": false, "type": "string", "minLength": 1, "maxLength": 20, "description": "Membership Id of the member required to fetch the member history." }, { "name": "actionType", "in": "query", "required": false, "type": "string", "minLength": 1, "maxLength": 80, "description": "Type of action related to changes in a profile's primary membership." }, { "name": "fromDate", "in": "query", "required": false, "description": "The date from which we want to see changes to membership", "type": "string", "format": "date" }, { "name": "toDate", "in": "query", "required": false, "description": "The date till which we want to see changes to membership", "type": "string", "format": "date" }, { "name": "user", "in": "query", "required": false, "type": "string", "minLength": 1, "maxLength": 256, "description": "The user who modified profile's primary membership." }, { "name": "limit", "in": "query", "required": false, "default": 20, "maximum": 200, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for list of membership history.", "schema": { "$ref": "#/definitions/memberHistoryList" } }, "204": { "description": "memberHistory 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": [ "ProfileMembership" ] } }, "/membershipClaims": { "get": { "summary": "Get membership claims", "description": "Retrieve available membership claims without specifying the membership ID.

OperationId:getAllMembershipClaims

This API allows a time span of 90 days.

", "operationId": "getAllMembershipClaims", "parameters": [ { "name": "membershipId", "in": "query", "required": false, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Id to get the claims." }, { "name": "profileId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "profileIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "profileIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "name", "in": "query", "required": false, "description": "Family name, last name or Company Name.", "type": "string" }, { "name": "givenName", "in": "query", "required": false, "description": "Given name, first name or names.", "type": "string" }, { "name": "membershipType", "in": "query", "required": false, "description": "Membership Type code.", "type": "string" }, { "name": "claimType", "in": "query", "required": false, "description": "Type of user-definable claim to be searched.", "type": "string" }, { "name": "source", "in": "query", "required": false, "type": "string", "description": "Source of the membership claim.", "uniqueItems": true, "enum": [ "Ocis", "Opms", "Web" ] }, { "name": "owner", "in": "query", "required": false, "description": "Unique application user ID of the person responsible for handling the claim.", "type": "string" }, { "name": "claimNumber", "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": "claimNoContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "claimNoType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "hotelId", "in": "query", "required": false, "description": "Property where the stay took place.", "type": "string" }, { "name": "confirmationNo", "in": "query", "required": false, "description": "Reservation confirmation or booking reference number.", "type": "string" }, { "name": "submitter", "in": "query", "required": false, "description": "Application user ID of the user who entered the claim.", "type": "string" }, { "name": "claimStatus", "in": "query", "required": false, "description": "Status of the claim.(Open, Waiting for Manager, etc.)", "type": "string" }, { "name": "closeDateEnd", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "closeDateStart", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "claimDateEnd", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "claimDateStart", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "replyByEnd", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "replyByStart", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "arrivalEnd", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "arrivalStart", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "departureEnd", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "departureStart", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "approvalStatus", "in": "query", "required": false, "type": "string", "description": "Claim approve or reject status.", "uniqueItems": true, "enum": [ "Approved", "Rejected", "Pending" ] }, { "name": "limit", "in": "query", "required": false, "default": 20, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching membership claims.", "schema": { "$ref": "#/definitions/membershipClaims" } }, "204": { "description": "MembershipClaims 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": [ "ProfileMembership" ] }, "post": { "summary": "Create membership Claim", "description": "This will create membership claim details based on the claim number and instructions provided in the request.

OperationId:postMembershipClaim

", "operationId": "postMembershipClaim", "parameters": [ { "name": "membershipClaim", "in": "body", "required": true, "description": "Request object for creating membership claim.", "schema": { "allOf": [ { "$ref": "#/definitions/membershipClaim" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "ProfileMembership" ] } }, "/membershipClaims/{claimId}": { "get": { "summary": "Get membership claim ", "description": "Get membership claim details based on the claim number and instructions provided in the request.

OperationId:getMembershipClaim

", "operationId": "getMembershipClaim", "parameters": [ { "name": "claimId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "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": "idContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "type", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type for membership claim instructions that can be used in requests for partial operations.", "uniqueItems": true, "items": { "type": "string", "enum": [ "ClaimDetail", "ClaimActivityLog" ] }, "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 membership claim.", "schema": { "$ref": "#/definitions/membershipClaim" } }, "204": { "description": "MembershipClaim 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": [ "ProfileMembership" ] }, "put": { "summary": "Change membership Claim", "description": "Change membership claim details based on the claim number and instructions provided in the request.

OperationId:changeMembershipClaim

", "operationId": "changeMembershipClaim", "parameters": [ { "name": "claimId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "membershipClaim", "in": "body", "required": true, "description": "Request object for changing membership claim information.", "schema": { "allOf": [ { "$ref": "#/definitions/membershipClaim" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "ProfileMembership" ] } }, "/membershipPoints/calculations": { "post": { "summary": "Calculate Membership Points", "description": "Start Membership Points Calculation process

OperationId:calculateMembershipPoints

", "operationId": "calculateMembershipPoints", "parameters": [ { "name": "membershipPointsToCalculate", "in": "body", "required": true, "description": "Request to run membership points calculation job.", "schema": { "allOf": [ { "$ref": "#/definitions/membershipPointsToCalculate" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "ProfileMembership" ] } }, "/membershipPointsExceptions": { "get": { "summary": "Get membership points exception details", "description": "Use this API to get membership points exceptions.

OperationId:getMembershipPointsExceptions


The maximum date Range supported between arrival and departure date is 90 days.", "operationId": "getMembershipPointsExceptions", "parameters": [ { "name": "hotelId", "in": "query", "minLength": 1, "maxLength": 20, "required": false, "description": "Membership transaction belongs to which Hotel.", "type": "string" }, { "name": "profileId", "in": "query", "required": false, "description": "Profile Id of the guest.", "type": "number" }, { "name": "arrivalFrom", "in": "query", "required": false, "description": "Arrival From Date to fetch the reservations flagged for Membership Points Exception", "type": "string", "format": "date" }, { "name": "departureTo", "in": "query", "required": false, "description": "Departure To Date to fetch the reservation flagged for Membership Points Exception", "type": "string", "format": "date" }, { "name": "membershipType", "in": "query", "required": false, "description": "The type of the membership.", "type": "string", "minLength": 1, "maxLength": 20 }, { "name": "membershipLevel", "in": "query", "required": false, "description": "The current level of the membership.", "type": "string", "minLength": 1, "maxLength": 20 }, { "name": "membershipCardNo", "in": "query", "required": false, "description": "The card number associated with this membership.", "type": "string", "minLength": 1, "maxLength": 50 }, { "name": "limit", "in": "query", "required": false, "default": 20, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "name": "exceptionStatus", "in": "query", "required": true, "type": "string", "description": "Indicates the type of Exception like Exception not resolved,Points Rejected on Exception etc.,", "uniqueItems": true, "items": { "type": "string", "enum": [ "AllExceptions", "PointsAwardedOnException", "PointsRejectedOnException", "ExceptionNotResolved" ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 membership points exceptions.", "schema": { "$ref": "#/definitions/memberPointsExceptions" } }, "204": { "description": "MembershipPointsExceptions 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": [ "ProfileMembership" ] }, "put": { "summary": "Update membership points exceptions", "description": "Use this API to update membership points exceptions.

OperationId:putMembershipPointsExceptions

", "operationId": "putMembershipPointsExceptions", "parameters": [ { "name": "membershipPointsExceptions", "in": "body", "required": true, "description": "Request object for updating membership points exceptions.", "schema": { "allOf": [ { "$ref": "#/definitions/membershipPointsExceptions" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "ProfileMembership" ] } }, "/membershipReservationActivity": { "get": { "summary": "Get Membership Reservation Activity", "description": "This API is useful to retrieve membership reservation activity for the day(ExpectedArrival, ExpectedDepartures, InHouse, Projected Room Revenue)

OperationId:getMembershipReservationActivity

", "operationId": "getMembershipReservationActivity", "parameters": [ { "name": "hotelIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Unique ID of the hotels to fetch the membership reservation activity.", "items": { "type": "string", "maxItems": 4000 }, "required": true }, { "name": "propertyDate", "in": "query", "required": false, "description": "Business Date of the property selected.", "type": "string", "format": "date" }, { "name": "roomClasses", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Room Classes required to fetch the membership reservation activity.", "items": { "type": "string", "maxItems": 100 }, "required": false }, { "name": "membershipType", "in": "query", "type": "string", "minLength": 1, "maxLength": 20, "description": "Membership Type required to fetch the membership reservation activity.", "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 element for membership Reservation Details.", "schema": { "$ref": "#/definitions/membershipReservationDetails" } }, "204": { "description": "Statistics 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": [ "ProfileMembership" ] } }, "/membershipTierProjections": { "get": { "summary": "Get Membership Tier Projection", "description": "Retrieve a list of membership Tier Projection such as upgrades and downgrades.

OperationId:getMembershipTierProjections

The maximum allowable limit for this API is 200.

", "operationId": "getMembershipTierProjections", "parameters": [ { "name": "membershipId", "in": "query", "required": false, "description": "Membership Card Number.", "type": "string" }, { "name": "membershipType", "in": "query", "required": false, "description": "Type of the Membership.", "type": "string" }, { "name": "id", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "idContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "type", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "projectionDate", "in": "query", "required": false, "description": "Date for which Tier projections is fetched.", "type": "string", "format": "date" }, { "name": "projectionType", "in": "query", "required": false, "type": "string", "description": "Upgrade And Downgrade", "uniqueItems": true, "enum": [ "Upgrade", "Downgrade", "UpgradeAndDowngrade" ] }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 Membership Tier Process Text.", "schema": { "$ref": "#/definitions/membershipTierProjections" } }, "204": { "description": "MembershipTierProjections 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": [ "Profile" ] } }, "/membershipTransactions/{membershipTransactionId}": { "get": { "summary": "Get a membership transaction", "description": "Retrieve membership transactions.

OperationId:getMembershipTransaction

", "operationId": "getMembershipTransaction", "parameters": [ { "name": "membershipTransactionId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "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": "idContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "type", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 a membership transaction.", "schema": { "$ref": "#/definitions/membershipTransaction" } }, "204": { "description": "MembershipTransaction 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": [ "ProfileMembership" ] } }, "/membershipTransactions/{membershipTransactionId}/awardPoints": { "get": { "summary": "Fetch the Award Points Accrued for the current points transaction.", "description": "Retrieves the validated rule used to generate award points, the type of points, number of points, cost per point, rule code for the award points, billing group the points belong.

OperationId:getMembershipTransactionAwardPoints

The maximum allowable limit for this API is 200.

", "operationId": "getMembershipTransactionAwardPoints", "parameters": [ { "name": "membershipTransactionId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching membership transaction points information.", "schema": { "$ref": "#/definitions/calculatedPoints" } }, "204": { "description": "MembershipTransactionAwardPoints 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": [ "ProfileMembership" ] } }, "/membershipTransactions/{membershipTransactionId}/pointRejectionReasons": { "get": { "summary": "Fetch the reason points were not awarded for a given points transaction.", "description": "Retrieves the rule used to generate points and the reason the points were not awarded (validation failure, for e.g.'Membership level requirements not met').

OperationId:getMembershipTransactionPointsRejectionReasons

The maximum allowable limit for this API is 200.

", "operationId": "getMembershipTransactionPointsRejectionReasons", "parameters": [ { "name": "membershipTransactionId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching member transactions points rejection reasons information.", "schema": { "$ref": "#/definitions/pointsRejectionReasons" } }, "204": { "description": "MembershipTransactionPointsRejectionReasons 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": [ "ProfileMembership" ] } }, "/membershipTransactions/{membershipTransactionId}/rates": { "get": { "summary": "Fetch the rate details associated to current points transaction.", "description": "Retrieves the dates of the stay, the rate code, the PMS rate amount, the central rate amount, the central currency and the market code associated with the stay.

OperationId:getMembershipTransactionRates

The maximum allowable limit for this API is 200.

", "operationId": "getMembershipTransactionRates", "parameters": [ { "name": "membershipTransactionId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching Membership Transaction Rates information.", "schema": { "$ref": "#/definitions/rates" } }, "204": { "description": "MembershipTransactionRates 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": [ "ProfileMembership" ] } }, "/membershipTransactions/{membershipTransactionId}/revenue": { "get": { "summary": "Fetch the revenue details for the stay associated with current point transaction.", "description": "Retrieves the date the revenue was recognized, the revenue type (PMS revenue buckets are seen as revenue types in ORS), PMS revenue and central

OperationId:getMembershipTransactionRevenue

The maximum allowable limit for this API is 200.

", "operationId": "getMembershipTransactionRevenue", "parameters": [ { "name": "membershipTransactionId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching Membership Transaction Revenue.", "schema": { "$ref": "#/definitions/revenues" } }, "204": { "description": "MembershipTransactionRevenue 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": [ "ProfileMembership" ] } }, "/membershipTransactions/{membershipTransactionId}/tierPoints": { "get": { "summary": "Fetch the Tier Points Accrued for the current points transaction", "description": "Retrieves the validated rule used to generate tier points, the type of points, number of points, cost per point, rule code for the award points, billing group the points belong.

OperationId:getMembershipTransactionTierPoints

The maximum allowable limit for this API is 200.

", "operationId": "getMembershipTransactionTierPoints", "parameters": [ { "name": "membershipTransactionId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching membership transaction points information.", "schema": { "$ref": "#/definitions/calculatedPoints" } }, "204": { "description": "MembershipTransactionTierPoints 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": [ "ProfileMembership" ] } }, "/memberships/{membershipId}/award": { "get": { "summary": "Export Membership Award", "description": "Export members information for Fulfillment house processing

OperationId:exportMembershipAward

This API allows a time span of 90 days.

", "operationId": "exportMembershipAward", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "rateInfoHotelId", "in": "query", "required": false, "description": "HotelCode where the award will be consumed.", "type": "string" }, { "name": "totalAvailablePoints", "in": "query", "required": false, "description": "Total award points available for redemption.", "type": "number" }, { "name": "pointsRequired", "in": "query", "required": false, "description": "The number of points that must be redeemed for this award.", "type": "number" }, { "name": "cancelPenaltyPoints", "in": "query", "required": false, "description": "The award points that will be forfeited if the cancel penalty charge is applied.", "type": "number" }, { "name": "cancelPenaltyDays", "in": "query", "required": false, "description": "Number of days before arrival when a reservation may be cancelled without an award points penalty.", "type": "number" }, { "name": "cancelPenaltyCharge", "in": "query", "required": false, "description": "The cancel penalty charge.", "type": "number" }, { "name": "cancelPenaltyType", "in": "query", "required": false, "description": "The penalty charge is either a percentage or a flat number of points.", "type": "string" }, { "name": "rawIssueKey", "in": "query", "required": false, "description": "Issue key in format of Raw data.", "type": "string" }, { "name": "awardNumber", "in": "query", "required": false, "description": "An identifying number of the award, assigned by the system when the award was issued.", "type": "number" }, { "name": "rateCode", "in": "query", "required": false, "description": "Rate code associated with the award.", "type": "string" }, { "name": "rateDescription", "in": "query", "required": false, "description": "Rate code description associated with the award.", "type": "string" }, { "name": "roomLabel", "in": "query", "required": false, "description": "Code for the room type in which the award was issued.", "type": "string" }, { "name": "roomDescription", "in": "query", "required": false, "description": "Description of the Room.", "type": "string" }, { "name": "roomCategory", "in": "query", "required": false, "description": "Indicates which room category it belongs.", "type": "string" }, { "name": "stayDate", "in": "query", "required": false, "description": "The date of the reservation associated with the award. There may be more than one date (multiple nights) associated with award.", "type": "string", "format": "date" }, { "name": "awardType", "in": "query", "required": false, "description": "Unique code that identifies this award.", "type": "string" }, { "name": "productInfoHotelId", "in": "query", "required": false, "description": "HotelCode where the award will be consumed.", "type": "string" }, { "name": "productInfoTotalAvailablePoints", "in": "query", "required": false, "description": "Total award points available for redemption.", "type": "number" }, { "name": "productInfoPointsRequired", "in": "query", "required": false, "description": "The number of points that must be redeemed for this award.", "type": "number" }, { "name": "productInfoCancelPenaltyPoints", "in": "query", "required": false, "description": "The award points that will be forfeited if the cancel penalty charge is applied.", "type": "number" }, { "name": "productInfoCancelPenaltyDays", "in": "query", "required": false, "description": "Number of days before arrival when a reservation may be cancelled without an award points penalty.", "type": "number" }, { "name": "productInfoCancelPenaltyCharge", "in": "query", "required": false, "description": "The cancel penalty charge.", "type": "number" }, { "name": "productInfoCancelPenaltyType", "in": "query", "required": false, "description": "The penalty charge is either a percentage or a flat number of points.", "type": "string" }, { "name": "productInfoRawIssueKey", "in": "query", "required": false, "description": "Issue key in format of Raw data.", "type": "string" }, { "name": "productInfoAwardNumber", "in": "query", "required": false, "description": "An identifying number of the award, assigned by the system when the award was issued.", "type": "number" }, { "name": "packageCode", "in": "query", "required": false, "description": "Package/Product code for the award .", "type": "string" }, { "name": "packageDescription", "in": "query", "required": false, "description": "Description of the product.", "type": "string" }, { "name": "awardValidFrom", "in": "query", "required": false, "description": "The valid time period from when the award can be issued.", "type": "string", "format": "date" }, { "name": "awardValidTo", "in": "query", "required": false, "description": "The valid time to an issued award.", "type": "string", "format": "date" }, { "name": "upgradeInfoAwardType", "in": "query", "required": false, "description": "Unique code that identifies this award.", "type": "string" }, { "name": "upgradeInfoHotelId", "in": "query", "required": false, "description": "HotelCode where the award will be consumed.", "type": "string" }, { "name": "upgradeInfoTotalAvailablePoints", "in": "query", "required": false, "description": "Total award points available for redemption.", "type": "number" }, { "name": "upgradeInfoPointsRequired", "in": "query", "required": false, "description": "The number of points that must be redeemed for this award.", "type": "number" }, { "name": "upgradeInfoCancelPenaltyPoints", "in": "query", "required": false, "description": "The award points that will be forfeited if the cancel penalty charge is applied.", "type": "number" }, { "name": "upgradeInfoCancelPenaltyDays", "in": "query", "required": false, "description": "Number of days before arrival when a reservation may be cancelled without an award points penalty.", "type": "number" }, { "name": "upgradeInfoCancelPenaltyCharge", "in": "query", "required": false, "description": "The cancel penalty charge.", "type": "number" }, { "name": "upgradeInfoCancelPenaltyType", "in": "query", "required": false, "description": "The penalty charge is either a percentage or a flat number of points.", "type": "string" }, { "name": "upgradeInfoRawIssueKey", "in": "query", "required": false, "description": "Issue key in format of Raw data.", "type": "string" }, { "name": "upgradeInfoAwardNumber", "in": "query", "required": false, "description": "An identifying number of the award, assigned by the system when the award was issued.", "type": "number" }, { "name": "fromRoomCategory", "in": "query", "required": false, "description": "Indicates room type code for the room prior to the upgrade.", "type": "string" }, { "name": "toRoomCategory", "in": "query", "required": false, "description": "Indicates room type code of the upgrade room.", "type": "string" }, { "name": "fromRoomDescription", "in": "query", "required": false, "description": "Indicates room type Description for the room prior to the upgrade.", "type": "string" }, { "name": "toRoomDescription", "in": "query", "required": false, "description": "Indicates room type Description of the upgrade room.", "type": "string" }, { "name": "fromRoom", "in": "query", "required": false, "description": "Indicates room type code for the room prior to the upgrade.", "type": "string" }, { "name": "toRoom", "in": "query", "required": false, "description": "Indicates room type code of the upgrade room.", "type": "string" }, { "name": "upgradeInfoStayDate", "in": "query", "required": false, "description": "The date of the reservation associated with the award. There may be more than one date (multiple nights) associated with award.", "type": "string", "format": "date" }, { "name": "otherInfoAwardType", "in": "query", "required": false, "description": "Unique code that identifies this award.", "type": "string" }, { "name": "sellBeginDate", "in": "query", "required": false, "description": "Beginning date of the award.", "type": "string", "format": "date" }, { "name": "sellEndDate", "in": "query", "required": false, "description": "End date that the award will be available.", "type": "string", "format": "date" }, { "name": "shortDescription", "in": "query", "required": false, "description": "Descriptive name of the award.", "type": "string" }, { "name": "awardValue", "in": "query", "required": false, "description": "The actual value of the award, in the amount of currency.", "type": "number" }, { "name": "otherInfoTotalAvailablePoints", "in": "query", "required": false, "description": "Total award points available for redemption.", "type": "number" }, { "name": "otherInfoPointsRequired", "in": "query", "required": false, "description": "The number of points that must be redeemed for this award.", "type": "number" }, { "name": "longDescription", "in": "query", "required": false, "description": "Detail description of the award.", "type": "string" }, { "name": "otherInfoAwardNumber", "in": "query", "required": false, "description": "An identifying number of the award, assigned by the system when the award was issued.", "type": "number" }, { "name": "issueAwardsHotelId", "in": "query", "required": false, "description": "HotelCode where the award will be consumed.", "type": "string" }, { "name": "externalReservationNumber", "in": "query", "required": false, "description": "PMS Reservation number.", "type": "string" }, { "name": "confirmationBookingNumber", "in": "query", "required": false, "description": "ORS Booking number.", "type": "string" }, { "name": "awardSource", "in": "query", "required": false, "description": "The source for the reservation associated with the award.", "type": "string" }, { "name": "arrivalDate", "in": "query", "required": false, "description": "Arrival date of the reservation associated with the award.", "type": "string", "format": "date" }, { "name": "departureDate", "in": "query", "required": false, "description": "Departure date of the reservation associated with the award.", "type": "string", "format": "date" }, { "name": "exportInfoAwardNumber", "in": "query", "required": false, "description": "Award Number to identify member's information.", "type": "number" }, { "name": "nameType", "in": "query", "required": false, "type": "string", "description": "Person's name in an external system.", "uniqueItems": true, "enum": [ "Primary", "Alternate", "Incognito", "External", "Phonetic" ] }, { "name": "name", "in": "query", "required": false, "description": "Family name, last name or Company Name.", "type": "string" }, { "name": "fullName", "in": "query", "required": false, "description": "Full display Name.", "type": "string" }, { "name": "namePrefix", "in": "query", "required": false, "description": "Salutation of honorific (e.g. Mr., Mrs., Ms., Miss, Dr.)", "type": "string" }, { "name": "givenName", "in": "query", "required": false, "description": "Given name, first name or names.", "type": "string" }, { "name": "middleName", "in": "query", "required": false, "description": "The middle name of the person name.", "type": "string" }, { "name": "nameSuffix", "in": "query", "required": false, "description": "Hold various name suffixes and letters (e.g. Jr., Sr., III, Ret., Esq.)", "type": "string" }, { "name": "nameTitle", "in": "query", "required": false, "description": "Degree or honors (e.g., Ph.D., M.D.)", "type": "string" }, { "name": "phoneNumber", "in": "query", "required": false, "type": "string", "description": "Phone number" }, { "name": "companyName", "in": "query", "required": false, "description": "It returns a Company Name,If the member is associated with a company.", "type": "string" }, { "name": "id", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "idContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "idType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "barCode", "in": "query", "required": false, "description": "The postal barcode for the address.", "type": "string" }, { "name": "createDateTime", "in": "query", "required": false, "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, { "name": "creatorId", "in": "query", "required": false, "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible for the creation.", "type": "string" }, { "name": "lastModifierId", "in": "query", "required": false, "description": "Identifies the last software system or person to modify a record.", "type": "string" }, { "name": "lastModifyDateTime", "in": "query", "required": false, "description": "Time stamp of last modification.", "type": "string", "format": "date-time" }, { "name": "primaryInd", "in": "query", "required": false, "description": "When true, indicates a primary information.", "type": "boolean" }, { "name": "purgeDate", "in": "query", "required": false, "description": "Date an item will be purged from a database (e.g., from a live database to an archive).", "type": "string", "format": "date" }, { "name": "type", "in": "query", "required": false, "description": "Defines the type of address (e.g. home, business, other).", "type": "string" }, { "name": "typeDescription", "in": "query", "required": false, "description": "Describes the type code", "type": "string" }, { "name": "updateReservations", "in": "query", "required": false, "description": "Indicates whether to update the reservations or not. If true and the address is primary, then all associated active reservations will be updated with the new primary address.", "type": "boolean" }, { "name": "addressLine", "in": "query", "type": "array", "collectionFormat": "multi", "description": "When the address is unformatted (FormattedInd=\"false\") these lines will contain free form address details. When the address is formatted and street number and street name must be sent independently, the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence.", "items": { "type": "string", "maxItems": 4 }, "required": false }, { "name": "cityName", "in": "query", "required": false, "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).", "type": "string" }, { "name": "postalCode", "in": "query", "required": false, "description": "Post Office Code number.", "type": "string" }, { "name": "cityExtension", "in": "query", "required": false, "description": "Post Office City Extension Code number. City Extension mainly used for UK addresses.", "type": "string" }, { "name": "county", "in": "query", "required": false, "description": "County or District Name (e.g., Fairfax). Currently this attribute is not used.", "type": "string" }, { "name": "state", "in": "query", "required": false, "description": "State or Province name (e.g., Texas).", "type": "string" }, { "name": "code", "in": "query", "required": false, "description": "Code for a country or a nationality.", "type": "string" }, { "name": "language", "in": "query", "required": false, "description": "Language code associated with the address", "type": "string" }, { "name": "characterUDFsAltName", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Label of user defined field used by vendors or customers.", "items": { "type": "string" }, "required": false }, { "name": "characterUDFsName", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to hold user defined field of Character Type. It is highly recommended to use UDFC01, UDFC02,...UDFC40 (Total 40) as Character/String UDF names(commonly used on Reservation, Profile etc.). Name is not restricted using enumeration, to provide flexibility of different name usage if required.", "items": { "type": "string" }, "required": false }, { "name": "characterUDFsValue", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Value of user defined field.", "items": { "type": "string" }, "required": false }, { "name": "NumericUDFsAltName", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Label of user defined field used by vendors or customers.", "items": { "type": "string" }, "required": false }, { "name": "NumericUDFsName", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Name of user defined field.", "items": { "type": "string" }, "required": false }, { "name": "NumericUDFsValue", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Value of user defined field.", "items": { "type": "number" }, "required": false }, { "name": "DateUDFsAltname", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Label of user defined field used by vendors or customers.", "items": { "type": "string" }, "required": false }, { "name": "DateUDFsName", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to hold user defined field of Date Type. It is highly recommended to use UDFD01, UDFD02,...UDFN20 (Total 20) as Date UDF names(commonly used on Reservation, Profile etc.). Name is not restricted using enumeration, to provide flexibility of different name usage if required.", "items": { "type": "string" }, "required": false }, { "name": "DateUDFsValue", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Value of user defined field.", "items": { "type": "string", "format": "date" }, "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 Body.", "schema": { "$ref": "#/definitions/status" } }, "204": { "description": "exportMembershipAward 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": [ "ProfileMembership" ] } }, "/memberships/{membershipId}/awardExports": { "get": { "summary": "Get Membership Award Export Information", "description": "Get members information for Fulfillment house processing

OperationId:getMembershipAwardExportInfo

", "operationId": "getMembershipAwardExportInfo", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "awardNumber", "in": "query", "required": false, "description": "Award Number to identify member's information.", "type": "number" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 members information for Fulfillment house processing.", "schema": { "$ref": "#/definitions/membershipAwardExportInfo" } }, "204": { "description": "MembershipAwardExportInfo 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": [ "ProfileMembership" ] } }, "/memberships/{membershipId}/awards": { "get": { "summary": "Get Membership Award list", "description": "Retrieve a list of member issued awards.

OperationId:getMembershipIssueAwardsList

The maximum allowable limit for this API is 200.

", "operationId": "getMembershipIssueAwardsList", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "membershipType", "in": "query", "required": false, "type": "string", "description": "Used for codes in the OPERA Code tables. Possible values of this pattern are 1, 101, 101.EQP, or 101.EQP.X." }, { "name": "hotelBookingNumber", "in": "query", "required": false, "type": "string", "description": "Confirmation Number attached " }, { "name": "hotelId", "in": "query", "required": false, "description": "Award Code belongs to which Hotel.", "type": "string" }, { "name": "awardCode", "in": "query", "required": false, "description": "Unique code identifying the award.", "type": "array", "collectionFormat": "multi", "items": { "type": "string" } }, { "name": "awardNumber", "in": "query", "required": false, "description": "Award Id for identifying the award.", "type": "number" }, { "name": "awardBasedOn", "in": "query", "required": false, "description": "Award Type for identifying the award.", "type": "string" }, { "name": "limit", "in": "query", "required": false, "default": 20, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching member issued award list.", "schema": { "$ref": "#/definitions/membershipIssueAwards" } }, "204": { "description": "MembershipIssueAwardsList 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": [ "ProfileMembership" ] } }, "/memberships/{membershipId}/claims": { "get": { "summary": "Get membership claims", "description": "Retrieve available membership claims by specifying the membership ID.

OperationId:getMembershipClaims

This API allows a time span of 90 days.

", "operationId": "getMembershipClaims", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Id to get the claims." }, { "name": "profileId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "profileIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "profileIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "name", "in": "query", "required": false, "description": "Family name, last name or Company Name.", "type": "string" }, { "name": "givenName", "in": "query", "required": false, "description": "Given name, first name or names.", "type": "string" }, { "name": "membershipType", "in": "query", "required": false, "description": "Membership Type code.", "type": "string" }, { "name": "claimType", "in": "query", "required": false, "description": "Type of user-definable claim to be searched.", "type": "string" }, { "name": "source", "in": "query", "required": false, "type": "string", "description": "Source of the membership claim.", "uniqueItems": true, "enum": [ "Ocis", "Opms", "Web" ] }, { "name": "owner", "in": "query", "required": false, "description": "Unique application user ID of the person responsible for handling the claim.", "type": "string" }, { "name": "claimNumber", "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": "claimNoContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "claimNoType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "hotelId", "in": "query", "required": false, "description": "Property where the stay took place.", "type": "string" }, { "name": "confirmationNo", "in": "query", "required": false, "description": "Reservation confirmation or booking reference number.", "type": "string" }, { "name": "submitter", "in": "query", "required": false, "description": "Application user ID of the user who entered the claim.", "type": "string" }, { "name": "claimStatus", "in": "query", "required": false, "description": "Status of the claim.(Open, Waiting for Manager, etc.)", "type": "string" }, { "name": "closeDateEnd", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "closeDateStart", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "claimDateEnd", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "claimDateStart", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "replyByEnd", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "replyByStart", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "arrivalEnd", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "arrivalStart", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "departureEnd", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "departureStart", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "approvalStatus", "in": "query", "required": false, "type": "string", "description": "Claim approve or reject status.", "uniqueItems": true, "enum": [ "Approved", "Rejected", "Pending" ] }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 membership claims.", "schema": { "$ref": "#/definitions/membershipClaims" } }, "204": { "description": "MembershipClaims 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": [ "ProfileMembership" ] } }, "/memberships/{membershipId}/fullfillmentExportLogs": { "get": { "summary": "Get Fulfillment Export Logs", "description": "Use this API to Get Fulfillment Export Logs.

OperationId:getFulfillmentExportLogs

", "operationId": "getFulfillmentExportLogs", "deprecated": true, "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "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": "idContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "idType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "membershipType", "in": "query", "required": false, "type": "string", "description": "Used for codes in the OPERA Code tables. Possible values of this pattern are 1, 101, 101.EQP, or 101.EQP.X." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object which has list of membership fulfillment export logs and membership extract information(Exclude Extract -Y/N).", "schema": { "$ref": "#/definitions/fulfillmentExportedLogs" } }, "204": { "description": "FulfillmentExportLogs 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": [ "Profile" ] } }, "/memberships/{membershipId}/pointsToExpire": { "get": { "summary": "Get membership points to expire ", "description": "Use this API to retrieve your Points To Expire by membershipId.

OperationId:getMemberPointsToExpire

", "operationId": "getMemberPointsToExpire", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching member points to expire information.", "schema": { "$ref": "#/definitions/memberPointsToExpire" } }, "204": { "description": "MemberPointsToExpire 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": [ "ProfileMembership" ] }, "put": { "summary": "Extend Member Points set to Expire", "description": "This will allow you to extend the expiration date based on the rule defined in the Grace Period in months.

OperationId:extendMemberPointsToExpire

", "operationId": "extendMemberPointsToExpire", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "extendMemberPointsToExpire", "in": "body", "required": true, "description": "Request object to extend a member points to expire.", "schema": { "allOf": [ { "$ref": "#/definitions/extendMemberPointsToExpire" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "ProfileMembership" ] } }, "/memberships/{membershipId}/promotions": { "get": { "summary": "Fetch membership promotions of a guest", "description": "Use this API to retrieve your available promotions by membershipId.

OperationId:getMembershipPromotions

", "operationId": "getMembershipPromotions", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "includeInactive", "in": "query", "required": false, "description": "Search criteria for fetching inactive membership promotions. When set to true, inactive records will be included.", "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 membership promotion information.", "schema": { "$ref": "#/definitions/membershipPromotionsDetails" } }, "204": { "description": "MembershipPromotions 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": [ "ProfileMembership" ] }, "post": { "summary": "Create membership promotion of a guest", "description": "Create a new membership promotion .

OperationId:postMembershipPromotion

", "operationId": "postMembershipPromotion", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "membershipPromotion", "in": "body", "required": true, "description": "Request object for creating a membership promotion.", "schema": { "allOf": [ { "$ref": "#/definitions/membershipPromotionDetails" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "ProfileMembership" ] } }, "/memberships/{membershipId}/promotions/{promotionCode}": { "put": { "summary": "Change membership promotion of a guest", "description": "Update an existing membership promotion code in the database.

OperationId:putMembershipPromotion

", "operationId": "putMembershipPromotion", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 0, "maxLength": 20, "description": "An alphanumeric code for the promotion." }, { "name": "membershipPromotion", "in": "body", "required": true, "description": "The request element used to update an existing membership promotion in the database.", "schema": { "allOf": [ { "$ref": "#/definitions/membershipPromotionDetails" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "ProfileMembership" ] }, "delete": { "summary": "Delete membership promotion of a guest", "description": "Delete a Membership promotion for a guest. This will inactivate the membership promotion.

OperationId:deleteMembershipPromotion

", "operationId": "deleteMembershipPromotion", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "promotionCode", "in": "path", "required": true, "type": "string", "minLength": 0, "maxLength": 20, "description": "An alphanumeric code for the promotion." }, { "name": "membershipPromotionId", "in": "query", "required": false, "type": "string", "minLength": 0, "maxLength": 20, "description": "The ID of a promotion owned by a membership." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "ProfileMembership" ] } }, "/memberships/{membershipId}/transactions": { "get": { "summary": "Get membership transactions ", "description": "Get membership transactions summary information by specifying membership ID

OperationId:getMembershipTransactionsSummary

", "operationId": "getMembershipTransactionsSummary", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 member point totals information.", "schema": { "$ref": "#/definitions/membershipTransactionsSummary" } }, "204": { "description": "MembershipTransactionsSummary 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": [ "ProfileMembership" ] }, "post": { "summary": "Post a membership transaction", "description": "Create a new membership transaction .

OperationId:postMembershipTransaction

", "operationId": "postMembershipTransaction", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "membershipTransaction", "in": "body", "required": true, "description": "Request object for creating a membership transaction.", "schema": { "allOf": [ { "$ref": "#/definitions/membershipTransaction" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "ProfileMembership" ] } }, "/memberships/{membershipType}/membershipNumbers": { "post": { "summary": "Generate membership number", "description": "This API will generate a new membership number.

OperationId:postMembershipNumber

", "operationId": "postMembershipNumber", "parameters": [ { "name": "membershipType", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "membershipNumber", "in": "body", "required": true, "description": "Request object for generating membership number.", "schema": { "allOf": [ { "$ref": "#/definitions/membershipNumber" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/membershipsCard/{membershipCardNo}/membershipType/{membershipCardType}/pointsToExpire": { "get": { "summary": "Get membership points to expire ", "description": "Use this API to retrieve your Points To Expire by by specifying membership card number and membership card type. This operation can return more than one membership points to expire if duplicate card numbers are allowed in the configuration.

OperationId:getMemberPointsToExpireByCardNo

", "operationId": "getMemberPointsToExpireByCardNo", "parameters": [ { "name": "membershipCardNo", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 50, "description": "The card number associated to the membership" }, { "name": "membershipCardType", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "The type of card the membership belongs to" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 member points to expire information.", "schema": { "$ref": "#/definitions/memberPointsToExpireCollection" } }, "204": { "description": "MemberPointsToExpire 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": [ "ProfileMembership" ] } }, "/membershipsCard/{membershipCardNo}/membershipType/{membershipCardType}/transactions": { "get": { "summary": "Get membership transactions ", "description": "Get membership transactions summary information by specifying membership card number and membership card type, this operation can return more than one membership transactions if duplicate card numbers allowed in the configuration.

OperationId:getMembershipTransactionsSummaryByCardNo

", "operationId": "getMembershipTransactionsSummaryByCardNo", "parameters": [ { "name": "membershipCardNo", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 50, "description": "" }, { "name": "membershipCardType", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 member point totals information.", "schema": { "$ref": "#/definitions/membershipTransactionsSummaryCollection" } }, "204": { "description": "MembershipTransactionsSummary 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": [ "ProfileMembership" ] } }, "/processStagedProfile": { "put": { "summary": "Process a staged profile", "description": "Use this API to process one profile that has been staged.

OperationId:processStagedProfile

", "operationId": "processStagedProfile", "parameters": [ { "name": "stagedProfileCriteria", "in": "body", "required": true, "description": "Request object for processing the staged profile.", "schema": { "allOf": [ { "$ref": "#/definitions/stagedProfileCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 the staged profile.", "schema": { "$ref": "#/definitions/processedStagedProfile" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/processSuspendedStays": { "put": { "summary": "Process Suspended Stays", "description": "This API processes Suspended Stay. If no Suspended Stay Record IDs are sent in the body all suspended stays will be processed.

OperationId:putProcessSuspendedStays

", "operationId": "putProcessSuspendedStays", "parameters": [ { "name": "suspendedStayRecordId", "in": "body", "required": true, "description": "Request object for change/modification of Suspended Stay, including Revenue, Rate and Membership details. If no Suspended Stay Record IDs are sent in the body all suspended stays will be processed.", "schema": { "allOf": [ { "$ref": "#/definitions/suspendedStayDetails" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 process Suspended Stays.", "schema": { "$ref": "#/definitions/suspendedStayErrorsType" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "SuspendedStay" ] } }, "/profileForEnrollment": { "get": { "summary": "Get Profiles for Enrollment", "description": "Get detailed information regarding match profiles

OperationId:getEnrollmentMatchProfiles

", "operationId": "getEnrollmentMatchProfiles", "parameters": [ { "name": "externalDatabaseID", "in": "query", "required": false, "description": "Enrollment details will be fetched from this External database.", "type": "string" }, { "name": "matchedProfileType", "in": "query", "required": false, "type": "string", "description": "The types of Profile handled by the web service.", "uniqueItems": true, "enum": [ "Guest", "Agent", "Company", "Group", "Source", "Employee", "Hotel", "Vendor", "Contact", "Purge", "BusinessHeader", "BillingAccount", "Activity", "Potential", "Account" ] }, { "name": "language", "in": "query", "required": false, "description": "Language code associated with an alternate name.", "type": "string" }, { "name": "givenName", "in": "query", "required": false, "description": "Given name, first name or names.", "type": "string" }, { "name": "surname", "in": "query", "required": false, "description": "Family name, last name. May also be used for full name if the sending system does not have the ability to separate a full name into its parts, e.g. the surname element may be used to pass the full name.", "type": "string" }, { "name": "nameTitle", "in": "query", "required": false, "description": "Degree or honors (e.g., Ph.D., M.D.)", "type": "string" }, { "name": "addressId", "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": "addressIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "addressIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "primaryInd", "in": "query", "required": false, "description": "When true, indicates a primary information.", "type": "boolean" }, { "name": "type", "in": "query", "required": false, "description": "Defines the type of address (e.g. home, business, other).", "type": "string" }, { "name": "addressLine", "in": "query", "type": "array", "collectionFormat": "multi", "description": "When the address is unformatted (FormattedInd=\"false\") these lines will contain free form address details. When the address is formatted and street number and street name must be sent independently, the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence.", "items": { "type": "string", "maxItems": 4 }, "required": false }, { "name": "cityName", "in": "query", "required": false, "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).", "type": "string" }, { "name": "postalCode", "in": "query", "required": false, "description": "Post Office Code number.", "type": "string" }, { "name": "county", "in": "query", "required": false, "description": "County or District Name (e.g., Fairfax). Currently this attribute is not used.", "type": "string" }, { "name": "state", "in": "query", "required": false, "description": "State or Province name (e.g., Texas).", "type": "string" }, { "name": "countryCode", "in": "query", "required": false, "description": "Code for a country or a nationality.", "type": "string" }, { "name": "languageCode", "in": "query", "required": false, "description": "Language code associated with the address", "type": "string" }, { "name": "businessSegment", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Business/Market Segment associated to the profile.", "items": { "type": "string", "maxItems": 4000 }, "required": false }, { "name": "territory", "in": "query", "required": false, "description": "Territory associated to the profile.", "type": "string" }, { "name": "traceCode", "in": "query", "required": false, "description": "Trace Code associated to the profile.", "type": "string" }, { "name": "ownerCode", "in": "query", "required": false, "description": "Owner Code associated to the profile.", "type": "string" }, { "name": "influenceCode", "in": "query", "required": false, "description": "Influence Code associated to the profile.", "type": "string" }, { "name": "hasMore", "in": "query", "required": false, "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" }, { "name": "totalResults", "in": "query", "required": false, "description": "Total number of rows queried", "type": "integer" }, { "name": "telephoneId", "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": "telephoneIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "telephoneIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "phoneNumber", "in": "query", "required": false, "description": "Telephone number assigned to a single location.", "type": "string" }, { "name": "phoneTechType", "in": "query", "required": false, "description": "Indicates type of technology associated with this telephone number, such as Voice, Data, Fax, Pager, Mobile, TTY, etc.", "type": "string" }, { "name": "phoneUseType", "in": "query", "required": false, "description": "Describes the type of telephone number, in the context of its general use (e.g. Home, Business, Emergency Contact, Travel Arranger, Day, Evening).", "type": "string" }, { "name": "phoneUseTypeDescription", "in": "query", "required": false, "description": "Description of the PhoneUseType code", "type": "string" }, { "name": "telephonePrimaryInd", "in": "query", "required": false, "description": "When true, indicates a primary information.", "type": "boolean" }, { "name": "emailInfoId", "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": "emailInfoIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "emailInfoIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "emailAddress", "in": "query", "required": false, "description": "Defines the e-mail address.", "type": "string" }, { "name": "emailPrimaryInd", "in": "query", "required": false, "description": "When true, indicates a primary information.", "type": "boolean" }, { "name": "emailType", "in": "query", "required": false, "description": "Defines the purpose of the e-mail address (e.g. personal, business, listserve).", "type": "string" }, { "name": "urlId", "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": "urlIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "urlIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "urlPrimaryInd", "in": "query", "required": false, "description": "When true, indicates a primary information.", "type": "boolean" }, { "name": "urlType", "in": "query", "required": false, "description": "Defines the purpose of the URL address, such as personal, business, public, etc.", "type": "string" }, { "name": "membershipId", "in": "query", "required": false, "description": "Card Number of the membership.", "type": "string" }, { "name": "nameOnCard", "in": "query", "required": false, "description": "Name to be displayed on the membership card.", "type": "string" }, { "name": "membershipLevel", "in": "query", "required": false, "description": "Indicates the membership level.", "type": "string" }, { "name": "profileId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "profileContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "profileType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "paymentMethodCode", "in": "query", "required": false, "description": "Code.", "type": "string" }, { "name": "amount", "in": "query", "required": false, "description": "Amount/Fee to enroll to membership Program.", "type": "number" }, { "name": "amountCode", "in": "query", "required": false, "description": "Code.", "type": "string" }, { "name": "comments", "in": "query", "required": false, "description": "Payment Comments.", "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 match profiles for enrollment.", "schema": { "$ref": "#/definitions/enrollmentMatchProfiles" } }, "204": { "description": "EnrollmentMatchProfiles 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": [ "ProfileMembership" ] } }, "/profileListOfValues/availableARAddresses": { "get": { "summary": "Get available AR Addresses ", "description": "Use this API to fetch the available AR Addresses List Of Values for profiles

OperationId:getAvailableARAddresses

", "operationId": "getAvailableARAddresses", "parameters": [ { "name": "profileId", "in": "query", "required": true, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "hotelId", "in": "query", "required": true, "description": "The property where the AR Account exists or is being created.", "type": "string" }, { "name": "accountId", "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": "accountIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "accountType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "accountNo", "in": "query", "required": false, "description": "The Account Number of the AR Account of the Profile.", "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 to the request to fetch the available Accounts Receivables(AR) Addresses for a Profile.", "schema": { "$ref": "#/definitions/availableARAddresses" } }, "204": { "description": "AvailableARAddresses 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": [ "ProfileLOV" ] } }, "/profileListOfValues/availablePreferences": { "get": { "summary": "Get available preferences", "description": "Use this API to fetch the available preferences List Of Values for profiles

OperationId:getAvailablePreferences

", "operationId": "getAvailablePreferences", "parameters": [ { "name": "id", "in": "query", "required": true, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "hotelId", "in": "query", "required": false, "description": "Property for which preferences are to be fetched.", "type": "string" }, { "name": "maxFetchSize", "in": "query", "required": false, "description": "Maximum records to be fetched.", "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": "A collection of preferences", "schema": { "$ref": "#/definitions/availablePreferences" } }, "204": { "description": "AvailablePreferences 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": [ "ProfileLOV" ] } }, "/profileMatch": { "get": { "summary": "Fetch the profile Id if a unique guest profile Exists", "description": "Use this operation to fetch guest profile (profile Id). This operation can be integrated with createReservation API, to prevent creation of duplicate profiles.

OperationId:getProfileMatch

", "operationId": "getProfileMatch", "deprecated": true, "parameters": [ { "name": "lastName", "in": "query", "minLength": 1, "maxLength": 40, "required": true, "description": "Last Name for the profile that needs to be matched.", "type": "string" }, { "name": "firstName", "in": "query", "minLength": 1, "maxLength": 40, "required": false, "description": "First Name for the profile that needs to be matched.", "type": "string" }, { "name": "membershipType", "in": "query", "minLength": 1, "maxLength": 20, "required": false, "description": "Membership Type for the profile that needs to be matched.", "type": "string" }, { "name": "membershipCardNumber", "in": "query", "minLength": 1, "maxLength": 50, "required": false, "description": "Membership Card Number for the profile that needs to be matched.", "type": "string" }, { "name": "identificationType", "in": "query", "required": false, "minLength": 1, "maxLength": 40, "description": "Identification Type for the profile that needs to be matched.", "type": "string" }, { "name": "identificationNumber", "in": "query", "required": false, "minLength": 1, "maxLength": 80, "description": "Identification Number for the profile that needs to be matched.", "type": "string" }, { "name": "email", "in": "query", "required": false, "description": "Email for the profile that needs to be matched.", "minLength": 1, "maxLength": 2000, "type": "string" }, { "name": "subscriptionType", "in": "query", "required": false, "minLength": 1, "maxLength": 20, "description": "Subscription Type for the profile that needs to be matched.", "type": "string" }, { "name": "subscriptionId", "in": "query", "required": false, "minLength": 1, "maxLength": 80, "description": "Subscription Id for the profile that needs to be matched.", "type": "string" }, { "name": "clientId", "in": "query", "required": false, "type": "string", "description": "Client Id for the profile that needs to be matched.", "minLength": 1, "maxLength": 80 }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 profile match.", "schema": { "$ref": "#/definitions/profileMatch" } }, "204": { "description": "No unique match found for the search criteria." }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/profileMatch/searches": { "post": { "summary": "Fetch the profile Id if a unique guest profile Exists", "description": "Use this operation to fetch guest profile (profile Id). This operation can be integrated with createReservation API, to prevent creation of duplicate profiles.

OperationId:searchProfileMatch

", "operationId": "searchProfileMatch", "parameters": [ { "in": "body", "name": "searchProfileMatchRequest", "description": "Search profile match request", "required": false, "schema": { "$ref": "#/definitions/searchProfileMatchRequest" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 profile match.", "schema": { "$ref": "#/definitions/profileMatch" } }, "204": { "description": "No unique match found for the search criteria." }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/profileMembershipStatistics": { "get": { "summary": "Get Membership statistics ", "description": "Retrieve the summary statistics and/or the details of each of the membership transactions and its points. You can filter by membership Type, or Membership Number.

OperationId:getProfileMembershipStatistics

This API allows a time span of 90 days.

", "operationId": "getProfileMembershipStatistics", "parameters": [ { "name": "profileId", "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": "membershipCardNo", "in": "query", "required": true, "description": "Number of the membership card.", "type": "string" }, { "name": "membershipType", "in": "query", "required": true, "description": "Type of membership.", "type": "string" }, { "name": "startDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "endDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "transactionDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "hotelId", "in": "query", "required": false, "description": "Membership transaction belongs to which Hotel.", "type": "string" }, { "name": "confirmationNumber", "in": "query", "required": false, "description": "Confirmation Number of the membership transaction.", "type": "string" }, { "name": "limit", "in": "query", "required": false, "default": 20, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "name": "duration", "in": "query", "required": false, "type": "string" }, { "name": "transactionDetail", "in": "query", "default": false, "required": false, "description": "Flag indicating whether to fetch detailed membership points information or just a summary of the total of the points.", "type": "boolean" }, { "name": "reference", "in": "query", "required": false, "description": "User-defined reference field for the Membership Transaction Adjustment.", "type": "string", "minLength": 1, "maxLength": 20 }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response of the WS operation FetchProfileMembershipPoints. It contains the summary statistics and/or the details of each of the membership transactions and its points.", "schema": { "$ref": "#/definitions/profileMembershipStatistics" } }, "204": { "description": "ProfileMembershipStatistics 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": [ "ProfileStatistics" ] } }, "/profileStatistics": { "get": { "summary": "Get Profile Statistics", "description": "This API provides summary/detail/revenue statistics information

OperationId:getProfileStatistics

This API allows a time span of 90 days.

", "operationId": "getProfileStatistics", "parameters": [ { "name": "profileId", "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": "hotelIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Hotel code.", "items": { "type": "string", "maxItems": 4000 }, "required": true }, { "name": "reportType", "in": "query", "required": true, "type": "string", "uniqueItems": true, "enum": [ "Reservation", "Revenue", "ProfileStayRecords", "DetailStayRecordsRevenue" ], "description": "Indicate to get revenue of Stay Records." }, { "name": "stayFrom", "in": "query", "required": false, "description": "Stay from date for report", "type": "string", "format": "date" }, { "name": "stayTo", "in": "query", "required": false, "description": "Stay to date for report", "type": "string", "format": "date" }, { "name": "summary", "in": "query", "required": false, "description": "Flag to indicate whether summary/detail report is requested.", "type": "boolean" }, { "name": "passerBy", "in": "query", "required": false, "description": "Flag to include passerBy records.", "type": "boolean" }, { "name": "contactProfileRoleType", "in": "query", "required": false, "type": "string", "uniqueItems": true, "enum": [ "AccountContact", "AgentContact", "ReservationContact", "ReservationBillingContact", "All" ], "description": "Profile Role Type All." }, { "name": "stayRecordId", "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": "stayRecordIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "stayRecordIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "reservationId", "in": "query", "required": false, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string" }, { "name": "reservationIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "reservationIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "currencyCode", "in": "query", "required": false, "description": "Indicates currency in which the stay revenue must be rendered.", "type": "string" }, { "name": "limit", "in": "query", "required": false, "default": 20, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching profile stay/reservation/revenue statistics. This object contains collection of summary or detail,Success,Warnings and Errors related to this operation.", "schema": { "$ref": "#/definitions/profileStatistics" } }, "204": { "description": "ProfileStatistics 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": [ "ProfileStatistics" ] } }, "/profileTransactions/{profileId}": { "get": { "summary": "Get Profile Transactions ", "description": "Retrieve the Transactions associated to a profile related to Stay Records or Membership Adjustments.

OperationId:getProfileTransactions

This API allows a time span of 90 days.

", "operationId": "getProfileTransactions", "parameters": [ { "name": "profileId", "in": "path", "type": "string", "description": "Profile Id for which we want to fetch transactions", "required": true }, { "name": "startDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "endDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "transactionDate", "in": "query", "required": false, "type": "string", "format": "date" }, { "name": "hotelId", "in": "query", "required": false, "description": "Stay Record or Membership transaction belongs to which Hotel.", "type": "string" }, { "name": "confirmationNumber", "in": "query", "required": false, "description": "Confirmation Number of the stay Record or Membership Transaction.", "type": "string" }, { "name": "limit", "in": "query", "required": false, "default": 20, "maximum": 100, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "name": "reference", "in": "query", "required": false, "description": "User-defined reference field for the Membership Transaction Adjustment.", "type": "string", "minLength": 1, "maxLength": 20 }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response of the WS operation FetchProfileTransactions.", "schema": { "$ref": "#/definitions/profileTransactions" } }, "204": { "description": "ProfileTransactions 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": [ "Profile" ] } }, "/profiles": { "get": { "summary": "Search for profile(s)", "description": "Use this API when you want to search for a profile. The response will include a list of profiles that exist in OPERA, based on your search criteria. For example, you want to see if a profile for Mr David Smith exists - you can search by various criteria, such as first, last name, email. The response will include a list of any profiles that exist for Mr Davis Smith. If a profile matches the criteria, and you want to get more details of that profile, proceed to use getProfile with the profileID in the request. In the response TotalResults=1000 means, it returns maximum 1000 matching records even matching records can be equal to or greater than 1000. To get more accurate results, provide more search criteria.

OperationId:getProfiles

The maximum allowable limit for this API is 200.

", "operationId": "getProfiles", "deprecated": true, "parameters": [ { "name": "excludeInactive", "in": "query", "required": false, "description": "Indicates whether to exclude Inactive Profiles, when true indicates that only profiles with active status will be displayed.", "type": "boolean" }, { "name": "hotelId", "in": "query", "required": false, "description": "Hotel Code, It is used to filter hotel specific children to this specific hotel code.", "type": "string" }, { "name": "includeHasHierarchyOnly", "in": "query", "required": false, "description": "Include profiles that have one or more relationships in the search.", "type": "boolean" }, { "name": "includePrimaryOwnersOnly", "in": "query", "required": false, "description": "Include primary owners in the search.", "type": "boolean" }, { "name": "includePurgeProfiles", "in": "query", "required": false, "description": "Include purged profiles in the search.", "type": "boolean" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "name": "searchType", "in": "query", "required": false, "type": "string", "description": "When search type is PatronTrackingSystemMemberProfiles, the FetchProfiles will return the Membership Number of the searched Membership Type regardless of primary flag or sequence of the profile memberships.", "uniqueItems": true, "enum": [ "PurgeableProfiles", "Any", "PatronTrackingSystemMemberProfiles" ] }, { "name": "summaryInfo", "in": "query", "required": false, "description": "When true response will return summary information otherwise detailed information.", "type": "boolean" }, { "name": "searchString", "in": "query", "required": false, "description": "Search string to be used for super search.", "type": "string" }, { "name": "includeAnonymized", "in": "query", "required": false, "description": "Indicates whether to include Anonymized Profiles.", "type": "boolean" }, { "name": "profileType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The types of Profile handled by the web service.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Guest", "Agent", "Company", "Group", "Source", "Employee", "Hotel", "Vendor", "Contact", "Purge", "BusinessHeader", "BillingAccount", "Activity", "Potential", "Account" ] }, "required": false }, { "name": "profileIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "externalReferenceIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "externalSystemCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "corporateIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "profileName", "in": "query", "required": false, "description": "Family name, last name or Company Name.", "type": "string" }, { "name": "givenName", "in": "query", "required": false, "description": "Given name, first name or names.", "type": "string" }, { "name": "incognitoName", "in": "query", "required": false, "description": "Family name, last name or Company Name.", "type": "string" }, { "name": "incognitoGivenName", "in": "query", "required": false, "description": "Given name, first name or names.", "type": "string" }, { "name": "city", "in": "query", "required": false, "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).", "type": "string" }, { "name": "postalCode", "in": "query", "required": false, "description": "Post Office Code number.", "type": "string" }, { "name": "state", "in": "query", "required": false, "description": "State or Province name (e.g., Texas).", "type": "string" }, { "name": "countryCode", "in": "query", "required": false, "description": "Code for a country or a nationality.", "type": "string" }, { "name": "streetAddress", "in": "query", "required": false, "description": "First Line of Street Address. For profile search it matches the first Address line.", "type": "string" }, { "name": "keyword", "in": "query", "required": false, "description": "Keyword associated to the profile.", "type": "string" }, { "name": "communication", "in": "query", "required": false, "description": "Any communication method associated to the profile such as phone, fax, email address.", "type": "string" }, { "name": "membership", "in": "query", "required": false, "description": "Membership number associated to the profile.", "type": "string" }, { "name": "membershipType", "in": "query", "required": false, "description": "Member Type of searching profile.", "type": "string" }, { "name": "ownerCodes", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "string", "maxItems": 4000 }, "required": false }, { "name": "membershipLevel", "in": "query", "required": false, "description": "Membership level associated to the profile.", "type": "string" }, { "name": "aRNumber", "in": "query", "required": false, "description": "Account Receivable associated to the profile.", "type": "string" }, { "name": "taxID", "in": "query", "required": false, "description": "Tax ID associated to the profile", "type": "string" }, { "name": "businessSegment", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Business/Market Segment associated to the profile.", "items": { "type": "string", "maxItems": 4000 }, "required": false }, { "name": "accountsReceivables", "in": "query", "required": false, "description": "When true indicates that only profiles with AR account fetched.", "type": "boolean" }, { "name": "corporateProfiles", "in": "query", "required": false, "description": "When true indicates that only profiles with client id are searched for.", "type": "boolean" }, { "name": "excludeIncompleteProfiles", "in": "query", "required": false, "description": "When true indicates that only profiles with an Address Line 1 and Country or at least one Communications Type will be displayed.", "type": "boolean" }, { "name": "negotiatedRates", "in": "query", "required": false, "description": "When true indicates that this option has to be included in advanced search.", "type": "boolean" }, { "name": "relatedProfileExcludeInactive", "in": "query", "required": false, "description": "Indicates whether to exclude Inactive Profiles, when true indicates that only profiles with active status will be displayed.", "type": "boolean" }, { "name": "realtedProfileIncludeHasHierarchyOnly", "in": "query", "required": false, "description": "Include profiles that have one or more relationships in the search.", "type": "boolean" }, { "name": "relatedProfileNegotiatedRates", "in": "query", "required": false, "description": "When true indicates that this option has to be included in advanced search.", "type": "boolean" }, { "name": "relatedProfileType", "in": "query", "required": false, "type": "string", "description": "The types of Profile handled by the web service.", "uniqueItems": true, "enum": [ "Guest", "Agent", "Company", "Group", "Source", "Employee", "Hotel", "Vendor", "Contact", "Purge", "BusinessHeader", "BillingAccount", "Activity", "Potential", "Account" ] }, { "name": "relatedProfileName", "in": "query", "required": false, "description": "Family name, last name or Company Name.", "type": "string" }, { "name": "protectedProfiles", "in": "query", "required": false, "description": "Indicates whether to exclude Protected Profiles.", "type": "boolean" }, { "name": "excludedProfilesId", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "idExtension", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Additional identifying value assigned by the creating system. This query parameter is deprecated.", "items": { "type": "integer" }, "required": false }, { "name": "excludedProfilesIdContext", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA). This query parameter is deprecated.", "items": { "type": "string" }, "required": false }, { "name": "excludedProfilesIdType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element. This query parameter is deprecated.", "items": { "type": "string" }, "required": false }, { "name": "identificationNo", "in": "query", "required": false, "description": "Any identification number associated with the profile such as Passport Number, StateID.", "type": "string" }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Room Ownership information associated with the profile.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Address", "Communication", "NegotiatedRate", "GdsNegotiatedRate", "Comment", "Membership", "Preference", "Keyword", "HistoryReservation", "FutureReservation", "Relationship", "Correspondence", "Routing", "Indicators", "Profile", "WebUserAccount", "SalesInfo", "ECertificate", "Subscriptions", "PrimaryAccountInfo", "DeliveryMethods", "RoomOwnership" ] }, "required": false }, { "name": "allowedAction", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Flag indicating whether Profile is Enrolled to Primary Membership Program.", "uniqueItems": true, "items": { "type": "string", "enum": [ "NameChange", "TaxIDChange", "EnrollToPrimaryMembership" ] }, "required": false }, { "name": "vipCodes", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "string", "maxItems": 4000 }, "required": false }, { "name": "prioritieCodes", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "string", "maxItems": 4000 }, "required": false }, { "name": "birthDate", "in": "query", "required": false, "description": "Date of birth", "type": "string", "format": "date" }, { "name": "phone", "in": "query", "required": false, "description": "The phone number associated to the profile.", "type": "string" }, { "name": "email", "in": "query", "required": false, "description": "The email address associated to the profile.", "type": "string" }, { "name": "lastStayBefore", "in": "query", "required": false, "description": "Date to filter profiles with stays before.", "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 profiles. This object contains profile primary details,profile summary details,master info list containing code and description used as lookup for description.", "schema": { "$ref": "#/definitions/profileSummaries" } }, "204": { "description": "Profiles 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": [ "Profile" ] }, "post": { "summary": "Create a profile", "description": "When a profile doesn't already exist for a guest, use this to create a new profile. The response will provide the newly created profile's OPERA ID. There are many fields in postProfile defined by ListOfValues; ensure you have reviewed ListOfValues APIs in order successfully to use postProfile.

OperationId:postProfile

", "operationId": "postProfile", "parameters": [ { "name": "profile", "in": "body", "required": true, "description": "Request object for creation of profiles. This object contains profile details with unique identifiers for each profile. The standard optional Opera Context element is also included.", "schema": { "allOf": [ { "$ref": "#/definitions/profile" }, { "example": { "profileIdList": [ { "type": "Profile", "idContext": "OPERA", "id": "3149001" } ], "profileDetails": { "customer": { "personName": [ { "givenName": "William", "middleName": "D", "surname": "Smith", "nameSuffix": "10", "nameTitle": "Mr.....", "envelopeGreeting": "Hello Mr. Smith", "salutation": "Mr. Smith", "nameType": "PRIMARY", "language": "E" } ], "citizenCountry": { "value": "United States of America", "code": "USA" }, "identifications": { "identificationInfo": [ { "identification": { "idType": "PASSPORT", "idNumber": "C03005988", "idNumberMasked": "C030059XX", "issuedCountry": "USA", "issuedDate": "2009-11-30", "issuedPlace": "New York", "expirationDate": "2019-11-29", "registeredProperty": "HOTEL1", "primaryInd": true } } ] }, "language": "E", "nationality": "US", "nationalityDescription": "USA", "vipStatus": "006", "vipDescription": "VVIP: Important person (Corporate office only)", "privateProfile": false }, "company": { "companyName": "Oracle America Inc", "companyName2": "Oracle Group Companies", "businessTitle": "Developer", "currencyCode": "USD", "currencySymbol": "$", "decimalPlaces": -100000000, "language": "E", "nationality": "USA", "nationalityDescription": "United States", "commissionCode": "", "creditRating": "", "corporateIdType": "", "vipStatus": "006", "vipDescription": "Important", "blacklist": false }, "addresses": { "addressInfo": [ { "address": { "addressLine": [ "500 Oracle Parkway" ], "cityName": "Redwood Shores", "postalCode": "94065", "cityExtension": "a", "state": "CA", "country": { "value": "USA", "code": "US" }, "language": "E", "type": "Office", "typeDescription": "Office address use", "primaryInd": false, "barCode": "", "createDateTime": "2019-09-18T21:09:36.498Z", "creatorId": "12883", "lastModifyDateTime": "2019-09-18T21:09:36.498Z", "lastModifierId": "12000" } } ] }, "territory": "North America", "telephones": { "telephoneInfo": [ { "telephone": { "phoneTechType": "PHONE", "phoneUseTypeDescription": "office", "phoneNumber": "+1 415 555 0100", "extension": "x25", "primaryInd": false, "orderSequence": -100000000, "createDateTime": "2019-09-18T21:09:36.499Z", "creatorId": "12883", "lastModifyDateTime": "2019-09-18T21:09:36.499Z", "lastModifierId": "12883" } } ] }, "emails": { "emailInfo": [ { "email": { "emailAddress": "eg@example.com", "type": "EMAIL", "typeDescription": "Email Address", "emailFormat": "EMAIL", "primaryInd": false, "orderSequence": -100000000, "createDateTime": "2019-09-17T18:18:32.415Z", "creatorId": "12883", "lastModifyDateTime": "2019-09-17T18:18:32.416Z", "lastModifierId": "12883" } } ] }, "comments": { "commentInfo": [ { "comment": { "text": { "value": "Please provide discount.", "language": "E" }, "commentTitle": "Discount", "type": "GEN", "typeDescription": "Comments for discount.", "internal": false, "confidential": false, "overrideInternal": false } } ] }, "profileAccessType": { "croCode": "HOTEL1", "sharedLevel": "CRO" }, "profileRestrictions": { "restricted": false }, "statusCode": "ACTIVE", "registeredProperty": "HOTEL1", "createDateTime": "2019-09-17 08:10:28.0", "creatorId": "12883", "lastModifyDateTime": "2019-09-17 08:23:05.0", "lastModifierId": "12883", "markForHistory": false }, "links": [ { "href": "http://hotelCompany.example.com/operarest/opera/crm/v2/guests", "rel": "guestProfile", "templated": false, "method": "POST", "operationId": "postGuestProfile" } ] } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/profiles/action/validate": { "get": { "summary": "Validate and check profiles", "description": "This API validates/checks allowed actions, the existence of attached records and/or indicators of a profile.

OperationId:checkProfileType

", "operationId": "checkProfileType", "parameters": [ { "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": "idContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "idType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "checkProfileInstruction", "in": "query", "enum": [ "HasWebAccounts" ], "required": false, "type": "string", "description": "Simple type that corresponds to check profile instructions.", "uniqueItems": true }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response for checking allowed actions, existence of attached records, or indicators of a profile.", "schema": { "$ref": "#/definitions/checkedProfiles" } }, "204": { "description": "checkProfileType 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": [ "Profile" ] } }, "/profiles/activityLog": { "get": { "summary": "Fetch profile activity log", "description": "Use this API to fetch the activity log for a specific profile. This will allow you to see the changes that have occurred on this profile.

OperationId:getProfileActivityLog

The maximum allowable limit for this API is 200.

", "operationId": "getProfileActivityLog", "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": "activityParamsHotelId", "in": "query", "required": false, "description": "Hotel code.", "type": "string" }, { "name": "module", "in": "query", "required": false, "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": false }, { "name": "parameterValue", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Value of the parameter.", "items": { "type": "string" }, "required": false }, { "name": "activityGroup", "in": "query", "required": false, "type": "string" }, { "name": "activityType", "in": "query", "required": false, "type": "string" }, { "name": "fromDate", "in": "query", "required": false, "description": "Search from date for the user activity log.", "type": "string", "format": "date" }, { "name": "toDate", "in": "query", "required": false, "description": "Search to date for the user activity log.", "type": "string", "format": "date" }, { "name": "searchText", "in": "query", "required": false, "description": "Search text for the user activity log.", "type": "string" }, { "name": "userByIDs", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "integer", "maxItems": 4000 }, "required": false }, { "name": "userForIDs", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "integer", "maxItems": 4000 }, "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 profile activity log. This object contains collection of user activity log for the profile,Success,Warnings and Errors related to this operation", "schema": { "$ref": "#/definitions/profileActivityLog" } }, "204": { "description": "ProfileActivityLog 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": [ "Profile" ] } }, "/profiles/profileMatches": { "get": { "summary": "Get potential profile matches", "description": "This API will provide a list of potential profiles matching the given criteria.

OperationId:getProfileMatches

", "operationId": "getProfileMatches", "deprecated": true, "parameters": [ { "name": "lastName", "in": "query", "required": false, "description": "Last name of the user", "type": "string" }, { "name": "firstName", "in": "query", "required": false, "description": "First name of the user", "type": "string" }, { "name": "AddressLine1", "in": "query", "required": false, "description": "First Line of Street Address. For profile search it matches the first Address line.", "type": "string" }, { "name": "AddressLine2", "in": "query", "required": false, "description": "Second Line of Street Address. For profile search it matches the first Address line.", "type": "string" }, { "name": "city", "in": "query", "required": false, "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).", "type": "string" }, { "name": "state", "in": "query", "required": false, "description": "State or Province name (e.g., Texas).", "type": "string" }, { "name": "postalCode", "in": "query", "required": false, "description": "Post Office Code number.", "type": "string" }, { "name": "country", "in": "query", "required": false, "description": "Country Address", "type": "string" }, { "name": "email", "in": "query", "required": false, "description": "Email linked to the user.", "type": "string" }, { "name": "phone", "in": "query", "required": false, "description": "Telephone linked to the user.", "type": "string" }, { "name": "matchPercentage", "in": "query", "required": false, "description": "match percentage criteria will exceed.", "type": "number" }, { "name": "legalCompany", "in": "query", "required": false, "description": "Name Of the company the individual is associated with.", "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 with the details of the profiles match.", "schema": { "$ref": "#/definitions/profileMatchType" } }, "204": { "description": "No profile Match 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": [ "Profile" ] } }, "/profiles/profileMatches/searches": { "post": { "summary": "Get potential profile matches", "description": "This API will provide a list of potential profiles matching the given criteria.

OperationId:searchProfileMatches

", "operationId": "searchProfileMatches", "parameters": [ { "in": "body", "name": "searchProfileMatchesRequest", "description": "Search profile matches request", "required": false, "schema": { "$ref": "#/definitions/searchProfileMatchesRequest" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 with the details of the profiles match.", "schema": { "$ref": "#/definitions/profileMatchType" } }, "204": { "description": "No profile Match 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": [ "Profile" ] } }, "/profiles/searches": { "post": { "summary": "Search for profile(s)", "description": "Use this API when you want to search for a profile. The response will include a list of profiles that exist in OPERA, based on your search criteria. For example, you want to see if a profile for Mr David Smith exists - you can search by various criteria, such as first, last name, email. The response will include a list of any profiles that exist for Mr Davis Smith. If a profile matches the criteria, and you want to get more details of that profile, proceed to use getProfile with the profileID in the request. In the response TotalResults=1000 means, it returns maximum 1000 matching records even matching records can be equal to or greater than 1000. To get more accurate results, provide more search criteria.

OperationId:searchProfiles

The maximum allowable limit for this API is 200.

", "operationId": "searchProfiles", "parameters": [ { "in": "body", "name": "searchProfilesRequest", "description": "Search profiles request", "required": false, "schema": { "$ref": "#/definitions/searchProfilesRequest" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 profiles. This object contains profile primary details,profile summary details,master info list containing code and description used as lookup for description.", "schema": { "$ref": "#/definitions/profileSummaries" } }, "204": { "description": "Profiles 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": [ "Profile" ] } }, "/profiles/stageProfileMatches": { "get": { "summary": "Get potential stage profile matches", "description": "This API provides a list of potential profiles matching the given stage profile.

OperationId:getStagedProfileMatches

", "operationId": "getStagedProfileMatches", "parameters": [ { "name": "hotelId", "in": "query", "required": false, "description": "The resort to which the profile belongs", "type": "string" }, { "name": "resortNameId", "in": "query", "required": false, "description": "Profile's external ID", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$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 with the details of the profiles match.", "schema": { "$ref": "#/definitions/stageProfileMatchesType" } }, "204": { "description": "No profile Match 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": [ "Profile" ] } }, "/profiles/{profileId}": { "get": { "summary": "Get profile by ID", "description": "You would use this to retrieve any type of profile, whether it is a company, travel agent, individual, source or group

OperationId:getProfile

", "operationId": "getProfile", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA internal profile ID which is used to find any type of profile from OPERA. This ID is a primary identification of a profile in OPERA." }, { "name": "hotelId", "in": "query", "required": false, "description": "Hotel Code used to filter hotel specific information regarding the profile.", "type": "string" }, { "name": "logViewProfile", "in": "query", "required": false, "description": "This element tells when the view profile should be logged.", "type": "boolean" }, { "name": "systemCode", "in": "query", "required": false, "description": "This element will be used to store external database.", "type": "string" }, { "name": "showInactiveRoomOwners", "in": "query", "required": false, "description": "Flag to show inactive Room Owners.", "type": "boolean" }, { "name": "markAsRecentlyAccessed", "in": "query", "required": false, "description": "Providing this flag marks the profile as recently accessed.", "type": "boolean" }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Room Ownership information associated with the profile.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Address", "Communication", "Comment", "Membership", "Preference", "Keyword", "Correspondence", "Profile", "Indicators", "SalesInfo", "Relationship", "Subscriptions", "DeliveryMethods", "GdsNegotiatedRate", "NegotiatedRate", "HistoryReservation", "FutureReservation", "WebUserAccount", "ProfileAccount" ] }, "required": false }, { "name": "instructionParameterType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type enumerating the different parameters accepted by a profile Instructions. Parameter names have the name of the instruction expecting it, and the parameter name itself.", "uniqueItems": true, "items": { "type": "string", "enum": [ "NegotiatedRateShowInactive", "NegotiatedRateResort", "NegotiatedRateMaxFetchCount", "NegotiatedRateCode", "GdsNegotiatedRateShowInactive", "PreferencesShowInactive", "ResortForRoutingInstructions", "RelationshipPrimaryProfile", "AddressPrimaryOnly", "CommunicationPrimaryOnly", "DeliveryMethodsHotelCode" ] }, "required": false }, { "name": "value", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Value of Profile Instruction Parameter", "items": { "type": "string" }, "required": false }, { "name": "allowedAction", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Flag indicating whether Profile is Enrolled to Primary Membership Program.", "uniqueItems": true, "items": { "type": "string", "enum": [ "NameChange", "TaxIDChange", "EnrollToPrimaryMembership" ] }, "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 profile.", "schema": { "$ref": "#/definitions/profile" }, "examples": { "application/json": { "profiles": { "profileInfo": [ { "profileIdList": [ { "type": "", "idContext": "a", "id": "a" } ], "profile": { "customer": { "personName": [ { "namePrefix": "a", "givenName": "Thomas", "middleName": "B", "surname": "Smith", "nameSuffix": "a", "nameTitle": "Mr", "nameTitleSuffix": -100000000, "envelopeGreeting": "", "salutation": "", "nameType": "PRIMARY", "language": "E" } ], "anonymization": { "anonymizationStatus": "REQUESTED", "anonymizationDate": "2019-09-03T14:56:18.21Z" }, "citizenCountry": { "name": "United States of America", "code": "US" }, "identifications": { "identificationInfo": [ { "identification": { "idType": "PASSPORT", "idNumber": "C03005988", "idNumberMasked": "C030059XX", "issuedCountry": "USA", "issuedDate": "2009-11-30", "issuedPlace": "New York", "expirationDate": "2019-11-29", "registeredProperty": "", "primaryInd": false, "orderSequence": -100000000 } } ] }, "profession": "Engineer", "alienInfo": { "alienRegistrationNo": "", "immigrationStatus": "a", "visaValidityType": "a" }, "birthCountry": { "name": "United States of America", "code": "US" }, "businessTitle": "Dr", "gender": "MALE", "birthDate": "2000-01-01", "birthDateMasked": "", "language": "EN", "nationality": "US", "nationalityDescription": "a", "customerValue": "a", "creditRating": "", "vipStatus": "2", "vipDescription": "Gold", "birthPlace": "New York", "privateProfile": false, "blacklist": false }, "company": { "companyName": "Example Corporation, Ltd.", "companyName2": "a", "companyName3": "a", "alternateName": "a", "alternateLanguage": "E", "businessLocale": "a", "iATAInfo": { "iATACompany": "a", "iATAConsortia": "a" }, "businessTitle": "a", "currencyCode": "USD", "currencySymbol": "a", "decimalPlaces": -100000000, "language": "", "nationality": "US", "nationalityDescription": "United States of America", "commissionCode": "", "creditRating": "", "corporateIdType": "", "vipStatus": "2", "vipDescription": "Gold VIP", "blacklist": false }, "profileImage": { "language": "", "imageSet": "a", "sequenceId": -100000000, "imageStyle": "FULL", "imageType": "a", "hotelCode": "", "imageURL": "a", "description": "a", "imageOrder": -100000000, "website": "a" }, "addresses": { "addressInfo": [ { "uniqueId": { "type": "", "idContext": "a", "id": "a" }, "address": { "addressLine": [ "500 Oracle Parkway" ], "cityName": "Redwood Shores", "postalCode": "94065", "cityExtension": "a", "state": "CA", "country": { "name": "United States of America", "code": "US" }, "language": "E", "type": "", "typeDescription": "", "primaryInd": false, "barCode": "a", "createDateTime": "2019-09-03T14:56:18.227Z", "creatorId": "a", "lastModifyDateTime": "2019-09-03T14:56:18.228Z", "lastModifierId": "a" } } ] }, "telephones": { "telephoneInfo": [ { "uniqueId": { "type": "", "idContext": "a", "id": "a" }, "telephone": { "phoneTechType": "PHONE", "phoneUseType": "MOBILE", "phoneUseTypeDescription": "Mobile Phone Number", "phoneNumber": "+1 415 555 0100", "extension": "2", "primaryInd": false, "orderSequence": -100000000, "createDateTime": "2019-09-03T14:56:18.23Z", "creatorId": "1234", "lastModifyDateTime": "2019-09-03T14:56:18.231Z", "lastModifierId": "1234" } } ] }, "emails": { "emailInfo": [ { "uniqueId": { "type": "", "idContext": "a", "id": "a" }, "email": { "emailAddress": "eg@example.com", "type": "BUSINESSEMAIL", "typeDescription": "Business Email Address", "emailFormat": "HTML", "primaryInd": false, "orderSequence": -100000000, "createDateTime": "2019-09-03T14:56:18.234Z", "creatorId": "1232", "lastModifyDateTime": "2019-09-03T14:56:18.234Z", "lastModifierId": "1232" } } ] }, "comments": { "commentInfo": [ { "uniqueId": { "type": "", "idContext": "a", "id": "a" }, "comment": { "text": { "value": "", "language": "" }, "commentTitle": "a", "notificationLocation": "", "type": "", "typeDescription": "a", "internal": false, "confidential": false, "overrideInternal": false, "protectDescription": false, "hotelCode": "", "actionType": "", "actionDate": "0101-01-01", "createDateTime": "2019-09-03T14:56:18.239Z", "creatorId": "a", "lastModifyDateTime": "2019-09-03T14:56:18.239Z", "lastModifierId": "a" } } ] }, "profileMemberships": { "profileMembership": [ { "comment": { "text": { "value": "", "language": "" } }, "newMembershipId": "", "nameOnCard": "Thomas Smith", "programDescription": "Hotel Plus Membership", "membershipLevel": "Gold", "membershipLevelDescription": "Gold Level", "membershipClass": "MEM", "earningPreference": "POINTS", "inactive": false, "benefits": [ { "code": "", "message": "a", "inactive": false } ], "tierAdministration": "DISABLED", "downgrade": "GRACE", "reIssueNewCard": "PENDING", "excludeFromBatch": false, "upgradeDescription": "a", "downgradeDescription": "a", "rating": "", "membershipEnrollmentCode": "", "memberStatus": "", "currentPoints": -100000000, "pointsLabel": "a", "enrollmentSource": "", "enrollmentResort": "", "preferredCard": false, "membershipId": "", "membershipType": "", "primaryMembershipYn": "a", "membershipIdNo": -100000000, "centralSetup": false, "signupDate": "0101-01-01", "effectiveDate": "0101-01-01", "expireDate": "0101-01-01", "expireDateExclusiveIndicator": false, "orderSequence": -100000000, "createDateTime": "2019-09-03T14:56:18.247Z", "creatorId": "a", "lastModifyDateTime": "2019-09-03T14:56:18.248Z", "lastModifierId": "a" } ] }, "preferenceCollection": { "preferenceType": [ { "preference": [ {} ], "preferenceType": "", "preferenceTypeDescription": "", "sequence": "", "maxQuantity": -100000000, "availableQuantity": -100000000, "maxResortUsedQuantity": -100000000, "reservationPreference": false, "createDateTime": "2019-09-03T14:56:18.249Z", "creatorId": "a", "lastModifyDateTime": "2019-09-03T14:56:18.249Z", "lastModifierId": "a" } ] }, "keywords": { "keyword": [ { "keywordDetail": { "newKeyword": "a" }, "type": "", "keyword": "a" } ] }, "profileIndicators": [ { "indicatorName": "a", "count": -100000000 } ], "lastStayInfo": { "lastVisit": "0101-01-01", "lastRoom": "", "lastRate": { "amount": -100000000, "currencyCode": "aaa" }, "totalStay": -100000000 }, "profileAccessType": { "chainCode": "a", "croCode": "a", "hotelCode": "a", "sharedLevel": "GLOBAL" }, "profileRestrictions": { "reason": "", "reasonDescription": "a", "restricted": false }, "mailingActions": { "mailingAction": [ { "code": "", "description": "a" } ], "active": false, "totalRows": -100000000 }, "privacyInfo": { "marketResearchParticipation": false, "lastPrivacyPromptDate": "2000-01-01", "infoFromThirdParty": false, "autoEnrollLoyaltyProgram": false, "allowPhone": false, "allowSMS": false, "allowEmail": false, "optInMailingList": false, "optInMarketResearch": false, "optInThirdParty": false, "optInAutoEnrollmentMember": false, "optInPhone": false, "optInSms": false, "optInEmail": false }, "userDefinedFields": { "characterUDFs": [ { "name": "a", "value": "a", "altname": "a" } ], "numericUDFs": [ { "name": "a", "value": -100000000, "altname": "a" } ], "dateUDFs": [ { "name": "a", "value": "0101-01-01", "altname": "a" } ] }, "localizationGuestType": "a", "profileType": "GUEST", "statusCode": "ACTIVE", "registeredProperty": "", "requestForHotel": "", "protectedBy": "a", "createDateTime": "2000-09-03T14:56:18.259Z", "creatorId": "1200", "lastModifyDateTime": "2000-09-03T14:56:18.259Z", "lastModifierId": "1200", "markAsRecentlyAccessed": false, "markForHistory": false, "hasCommission": false } } ], "totalRows": -100000000 }, "links": [ { "href": "", "rel": "", "method": "GET", "operationId": "", "templated": false, "targetSchema": "", "title": "" } ] } } }, "204": { "description": "Profile 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": [ "Profile" ] }, "put": { "summary": "Update a profile by ID", "description": "Use this to update a guests details on their profile. You will need to know the OPERA Profile ID to use this API, and you will also need to know the List of Values for profile fields, such as AddressType, PhoneType, Title.

OperationId:putProfile

", "operationId": "putProfile", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "OPERA internal profile ID which is used to uniquely identify the profile in OPERA. This ID is a primary identification of a profile in OPERA." }, { "name": "profile", "in": "body", "required": true, "description": "Request object for change/modification of profile details. This object contains modified profile details with unique identifiers for each profile. The standard optional Opera Context element is also included.", "schema": { "allOf": [ { "$ref": "#/definitions/profile" }, { "example": { "profileIdList": [ { "type": "Profile", "idContext": "OPERA", "id": "3149001" } ], "profileDetails": { "customer": { "personName": [ { "givenName": "William", "middleName": "D", "surname": "Smith", "nameSuffix": "10", "nameTitle": "Mr.....", "envelopeGreeting": "Hello Mr. Smith", "salutation": "Mr. Smith", "nameType": "PRIMARY", "language": "E" } ], "citizenCountry": { "value": "United States of America", "code": "USA" }, "identifications": { "identificationInfo": [ { "identification": { "idType": "PASSPORT", "idNumber": "C03005988", "idNumberMasked": "C030059XX", "issuedCountry": "USA", "issuedDate": "2009-11-30", "issuedPlace": "New York", "expirationDate": "2019-11-29", "registeredProperty": "HOTEL1", "primaryInd": true } } ] }, "language": "E", "nationality": "US", "nationalityDescription": "USA", "vipStatus": "006", "vipDescription": "VVIP: VV important person", "privateProfile": false }, "company": { "companyName": "Oracle America Inc", "companyName2": "Oracle Group Companies", "businessTitle": "Developer", "currencyCode": "USD", "currencySymbol": "$", "decimalPlaces": -100000000, "language": "E", "nationality": "USA", "nationalityDescription": "United States", "commissionCode": "", "creditRating": "", "corporateIdType": "", "vipStatus": "006", "vipDescription": "Important", "blacklist": false, "longaccountname": "Nieskoczono Spka. Rozwj Neurologiczny dla Interfejsu Mzg-Komputer Spka z ograniczon odpowiedzialnoci. Romanowski, Kiljaczyk i Wsplnicy Rozwj oprogramowania operacyjnego Spka z ograniczon odpowiedzialnoci. Spka komandytowa." }, "addresses": { "addressInfo": [ { "address": { "addressLine": [ "500 Oracle Parkway" ], "cityName": "Redwood Shores", "postalCode": "94065", "cityExtension": "a", "state": "CA", "country": { "value": "USA", "code": "US" }, "language": "E", "type": "Office", "typeDescription": "This is office address.", "primaryInd": false, "barCode": "", "createDateTime": "2019-09-18T21:09:36.498Z", "creatorId": "12883", "lastModifyDateTime": "2019-09-18T21:09:36.498Z", "lastModifierId": "12883" } } ] }, "territory": "North America", "telephones": { "telephoneInfo": [ { "telephone": { "phoneTechType": "PHONE", "phoneUseTypeDescription": "office", "phoneNumber": "+1 415 555 0100", "extension": "x25", "primaryInd": false, "orderSequence": -100000000, "createDateTime": "2019-09-18T21:09:36.499Z", "creatorId": "12883", "lastModifyDateTime": "2019-09-18T21:09:36.499Z", "lastModifierId": "12883" } } ] }, "emails": { "emailInfo": [ { "email": { "emailAddress": "eg@example.com", "type": "EMAIL", "typeDescription": "Email Address", "emailFormat": "EMAIL", "primaryInd": false, "orderSequence": -100000000, "createDateTime": "2019-09-17T18:18:32.415Z", "creatorId": "12883", "lastModifyDateTime": "2019-09-17T18:18:32.416Z", "lastModifierId": "12883" } } ] }, "comments": { "commentInfo": [ { "comment": { "text": { "value": "Please add comments here.", "language": "E" }, "commentTitle": "Discount", "type": "GEN", "typeDescription": "Comments for discount.", "internal": false, "confidential": false, "overrideInternal": false } } ] }, "profileAccessType": { "croCode": "HOTEL1", "sharedLevel": "CRO" }, "profileRestrictions": { "restricted": false }, "statusCode": "ACTIVE", "registeredProperty": "HOTEL1", "createDateTime": "2019-09-17 08:10:28.0", "creatorId": "12883", "lastModifyDateTime": "2019-09-17 08:23:05.0", "lastModifierId": "12883", "markForHistory": false }, "links": [ { "href": "http://hotelCompany.example.com/operarest/opera/crm/v2/guests", "rel": "guestProfile", "templated": false, "method": "POST", "operationId": "postGuestProfile" } ] } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 change/modification of profile details. This object contains the profile details with unique identifiers for each profile. Also Success,Warnings and Errors related to this operation.", "schema": { "$ref": "#/definitions/profile" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] }, "delete": { "summary": "Forget or delete a profile by ID", "description": "Use this to anonymize a guest or contact profile in OPERA.

OperationId:deleteProfile

", "operationId": "deleteProfile", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "OPERA internal profile ID which is used to uniquely identify the profile in OPERA. This ID is a primary identification of a profile in OPERA." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "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": [ "Profile" ] } }, "/profiles/{profileId}/accounts": { "get": { "summary": "Get profile accounts", "description": "You can find the accounts that are listed on a profile with this API.

OperationId:getProfileAccounts

", "operationId": "getProfileAccounts", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "idContext", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "type", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "hotelIds", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "string", "maxItems": 4000 }, "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 of profile accounts.", "schema": { "$ref": "#/definitions/profileAccounts" } }, "204": { "description": "ProfileAccounts 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": [ "Profile" ] } }, "/profiles/{profileId}/attachments": { "get": { "summary": "Get profile attachments", "description": "This API will provide the attachments on a profile in OPERA Cloud.

OperationId:getProfileAttachments

", "operationId": "getProfileAttachments", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "idContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "type", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "attachedFileName", "in": "query", "required": false, "type": "string", "minLength": 1, "maxLength": 2000, "description": "File name used to filter final list of attachments. For example, Document.txt." }, { "name": "description", "in": "query", "required": false, "type": "string", "minLength": 1, "maxLength": 100, "description": "Description used to filter final list of attachments. For example, Offical guest ID. (This parameter does not require wildcard characters like * or % )." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 with the details of the attachments of a profile.", "schema": { "$ref": "#/definitions/profileAttachments" } }, "204": { "description": "ProfileAttachments 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": [ "Profile" ] } }, "/profiles/{profileId}/attachments/{attachmentId}": { "delete": { "summary": "Delete profile attachment", "description": "This API will delete an attachment on a profile in OPERA Cloud.

OperationId:deleteProfileAttachment

", "operationId": "deleteProfileAttachment", "parameters": [ { "name": "attachmentId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "idExtension", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Additional identifying value assigned by the creating system.", "items": { "type": "integer" }, "required": false }, { "name": "idContext", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "type", "in": "query", "type": "array", "collectionFormat": "multi", "default": [ "Profile" ], "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "uniqueIdIdExtension", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Additional identifying value assigned by the creating system.", "items": { "type": "integer" }, "required": false }, { "name": "uniqueIdIdContext", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "uniqueIdType", "in": "query", "type": "array", "collectionFormat": "multi", "default": [ "Attachment" ], "description": "A reference to the type of object defined by the UniqueID element.", "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": [ "Profile" ] } }, "/profiles/{profileId}/awards/redeem": { "put": { "summary": "Redeem an award", "description": "Redeem an award that exists on a profile.

OperationId:redeemAward

", "operationId": "redeemAward", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "award", "in": "body", "required": true, "description": "Request object to redeem award.", "schema": { "allOf": [ { "$ref": "#/definitions/award" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 redeem award.", "schema": { "$ref": "#/definitions/award" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "ProfileMembership" ] } }, "/profiles/{profileId}/awardsAndCertificates": { "get": { "summary": "Get Profile awards and certificates", "description": "Get Profile awards and certificates that exist on a profile.

OperationId:getAwards

", "operationId": "getAwards", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "profileContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "profileType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "hotelId", "in": "query", "required": false, "description": "Hotel Code for which the routing instructions are provided for a profile.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response of fetch awards request.", "schema": { "$ref": "#/definitions/awardDetails" } }, "204": { "description": "Awards not found." }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/profiles/{profileId}/cashieringDetails": { "get": { "summary": "Get cashiering details for a profile", "description": "Retrieve any profile Financial details that exists on a profile (typically Company or Travel Agent profiles). This includes Routing Instructions on the profile.

OperationId:getCashieringDetails

", "operationId": "getCashieringDetails", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "fetchPaymentMethod", "in": "query", "required": false, "description": "Boolean flag that indicates whether the payment method has to be fetched or not.", "type": "boolean" }, { "name": "fetchRoutingInstruction", "in": "query", "required": false, "description": "Boolean flag that indicates whether the routing instruction has to be fetched or not.", "type": "boolean" }, { "name": "idContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "idType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "hotelIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "List of Hotel Codes.", "items": { "type": "string", "maxItems": 4000 }, "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 containing profile routing instructions.", "schema": { "$ref": "#/definitions/profileCashieringDetailsInfo" } }, "204": { "description": "CashieringDetails 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": [ "Profile" ] }, "put": { "summary": "Change cashiering details for a profile", "description": "Update a profiles Financial details, such as billing, routing instructions.

OperationId:changeProfileCashieringDetails

", "operationId": "changeProfileCashieringDetails", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "profileCashieringDetails", "in": "body", "required": true, "description": "Request object for changing the profile cashiering details.", "schema": { "allOf": [ { "$ref": "#/definitions/profileCashieringDetails" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/profiles/{profileId}/commissionAccount": { "get": { "summary": "Get commission account on a profile", "description": "Retrieve Commission Account details from a specified profile.

OperationId:getProfileCommissionAccount

", "operationId": "getProfileCommissionAccount", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "hotelIds", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "string", "maxItems": 4000 }, "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 profile commission detail.", "schema": { "$ref": "#/definitions/profileCommissionAccountInfo" } }, "204": { "description": "ProfileCommissionAccount 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": [ "Profile" ] }, "delete": { "summary": "Delete a commission account from a profile", "description": "Delete a Commission Account from a specified profile.

OperationId:deleteProfileCommissionAccount

", "operationId": "deleteProfileCommissionAccount", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "validatePending", "in": "query", "required": false, "description": "Used in CRUD operations. When set to true, proceed validating pending commissions", "type": "boolean" }, { "name": "hotelId", "in": "query", "required": false, "description": "Hotel code from which the profile bank account and code belongs to", "type": "string" }, { "name": "profileIdExtension", "in": "query", "required": false, "description": "Additional identifying value assigned by the creating system.", "type": "integer" }, { "name": "profileContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "profileType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "bankAccountId", "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": "bankAccountIdExtension", "in": "query", "required": false, "description": "Additional identifying value assigned by the creating system.", "type": "integer" }, { "name": "bankAccountIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "bankAccountIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "commissionCode", "in": "query", "required": false, "description": "Code.", "type": "string" }, { "name": "description", "in": "query", "required": false, "description": "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" }, "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": [ "Profile" ] }, "post": { "summary": "Add a commission account on a profile", "description": "Add a commission account on a profile. You can only add commission accounts onto a Travel Agent or Source Profile type in OPERA Cloud.

OperationId:postProfileCommissionAccount

", "operationId": "postProfileCommissionAccount", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "profileCommissionAccount", "in": "body", "required": true, "description": "Request object for creating profile commission detail.", "schema": { "allOf": [ { "$ref": "#/definitions/profileCommissionAccount" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] }, "put": { "summary": "Set profile commission account", "description": "Apply a commission account to an existing profile. You can add commission accounts to Travel Agent profile types.

OperationId:setProfileCommissionAccount

", "operationId": "setProfileCommissionAccount", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "profileCommissionAccount", "in": "body", "required": true, "description": "Request object for updating profile commission detail.", "schema": { "allOf": [ { "$ref": "#/definitions/profileCommissionAccount" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/profiles/{profileId}/emails": { "post": { "summary": "Create an Email.", "description": "Use this API to create a new Email in OPERA. You would need to know the Profile Id such as Contact or Account.

OperationId:storeEmail

", "operationId": "storeEmail", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Profile ID linked to an Email." }, { "name": "emailMessageType", "in": "body", "required": true, "description": "Request object for storing an email.", "schema": { "allOf": [ { "$ref": "#/definitions/emailMessageType" }, { "example": { "blockId": "13701", "fromAddress": "eg@example.com", "toAddress": [ "Example1@email.com" ], "subject": "First Email Subject", "emailBody": "base 64 encoded email body should be placed here", "messageId": "12345", "emailReceiveDate": "2020-07-15T17:16:47.617Z", "hasAttachment": true } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/profiles/{profileId}/flexFieldValues": { "get": { "summary": "Operation to fetch flex field values.", "description": "API to fetch flex field values.

OperationId:getAllFlexFieldValues

", "operationId": "getAllProfileFlexFieldValues", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA internal profile ID which is used to find any type of profile from OPERA. This ID is a primary identification of a profile in OPERA." }, { "name": "hotelIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Hotel code", "items": { "type": "string", "maxItems": 50 }, "required": true }, { "name": "flexFieldId", "in": "query", "type": "number", "description": "Flex field ID", "required": false }, { "name": "flexFieldCode", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Flex field code", "items": { "type": "string", "maxItems": 50 }, "required": false }, { "name": "flexFieldValue", "in": "query", "type": "string", "description": "Flex field Value", "required": false }, { "name": "limit", "in": "query", "required": false, "default": 50, "maximum": 100, "description": "Indicates maximum number of records a Web Service should return. Default is 50", "type": "integer" }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching flex field Values.", "schema": { "$ref": "#/definitions/flexFieldsResponse" } }, "204": { "description": "Flex field details not found." }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/profiles/{profileId}/hotels/{hotelId}/forecasts": { "get": { "summary": "Fetch Account Forecasts by hotel", "description": "You can use this API to retrieve account forecasts for a hotel

OperationId:getAccountForecasts

The maximum allowable limit for this API is 200.

", "operationId": "getAccountForecasts", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Hotel Code" }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA internal account profile ID" }, { "name": "fromPeriodCode", "in": "query", "required": false, "description": "Specifies the From Fiscal or Calendar Period Code", "type": "string" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching forecasts of an account profile.", "schema": { "$ref": "#/definitions/accountForecasts" } }, "204": { "description": "AccountForecasts 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": [ "Profile" ] }, "post": { "summary": "Create account forecast in a hotel", "description": "Use postAccountForecast to create a new account forecast for a hotel.

OperationId:postAccountForecast

", "operationId": "postAccountForecast", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel" }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA internal account profile ID" }, { "name": "forecastsInformation", "in": "body", "required": true, "description": "Request object for creating forecast(s) of an account profile.", "schema": { "allOf": [ { "$ref": "#/definitions/forecastsInformation" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] }, "delete": { "summary": "Delete multiple account forecasts", "description": "Use this API to delete multiple account forecasts.

OperationId:deleteMultipleAccountForecasts

", "operationId": "deleteMultipleAccountForecasts", "parameters": [ { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000 }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique OPERA internal account profile ID" }, { "name": "periodCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used for codes in the OPERA Code tables. Possible values of this pattern are 1, 101, 101.EQP, or 101.EQP.X.", "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": [ "Profile" ] } }, "/profiles/{profileId}/hotels/{hotelId}/forecasts/periodCodes/{periodCode}": { "put": { "summary": "Update account forecast in a hotel by period code", "description": "Use this to update an existing account Forecast for a hotel. You must know the period code for this API.

OperationId:putAccountForecast

", "operationId": "putAccountForecast", "parameters": [ { "name": "periodCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Period Code" }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel." }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Account Profile ID." }, { "name": "forecastsInformation", "in": "body", "required": true, "description": "Request object for changing forecast(s) of an account profile.", "schema": { "allOf": [ { "$ref": "#/definitions/forecastsInformation" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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/changeAccountForecastsRS" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] }, "delete": { "summary": "Delete account forecast in a hotel by period code", "description": "Use this to delete an existing account Forecast for a hotel. You must know the period code for this API.

OperationId:deleteAccountForecast

", "operationId": "deleteAccountForecast", "parameters": [ { "name": "periodCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Period Code." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique ID of the hotel." }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Unique Account Profile ID." }, { "name": "periodCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used for codes in the OPERA Code tables. Possible values of this pattern are 1, 101, 101.EQP, or 101.EQP.X.", "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": [ "Profile" ] } }, "/profiles/{profileId}/hotels/{hotelId}/preferenceType/{preferenceType}/preferences/{preferenceCode}": { "delete": { "summary": "Delete a preference from a profile", "description": "This will allow you to delete a preference code from a profile. For example the guest no longer has a preference for High Floor Room, so you would go ahead and delete this preference from their profile.

OperationId:deletePreference

", "operationId": "deletePreference", "parameters": [ { "name": "preferenceCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "preferenceType", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "registeredProperty", "in": "query", "required": false, "type": "string", "description": "Profiles Registered 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": [ "Profile" ] } }, "/profiles/{profileId}/hotels/{hotelId}/stagedProfile": { "delete": { "summary": "Delete a staged profile", "description": "This API can be used to delete a staged profile.

OperationId:deleteStagedProfile

", "operationId": "deleteStagedProfile", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Profile id of staged profile." }, { "name": "hotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 20, "description": "Hotel id of staged profile." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/profiles/{profileId}/links": { "get": { "summary": "Get linked profiles", "description": "Retrieves profiles that are linked to an existing profile in OPERA Cloud, and maximum 1000 matching records can be fetched even if the matching records equal to or greater than 1000.

OperationId:getLinkedProfiles

", "operationId": "getLinkedProfiles", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "idContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "idType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "profileTypes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "The types of Profile handled by the web service.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Guest", "Agent", "Company", "Group", "Source", "Employee", "Hotel", "Vendor", "Contact", "Purge", "BusinessHeader", "BillingAccount", "Activity", "Potential", "Account" ] }, "required": false }, { "name": "accountsReceivables", "in": "query", "required": false, "description": "When true indicates that only profiles with AR account fetched.", "type": "boolean" }, { "name": "corporateProfiles", "in": "query", "required": false, "description": "When true indicates that only profiles with client id are searched for.", "type": "boolean" }, { "name": "excludeInactive", "in": "query", "required": false, "description": "Indicates whether to exclude Inactive Profiles, when true indicates that only profiles with active status will be displayed.", "type": "boolean" }, { "name": "excludeIncompleteProfiles", "in": "query", "required": false, "description": "When true indicates that only profiles with an Address Line 1 and Country or at least one Communications Type will be displayed.", "type": "boolean" }, { "name": "includeHasHierarchyOnly", "in": "query", "required": false, "description": "Include profiles that have one or more relationships in the search.", "type": "boolean" }, { "name": "negotiatedRates", "in": "query", "required": false, "description": "When true indicates that this option has to be included in advanced search.", "type": "boolean" }, { "name": "linkedProfileAdditionalCriteriaProfileType", "in": "query", "required": false, "type": "string", "description": "The types of Profile handled by the web service.", "uniqueItems": true, "enum": [ "Guest", "Agent", "Company", "Group", "Source", "Employee", "Hotel", "Vendor", "Contact", "Purge", "BusinessHeader", "BillingAccount", "Activity", "Potential", "Account" ] }, { "name": "linkedProfileid", "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": "linkedProfileIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "linkedProfileIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "name", "in": "query", "required": false, "description": "Family name, last name or Company Name.", "type": "string" }, { "name": "givenName", "in": "query", "required": false, "description": "Given name, first name or names.", "type": "string" }, { "name": "excludeNoCity", "in": "query", "required": false, "description": "When true indicates that only profiles with city will be fetched.", "type": "boolean" }, { "name": "cityName", "in": "query", "required": false, "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).", "type": "string" }, { "name": "postalCode", "in": "query", "required": false, "description": "Post Office Code number.", "type": "string" }, { "name": "state", "in": "query", "required": false, "description": "State or Province name (e.g., Texas).", "type": "string" }, { "name": "countryCode", "in": "query", "required": false, "description": "Code for a country or a nationality.", "type": "string" }, { "name": "streetAddress", "in": "query", "required": false, "description": "First Line of Street Address. For profile search it matches the first Address line.", "type": "string" }, { "name": "ownerCode", "in": "query", "required": false, "type": "array", "maxItems": 4000, "items": { "type": "string" } }, { "name": "aRNumber", "in": "query", "required": false, "description": "Account Receivable associated to the profile.", "type": "string" }, { "name": "prioritiesCode", "in": "query", "required": false, "type": "array", "maxItems": 4000, "items": { "type": "string" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response of fetch set of linked Profiles to the requested Profile.", "schema": { "$ref": "#/definitions/linkedProfiles" } }, "204": { "description": "LinkedProfiles 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": [ "Profile" ] } }, "/profiles/{profileId}/matches": { "get": { "summary": "Get profile matches", "description": "Retrieve profiles that match another profile.

OperationId:getMatchProfiles

", "operationId": "getMatchProfiles", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "hotelId", "in": "query", "required": false, "description": "Hotel Code for the profile.", "type": "string" }, { "name": "idContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "idType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for the match profiles.", "schema": { "$ref": "#/definitions/matchedProfiles" } }, "204": { "description": "MatchProfiles 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": [ "Profile" ] } }, "/profiles/{profileId}/membershipTransactionExceptions": { "get": { "summary": "Get membership transaction exception details", "description": "Use this API to get membership transaction exceptions on a profile.

OperationId:getMembershipTransactionExceptions

This API allows a time span of 90 days.

", "operationId": "getMembershipTransactionExceptions", "deprecated": true, "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "hotelId", "in": "query", "required": false, "description": "Membership belongs to which Hotel.", "type": "string" }, { "name": "end", "in": "query", "required": false, "description": "The ending value of the date range.", "type": "string", "format": "date" }, { "name": "start", "in": "query", "required": false, "description": "The starting value of the date range.", "type": "string", "format": "date" }, { "name": "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": "idContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "type", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "membershipType", "in": "query", "required": false, "description": "The type of the membership.", "type": "string" }, { "name": "membershipLevel", "in": "query", "required": false, "description": "The current level of the membership.", "type": "string" }, { "name": "membershipCardNo", "in": "query", "required": false, "description": "The card number associated with this membership.", "type": "string" }, { "name": "includeEPE", "in": "query", "required": false, "description": "Indicates to Include External Processing Exception", "type": "boolean" }, { "name": "exceptionType", "in": "query", "required": false, "description": "Indicates the type of Exception like Exception not resolved,Points Rejected on Exception etc.,", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching membership transaction exceptions.", "schema": { "$ref": "#/definitions/membershipTransactionExceptions" } }, "204": { "description": "MembershipTransactionExceptions 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": [ "ProfileMembership" ] } }, "/profiles/{profileId}/membershipType/{membershipType}/membershipId/{membershipId}": { "put": { "summary": "Change membership information on a profile", "description": "Use this API to update membership details on a profile.

OperationId:changeMembership

", "operationId": "changeMembership", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "membershipType", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "membership", "in": "body", "required": true, "description": "Request object for change/update membership. This object contains unique identifiers for each profile and list of membership details to be updated/changed. The standard optional Opera Context element is also included.", "schema": { "allOf": [ { "$ref": "#/definitions/membership" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 change/update membership. This object contains collection of memberships,Success,Warnings and Errors related to this operation", "schema": { "$ref": "#/definitions/changedMembership" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] }, "delete": { "summary": "Delete membership information from a profile", "description": "Use this API to delete membership details on a profile.

OperationId:deleteMembership

", "operationId": "deleteMembership", "parameters": [ { "name": "membershipId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "membershipType", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/profiles/{profileId}/memberships": { "post": { "summary": "Create membership on a profile", "description": "A guest might be a member of your hotel loyalty program and/or a member of multiple airline frequent flier programs. Use this API to add membership details onto a guests profile.

OperationId:postMembership

", "operationId": "postMembership", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "membership", "in": "body", "required": true, "description": "Request object for create membership. This object contains unique identifiers for each profile and list of membership details to be created. The standard optional Opera Context element is also included.", "schema": { "allOf": [ { "$ref": "#/definitions/membership" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/profiles/{profileId}/memberships/history": { "get": { "summary": "Get membership card history information on a profile", "description": "Use this API to retrieve membership card history on a profile.

OperationId:getMembershipCardHistory

", "operationId": "getMembershipCardHistory", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Profile Id of the guest." }, { "name": "limit", "in": "query", "required": false, "default": 20, "maximum": 100, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for list of membership card number changes.", "schema": { "$ref": "#/definitions/memberCardHistoryList" } }, "204": { "description": "memberCardHistory 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": [ "ProfileMembership" ] } }, "/profiles/{profileId}/memberships/info": { "get": { "summary": "Get membership information on a profile", "description": "Use this API to retrieve membership details on a profile.

OperationId:getMembershipDetails

This API allows a time span of 90 days.

", "operationId": "getMembershipDetails", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "id", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "idContext", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "idType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "membershipType", "in": "query", "required": false, "description": "The type of the membership.", "type": "string" }, { "name": "membershipId", "in": "query", "required": false, "description": "The card number associated with this membership.", "type": "string" }, { "name": "hotelId", "in": "query", "required": false, "description": "Property from which the membership stay information was received.", "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": "mode", "in": "query", "required": false, "type": "string", "description": "Whether member info search will pertain to transaction dates/ stay dates/ points credit dates.", "uniqueItems": true, "enum": [ "TransactionDate", "StayBeginDate", "StayEndDate", "PointsCreditDate" ] }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 member info.", "schema": { "$ref": "#/definitions/memberInformation" } }, "204": { "description": "MembershipDetails 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": [ "ProfileMembership" ] } }, "/profiles/{profileId}/owners": { "get": { "summary": "Get profile owners", "description": "Retrieve the Owners listed on a profile.

OperationId:getProfileOwners

", "operationId": "getProfileOwners", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "id", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "idContext", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "type", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object to fetch the owners of a profile.", "schema": { "$ref": "#/definitions/profileOwnersDetail" } }, "204": { "description": "ProfileOwners 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": [ "Profile" ] }, "put": { "summary": "Change profile owners", "description": "Update an Owner on a profile

OperationId:changeProfileOwners

", "operationId": "changeProfileOwners", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "profileOwners", "in": "body", "required": true, "description": "Request object to change profile owners.", "schema": { "allOf": [ { "$ref": "#/definitions/profileOwners" }, { "example": { "criteria": { "profileIdList": { "id": 1017420, "type": "Profile" }, "owners": [ { "ownerCode": "MLW", "profileId": { "idContext": "OPERA", "id": 1017420, "type": "Profile" }, "hotel": { "code": "HOTEL1" }, "primary": 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": "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": [ "Profile" ] }, "post": { "summary": "Assign profile owners", "description": "Assign an Owner to a profile.

OperationId:postProfileOwners

", "operationId": "postProfileOwners", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "profileOwners", "in": "body", "required": true, "description": "Request object to assign profile owners.", "schema": { "allOf": [ { "$ref": "#/definitions/profileOwners" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/profiles/{profileId}/preferenceType/{preferenceType}/preferences/{preferenceCode}": { "delete": { "summary": "Delete a global preference from a profile", "description": "This will allow you to delete a global preference code from a profile. For example the guest no longer has a preference for High Floor Room, so you would go ahead and delete this preference from their profile.

OperationId:deleteGlobalPreference

", "operationId": "deleteGlobalPreference", "parameters": [ { "name": "preferenceCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "preferenceType", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "registeredProperty", "in": "query", "required": false, "type": "string", "description": "Profiles Registered 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": [ "Profile" ] } }, "/profiles/{profileId}/preferences": { "get": { "summary": "Get preferences on a profile", "description": "Use this API to retrieve all preferences that a profile has stored on it. Preferences are configured codes by a property, examples are usually High Floor, Non smoking room, Room with a View, soft pillow etc.

OperationId:getPreferenceForProfile

", "operationId": "getPreferenceForProfile", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "id", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "idContext", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "type", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "hotelId", "in": "query", "required": false, "type": "string", "description": "Used for codes in the OPERA Code tables. Possible values of this pattern are 1, 101, 101.EQP, or 101.EQP.X." }, { "name": "codes", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "string", "maxItems": 4000 }, "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 fetch preference. This object contains collection of preferences,Success,Warnings and Errors related to this operation.", "schema": { "$ref": "#/definitions/preference" } }, "204": { "description": "PreferenceForProfile 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": [ "Profile" ] }, "put": { "summary": "Distribute preferences on a profile", "description": "With this API you can distribute preferences on a profile.

OperationId:distributePreference

", "operationId": "distributePreference", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "preference", "in": "body", "required": true, "description": "Request object for distribute Preference. This object contains unique identifiers for each profile and list of preferences to be associated with the profile. The standard optional Opera Context element is also included.", "schema": { "allOf": [ { "$ref": "#/definitions/preference" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] }, "post": { "summary": "Add preferences to a profile", "description": "You can add new preferences to a profile to personalize or enhance your guest services. You will need to know the profile ID, and the properties pre-configured preference codes.

OperationId:postPreference

", "operationId": "postPreference", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "preference", "in": "body", "required": true, "description": "Request object for Create Preference. This object contains unique identifiers for each profile and list of preferences to be associated with the profile. The standard optional Opera Context element is also included.", "schema": { "allOf": [ { "$ref": "#/definitions/preference" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/profiles/{profileId}/relationships": { "get": { "summary": "FetchProfileRelationships method provides the ability to retrieve a profile relationships for a profile based on the unique internal profile ID specified.", "description": "

OperationId:getProfileRelationships

", "operationId": "getProfileRelationships", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000 }, { "name": "relationshipPrimaryProfile", "in": "query", "required": false, "description": "Type of Profile to be fetched from OPERA.", "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 profile relationships.", "schema": { "$ref": "#/definitions/profileRelationships" }, "examples": { "application/json": { "relationships": { "relationship": [ { "relationshipProfile": { "customerName": "Smith", "telephoneNumber": "+10409000000", "address": { "addressLine": [ "500 Oracle Parkway" ], "city": "Redwood Shores", "postalCode": "94065", "state": "CA", "country": "US" }, "emailAddress": "example@test.com", "ownerCode": "ALL", "profileIdList": [ { "id": "291397", "type": "Profile" }, { "id": "212315", "type": "CorporateId" } ], "primary": true, "profileStatus": "Active", "primaryOwnerCode": true, "profileType": "Guest" }, "relationshipID": "144096", "sourceRelation": "FAMILY MEMBER", "sourceRelationDescription": "FAMILY MEMBER", "targetRelation": "FAMILY HEAD", "targetRelationDescription": "FAMILY HEAD" } ] }, "links": [] } } }, "204": { "description": "ProfileRelationships 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": [ "Profile" ] } }, "/profiles/{profileId}/reservations/action/validate": { "put": { "summary": "Check future past bookings", "description": "Validate if a profile has future and past bookings on a specific profile.

OperationId:validateReservationsForProfile

", "operationId": "validateReservationsForProfile", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "futurePastBookingsCriteria", "in": "body", "required": true, "description": "Request for information regarding existence of profile in future and/or past business blocks and/or reservations.", "schema": { "allOf": [ { "$ref": "#/definitions/futurePastBookingsCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "This is the Response Message to information regarding existence of profile in future and/or past business blocks and/or reservations.", "schema": { "$ref": "#/definitions/futurePastBookings" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/profiles/{profileId}/stayHistory": { "get": { "summary": "FetchStayHistory method provides stay history and future reservations of a profile based on the unique internal ID specified.", "description": "

OperationId:getStayHistory

The maximum allowable limit for this API is 200.

", "operationId": "getStayHistory", "parameters": [ { "name": "profileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000 }, { "name": "hotelId", "in": "query", "required": false, "description": "Hotel Code used to filter hotel specific information regarding the profile.", "type": "string" }, { "name": "includePurgeProfiles", "in": "query", "required": false, "description": "Providing this flag includes purged profiles in the result.", "type": "boolean" }, { "name": "markAsRecentlyAccessed", "in": "query", "required": false, "description": "Providing this flag marks the profile as recently accessed.", "type": "boolean" }, { "name": "limit", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Indicates maximum number of records a Web Service should return.", "items": { "type": "integer" }, "required": false }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type for instructions that can be used in requests for partial operations to fetch past and future reservation.", "uniqueItems": true, "items": { "type": "string", "enum": [ "HistoryReservation", "FutureReservation" ] }, "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 showing stay history and future reservations of specific profile.", "schema": { "$ref": "#/definitions/profileStayHistory" }, "examples": { "application/json": { "profileStayDetails": { "reservationInfoList": { "historyList": { "reservationInfo": [ { "reservationIdList": [ { "id": "850348", "type": "Reservation" }, { "id": "1258752", "type": "Confirmation" } ], "roomStay": { "arrivalDate": "2020-07-02", "departureDate": "2020-07-04", "roomType": "DLXQ", "ratePlanCode": "RACK", "rateAmount": { "amount": "100" }, "rateSuppressed": false }, "attachedProfiles": [], "hotelId": "HOTEL1", "reservationStatus": "NoShow", "computedReservationStatus": "NoShow" } ], "hasMore": false, "totalResults": "1" }, "futureList": { "hasMore": false, "totalResults": "0" } } }, "links": [] } } }, "204": { "description": "StayHistory 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": [ "Profile" ] } }, "/profiles/{sourceProfileId}/relationships/{targetProfileId}": { "post": { "summary": "CreateProfileRelationship method provides the ability to create profile relationship based on the request criteria of SourceProfileID,TargetProfileID and SourceRelationType specified.", "description": "

OperationId:postProfileRelationship

", "operationId": "postProfileRelationship", "parameters": [ { "name": "targetProfileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000 }, { "name": "sourceProfileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000 }, { "name": "profileRelationship", "in": "body", "required": true, "description": "Request object for creating profile relationship.", "schema": { "allOf": [ { "$ref": "#/definitions/profileRelationship" }, { "example": { "relationship": { "primary": "true", "statusCode": "Active", "targetProfileType": "Guest", "sourceRelation": "FAMILY MEMBER", "sourceRelationDescription": "FAMILY MEMBER", "targetRelation": "FAMILY HEAD", "targetRelationDescription": "FAMILY HEAD", "profileType": "Guest" } } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] }, "put": { "summary": "ChangeProfileRelationship method provides the ability to update(delete and add) profile relationship based on the request criteria of SourceProfileID , TargetProfileID, To Be ChangedProfileID and SourceProfileRelationType specified.", "description": "

OperationId:putProfileRelationship

", "operationId": "putProfileRelationship", "parameters": [ { "name": "targetProfileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000 }, { "name": "sourceProfileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000 }, { "name": "profileRelationshipToBeChanged", "in": "body", "required": true, "description": "Request object for changing profile relationship.", "schema": { "allOf": [ { "$ref": "#/definitions/profileRelationshipToBeChanged" }, { "example": { "relationship": { "changeRelationship": { "changeProfileID": { "id": "3261507", "type": "Guest" }, "sourceRelation": "FRIEND1", "sourceRelationDescription": "Friends", "targetRelation": "FRIEND2", "targetRelationDescription": "Friends 2" }, "primary": true, "statusCode": "Active", "targetProfileType": "Guest", "sourceRelation": "EMPLOYEE", "sourceRelationDescription": "EMPLOYEE", "targetRelation": "EMPLOYER", "targetRelationDescription": "EMPLOYER", "relationshipID": "28026", "profileType": "Guest" } } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] }, "delete": { "summary": "DeleteProfileRelationship method provides the ability to delete profile relationship based on the request criteria of SourceProfileID,TargetProfileID and SourceRelationType specified.", "description": "

OperationId:removeProfileRelationship

", "operationId": "removeProfileRelationship", "parameters": [ { "name": "targetProfileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000 }, { "name": "sourceProfileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000 }, { "name": "sourceRelation", "in": "query", "required": true, "description": "Indicates the type of relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string" }, { "name": "targetRelation", "in": "query", "required": true, "description": "Indicates the type of relationship the related profile(Target Profile) has with the current profile(Source Profile).", "type": "string" }, { "name": "primary", "in": "query", "required": false, "description": "Indicates if this relationship is the primary relationship.", "type": "boolean" }, { "name": "sourceRelationDescription", "in": "query", "required": false, "description": "Displays the description of relationship the current profile(Source Profile) has with the related profile(Target Profile).This needs to be passed if the attribute primary is sent as true.", "type": "string" }, { "name": "targetRelationDescription", "in": "query", "required": false, "description": "Displays the description of relationship the related profile(Target Profile) has with the current profile(Source Profile).", "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": [ "Profile" ] } }, "/profiles/{survivorProfileId}/merges": { "post": { "summary": "Merge two profiles by ID", "description": "When you need to merge 2 guest profiles into 1 profile, use this API.

OperationId:mergeProfiles

", "operationId": "mergeProfiles", "parameters": [ { "name": "survivorProfileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Original Profile ID to which profiles will be merged in OPERA." }, { "name": "profileToBeMerged", "in": "body", "required": true, "description": "Request object for merging profiles.", "schema": { "allOf": [ { "$ref": "#/definitions/profileToBeMerged" }, { "example": { "victimProfileId": { "id": "1087330" } } } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/profiles/{survivorProfileId}/merges/snapshot": { "get": { "summary": "Get merge profiles snapshot", "description": "This API will provide you with a snapshot of the to be merged profile. In the request you will pass the survivor profile, along with the profile ID of the profile which it to be merged into the survivor profile. The response will provide you with the combined profile data of both profiles which are being merged.

OperationId:getMergeProfilesSnapshot

", "operationId": "getMergeProfilesSnapshot", "parameters": [ { "name": "survivorProfileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "originalId", "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": "originalIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "originalIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "toBeMergedId", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "toBeMergedIdContext", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "toBeMergedIdType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "centralOriginalId", "in": "query", "required": false, "description": "A unique identifying value for a central system. The ID attribute may be used to reference a primary-key value within a central database..", "type": "string" }, { "name": "centralOriginalIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "centralOriginalIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "centralToBeMergedId", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value for a central system. The ID attribute may be used to reference a primary-key value within a central database.", "items": { "type": "string" }, "required": false }, { "name": "centralToBeMergedIdContext", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "centralToBeMergedIdType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "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 snapshot of merge profiles result.", "schema": { "$ref": "#/definitions/mergedProfilesSnapshotDetails" } }, "204": { "description": "MergeProfilesSnapshot 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": [ "Profile" ] } }, "/profiles/{survivorProfileId}/stageProfiles/snapshot": { "get": { "summary": "Get merge stage profile snapshot", "description": "This API will provide you with a snapshot of the to be merged profile in staging.

OperationId:getMergeStageProfileSnapshot

", "operationId": "getMergeStageProfileSnapshot", "parameters": [ { "name": "survivorProfileId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "hotelId", "in": "query", "required": false, "description": "Hotel Code for the profile.", "type": "string" }, { "name": "resortProfileId", "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": "resortProfileIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "resortProfileIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "name": "profileIdContext", "in": "query", "required": false, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string" }, { "name": "profileIdType", "in": "query", "required": false, "description": "A reference to the type of object defined by the UniqueID element.", "type": "string" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 merge profile based on stage and opera profile.", "schema": { "$ref": "#/definitions/mergedStageProfileSnapshot" } }, "204": { "description": "MergeStageProfileSnapshot 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": [ "Profile" ] } }, "/profilesByIds": { "get": { "summary": "Search for profile(s)", "description": "Use this API when you want to search for a profile. The response will include a list of profiles that exist in OPERA, based on your search criteria. For example, you want to see if a profile for Mr David Smith exists - you can search by various criteria, such as first, last name, email. The response will include a list of any profiles that exist for Mr Davis Smith. If a profile matches the criteria, and you want to get more details of that profile, proceed to use getProfile with the profileID in the request.

OperationId:getProfilesByIds

The maximum allowable limit for this API is 200.

", "operationId": "getProfilesByIds", "parameters": [ { "name": "profileIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "corporateIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "externalReferenceIds", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "externalSystemCodes", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "limit", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Indicates maximum number of records a Web Service should return.", "items": { "type": "integer" }, "required": false }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Room Ownership information associated with the profile.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Address", "Communication", "NegotiatedRate", "GdsNegotiatedRate", "Comment", "Membership", "Preference", "Keyword", "HistoryReservation", "FutureReservation", "Relationship", "Correspondence", "Routing", "Indicators", "Profile", "WebUserAccount", "SalesInfo", "ECertificate", "Subscriptions", "PrimaryAccountInfo", "DeliveryMethods", "RoomOwnership" ] }, "required": false }, { "name": "instructionParameterType", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Simple type enumerating the different parameters accepted by a profile Instructions. Parameter names have the name of the instruction expecting it, and the parameter name itself.", "uniqueItems": true, "items": { "type": "string", "enum": [ "NegotiatedRateShowInactive", "NegotiatedRateResort", "NegotiatedRateMaxFetchCount", "NegotiatedRateCode", "GdsNegotiatedRateShowInactive", "PreferencesShowInactive", "ResortForRoutingInstructions", "RelationshipPrimaryProfile", "AddressPrimaryOnly", "CommunicationPrimaryOnly", "DeliveryMethodsHotelCode" ] }, "required": false }, { "name": "instructionParameterValue", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Value of Profile Instruction Parameter", "items": { "type": "string" }, "required": false }, { "name": "hotelId", "in": "query", "required": false, "description": "Hotel Code, It is used to filter hotel specific.", "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 multiple detailed profiles by unique identifiers..", "schema": { "$ref": "#/definitions/profileDetails" } }, "204": { "description": "ProfilesByIds 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": [ "Profile" ] } }, "/profilesMatchList": { "put": { "summary": "Updates a list of matchIds to skip or don't skip profile match.", "description": "Use this API to update a list of records of profiles match to skip or don't skip profile match", "operationId": "putProfilesMatchList", "parameters": [ { "name": "matchList", "in": "body", "required": true, "description": "Parameter that contains a list of matchIds that will be updated to skip or don't skip profile match.", "schema": { "allOf": [ { "$ref": "#/definitions/matchListType" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/profilesMatchList/profileType/{profileType}": { "get": { "summary": "Get profiles match list.", "description": "This API provides list of matching profiles based on the profile match configuration. These profiles are matched based on address, Postal codes, Last Name etc.

OperationId:getProfilesMatchList

The maximum allowable limit for this API is 200.

", "operationId": "getProfilesMatchList", "parameters": [ { "name": "profileType", "in": "path", "required": true, "type": "string", "minLength": 0, "maxLength": 20, "description": "Profile type of the matched profiles." }, { "name": "registeredProperty", "in": "query", "required": false, "type": "string", "minLength": 0, "maxLength": 20, "description": "Property this profile is registered with." }, { "name": "computedDate", "in": "query", "required": false, "type": "string", "format": "date", "description": "Specific Date when the weighing points were computed for the profiles." }, { "name": "status", "in": "query", "required": false, "type": "string", "description": "Status of the match. It can be one of these 3 options: Match Points Computed, Do Not Merge, Can Not Merge.", "uniqueItems": true, "items": { "type": "string", "enum": [ "MPC", "DNM", "CNM" ] } }, { "name": "clientID", "in": "query", "required": false, "type": "string", "minLength": 0, "maxLength": 20, "description": "Corporate id of the profile." }, { "name": "surname", "in": "query", "required": false, "type": "string", "minLength": 0, "maxLength": 40, "description": "Family name, last name. May also be used for full name if the sending system does not have the ability to separate a full name into its parts, e.g. the surname element may be used to pass the full name." }, { "name": "givenName", "in": "query", "required": false, "type": "string", "minLength": 0, "maxLength": 40, "description": "Given name, first name or names." }, { "name": "doNotMerge", "in": "query", "required": false, "type": "boolean", "description": "If this value is true, then the response will return profiles that have been selected as Do Not Merge." }, { "name": "aboveUpperThreshold", "in": "query", "required": false, "type": "boolean", "description": "If this value is true, then the response will return profiles with weighing points that are higher than the upper threshold." }, { "name": "belowUpperThreshold", "in": "query", "required": false, "type": "boolean", "description": "If this value is true, then the response will return profiles with weighing points that are below the upper threshold." }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching the profiles match.", "schema": { "$ref": "#/definitions/profilesMatch" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/reProcessStageRecords": { "put": { "summary": "Re-Process all Stage Records", "description": "Use this API to Re-Process all Stage Records.

OperationId:reProcessStageRecords

", "operationId": "reProcessStageRecords", "parameters": [ { "name": "reprocessStageRecords", "in": "body", "required": true, "description": "Request object for reprocessing Stage records.", "schema": { "allOf": [ { "$ref": "#/definitions/reProcessStageRecordsCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 the staged profile.", "schema": { "$ref": "#/definitions/reProcessStageRecords" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/reProcessStageRecords/logs": { "get": { "summary": "Get reProcess stage records logs.", "description": "Use this API to fetch logs for reProcess and rematch operations. The log can be filtered by date, users, and job ID.

OperationId:getReProcessStageRecordsLogs

", "operationId": "getReProcessStageRecordsLogs", "parameters": [ { "name": "fromDate", "in": "query", "required": false, "description": "Fetch logs from this date (inclusive).", "type": "string", "format": "date" }, { "name": "users", "in": "query", "required": false, "description": "User(s) who initiated the process. Can be comma separated or supplied as multiple params.", "type": "array", "collectionFormat": "multi", "items": { "type": "integer", "maxItems": 40 } }, { "name": "jobId", "in": "query", "required": false, "description": "Job ID to fetch logs for a specific process/job.", "type": "string" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records this api should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetch reProcess stage records logs. This object contains a collection of logs for each job/process request, including job id, log type, log content, record counts, date/time, and user.", "schema": { "$ref": "#/definitions/reProcessStageRecordsLogInfo" } }, "204": { "description": "Logs 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": [ "Profile" ] } }, "/recentlyAccessedProfiles": { "get": { "summary": "Fetch recently accessed profiles", "description": "Use this API to fetch the profiles that have recently been accessed by an application user.

OperationId:getRecentlyAccessedProfiles

", "operationId": "getRecentlyAccessedProfiles", "parameters": [ { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer" }, { "name": "accessDate", "in": "query", "required": false, "description": "Indicates which date reservations to be returned", "type": "string", "format": "date" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response with the fetched recently accessed profiles.", "schema": { "$ref": "#/definitions/recentlyAccessedProfiles" } }, "204": { "description": "RecentlyAccessedProfiles 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": [ "Profile" ] } }, "/service/profileService/cache": { "delete": { "summary": "Operation to delete cache for Profile service", "description": "

OperationId:clearProfileServiceCache

", "operationId": "clearProfileServiceCache", "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" }, "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": [ "Profile" ] } }, "/services/profile/status": { "get": { "summary": "Operation to check the status of profile service", "description": "

OperationId:pingProfileService

", "operationId": "pingProfileService", "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": "pingProfileService 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": [ "Profile" ] } }, "/services/profileExternal/status": { "get": { "summary": "Operation to check status of ProfileExternal service", "description": "

OperationId:pingProfileExternalService

", "operationId": "pingProfileExternalService", "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": "pingProfileExternalService 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": [ "ProfileExternal" ] } }, "/services/profileMembership/status": { "get": { "summary": "Operation to check status of ProfileMembership service", "description": "

OperationId:pingMembershipService

", "operationId": "pingMembershipService", "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": "pingMembershipService 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": [ "ProfileMembership" ] } }, "/services/profileStats/status": { "get": { "summary": "Operation to check the status of ProfileStats service", "description": "

OperationId:pingProfileStatsService

", "operationId": "pingProfileStatsService", "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": "pingProfileStatsService 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": [ "ProfileStatistics" ] } }, "/stagedProfile/{id}": { "get": { "summary": "Get a staged profile", "description": "The system suspends / stages a profile with a point value between the upper and lower thresholds. When a profile is staged, you must review the suspended profile and determine if it should be merged with an internal profile or added as a new profile. This API will get a specific profile that has been staged.

OperationId:getStagedProfile

", "operationId": "getStagedProfile", "parameters": [ { "name": "id", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "hotelId", "in": "query", "required": false, "description": "The hotel code that the stage profile belongs to.", "type": "string" }, { "name": "idContext", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "type", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "If selected, only invalid details of the staged profile will be retrieved.", "uniqueItems": true, "items": { "type": "string", "enum": [ "Profile", "Address", "Communication", "NegotiatedRate", "Membership", "Preference", "Keyword", "Routing", "UserDefinedField", "Identifier", "InvalidDetail", "Commission" ] }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for the staged profile.", "schema": { "$ref": "#/definitions/stagedProfileDetails" } }, "204": { "description": "StagedProfile 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": [ "Profile" ] }, "put": { "summary": "Change a staged profile", "description": "This API can be used to update the staged Profile.

OperationId:changeStagedProfile

", "operationId": "changeStagedProfile", "parameters": [ { "name": "id", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "stagedProfile", "in": "body", "required": true, "description": "Request object for changing the staged profile.", "schema": { "allOf": [ { "$ref": "#/definitions/stagedProfile" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/stagedProfiles": { "get": { "summary": "Get staged profiles", "description": "The system suspends / stages a profile with a point value between the upper and lower thresholds. When a profile is staged, you must review the suspended profile and determine if it should be merged with an internal profile or added as a new profile.

OperationId:getStagedProfiles

The maximum allowable limit for this API is 200.

", "operationId": "getStagedProfiles", "deprecated": true, "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", "collectionFormat": "multi", "items": { "type": "string", "maxItems": 4000 }, "required": false }, { "name": "stagedReasons", "in": "query", "type": "array", "description": "This can be used to fetch staged profiles based on the reason why it got staged Ex : NameChange", "collectionFormat": "multi", "uniqueItems": true, "items": { "type": "string", "enum": [ "InvalidEnrollmentCode", "EmptyEnrollmentCode", "NameChange", "InvalidExpirationDate", "EmptyExpirationDate", "EmptyMembershipLevel", "InvalidMembershipLevel", "DuplicateMembership" ] }, "required": false }, { "name": "id", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "items": { "type": "string" }, "required": false }, { "name": "idContext", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" }, "required": false }, { "name": "type", "in": "query", "type": "array", "collectionFormat": "multi", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" }, "required": false }, { "name": "name", "in": "query", "required": false, "description": "Family name, last name or Company Name.", "type": "string" }, { "name": "givenName", "in": "query", "required": false, "description": "Given name, first name or names.", "type": "string" }, { "name": "region", "in": "query", "required": false, "description": "The profile region for which the staged profiles shall be fetched.", "type": "string" }, { "name": "countryCode", "in": "query", "required": false, "description": "Code for a country or a nationality.", "type": "string" }, { "name": "profileType", "in": "query", "required": false, "description": "Profile type to be included in the search.", "type": "string" }, { "name": "importDate", "in": "query", "required": false, "description": "The date on which the staged profiles have been received. This parameter is deprecated. ", "type": "string", "format": "date" }, { "name": "stageStatus", "in": "query", "required": false, "description": "The status of the staged profiles.", "type": "string" }, { "name": "applyTo", "in": "query", "required": false, "type": "string", "description": "Membership filter of staged profiles.", "uniqueItems": true, "enum": [ "StagedProfiles", "MatchingProfiles", "StagedAndMatchingProfiles" ] }, { "name": "membershipCodes", "in": "query", "type": "array", "collectionFormat": "multi", "items": { "type": "string", "maxItems": 4000 }, "required": false }, { "name": "insertDateFrom", "in": "query", "required": false, "description": "Accepts a date value and retrieves all the suspended profiles inserted on or after the provided date.", "type": "string", "format": "date" }, { "name": "insertDateTo", "in": "query", "required": false, "description": "Accepts a date value and retrieves all the suspended profiles inserted up to and including the specified date.", "type": "string", "format": "date" }, { "name": "membershipNumber", "in": "query", "required": false, "description": " Accepts a membership number and retrieves the suspended profile(s) associated with the provided code.", "maxLength": 40, "type": "string" }, { "name": "clientID", "in": "query", "required": false, "description": "Accepts a client ID number and retrieves the suspended profile(s) associated with the provided code.", "type": "string" }, { "name": "errorDescription", "in": "query", "required": false, "description": "The error description for the staged profile.", "type": "string", "maxLength": 200 }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for the staged profiles.", "schema": { "$ref": "#/definitions/stagedProfiles" } }, "204": { "description": "StagedProfiles 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": [ "Profile" ] } }, "/stagedProfiles/searches": { "post": { "summary": "Get staged profiles", "description": "The system suspends / stages a profile with a point value between the upper and lower thresholds. When a profile is staged, you must review the suspended profile and determine if it should be merged with an internal profile or added as a new profile.

OperationId:searchStagedProfiles

The maximum allowable limit for this API is 200.

", "operationId": "searchStagedProfiles", "parameters": [ { "in": "body", "name": "searchStagedProfilesRequest", "description": "Search staged profiles request", "required": false, "schema": { "$ref": "#/definitions/searchStagedProfilesRequest" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for the staged profiles.", "schema": { "$ref": "#/definitions/stagedProfiles" } }, "204": { "description": "StagedProfiles 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": [ "Profile" ] } }, "/stayMembership": { "post": { "summary": "This API facilitates attaching or replacing a membership to a given stayRecord.", "description": "A user can add a new membership or substitute an existing membership for a stay record by providing the relevant membership information in the request.

OperationId:addReplaceStayMembership

", "operationId": "addReplaceStayMembership", "parameters": [ { "name": "stayMembershipDetails", "in": "body", "required": true, "description": "Request object for Membership details to attach or replace.", "schema": { "$ref": "#/definitions/stayMembershipDetails" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/Accept-Language" } ], "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": [ "Profile" ] } }, "/stayRecord": { "post": { "summary": "This API facilitates uploading stage records to LCS.", "description": "A user can upload stay record to OPERA by specifying stay record column details in the request.

OperationId:postStayRecord

", "operationId": "postStayRecord", "parameters": [ { "name": "stayRecordDetails", "in": "body", "required": true, "description": "Request object for uploading stage records to LCS.", "schema": { "$ref": "#/definitions/stayRecordDetails" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/Accept-Language" } ], "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 stay record." } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/links" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/stayRecord/{stayRecordId}": { "get": { "summary": "Get Stay Record Detail.", "description": "This API is used to retrieve details of a given stay record (including UDFs, Daily Rates and Revenue).

OperationId:getStayRecordDetail

", "operationId": "getStayRecordDetail", "parameters": [ { "name": "stayRecordId", "in": "path", "required": true, "type": "string", "description": "A unique identifying value of the stay record, assigned by the creating system.", "minLength": 1, "maxLength": 40 }, { "name": "fetchInstructions", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Fetch instructions that can be used to fetch required stay record details.", "uniqueItems": true, "items": { "type": "string", "enum": [ "UDF", "Revenue", "Rates" ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 stay record detail.", "schema": { "$ref": "#/definitions/stayRecordDetail" } }, "204": { "description": "Stay Record detail 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": [ "Profile" ] } }, "/stayRecords/{stayRecordId}": { "put": { "summary": "Ability to edit Orphan Stay Records", "description": "This API allows user to edit Orphan Stay Record fields.

OperationId:putOrphanStayRecords

", "operationId": "putOrphanStayRecords", "parameters": [ { "name": "stayRecordId", "in": "path", "required": true, "type": "number", "description": "Unique OPERA internal Orphan Stay Record Id which is used to find the Orphan Stay Record." }, { "name": "orphanStayRecord", "in": "body", "required": true, "description": "Request object for updating Orphan Stay Record fields.", "schema": { "allOf": [ { "$ref": "#/definitions/orphanStayRecord" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/suspendedAddresses": { "get": { "summary": "Fetch Suspended Profile Addresses", "description": "Fetch Suspended Profile Addresses

OperationId:getSuspendedAddresses

The maximum allowable limit for this API is 200.

", "operationId": "getSuspendedAddresses", "deprecated": true, "parameters": [ { "name": "name", "in": "query", "required": false, "description": "Last Name of the Profile against which the Suspended Addresses are fetched.", "type": "string" }, { "name": "hotelId", "in": "query", "required": false, "description": "Hotel Code, It is used to filter hotel specific children to this specific hotel code.", "type": "string" }, { "name": "firstName", "in": "query", "required": false, "description": "First Name of the Profile against which the Suspended Addresses are fetched.", "type": "string" }, { "name": "profileType", "in": "query", "required": false, "description": "ProfileT ype of the Profile against which the Suspended Addresses are fetched..", "type": "string" }, { "name": "matchCode", "in": "query", "required": false, "description": "Match Code of the Address Validation Performed from the batch processing", "type": "string" }, { "name": "countryCode", "in": "query", "required": false, "description": "Code for a country or a nationality.", "type": "string" }, { "name": "validateDate", "in": "query", "required": false, "description": "Validate 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 list of suspended addresses based on supplied criteria", "schema": { "$ref": "#/definitions/suspendedAddresses" } }, "204": { "description": "SuspendedAddresses 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": [ "Profile" ] } }, "/suspendedProfiles/errorsSummary": { "get": { "summary": "Get suspended profiles errors summary details", "description": "Retrieve the suspended profiles errors summary details

OperationId:getSuspendedProfilesErrorsSummary

", "operationId": "getSuspendedProfilesErrorsSummary", "parameters": [ { "name": "insertDate", "in": "query", "required": false, "description": "Fetch the statistics from this date.", "type": "string", "format": "date" }, { "name": "hotelIds", "in": "query", "type": "array", "description": "Hotel codes of the profile's origin.", "collectionFormat": "multi", "items": { "type": "string", "maxItems": 4000 }, "required": false }, { "name": "limit", "in": "query", "required": false, "default": 25, "description": "Indicates maximum number of records this api should return.", "type": "integer", "minimum": 1 }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer", "minimum": 1 }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 fetch suspended profiles errors summary. This object contains collection of profiles errors and the number of profiles that were encountered with these errors.", "schema": { "$ref": "#/definitions/suspendedProfilesErrorsSummaryInfo" } }, "204": { "description": "SuspendedProfilesErrorsSummary 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": [ "Profile" ] } }, "/suspendedProfiles/errorsSummary/profileType": { "get": { "summary": "Get suspended profiles match errors summary information grouped by profile type.", "description": "Use this api to get the profiles match errors summary grouped by profile type

OperationId:getSuspendedProfilesErrorsSummaryByProfileType

", "operationId": "getSuspendedProfilesErrorsSummaryByProfileType", "parameters": [ { "name": "insertDate", "in": "query", "required": false, "description": "Fetch the statistics from this date.", "type": "string", "format": "date" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records this api should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetch suspended profiles errors summary grouped by profile types. This object contains collection of profile types and count of how many errors encountered in each.", "schema": { "$ref": "#/definitions/suspendedProfilesErrorsSummaryByProfileTypeInfo" } }, "204": { "description": "SuspendedProfilesErrorsSummaryByProfileType 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": [ "Profile" ] } }, "/suspendedProfiles/errorsSummary/property": { "get": { "summary": "Get suspended profiles match errors summary information grouped by property.", "description": "Use this api to get the profiles match errors summary to see the count of errors appears in each property.

OperationId:getSuspendedProfilesErrorsStatByProperty

", "operationId": "getSuspendedProfilesErrorsStatByProperty", "parameters": [ { "name": "insertDate", "in": "query", "required": false, "description": "Fetch the statistics from this date.", "type": "string", "format": "date" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records this api should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetch suspended profiles errors summary for a specific error and see the number of times it appears in each property. This object contains collection of hotel and count of how many hotels encountered this error.", "schema": { "$ref": "#/definitions/suspendedProfilesErrorsSummaryByPropertyInfo" } }, "204": { "description": "SuspendedProfilesErrorsSummaryByProperty 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": [ "Profile" ] }, "post": { "summary": "Get suspended profiles match errors summary information grouped by property.", "description": "Use this api to get the profiles match errors summary for a specific error and see the number of times it appears in each property.

OperationId:getSuspendedProfilesErrorsSummaryByProperty

", "operationId": "getSuspendedProfilesErrorsSummaryByProperty", "parameters": [ { "name": "errorDesc", "in": "body", "required": true, "description": "Request object for filtering by error description of the suspended profiles.", "schema": { "allOf": [ { "$ref": "#/definitions/errorDescType" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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" } }, "description": "Response object for fetch suspended profiles errors summary for a specific error and see the number of times it appears in each property. This object contains collection of hotel and count of how many hotels encountered this error.", "schema": { "$ref": "#/definitions/suspendedProfilesErrorsSummaryByPropertyInfo" } }, "204": { "description": "SuspendedProfilesErrorsSummaryByProperty 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": [ "Profile" ] } }, "/suspendedProfiles/matchStats": { "get": { "summary": "Get suspended profile match statistics information.", "description": "Retrieve the suspended profile match statistics information.

OperationId:getSuspendedProfilesMatchStats

", "operationId": "getSuspendedProfilesMatchStats", "parameters": [ { "name": "hotelId", "in": "query", "required": false, "description": "Hotel code of the profile's origin.", "type": "string" }, { "name": "profileType", "in": "query", "type": "string", "description": "Profile type of the profile matched.", "uniqueItems": true, "enum": [ "Guest", "Agent", "Company", "Group", "Source" ], "required": false }, { "name": "insertDateFrom", "in": "query", "required": false, "description": "Fetch the statistics from this date.", "type": "string", "format": "date" }, { "name": "insertDateTo", "in": "query", "required": false, "description": "Fetch the statistics up to this date.", "type": "string", "format": "date" }, { "name": "limit", "in": "query", "default": 25, "required": false, "description": "Indicates maximum number of records this api should return.", "type": "integer", "minimum": 1 }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer", "minimum": 1 }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 fetch suspended profile match statistics.", "schema": { "$ref": "#/definitions/suspendedProfilesMatchStats" } }, "204": { "description": "/suspendedProfiles/matchStats 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": [ "Profile" ] } }, "/suspendedProfiles/matchStats/matchCriteria": { "get": { "summary": "Get suspended profiles match statistics information grouped by match criteria.", "description": "Use this api to get the profile match statistics grouped by match criteria.

OperationId:getSuspendedProfilesMatchStatsByMatchCriteria

", "operationId": "getSuspendedProfilesMatchStatsByMatchCriteria", "parameters": [ { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records this api should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetch suspended profiles match statistics grouped by match criteria.", "schema": { "$ref": "#/definitions/suspendedProfilesMatchStatsByMatchCriteria" } }, "204": { "description": "SuspendedProfilesMatchStatsByMatchCriteria 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": [ "Profile" ] } }, "/suspendedProfiles/matchStats/profileType": { "get": { "summary": "Get suspended profiles match statistics information grouped by profile type.", "description": "Use this api to get the profiles match statistics grouped by profile type.

OperationId:getSuspendedProfilesMatchStatsByProfileType

", "operationId": "getSuspendedProfilesMatchStatsByProfileType", "parameters": [ { "name": "insertDate", "in": "query", "required": false, "description": "Fetch the statistics from this date.", "type": "string", "format": "date" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records this api should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetch suspended profiles match statistics grouped by profile type.", "schema": { "$ref": "#/definitions/suspendedProfilesMatchStatsByProfileType" } }, "204": { "description": "SuspendedProfilesMatchStatsByProfileType 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": [ "Profile" ] } }, "/suspendedProfiles/matchStats/property": { "get": { "summary": "Get suspended profiles match statistics information grouped by property.", "description": "Use this api to get the profiles match statistics grouped by property.

OperationId:getSuspendedProfilesMatchStatsByProperty

", "operationId": "getSuspendedProfilesMatchStatsByProperty", "parameters": [ { "name": "insertDate", "in": "query", "required": false, "description": "Fetch the statistics from this date.", "type": "string", "format": "date" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records this api should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetch suspended profiles match statistics grouped by property.", "schema": { "$ref": "#/definitions/suspendedProfilesMatchStatsByProperty" } }, "204": { "description": "SuspendedProfilesMatchStatsByProperty 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": [ "Profile" ] } }, "/suspendedProfiles/matchStats/propertyAndProfileType": { "get": { "summary": "Get suspended profiles match statistics information grouped by property and profile type.", "description": "Use this api to get the profiles match statistics grouped by property and profile type.

OperationId:getSuspendedProfilesMatchStatsByPropertyAndProfileType

", "operationId": "getSuspendedProfilesMatchStatsByPropertyAndProfileType", "parameters": [ { "name": "insertDate", "in": "query", "required": false, "description": "Fetch the statistics from this date.", "type": "string", "format": "date" }, { "name": "limit", "in": "query", "required": false, "description": "Indicates maximum number of records this api should return.", "type": "integer" }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetch suspended profiles match statistics grouped by profile type.", "schema": { "$ref": "#/definitions/suspendedProfilesMatchStatsByPropertyAndProfileType" } }, "204": { "description": "SuspendedProfilesMatchStatsByPropertyAndProfileType 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": [ "Profile" ] } }, "/suspendedProfiles/matchStats/threshold": { "get": { "summary": "Get suspended profiles match statistics summary information filtering by threshold type.", "description": "Use this api to get the profiles match statistics filtered by region, name type and threshold type.

OperationId:getSuspendedProfilesMatchStatsByThreshold

", "operationId": "getSuspendedProfilesMatchStatsByThreshold", "parameters": [ { "name": "regionCode", "in": "query", "description": "Profile region.", "type": "string", "required": true }, { "name": "hotelId", "in": "query", "description": "Hotel id of the profile's origin.", "type": "string", "required": false }, { "name": "threshold", "in": "query", "required": true, "description": "Returns the matches that are either upper, lower or between the threshold.", "uniqueItems": true, "enum": [ "Upper", "Lower", "Between" ], "type": "string" }, { "name": "profileType", "in": "query", "type": "string", "description": "Name type of the profile matched.", "uniqueItems": true, "enum": [ "Guest", "Agent", "Company", "Group", "Source" ], "required": true }, { "name": "limit", "in": "query", "default": 25, "required": false, "description": "Indicates maximum number of records this api should return.", "type": "integer", "minimum": 1 }, { "name": "offset", "in": "query", "default": 1, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer", "minimum": 1 }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 fetch suspended profiles match statistics summary information filtering by threshold type.", "schema": { "$ref": "#/definitions/suspendedProfilesMatchStatsByThreshold" } }, "204": { "description": "SuspendedProfilesMatchStatsByThreshold 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": [ "Profile" ] } }, "/suspendedStayRecordId/{suspendedStayRecordId}": { "get": { "summary": "Get a Suspended Stay by the Suspended Stay Record ID.", "description": "This API provides Suspended Stay information including Revenue, Rate, Membership and Error details.

OperationId:getSuspendedStay

", "operationId": "getSuspendedStay", "parameters": [ { "name": "suspendedStayRecordId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Suspended Stay Record 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 for fetching Suspended Stay, including Revenue, Rate, Membership and Error details.", "schema": { "$ref": "#/definitions/suspendedStayType" } }, "204": { "description": "SuspendedStay 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": [ "SuspendedStay" ] }, "put": { "summary": "Update a Suspended Stay by the Suspended Stay Record ID.", "description": "Use this to update a Suspended Stay information including Revenue, Rate and Membership details.

OperationId:putSuspendedStay

", "operationId": "putSuspendedStay", "parameters": [ { "name": "suspendedStayRecordId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Suspended Stay Record ID." }, { "name": "suspendedStay", "in": "body", "required": true, "description": "Request object for change/modification of Suspended Stay, including Revenue, Rate and Membership details.", "schema": { "allOf": [ { "$ref": "#/definitions/suspendedStayType" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 change/modification of Suspended Stay, including Revenue, Rate and Membership details.", "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": [ "SuspendedStay" ] }, "delete": { "summary": "Delete a suspended stay by the Suspended Stay Record ID.", "description": "Use this to remove a Suspended Stay from OPERA including all its details like Revenue, Rate, Membership, Errors.

OperationId:deleteSuspendedStay

", "operationId": "deleteSuspendedStay", "parameters": [ { "name": "suspendedStayRecordId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "Suspended Stay Record ID." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "HATEOAS links which help the consumer to navigate to resources", "schema": { "$ref": "#/definitions/status" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "SuspendedStay" ] } }, "/suspendedStays": { "get": { "summary": "Get Suspended Stays", "description": "This API provides Suspended Stay information. Suspended stays are records that need to be manually processed, as they have been suspended during an upload to OPERA Cloud.

OperationId:getSuspendedStays

", "operationId": "getSuspendedStays", "parameters": [ { "name": "hotelId", "in": "query", "required": false, "description": "Hotel code.", "type": "string", "minLength": 1, "maxLength": 20 }, { "name": "reservationStatus", "in": "query", "required": false, "type": "string", "description": "Status of reservation.", "minLength": 1, "maxLength": 20 }, { "name": "importDate", "in": "query", "required": false, "description": "Date of creation or import of stay.", "type": "string", "format": "date" }, { "name": "importDateFrom", "in": "query", "required": false, "description": "From date of creation or import of stay.", "type": "string", "format": "date" }, { "name": "importDateTo", "in": "query", "required": false, "description": "To date of creation or import of stay.", "type": "string", "format": "date" }, { "name": "arrivalDateFrom", "in": "query", "required": false, "description": "From date of arrival of reservation.", "type": "string", "format": "date" }, { "name": "arrivalDateTo", "in": "query", "required": false, "description": "To date of arrival of reservation.", "type": "string", "format": "date" }, { "name": "departureDateFrom", "in": "query", "required": false, "description": "From date of departure of reservation.", "type": "string", "format": "date" }, { "name": "departureDateTo", "in": "query", "required": false, "description": "To date of departure of reservation.", "type": "string", "format": "date" }, { "name": "pmsResvConfNo", "in": "query", "required": false, "type": "string", "description": "Reservation confirmation number in PMS.", "minLength": 1, "maxLength": 50 }, { "name": "clientID", "in": "query", "required": false, "type": "string", "description": "Client ID/Corp/IATA of the profile in central.", "minLength": 1, "maxLength": 20 }, { "name": "pmsNameID", "in": "query", "required": false, "type": "string", "description": "Profile number in PMS.", "minLength": 1, "maxLength": 20 }, { "name": "membershipType", "in": "query", "required": false, "type": "string", "description": "Membership type of the profile.", "minLength": 1, "maxLength": 20 }, { "name": "membershipNo", "in": "query", "required": false, "type": "string", "description": "Membership number of the profile.", "minLength": 1, "maxLength": 50 }, { "name": "errorDescription", "in": "query", "required": false, "type": "string", "description": "Suspended reason description.", "minLength": 1, "maxLength": 2000 }, { "name": "limit", "in": "query", "default": 20, "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer", "maximum": 200 }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching Suspended Stays.", "schema": { "$ref": "#/definitions/suspendedStaySummariesType" } }, "204": { "description": "SuspendedStays 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": [ "SuspendedStay" ] } }, "/suspendedStaysErrorsSummary": { "get": { "summary": "Get suspended stays errors summary", "description": "Use this API to fetch the suspended stays errors summary.", "operationId": "getSuspendedStaysErrorsSummary", "parameters": [ { "name": "getByProperty", "in": "query", "required": false, "description": "Indicates whether to fetch errors summary by property", "type": "boolean" }, { "name": "hotelId", "in": "query", "required": false, "description": "Filter by specific property", "type": "string" }, { "name": "limit", "in": "query", "default": 20, "required": false, "description": "Indicates maximum number of records a Web Service should return.", "type": "integer", "maximum": 200 }, { "name": "offset", "in": "query", "default": 0, "required": false, "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.", "type": "integer" }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response object for fetching suspended stays errors summary", "schema": { "$ref": "#/definitions/suspendedStaysErrorsSummaryResponse" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "SuspendedStay" ] } }, "/synchronizeProfileSubscriptions": { "put": { "summary": "Synchronize profile subscriptions", "description": "Synchronize profile subscriptions

OperationId:synchronizeProfileSubscriptions

", "operationId": "synchronizeProfileSubscriptions", "parameters": [ { "name": "profileSubscriptionsToSynchronize", "in": "body", "required": true, "description": "Request object for re-subscribing profile subscriptions.", "schema": { "allOf": [ { "$ref": "#/definitions/profileSubscriptionsToSynchronize" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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": [ "Profile" ] } }, "/validateEmail": { "post": { "summary": "Validate email Id from a third party vendor.", "description": "Use this API when you want to validate email Id from a third party vendor.

OperationId:validateEmail

", "operationId": "validateEmail", "parameters": [ { "name": "validateEmail", "in": "body", "required": true, "description": "Request object to validate email Id.", "schema": { "allOf": [ { "$ref": "#/definitions/validateEmail" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response of email validation from a third party vendor.", "schema": { "$ref": "#/definitions/validateEmailStatus" } }, "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" } }, "description": "HATEOAS links which help the consumer to navigate to resources.", "schema": { "$ref": "#/definitions/status" } }, "204": { "description": "validateEmail 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": [ "ProfileExternal" ] } }, "/validateForgetProfiles": { "put": { "summary": "Validate forget profiles", "description": "Validate forget profiles.

OperationId:validateForgetProfiles

", "operationId": "validateForgetProfiles", "parameters": [ { "name": "forgetProfilesCriteria", "in": "body", "required": true, "description": "Operation to validate profiles for forgetting.", "schema": { "allOf": [ { "$ref": "#/definitions/forgetProfilesCriteria" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-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 validating profiles for forgetting.", "schema": { "$ref": "#/definitions/validatedForgetProfiles" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "Profile" ] } }, "/validatePhone": { "post": { "summary": "Validate phone number from a third party vendor.", "description": "Use this API when you want to validate phone number from a third party vendor.

OperationId:validatePhone

", "operationId": "validatePhone", "parameters": [ { "name": "validatePhone", "in": "body", "required": true, "description": "Request object to validate phone number.", "schema": { "allOf": [ { "$ref": "#/definitions/validatePhone" } ] } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response of phone number validation from a third party vendor.", "schema": { "$ref": "#/definitions/validatePhoneStatus" } }, "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" } }, "description": "HATEOAS links which help the consumer to navigate to resources.", "schema": { "$ref": "#/definitions/status" } }, "204": { "description": "validatePhone 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": [ "ProfileExternal" ] } } }, "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": { "cityState": { "type": "object", "description": "Response object for fetching City and State based on search criteria. This object contains address information,Success,Warnings and Errors related to this operation.", "properties": { "addressType": { "description": "Contains address information.", "$ref": "#/definitions/addressType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "addressType": { "type": "object", "description": "Provides address information.", "properties": { "isValidated": { "description": "Indicator to define if the Address is validated by the Address Validation System.", "type": "boolean" }, "addressLine": { "description": "When the address is unformatted (FormattedInd=\"false\") these lines will contain free form address details. When the address is formatted and street number and street name must be sent independently, the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence.", "type": "array", "maxItems": 4, "items": { "type": "string", "minLength": 0, "maxLength": 80 } }, "cityName": { "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).", "type": "string", "minLength": 0, "maxLength": 40 }, "postalCode": { "description": "Post Office Code number.", "type": "string", "minLength": 0, "maxLength": 15 }, "cityExtension": { "description": "Post Office City Extension Code number. City Extension mainly used for UK addresses.", "type": "string", "minLength": 0, "maxLength": 20 }, "county": { "description": "County or District Name (e.g., Fairfax). Currently this attribute is not used.", "type": "string", "minLength": 0, "maxLength": 20 }, "state": { "description": "State or Province name (e.g., Texas).", "type": "string", "minLength": 0, "maxLength": 20 }, "country": { "description": "Country name (e.g., Ireland).", "$ref": "#/definitions/countryNameType" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "type": { "description": "Defines the type of address (e.g. home, business, other).", "type": "string", "minLength": 0, "maxLength": 20 }, "typeDescription": { "description": "Describes the type code", "type": "string" }, "primaryInd": { "description": "When true, indicates a primary information.", "type": "boolean" }, "updateReservations": { "description": "Indicates whether to update the reservations or not. If true and the address is primary, then all associated active reservations will be updated with the new primary address.", "type": "boolean" }, "barCode": { "description": "The postal barcode for the address.", "type": "string", "minLength": 0, "maxLength": 100 }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible 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 } } }, "countryNameType": { "type": "object", "description": "Code for a country or a nationality.", "properties": { "value": { "type": "string", "description": "Used for Character Strings, length 0 to 200.", "minLength": 0, "maxLength": 200 }, "code": { "description": "Code for a country or a nationality.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "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" ] }, "airlineTransactionsStatus": { "type": "object", "description": "Request object for fetching membership transactions processed by the airline.", "properties": { "transactions": { "description": "A collection of membership transactions processed by the airline.", "$ref": "#/definitions/airlineTransactionsType" }, "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" } } }, "airlineTransactionsType": { "type": "array", "description": "Contains details of the membership transaction processing status, provided by the airline.", "maxItems": 4000, "items": { "$ref": "#/definitions/airlineTransactionType" } }, "airlineTransactionType": { "type": "object", "description": "Contains details of the membership transaction processing status, provided by the airline.", "properties": { "transactionId": { "description": "Uniquely identifies this record.", "$ref": "#/definitions/uniqueID_Type" }, "batchId": { "description": "Identifies the batch in which this membership transaction status record was imported into OPERA", "$ref": "#/definitions/uniqueID_Type" }, "membershipTransactionId": { "description": "Unique ID of the membership transaction that this record corresponds to", "$ref": "#/definitions/membershipTransactionId" }, "hotelId": { "description": "Property code that this record corresponds to", "type": "string", "minLength": 0, "maxLength": 20 }, "airlineHotelCode": { "description": "Property code provided by the airline", "type": "string", "minLength": 0, "maxLength": 20 }, "memberInfo": { "description": "Information relating to the member.", "$ref": "#/definitions/memberInfoType" }, "airlineStatus": { "description": "Processing status returned by the airlines.", "$ref": "#/definitions/airlineTransactionStatusType" }, "importInfo": { "description": "Date and status of the import activity.", "$ref": "#/definitions/airlineTransactionImportInfoType" }, "miles": { "description": "Miles earned through this membership transaction", "type": "number" }, "userDefinedFields": { "description": "Collection of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" } } }, "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 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 } } }, "membershipTransactionId": { "type": "object", "description": "An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).", "properties": { "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 25 }, "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" } } }, "memberInfoType": { "type": "object", "description": "Contains details of the membership transaction processing status, provided by the airline.", "properties": { "membershipId": { "description": "Membership Card Number", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipType": { "description": "Membership Program Code or Membership Type", "type": "string", "minLength": 0, "maxLength": 50 }, "lastName": { "description": "Last Name of the guest that this record corresponds to", "$ref": "#/definitions/surnameType" }, "firstName": { "description": "First Name of the guest that this record corresponds to", "$ref": "#/definitions/givenNameType" } } }, "surnameType": { "type": "string", "description": "Family name, last name.", "minLength": 0, "maxLength": 80 }, "givenNameType": { "type": "string", "description": "Given name, first name or names", "minLength": 0, "maxLength": 40 }, "airlineTransactionStatusType": { "type": "object", "description": "Contains details of the membership transaction processing status, provided by the airline.", "properties": { "errorCode": { "description": "Error Code returned by the airline", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Error Description returned by the airline", "type": "string", "minLength": 0, "maxLength": 4000 } } }, "airlineTransactionImportInfoType": { "type": "object", "description": "Contains details of the membership transaction processing status, provided by the airline.", "properties": { "importDate": { "description": "The date when this batch was imported into OPERA", "type": "string", "format": "date", "maxLength": 8 }, "status": { "description": "Status identifying the outcome of import activity", "$ref": "#/definitions/airlineImportStatusType" }, "description": { "description": "Description of the error that caused the import to fail", "type": "string", "minLength": 0, "maxLength": 200 } } }, "airlineImportStatusType": { "type": "string", "description": "List of possible import statuses of a membership airline processing record.", "enum": [ "New", "Uploaded", "Error" ] }, "userDefinedFieldsType": { "type": "object", "description": "A common type used to hold user defined fields(UDFs). This type should be used to handle UDFs on RReservation, Profiles, etc.", "properties": { "characterUDFs": { "description": "Collection of user defined fields of Character/String Type.", "$ref": "#/definitions/characterUDFsType" }, "numericUDFs": { "description": "Collection of user defined fields of Numeric Type.", "$ref": "#/definitions/numericUDFsType" }, "dateUDFs": { "description": "Collection of user defined fields of Date Type.", "$ref": "#/definitions/dateUDFsType" } } }, "characterUDFsType": { "type": "array", "description": "Used to hold collection of user defined fields of Character/String Type.", "maxItems": 4000, "items": { "$ref": "#/definitions/characterUDFType" } }, "characterUDFType": { "type": "object", "description": "Used to hold user defined field of Character/String Type.", "properties": { "name": { "description": "Used to hold user defined field of Character Type. It is highly recommended to use UDFC01, UDFC02,...UDFC40 (Total 40) as Character/String UDF names(commonly used on Reservation, Profile etc.). Name is not restricted using enumeration, to provide flexibility of different name usage if required.", "type": "string", "minLength": 0, "maxLength": 20 }, "value": { "description": "Value of user defined field.", "type": "string", "minLength": 0, "maxLength": 2000 }, "alternateName": { "description": "Label of user defined field used by vendors or customers.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "numericUDFsType": { "type": "array", "description": "Used to hold collection of user defined fields of Numeric Type.", "maxItems": 4000, "items": { "$ref": "#/definitions/numericUDFType" } }, "numericUDFType": { "type": "object", "description": "Used to hold user defined field of Numeric Type. It is highly recommended to use UDFN01, UDFN02,...UDFN40 (Total 40) as Numeric UDF names(commonly used on Reservation, Profile etc.). Name is not restricted using enumeration, to provide flexibility of different name usage if required.", "properties": { "name": { "description": "Name of user defined field.", "type": "string", "minLength": 0, "maxLength": 20 }, "value": { "description": "Value of user defined field.", "type": "number" }, "alternateName": { "description": "Label of user defined field used by vendors or customers.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "dateUDFsType": { "type": "array", "description": "Used to hold collection of user defined fields of Date Type.", "maxItems": 4000, "items": { "$ref": "#/definitions/dateUDFType" } }, "dateUDFType": { "type": "object", "description": "Used to hold user defined field of Date Type.", "properties": { "name": { "description": "Used to hold user defined field of Date Type. It is highly recommended to use UDFD01, UDFD02,...UDFN20 (Total 20) as Date UDF names(commonly used on Reservation, Profile etc.). Name is not restricted using enumeration, to provide flexibility of different name usage if required.", "type": "string", "minLength": 0, "maxLength": 20 }, "value": { "description": "Value of user defined field.", "type": "string", "format": "date", "maxLength": 8 }, "alternateName": { "description": "Label of user defined field used by vendors or customers.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "matchProfileType": { "type": "object", "description": "Provides information for match profile.", "properties": { "hotelId": { "description": "Hotel Code for the profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileIdList": { "description": "Unique identifiers of the Profile for both internal and external systems.", "$ref": "#/definitions/profileIdList" }, "statusCode": { "description": "Status of the match profile.", "$ref": "#/definitions/matchStatusType" } } }, "profileIdList": { "type": "array", "description": "Unique Id that references an object uniquely in the system.", "maxItems": 4000, "items": { "$ref": "#/definitions/uniqueID_Type" } }, "matchStatusType": { "type": "string", "enum": [ "MatchFoundMerge", "MatchFoundCreate", "TentativeMatchFound", "MatchNotFound" ], "description": "No Match found based on the Threshold." }, "status": { "type": "object", "description": "Response Body.", "properties": { "warnings": { "$ref": "#/definitions/warningsType" }, "links": { "$ref": "#/definitions/links" } } }, "availableAwardsBasedOnType": { "type": "object", "description": "Response object to fetch member available awards based on the type being passed.", "properties": { "membershipAvailableAwards": { "description": "Collection of member available awards.", "$ref": "#/definitions/membershipAwardsAvailabilityType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipAwardsAvailabilityType": { "type": "array", "description": "List of available awards information.", "maxItems": 4000, "items": { "$ref": "#/definitions/membershipAwardAvailabilityType" } }, "membershipAwardAvailabilityType": { "type": "object", "description": "Details of Member Award Type. Awards will be available for redemption of award points associated with a particular member.", "properties": { "rateInfo": { "description": "Information related to Rate based Award.", "$ref": "#/definitions/rateAvailabilityType" }, "productInfo": { "description": "Information related to Product based Award.", "$ref": "#/definitions/productAvailabilityType" }, "upgradeInfo": { "description": "Information related to Upgrade based Award.", "$ref": "#/definitions/upgradeAvailabilityType" }, "otherInfo": { "description": "Information related to Other Award.", "$ref": "#/definitions/otherAvailabilityType" } } }, "rateAvailabilityType": { "type": "object", "description": "Member Award availability details based on chosen award types as Product,Rate,Upgrade,FT Payment and Other.", "properties": { "awardType": { "description": "Unique code that identifies this award.", "type": "string", "minLength": 0, "maxLength": 40 }, "hotelId": { "description": "HotelCode where the award will be consumed.", "type": "string", "minLength": 0, "maxLength": 20 }, "totalAvailablePoints": { "description": "Total award points available for redemption.", "type": "number" }, "pointsRequired": { "description": "The number of points that must be redeemed for this award.", "type": "number" }, "cancelPenaltyPoints": { "description": "The award points that will be forfeited if the cancel penalty charge is applied.", "type": "number" }, "cancelPenaltyDays": { "description": "Number of days before arrival when a reservation may be cancelled without an award points penalty.", "type": "number" }, "cancelPenaltyCharge": { "description": "The cancel penalty charge.", "type": "number" }, "cancelPenaltyType": { "description": "The penalty charge is either a percentage or a flat number of points.", "type": "string", "minLength": 0, "maxLength": 20 }, "rawIssueKey": { "description": "Issue key in format of Raw data.", "type": "string", "minLength": 0, "maxLength": 4000 }, "awardNumber": { "description": "An identifying number of the award, assigned by the system when the award was issued.", "type": "number" }, "rateCode": { "description": "Rate code associated with the award.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateDescription": { "description": "Rate code description associated with the award.", "type": "string", "minLength": 0, "maxLength": 4000 }, "roomLabel": { "description": "Code for the room type in which the award was issued.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomDescription": { "description": "Description of the Room.", "type": "string", "minLength": 0, "maxLength": 4000 }, "roomCategory": { "description": "Indicates which room category it belongs.", "type": "string", "minLength": 0, "maxLength": 20 }, "stayDate": { "description": "The date of the reservation associated with the award. There may be more than one date (multiple nights) associated with award.", "type": "string", "format": "date", "maxLength": 8 } } }, "productAvailabilityType": { "type": "object", "description": "Member Award availability details based on chosen award types as Product,Rate,Upgrade,FT Payment and Other.", "properties": { "awardType": { "description": "Unique code that identifies this award.", "type": "string", "minLength": 0, "maxLength": 40 }, "hotelId": { "description": "HotelCode where the award will be consumed.", "type": "string", "minLength": 0, "maxLength": 20 }, "totalAvailablePoints": { "description": "Total award points available for redemption.", "type": "number" }, "pointsRequired": { "description": "The number of points that must be redeemed for this award.", "type": "number" }, "cancelPenaltyPoints": { "description": "The award points that will be forfeited if the cancel penalty charge is applied.", "type": "number" }, "cancelPenaltyDays": { "description": "Number of days before arrival when a reservation may be cancelled without an award points penalty.", "type": "number" }, "cancelPenaltyCharge": { "description": "The cancel penalty charge.", "type": "number" }, "cancelPenaltyType": { "description": "The penalty charge is either a percentage or a flat number of points.", "type": "string", "minLength": 0, "maxLength": 20 }, "rawIssueKey": { "description": "Issue key in format of Raw data.", "type": "string", "minLength": 0, "maxLength": 4000 }, "awardNumber": { "description": "An identifying number of the award, assigned by the system when the award was issued.", "type": "number" }, "packageCode": { "description": "Package/Product code for the award .", "type": "string", "minLength": 0, "maxLength": 20 }, "packageDescription": { "description": "Description of the product.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardValidFrom": { "description": "The valid time period from when the award can be issued.", "type": "string", "format": "date", "maxLength": 8 }, "awardValidTo": { "description": "The valid time to an issued award.", "type": "string", "format": "date", "maxLength": 8 } } }, "upgradeAvailabilityType": { "type": "object", "description": "Member Award availability details based on chosen award types as Product,Rate,Upgrade,FT Payment and Other.", "properties": { "awardType": { "description": "Unique code that identifies this award.", "type": "string", "minLength": 0, "maxLength": 40 }, "hotelId": { "description": "HotelCode where the award will be consumed.", "type": "string", "minLength": 0, "maxLength": 20 }, "totalAvailablePoints": { "description": "Total award points available for redemption.", "type": "number" }, "pointsRequired": { "description": "The number of points that must be redeemed for this award.", "type": "number" }, "cancelPenaltyPoints": { "description": "The award points that will be forfeited if the cancel penalty charge is applied.", "type": "number" }, "cancelPenaltyDays": { "description": "Number of days before arrival when a reservation may be cancelled without an award points penalty.", "type": "number" }, "cancelPenaltyCharge": { "description": "The cancel penalty charge.", "type": "number" }, "cancelPenaltyType": { "description": "The penalty charge is either a percentage or a flat number of points.", "type": "string", "minLength": 0, "maxLength": 20 }, "rawIssueKey": { "description": "Issue key in format of Raw data.", "type": "string", "minLength": 0, "maxLength": 4000 }, "awardNumber": { "description": "An identifying number of the award, assigned by the system when the award was issued.", "type": "number" }, "fromRoomCategory": { "description": "Indicates room type code for the room prior to the upgrade.", "type": "string", "minLength": 0, "maxLength": 4000 }, "toRoomCategory": { "description": "Indicates room type code of the upgrade room.", "type": "string", "minLength": 0, "maxLength": 4000 }, "fromRoomDescription": { "description": "Indicates room type Description for the room prior to the upgrade.", "type": "string", "minLength": 0, "maxLength": 4000 }, "toRoomDescription": { "description": "Indicates room type Description of the upgrade room.", "type": "string", "minLength": 0, "maxLength": 4000 }, "fromRoom": { "description": "Indicates room type code for the room prior to the upgrade.", "type": "string", "minLength": 0, "maxLength": 20 }, "toRoom": { "description": "Indicates room type code of the upgrade room.", "type": "string", "minLength": 0, "maxLength": 20 }, "stayDate": { "description": "The date of the reservation associated with the award. There may be more than one date (multiple nights) associated with award.", "type": "string", "format": "date", "maxLength": 8 } } }, "otherAvailabilityType": { "type": "object", "description": "Information related to Other Award.", "properties": { "awardType": { "description": "Unique code that identifies this award.", "type": "string", "minLength": 0, "maxLength": 40 }, "sellBeginDate": { "description": "Beginning date of the award.", "type": "string", "format": "date", "maxLength": 8 }, "sellEndDate": { "description": "End date that the award will be available.", "type": "string", "format": "date", "maxLength": 8 }, "shortDescription": { "description": "Descriptive name of the award.", "type": "string", "minLength": 0, "maxLength": 80 }, "awardValue": { "description": "The actual value of the award, in the amount of currency.", "type": "number" }, "totalAvailablePoints": { "description": "Total award points available for redemption.", "type": "number" }, "pointsRequired": { "description": "The number of points that must be redeemed for this award.", "type": "number" }, "longDescription": { "description": "Detail description of the award.", "type": "string", "minLength": 0, "maxLength": 2000 }, "awardNumber": { "description": "An identifying number of the award, assigned by the system when the award was issued.", "type": "number" } } }, "awardsToGrant": { "type": "object", "description": "Response object to fetch award details to grant an award.", "properties": { "membershipAwardsList": { "description": "Collection of member award list.", "$ref": "#/definitions/membershipAwardsAvailabilityType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "company": { "type": "object", "description": "Request object for creation of company/agent/group/source profile. This object contains profile details with unique identifiers of a profile. The standard optional Opera Context element is also included.", "properties": { "companyIdList": { "description": "Unique identifiers of Profile for both internal and external systems. In case of Travel Agent the IATA code and in case of Company can be any form of identifier as ID.", "$ref": "#/definitions/profileIdList" }, "externalReferences": { "description": "External Reference information for Profile.", "$ref": "#/definitions/externalReferencesType" }, "companyDetails": { "description": "Provides detailed information of a company profile.", "$ref": "#/definitions/companyProfileType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "externalReferencesType": { "type": "array", "description": "This type contains unique information of external reference.", "maxItems": 4000, "items": { "$ref": "#/definitions/externalReferenceType" } }, "externalReferenceType": { "type": "object", "description": "This type contains unique information of external reference.", "properties": { "id": { "description": "Unique ID of external reference.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "ID context for external reference.", "type": "string", "minLength": 0, "maxLength": 80 } } }, "companyProfileType": { "type": "object", "description": "Type provides the detailed information about the profile and its children.", "properties": { "company": { "description": "Detailed company information for this profile.", "$ref": "#/definitions/companyType" }, "profileImage": { "description": "The profile image.", "$ref": "#/definitions/imageSetType" }, "addresses": { "description": "List of customer addresses.", "type": "object", "properties": { "addressInfo": { "description": "Collection of Detailed information on an address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/addressInfoType" } }, "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" } } }, "businessSegments": { "description": "Business/Market Segment associated to the profile.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "territory": { "description": "Territory associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "traceCode": { "description": "Trace Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "ownerCode": { "description": "Owner Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "influenceCode": { "description": "Influence Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "telephones": { "description": "List of Telephone Number Information", "type": "object", "properties": { "telephoneInfo": { "description": "Collection of Detailed information on telephone/fax for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/telephoneInfoType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "emails": { "description": "List of email address for the customer.", "type": "object", "properties": { "emailInfo": { "description": "Collection of Detailed information on an eMail address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/emailInfoType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "uRLs": { "description": "List of Information on a URL for the customer.", "type": "object", "properties": { "uRLInfo": { "description": "Collection of Detailed information on web url/address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/uRLInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "comments": { "description": "List of Notes for the customer.", "type": "object", "properties": { "commentInfo": { "description": "Collection of Detailed information on comments for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profileMemberships": { "description": "List of loyalty program(s) the profile is subscribed to.", "type": "object", "properties": { "profileMembership": { "description": "Collection of Detailed information on memberships for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileMembershipType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "preferenceCollection": { "description": "List of customer preferences.", "type": "object", "properties": { "preferenceType": { "description": "Collection of Detailed information on preferences of the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/preferenceTypeType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "keywords": { "description": "List of customer keywords.", "type": "object", "properties": { "keyword": { "description": "Collection of keywords attached to the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/keywordType" } }, "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" } } }, "negotiatedRates": { "description": "List of profile negotiated rates.", "type": "object", "properties": { "negotiatedRate": { "description": "Collection of Detailed information on profile negotiated rates.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/negotiatedType" } }, "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" } } }, "gdsNegotiatedRates": { "description": "List of channel negotiated rates that this profile has been assigned to.", "type": "object", "properties": { "gdsNegotiatedRate": { "description": "Collection of Detailed information on channel negotiated rates for the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/gdsNegotiatedType" } }, "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" } } }, "profileIndicators": { "description": "Indicators of additional information attached to the profile", "$ref": "#/definitions/indicatorsType" }, "relationships": { "description": "Contains a collection of profiles that have a relationship with this profile.", "type": "object", "properties": { "relationship": { "description": "A collection of the profiles that have a relationship with this profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/relationshipInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "lastStayInfo": { "description": "Information on last stay of the profile.", "$ref": "#/definitions/lastStayInfoType" }, "profileAccessType": { "description": "Detailed information on access type associated with the profile.", "$ref": "#/definitions/profileAccessType" }, "profileRestrictions": { "description": "Detailed information on restrictions associated with the profile.", "$ref": "#/definitions/profileRestrictions" }, "mailingActions": { "description": "Contains collection of mailing action list associated with the profile", "$ref": "#/definitions/mailingActionsType" }, "privacyInfo": { "description": "Contains privacy related information associated with the profile", "$ref": "#/definitions/privacyInfoType" }, "cashiering": { "description": "Contains cashiering related details for the profile", "$ref": "#/definitions/profileCashieringType" }, "commissionInfoList": { "description": "Contains commission related details for the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileCommissionType" } }, "userDefinedFields": { "description": "Collections of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" }, "webUserAccounts": { "description": "List of Web User Accounts of the profile.", "$ref": "#/definitions/webUserAccountsType" }, "taxInfo": { "description": "Profile information about tax.", "$ref": "#/definitions/profileTaxInfoType" }, "salesInfo": { "description": "Sales information of the profiles.", "$ref": "#/definitions/salesInfoType" }, "eCertificates": { "description": "E-Certificate associated with the profile.", "$ref": "#/definitions/eCertificatesType" }, "subscriptions": { "description": "List of profile subscriptions.", "$ref": "#/definitions/profileSubscriptionListType" }, "localizationGuestType": { "description": "Localization Guest Type associated to the profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "eligibleForFiscalFolio": { "description": "Eligible for Fiscal Folio/Payload generation.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileType": { "description": "Type of profile such as Agent, Company, Group and Source.", "$ref": "#/definitions/companyProfileTypeType" }, "statusCode": { "description": "Status of the profile. Active/Inactive", "$ref": "#/definitions/profileStatusType" }, "registeredProperty": { "description": "Hotel which this profile is registered with. This attribute is not used for configuration.", "type": "string", "minLength": 0, "maxLength": 20 }, "requestForHotel": { "description": "Hotel which this profile is to be registered. This attribute is only used during creation of profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "protectedBy": { "description": "What level this profile is protected.", "type": "string", "minLength": 0, "maxLength": 40 }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "markAsRecentlyAccessed": { "description": "Mark this profile as recently accessed.", "type": "boolean" }, "markForHistory": { "description": "\"true\" setting marks the profile to be kept from being purged, once the profile is marked inactive.", "type": "boolean" }, "hasCommission": { "description": "Populates true if the profile has commission configured false otherwise.", "type": "boolean" }, "inheritedNegRates": { "description": "Flag to indicate if the negotiated rates are inherited from master profile. Flag is available only when the profile is linked to master profile and master profile has negotiated rate codes attached.", "type": "boolean" } } }, "companyType": { "type": "object", "properties": { "companyName": { "description": "Name of the company.", "type": "string", "minLength": 0, "maxLength": 40 }, "companyName2": { "description": "Second Name of the company.", "type": "string", "minLength": 0, "maxLength": 40 }, "companyName3": { "description": "Third Name of the company.", "type": "string", "minLength": 0, "maxLength": 40 }, "alternateName": { "description": "Alternate Name of the Company. Mainly, it's the name of the company written in the Alternate Language.", "type": "string", "minLength": 0, "maxLength": 80 }, "alternateLanguage": { "description": "Alternate Language of the company.", "type": "string", "minLength": 0, "maxLength": 20 }, "businessLocale": { "description": "A jurisdiction(Territory) in which a company is authorized to do business.", "type": "string", "minLength": 0, "maxLength": 40 }, "iATAInfo": { "description": "IATA Information of the profile.", "$ref": "#/definitions/iATAInfoType" }, "businessTitle": { "description": "Business Title.", "type": "string", "minLength": 0, "maxLength": 80 }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "nationality": { "description": "Nationality code identification", "type": "string", "minLength": 0, "maxLength": 20 }, "nationalityDescription": { "description": "Nationality code description", "type": "string", "minLength": 0, "maxLength": 80 }, "commissionCode": { "description": "Commission code of the company.", "type": "string", "minLength": 0, "maxLength": 20 }, "creditRating": { "description": "Credit Rating of the company.", "type": "string", "minLength": 0, "maxLength": 20 }, "corporateIdType": { "description": "The type of corporate ID", "type": "string", "minLength": 0, "maxLength": 20 }, "vipStatus": { "description": "VIP status of the company.", "type": "string", "minLength": 0, "maxLength": 20 }, "vipDescription": { "description": "Description of the VIP status.", "type": "string", "minLength": 0, "maxLength": 2000 }, "blacklist": { "description": "This element tells if profile is blacklisted or not.", "type": "boolean" }, "longAccountName": { "description": "Large company name to be used in the Invoice/Credit Bill.", "type": "string", "minLength": 0, "maxLength": 512 } } }, "iATAInfoType": { "type": "object", "description": "IATA Information of the profile.", "properties": { "iATACompany": { "description": "IATA Company Detail.", "type": "string", "minLength": 0, "maxLength": 20 }, "iATAConsortia": { "description": "IATA Consortia.", "type": "string", "minLength": 0, "maxLength": 40 }, "iATAValidationResult": { "description": "IATA Validation Result.", "type": "boolean" } } }, "imageSetType": { "type": "object", "description": "Represents on image set record.", "properties": { "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "imageSet": { "description": "The image set name.", "type": "string", "minLength": 0, "maxLength": 800 }, "sequenceId": { "description": "The image set sequence ID.", "type": "integer" }, "imageStyle": { "description": "The image set enumerated style.", "$ref": "#/definitions/imageStyleType" }, "imageType": { "description": "The image set type.", "type": "string", "minLength": 0, "maxLength": 80 }, "hotelId": { "description": "The image set hotel code.", "type": "string", "minLength": 0, "maxLength": 20 }, "chainCode": { "description": "The image set chain code.", "type": "string", "minLength": 0, "maxLength": 20 }, "imageURL": { "description": "The image set URL.", "type": "string", "minLength": 0, "maxLength": 2000 }, "description": { "description": "The image set description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "imageOrder": { "description": "The image set order.", "type": "integer" }, "website": { "description": "The image set website.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "imageStyleType": { "type": "string", "description": "An enumeration of image styles.", "enum": [ "Full", "Thumbnail", "Icon", "Square", "Banner", "Button", "Lowres", "Highres" ] }, "addressInfoType": { "type": "object", "description": "Provides address information.", "properties": { "address": { "description": "Address details for the profile.", "$ref": "#/definitions/addressType" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "telephoneInfoType": { "type": "object", "description": "Information on a telephone number for the customer.", "properties": { "telephone": { "description": "Phone details for the profile.", "$ref": "#/definitions/telephoneType" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "telephoneType": { "type": "object", "description": "Information on a telephone number for the customer.", "properties": { "phoneTechType": { "description": "Indicates type of technology associated with this telephone number, such as Voice, Data, Fax, Pager, Mobile, TTY, etc.", "type": "string", "minLength": 0, "maxLength": 20 }, "phoneUseType": { "description": "Describes the type of telephone number, in the context of its general use (e.g. Home, Business, Emergency Contact, Travel Arranger, Day, Evening).", "type": "string", "minLength": 0, "maxLength": 20 }, "phoneUseTypeDescription": { "description": "Description of the PhoneUseType code", "type": "string", "minLength": 0, "maxLength": 2000 }, "phoneNumber": { "description": "Telephone number assigned to a single location.", "type": "string", "minLength": 0, "maxLength": 40 }, "extension": { "description": "Extension to reach a specific party at the phone number.", "type": "string", "minLength": 0, "maxLength": 20 }, "primaryInd": { "description": "When true, indicates a primary information.", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible 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 }, "isValidated": { "description": "Indicator to define if the Phone number is validated by the Phone Validation System.", "type": "boolean" } } }, "emailInfoType": { "type": "object", "description": "Information on an email for the customer.", "properties": { "email": { "description": "eMail deatils for the profile.", "$ref": "#/definitions/emailType" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "emailType": { "type": "object", "description": "Information on an email for the customer.", "properties": { "emailAddress": { "description": "Defines the e-mail address.", "type": "string", "minLength": 0, "maxLength": 2000 }, "type": { "description": "Defines the purpose of the e-mail address (e.g. personal, business, listserve).", "type": "string", "minLength": 0, "maxLength": 20 }, "typeDescription": { "description": "Describes the Type code", "type": "string", "minLength": 0, "maxLength": 2000 }, "emailFormat": { "description": "Supported Email format.", "type": "string" }, "primaryInd": { "description": "When true, indicates a primary information.", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible 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 }, "isValidated": { "description": "Indicator to define if the Email is validated by the Email Validation System.", "type": "boolean" } } }, "uRLInfoType": { "type": "object", "description": "Web site address.", "properties": { "url": { "description": "Provides URL information.", "$ref": "#/definitions/uRLType" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "uRLType": { "type": "object", "description": "Web site address, in IETF(The Internet Engineering Task Force) specified format.", "properties": { "value": { "type": "string", "description": "Property Value" }, "type": { "description": "Defines the purpose of the URL address, such as personal, business, public, etc.", "type": "string", "minLength": 0, "maxLength": 20 }, "typeDescription": { "description": "Describes the Type code", "type": "string", "minLength": 0, "maxLength": 2000 }, "primaryInd": { "description": "When true, indicates a primary information.", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" } } }, "commentInfoType": { "type": "object", "description": "Comment related to the profile/reservation.", "properties": { "comment": { "description": "Comment details for the comment. It will be empty in case of delete comment.", "$ref": "#/definitions/commentType" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible 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 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "commentType": { "type": "object", "description": "An indication of a new paragraph for a sub-section of a formatted text message.", "properties": { "text": { "description": "Formatted text content.", "$ref": "#/definitions/formattedTextTextType" }, "commentTitle": { "description": "Specifies Comment's Title.", "type": "string", "minLength": 0, "maxLength": 4000 }, "notificationLocation": { "description": "Notification Location associated with the Note.", "type": "string", "minLength": 0, "maxLength": 20 }, "type": { "description": "Specifies type of the comment.", "type": "string", "minLength": 0, "maxLength": 20 }, "typeDescription": { "description": "Comment type Description.", "type": "string", "minLength": 0, "maxLength": 200 }, "internal": { "description": "When true, the comment may not be shown to the consumer. When false, the comment may be shown to the consumer.", "type": "boolean" }, "confidential": { "description": "When true, the comment may be confidential.", "type": "boolean" }, "overrideInternal": { "description": "When true, the note internal could be modified.", "type": "boolean" }, "protectDescription": { "description": "When true, the note title will be populated from the note type description and couldn't be modified.", "type": "boolean" }, "hotelId": { "description": "If specified comment belongs to the Hotel, otherwise it is a global comment.", "type": "string", "minLength": 0, "maxLength": 20 }, "actionType": { "description": "Specifies type of action described in the comments.", "type": "string", "minLength": 0, "maxLength": 20 }, "actionDate": { "description": "Indicates at which date an action described in the comment must be taken.", "type": "string", "format": "date", "maxLength": 8 }, "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 resposible 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 } } }, "formattedTextTextType": { "type": "object", "description": "Provides text and indicates whether it is formatted or not.", "properties": { "value": { "type": "string", "description": "Property Value" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" } } }, "profileMembershipType": { "type": "object", "description": "Detailed information of the memberships.", "properties": { "comment": { "description": "Additional comments regarding to the membership.", "$ref": "#/definitions/paragraphType" }, "newMembershipNumber": { "description": "Card Number of the membership.", "type": "string" }, "nameOnCard": { "description": "Name to be displayed on the membership card.", "type": "string" }, "programDescription": { "description": "Description of the membership program.", "type": "string" }, "membershipLevel": { "description": "Indicates the membership level.", "type": "string" }, "membershipLevelDescription": { "description": "Indicates the membership level description.", "type": "string", "minLength": 0, "maxLength": 200 }, "membershipClass": { "description": "Indicates the membership class.", "type": "string" }, "earningPreference": { "description": "Earning preference to the membership.", "$ref": "#/definitions/membershipEarningPreferenceType" }, "inactive": { "description": "Indicates whether membership is active or inactive.", "type": "boolean" }, "benefits": { "description": "benefits for the membership.", "$ref": "#/definitions/benefitsType" }, "tierAdministration": { "description": "Defines the degree of participation for this membership in the tier management portion of the program.", "$ref": "#/definitions/tierAdministrationType" }, "downgrade": { "description": "Defines how downgrading will be handled for this membership.", "$ref": "#/definitions/downgradeType" }, "reIssueNewCard": { "description": "The status of issuing new membership card to the member.", "$ref": "#/definitions/cardReIssueType" }, "excludeFromBatch": { "description": "True if you want to exclude the member from the Membership Fulfillment extract,the member's actions will not be included in the fulfillment extract until this value set to false.", "type": "boolean" }, "upgradeDescription": { "description": "Indicates Upgrade information which includes member's next tier level, requirements for the next upgrade.", "type": "string", "minLength": 0, "maxLength": 32000 }, "downgradeDescription": { "description": "Indicates information regarding the member's possible downgrades.", "type": "string", "minLength": 0, "maxLength": 32000 }, "rating": { "description": "Value Rating Type Description for this membership.", "type": "string" }, "membershipEnrollmentCode": { "description": "Indicates how the guest enrolled in the program.", "type": "string", "minLength": 0, "maxLength": 20 }, "memberStatus": { "description": "Indicates where the guest is in the membership enrollment process.", "type": "string", "minLength": 0, "maxLength": 20 }, "currentPoints": { "description": "Profile MemberShip Points.", "type": "number" }, "pointsLabel": { "description": "Label used to refer to points for this membership type", "type": "string", "minLength": 0, "maxLength": 20 }, "enrollmentSource": { "description": "The source from which a profile is enrolled. If not specified when adding a membership to a profile, the value defaults to the 'Default Enrollment Source' setting in the OPERA Control.", "type": "string", "minLength": 0, "maxLength": 20 }, "enrollmentResort": { "description": "Resort/CRO where enrollment is done.", "type": "string", "minLength": 0, "maxLength": 20 }, "preferredCard": { "description": "Preferred Card.", "type": "boolean" }, "membershipId": { "description": "Card Number of the membership.", "type": "string" }, "membershipType": { "description": "Type of membership.", "type": "string" }, "primaryMembershipYn": { "description": "Indicator if Membership is a Primary Membership.", "type": "string", "minLength": 0, "maxLength": 1 }, "primaryMembership": { "description": "Indicator that implies if membership type is a Primary Membership Type. This attribute is only applicable when fetching information using get operations and not used in post and put operations.", "type": "boolean" }, "membershipIdNo": { "description": "Membership ID Number.", "type": "integer" }, "playerRanking": { "description": "Ranking assigned to the Player Profile by the Gaming system.", "type": "integer" }, "centralSetup": { "description": "Indicates how the award points for this membership type will be managed.", "type": "boolean" }, "signupDate": { "description": "Indicates when the member signed up for the loyalty program.", "type": "string", "format": "date", "maxLength": 8 }, "effectiveDate": { "description": "Indicates the starting date.", "type": "string", "format": "date", "maxLength": 8 }, "expireDate": { "description": "Indicates the ending date.", "type": "string", "format": "date", "maxLength": 8 }, "expireDateExclusiveIndicator": { "description": "When true, indicates that the ExpireDate is the first day after the applicable period (e.g. when expire date is Oct 15 the last date of the period is Oct 14).", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible 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 }, "autoPopulateFromName": { "description": "Automatically populate membership number based on profile name.", "type": "boolean", "default": "false" }, "referredByMembershipNameId": { "description": "Name id this profile was referred by.", "type": "integer" }, "referredByDisplayName": { "description": "Display name this profile was referred by.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "paragraphType": { "type": "object", "description": "An indication of a new paragraph for a sub-section of a formatted text message.", "properties": { "text": { "description": "Formatted text content.", "$ref": "#/definitions/formattedTextTextType" }, "url": { "description": "A URL for this paragraph.", "type": "string" } } }, "membershipEarningPreferenceType": { "type": "string", "description": "The earning preference of a membership, it depends on the type of property. eg. when the property is a airline it should be Miles, other than Points.", "enum": [ "Points", "Miles" ] }, "benefitsType": { "type": "array", "description": "Basic information about membership benefit.", "maxItems": 4000, "items": { "$ref": "#/definitions/benefitType" } }, "benefitType": { "type": "object", "description": "Basic information about membership benefit.", "properties": { "code": { "description": "Benefit code associated with a membership.", "type": "string", "minLength": 0, "maxLength": 20 }, "message": { "description": "Processing message for membership benefit.", "type": "string", "minLength": 0, "maxLength": 4000 }, "inactive": { "description": "Indicates whether membership benefit is active or inactive.", "type": "boolean" } } }, "tierAdministrationType": { "type": "string", "description": "Do not upgrade membership. The membership may be downgraded.", "enum": [ "Disabled", "NoUpgrade" ] }, "downgradeType": { "type": "string", "description": "Do not downgrade membership when the next downgrade process runs. When the downgrade process runs, the membership will be automatically set to Grace.", "enum": [ "Grace", "Never", "Period" ] }, "cardReIssueType": { "type": "string", "description": "Request to re issue a new card.", "enum": [ "Pending", "NotApplicable", "Requested" ] }, "preferenceTypeType": { "type": "object", "description": "Preference details for the profile.", "properties": { "preference": { "description": "Collection of Preferences for the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/preferenceType" } }, "preferenceType": { "description": "Preference group code.", "type": "string", "minLength": 0, "maxLength": 20 }, "preferenceTypeDescription": { "description": "Preference group description.", "type": "string" }, "sequence": { "description": "Preference Sequence.", "type": "string" }, "maxQuantity": { "description": "Maximum quantity of preferences allowed per preference group.", "type": "integer" }, "availableQuantity": { "description": "Available quantity of preferences (maximum quantity - Existing preferences)per preference group.", "type": "integer" }, "maxResortUsedQuantity": { "description": "Maximum quantity of preferences used by any resort per preference group.", "type": "integer" }, "reservationPreference": { "description": "Whether this preference is reservation preference or not.", "type": "boolean" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible 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 } } }, "preferenceType": { "type": "object", "description": "Guest Preference details for the profile.", "properties": { "preferenceValue": { "description": "Preference value for display purposes.", "type": "string", "minLength": 0, "maxLength": 200 }, "description": { "description": "Preference Description for display purposes.", "type": "string", "minLength": 0, "maxLength": 2000 }, "global": { "description": "Whether this preference is property specific or not.", "type": "boolean" }, "source": { "description": "Source of the preference.", "type": "string", "minLength": 0, "maxLength": 40 }, "hotels": { "description": "If specified preference belongs to the Hotels listed, otherwise it is a global preference.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "preferenceCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "excludedPreferencesCount": { "description": "Specifies the count of preferences excluded for the attached reservation preference.", "type": "integer" }, "copyToProfile": { "description": "Specifies whether to copy the reservation preference to the profile or not.", "type": "boolean" } } }, "keywordType": { "type": "object", "properties": { "keywordDetail": { "description": "The keyword new value, in case keyword value is modified.", "$ref": "#/definitions/keywordDetailType" }, "type": { "description": "The type of keyword", "type": "string", "minLength": 0, "maxLength": 20 }, "keyword": { "description": "The keyword value.", "type": "string", "minLength": 0, "maxLength": 80 } } }, "keywordDetailType": { "type": "object", "properties": { "newKeyword": { "description": "The new keyword value.", "type": "string", "minLength": 0, "maxLength": 80 } } }, "negotiatedType": { "type": "object", "description": "This holds a list of NegotiatedInfoType.", "properties": { "negotiatedInfoList": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/negotiatedInfoType" } }, "hotelId": { "description": "Hotel code for the negotiated rate.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateCode": { "description": "Rate plan code for the negotiated rate.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "negotiatedInfoType": { "type": "object", "description": "This provides information for a profile negotiated rate.", "properties": { "corporateAgreementId": { "description": "The master identifier for multiple offices/locations under the same company profile. This is optional", "type": "string", "minLength": 0, "maxLength": 80 }, "comissionCode": { "description": "Informational purposes only in numeric format.", "type": "string", "minLength": 0, "maxLength": 20 }, "order": { "description": "The sell order.", "type": "integer" }, "inactive": { "description": "Negotiated Rate is inactive or not", "type": "boolean" }, "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 } } }, "gdsNegotiatedType": { "type": "object", "description": "This holds a list of GdsNegotiatedInfoType.", "properties": { "gdsNegotiatedInfoList": { "description": "List of channel negotiated rates for the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/gdsNegotiatedInfoType" } }, "bookingChannelCode": { "description": "Booking Channel Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "Hotel Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "channelRatePlanCode": { "description": "Channel Room Type.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "gdsNegotiatedInfoType": { "type": "object", "description": "This provides information for a channel negotiated rate.", "properties": { "accessCode": { "description": "The GDS negotiated rate code.", "type": "string", "minLength": 0, "maxLength": 20 }, "order": { "description": "The sell order.", "type": "integer" }, "inactive": { "description": "The GDS Negotiated Rate is inactive or not", "type": "boolean" }, "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 } } }, "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" } } }, "relationshipInfoType": { "type": "object", "description": "Relationship Type contains information about the associations between and among individuals, companies, travel agents, groups, sources, and contact profiles.", "properties": { "changeRelationship": { "description": "Information about the changes in relationship for the profile", "$ref": "#/definitions/changeRelationsType" }, "relationshipProfile": { "description": "Refer to Relationship Profile type document.", "$ref": "#/definitions/relationshipProfileType" }, "masterAccountInfo": { "description": "Refer to Master Profile type document.", "$ref": "#/definitions/masterAccountInfoType" }, "id": { "description": "Relationship identifier.", "type": "string", "minLength": 0, "maxLength": 80 }, "relation": { "description": "Indicates the type of relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "relationDescription": { "description": "Displays the description of relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 200 }, "targetRelation": { "description": "Displays the type of relationship the Related profile(Target Profile) has with the current profile(Source Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "targetRelationDescription": { "description": "Displays the description of the target relation(Target Profile).", "type": "string", "minLength": 0, "maxLength": 200 } } }, "changeRelationsType": { "type": "object", "description": "Detailed information regarding the changes made to relationships for the profile.", "properties": { "id": { "description": "Relationship identifier.", "type": "string", "minLength": 0, "maxLength": 80 }, "relation": { "description": "Indicates the type of relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "relationDescription": { "description": "Displays the description of relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 200 }, "targetRelation": { "description": "Displays the type of relationship the Related profile(Target Profile) has with the current profile(Source Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "targetRelationDescription": { "description": "Displays the description of the target relation(Target Profile).", "type": "string", "minLength": 0, "maxLength": 200 } } }, "relationshipProfileType": { "type": "object", "properties": { "customer": { "description": "Detailed information of the customer", "$ref": "#/definitions/customerType" }, "company": { "description": "Detailed information of the Company.", "$ref": "#/definitions/companyType" }, "telephone": { "description": "Information on telephone details for the customer/company", "$ref": "#/definitions/telephoneInfoType" }, "address": { "description": "Information on address details for the customer/company", "$ref": "#/definitions/addressInfoType" }, "email": { "description": "Information on email address for the customer/company", "$ref": "#/definitions/emailInfoType" }, "uRLs": { "description": "Information on web url/address for the customer/company", "$ref": "#/definitions/uRLInfoType" }, "primaryOwner": { "description": "Primary Owner of the profile", "$ref": "#/definitions/ownerType" }, "profileIdList": { "description": "Original profile details for which the relationships was created", "$ref": "#/definitions/uniqueIDListType" }, "changeProfileIdList": { "description": "Updated/changed profile details for the relationships created", "$ref": "#/definitions/uniqueIDListType" }, "primary": { "description": "Indicates if this relationship is the primary relationship.", "type": "string", "minLength": 0, "maxLength": 20 }, "id": { "description": "Relationship identifier.", "type": "string", "minLength": 0, "maxLength": 80 }, "statusCode": { "description": "Status of the profile. Active/Inactive", "$ref": "#/definitions/profileStatusType" }, "profileType": { "description": "Type of profile such as Guest, Agent, Company, Group, Source, Employee, Hotel, Vendor or Contact.", "$ref": "#/definitions/profileTypeType" } } }, "customerType": { "type": "object", "description": "Contains basic data on the customer's identity, location, relationships, finances, memberships, etc.", "properties": { "personName": { "description": "Detailed name information for the customer.", "type": "array", "maxItems": 5, "items": { "$ref": "#/definitions/personNameType" } }, "anonymization": { "description": "Provides information about the guest's anonymization status", "$ref": "#/definitions/anonymizationType" }, "citizenCountry": { "description": "Name of the (self-professed) country that is claimed for citizenship.", "$ref": "#/definitions/countryNameType" }, "identifications": { "description": "List of identification of the customer.", "type": "object", "properties": { "identificationInfo": { "description": "Collection of detailed information on the identification of the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/identificationInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profession": { "description": "Profession of a person.", "type": "string", "minLength": 0, "maxLength": 80 }, "alienInfo": { "description": "Immigration/visa information of a foreign person.", "$ref": "#/definitions/alienInfoType" }, "birthCountry": { "description": "Country of birth.", "$ref": "#/definitions/countryNameType" }, "legalCompany": { "description": "Name Of the company the individual is associated with.", "type": "string", "minLength": 0, "maxLength": 80 }, "companyInfo": { "description": "Company Information of the Profile.", "$ref": "#/definitions/companyInfoType" }, "businessTitle": { "description": "Business Title.", "type": "string", "minLength": 0, "maxLength": 80 }, "gender": { "description": "Identifies the profile gender code selected from Gender types List of values. Gender types LOV provides the values configured at gender configuration.", "type": "string", "minLength": 0, "maxLength": 20 }, "birthDate": { "description": "Indicates the date of birth as indicated in the document, in ISO 8601 prescribed format.", "type": "string", "format": "date", "maxLength": 8 }, "birthDateMasked": { "description": "Indicates the date of birth as masked.", "type": "string" }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "nationality": { "description": "Nationality code identification", "type": "string", "minLength": 0, "maxLength": 20 }, "nationalityDescription": { "description": "Nationality code description", "type": "string", "minLength": 0, "maxLength": 80 }, "customerValue": { "description": "The supplier's ranking of the customer (e.g., VIP, numerical ranking).", "type": "string", "minLength": 0, "maxLength": 20 }, "creditRating": { "description": "Credit Rating of the customer.", "type": "string", "minLength": 0, "maxLength": 20 }, "vipStatus": { "description": "VIP status of the customer.", "type": "string", "minLength": 0, "maxLength": 20 }, "vipDescription": { "description": "Description of the VIP status.", "type": "string", "minLength": 0, "maxLength": 2000 }, "birthPlace": { "description": "Place of birth.", "type": "string", "minLength": 0, "maxLength": 80 }, "privateProfile": { "description": "This element tells profile is property exclusive or not.", "type": "boolean" }, "blacklist": { "description": "This element tells if profile is blacklisted or not.", "type": "boolean" } } }, "personNameType": { "type": "object", "description": "This provides name information for a person.", "properties": { "namePrefix": { "description": "Salutation of honorific (e.g. Mr., Mrs., Ms., Miss, Dr.). Currently this attribute is not used for PUT and POST operations.", "type": "string", "minLength": 0, "maxLength": 40 }, "givenName": { "description": "Given name, first name or names.", "type": "string", "minLength": 0, "maxLength": 40 }, "middleName": { "description": "The middle name of the person name.", "type": "string", "minLength": 0, "maxLength": 40 }, "surname": { "description": "Family name, last name. May also be used for full name if the sending system does not have the ability to separate a full name into its parts, e.g. the surname element may be used to pass the full name.", "type": "string", "minLength": 0, "maxLength": 40 }, "nameSuffix": { "description": "Hold various name suffixes and letters (e.g. Jr., Sr., III, Ret., Esq.). Currently this attribute is not used for PUT and POST operations.", "type": "string", "minLength": 0, "maxLength": 40 }, "nameTitle": { "description": "Degree or honors (e.g., Ph.D., M.D.)", "type": "string", "minLength": 0, "maxLength": 80 }, "nameTitleSuffix": { "description": "Title Suffix. Must be populated if ADVANCED_TITLE is on.", "type": "integer" }, "envelopeGreeting": { "description": "Envelope Greeting of the profile", "type": "string" }, "salutation": { "description": "Salutation of the profile", "type": "string" }, "nameType": { "description": "Type of name of the individual, such as former, nickname, alternate or alias name.", "$ref": "#/definitions/personNameTypeType" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "name2": { "description": "Maternal/paternal name of the guest, required only for the SPAIN country mode.", "type": "string", "minLength": 0, "maxLength": 40 }, "name3": { "description": "Maternal/paternal name of the guest, required only for the SPAIN country mode.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "personNameTypeType": { "type": "string", "description": "Person's name in an external system.", "enum": [ "Primary", "Alternate", "Incognito", "External", "Phonetic" ] }, "anonymizationType": { "type": "object", "description": "Provides information about guest's anonymization status.", "properties": { "anonymizationStatus": { "description": "Status of anonymization such as Requested or Anonymized.", "$ref": "#/definitions/anonymizationStatusType" }, "anonymizationDate": { "description": "Date and Time when the guest was anonymized.", "type": "string", "format": "date-time" } } }, "anonymizationStatusType": { "type": "string", "description": "Guest has been anonymized.", "enum": [ "Requested", "Anonymized" ] }, "identificationInfoType": { "type": "object", "description": "Information on the identification of the customer.", "properties": { "identification": { "description": "Detailed information on the identification of the customer.", "$ref": "#/definitions/identificationType" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "identificationType": { "type": "object", "description": "Identification information of the customer.", "properties": { "idType": { "description": "Identification Type. Eg Passport, Driving License etc.", "type": "string", "minLength": 0, "maxLength": 40 }, "idNumber": { "description": "Identification Number.", "type": "string", "minLength": 0, "maxLength": 80 }, "idNumberMasked": { "description": "Masked Identification Number.", "type": "string", "minLength": 0, "maxLength": 80 }, "issuedCountry": { "description": "The country where Identification was issued.", "type": "string", "minLength": 0, "maxLength": 20 }, "issuedDate": { "description": "Issued date of Identification.", "type": "string", "format": "date", "maxLength": 8 }, "issuedPlace": { "description": "The place where Identification was issued.", "type": "string", "minLength": 0, "maxLength": 80 }, "expirationDate": { "description": "Expiration date of Identification.", "type": "string", "format": "date", "maxLength": 8 }, "registeredProperty": { "description": "Property where the identification belongs to.", "type": "string", "minLength": 0, "maxLength": 20 }, "primaryInd": { "description": "When true, indicates a primary information.", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" } } }, "alienInfoType": { "type": "object", "description": "immigration/visa information of a foreign person.", "properties": { "alienRegistrationNo": { "description": "Alien Registration Number.", "type": "string" }, "immigrationStatus": { "description": "Immigration Status on an Alien.", "type": "string", "minLength": 0, "maxLength": 40 }, "visaValidityType": { "description": "Visa Type of an Alien.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "companyInfoType": { "type": "object", "description": "Company Information of the Profile.", "properties": { "legalCompany": { "description": "Legal Company.", "type": "string", "minLength": 0, "maxLength": 80 }, "department": { "description": "Department of the Profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "position": { "description": "Business Title or Position of the profile.", "type": "string", "minLength": 0, "maxLength": 80 } } }, "ownerType": { "type": "object", "description": "Generic type for information about an owner.", "properties": { "hotel": { "description": "Hotel to which the owner belongs to.", "$ref": "#/definitions/codeDescriptionType" }, "userId": { "description": "Unique application user ID.", "$ref": "#/definitions/uniqueID_Type" }, "userName": { "description": "Unique application user name of the owner.", "type": "string", "minLength": 0, "maxLength": 40 }, "ownerCode": { "description": "Unique Code to identify the owner.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileId": { "description": "Unique owner profile information.", "$ref": "#/definitions/profileId" }, "name": { "description": "Provides name information of the owner.", "$ref": "#/definitions/personNameType" }, "department": { "description": "Department to which the owner belongs to.", "$ref": "#/definitions/codeDescriptionType" }, "email": { "description": "Email information of the owner.", "$ref": "#/definitions/emailInfoType" }, "phone": { "description": "Information on the telephone number of the owner.", "$ref": "#/definitions/telephoneInfoType" }, "relationship": { "description": "Relationship of the owner within the profile or block.", "$ref": "#/definitions/codeDescriptionType" }, "primary": { "description": "When true, this is a primary owner.", "type": "boolean" } } }, "codeDescriptionType": { "type": "object", "description": "This contains a generic code and description information.", "properties": { "code": { "description": "Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "description.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "profileId": { "type": "object", "description": "An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).", "properties": { "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "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 } } }, "uniqueIDListType": { "type": "array", "description": "Unique Id that references an object uniquely in the system.", "maxItems": 4000, "items": { "$ref": "#/definitions/uniqueID_Type" } }, "profileStatusType": { "type": "string", "enum": [ "Active", "Inactive" ] }, "profileTypeType": { "type": "string", "description": "The types of Profile handled by the web service.", "enum": [ "Guest", "Agent", "Company", "Group", "Source", "Employee", "Hotel", "Vendor", "Contact", "Purge", "BusinessHeader", "BillingAccount", "Activity", "Potential", "Account" ] }, "masterAccountInfoType": { "type": "object", "properties": { "masterAccountId": { "description": "Unique ID of the Master account.", "$ref": "#/definitions/uniqueID_Type" }, "masterAccountName": { "description": "Name of the Master account.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "lastStayInfoType": { "type": "object", "description": "Contains last stay related details for the profile", "properties": { "lastVisit": { "description": "Used to hold last stay information for the profile.", "type": "string", "format": "date", "maxLength": 8 }, "lastRoom": { "description": "Used to hold last room information for the profile.", "type": "string" }, "lastRate": { "description": "Used to hold last rate information for the profile.", "$ref": "#/definitions/currencyAmountType" }, "totalStay": { "description": "The total number of previous stay of the profile.", "type": "integer" } } }, "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 } } }, "profileAccessType": { "type": "object", "properties": { "chainCode": { "description": "Indicates the Chain code where the profile was created", "type": "string", "minLength": 0, "maxLength": 200 }, "croCode": { "description": "Indicates the CRO code where the profile was created", "type": "string", "minLength": 0, "maxLength": 200 }, "hotelId": { "description": "Indicates the Hotel code where the profile was created", "type": "string", "minLength": 0, "maxLength": 200 }, "sharedLevel": { "description": "Indicates whether the profile is shared at the following levels : global/property/CRO", "$ref": "#/definitions/profileSharedLevelType" } } }, "profileSharedLevelType": { "type": "string", "description": "Simple types for Shared level.", "enum": [ "Global", "Property", "Cro" ] }, "profileRestrictions": { "type": "object", "properties": { "reason": { "description": "Restriction reason associated with the current profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "reasonDescription": { "description": "Description of restriction reason.", "type": "string", "minLength": 0, "maxLength": 2000 }, "restricted": { "description": "True indicates there are restrictions associated with the current profile.", "type": "boolean" } } }, "mailingActionsType": { "type": "object", "description": "Defines mailing action list for the profile.", "properties": { "mailingAction": { "description": "Defines mailing action code and description.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/codeDescriptionType" } }, "active": { "description": "When true indicates that profile has subscribed to the mailing list.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "privacyInfoType": { "type": "object", "description": "Defines Privacy related information for the profile.", "properties": { "marketResearchParticipation": { "description": "Indicates if the profile participates in market research.", "type": "boolean" }, "lastPrivacyPromptDate": { "description": "Indicate the last privacy prompt date of the guest.", "type": "string", "format": "date", "maxLength": 8 }, "infoFromThirdParty": { "description": "Indicates if the profile is ok getting info from third parties.", "type": "boolean" }, "autoEnrollLoyaltyProgram": { "description": "Indicates if the profile wishes to be automatically enrolled in the property's loyalty program.", "type": "boolean" }, "allowPhone": { "description": "Indicates if the profile wishes to allow phone calls.", "type": "boolean" }, "allowSMS": { "description": "Indicates if the profile wishes to allow SMS.", "type": "boolean" }, "allowEmail": { "description": "Indicates if the profile wishes to allow Email.", "type": "boolean" }, "optInMailingList": { "description": "Indicates if the profile wishes to opt in for Mailing List.", "type": "boolean" }, "optInMarketResearch": { "description": "Indicates if the profile wishes to opt in for Market Research.", "type": "boolean" }, "optInThirdParty": { "description": "Indicates if the profile wishes to opt in for Third Party.", "type": "boolean" }, "optInAutoEnrollmentMember": { "description": "Indicates if the profile wishes to opt in for Auto Enrolment Member.", "type": "boolean" }, "optInPhone": { "description": "Indicates if the profile wishes to opt in for Phone.", "type": "boolean" }, "optInSms": { "description": "Indicates if the profile wishes to opt in for SMS.", "type": "boolean" }, "optInEmail": { "description": "Indicates if the profile wishes to opt in for Email.", "type": "boolean" }, "customizedPrivacyCodes": { "description": "Customized privacy codes", "type": "array", "maxItems": 20, "items": { "$ref": "#/definitions/customizedPrivacyCodesType" } } } }, "profileCashieringType": { "type": "object", "description": "Contains cashiering related details for the profile", "properties": { "directBillingList": { "description": "Contains the direct billing related information for the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/directBillingType" } }, "autoFolioSettlementType": { "description": "Contains the auto folio settlement type for the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "paymentDueDays": { "description": "Ability to define on the account, the number of days after which the invoice should be paid.", "type": "integer" }, "taxPercent1": { "description": "Tax1 Percentage for Collecting Agent.", "type": "integer" }, "taxPercent2": { "description": "Tax2 Percentage for Collecting Agent.", "type": "integer" }, "taxPercent3": { "description": "Tax3 Percentage for Collecting Agent.", "type": "integer" }, "taxPercent4": { "description": "Tax4 Percentage for Collecting Agent.", "type": "integer" }, "taxPercent5": { "description": "Tax5 Percentage for Collecting Agent.", "type": "integer" }, "arNoCentral": { "description": "Account Receivables Central Number.", "type": "string", "minLength": 0, "maxLength": 20 }, "referenceCurrency": { "description": "Reference Currency.", "type": "string", "minLength": 0, "maxLength": 20 }, "vATOffsetYN": { "description": "VAT Offset Flag.", "type": "string", "minLength": 0, "maxLength": 1 }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" } } }, "directBillingType": { "type": "object", "description": "This is the preconfigured routing instruction type.", "properties": { "hotelId": { "description": "Hotel Code for which the details of direct billing is provided for a profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "aRNumber": { "description": "Hotel Code for which the details of direct billing is provided for a profile.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "profileCommissionType": { "type": "object", "description": "This is the preconfigured routing instruction type.", "properties": { "hotelId": { "description": "Hotel Code for the commission being used for a profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "commissionCode": { "description": "commission Code for a profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "bankAccount": { "description": "Bank account used for the commission for a profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "paymentMethod": { "description": "Type of payment associated with the bank account.", "$ref": "#/definitions/commissionPaymentMethods" }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" } } }, "commissionPaymentMethods": { "type": "string", "description": "Check", "enum": [ "Cent", "Eft", "Chk" ] }, "webUserAccountsType": { "type": "array", "description": "Web User Accounts List.", "maxItems": 4000, "items": { "$ref": "#/definitions/webUserAccountType" } }, "webUserAccountType": { "type": "object", "description": "Web User Account of the guest.", "properties": { "securityQuestion": { "description": "Security Question and its Code associated with the account to verify the user.", "$ref": "#/definitions/codeDescriptionType" }, "securityAnswer": { "description": "Answer to the Security Question.", "type": "string", "minLength": 0, "maxLength": 4000 }, "comments": { "description": "Comments.", "type": "string", "minLength": 0, "maxLength": 4000 }, "history": { "description": "Web User Account History.", "$ref": "#/definitions/webUserHistoryType" }, "newLoginName": { "description": "New Login Name of the guest.", "type": "string", "minLength": 0, "maxLength": 80 }, "newPassword": { "description": "Login Password.", "type": "string", "minLength": 0, "maxLength": 2000 }, "autoGeneratePassword": { "description": "A flag which determines if the password is auto generated.", "type": "boolean" }, "loginName": { "description": "Login Name of the guest.", "type": "string", "minLength": 0, "maxLength": 80 }, "domainCode": { "description": "Domain code.", "type": "string", "minLength": 0, "maxLength": 20 }, "locked": { "description": "Boolean flag that indicates whether the web account is locked or not.", "type": "boolean" }, "inactive": { "description": "Boolean flag that indicates whether the web account is inactive or not.", "type": "boolean" } } }, "webUserHistoryType": { "type": "object", "description": "Creation date time, Creator Id, last modification date time and last Modifier Id.", "properties": { "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 resposible 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 }, "lastLogin": { "description": "Last login date.", "type": "string", "format": "date", "maxLength": 8 }, "lastPasswordChange": { "description": "Last Password change date.", "type": "string", "format": "date", "maxLength": 8 }, "inactiveDate": { "description": "Inactive date.", "type": "string", "format": "date", "maxLength": 8 } } }, "profileTaxInfoType": { "type": "object", "description": "Profile information related to tax.", "properties": { "tax1No": { "description": "The tax id of this profile. Usually issued by a government agency. Used by 1099 printing.", "type": "string", "minLength": 0, "maxLength": 40 }, "tax2No": { "description": "Tax 2 id of this profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "taxCategory": { "description": "Tax Category to be changed.", "type": "string", "minLength": 0, "maxLength": 20 }, "taxOffice": { "description": "Tax Office to be changed.", "type": "string", "minLength": 0, "maxLength": 30 }, "taxType": { "description": "Tax type to be changed.", "type": "string", "minLength": 0, "maxLength": 20 }, "businessId": { "description": "Business ID. The maximum length of this element should not exceed 120 characters.", "type": "string", "minLength": 0, "maxLength": 128 }, "businessRegistration": { "description": "Business Registration Code. The maximum length of this element should not exceed 120 characters.", "type": "string", "minLength": 0, "maxLength": 128 } } }, "salesInfoType": { "type": "object", "description": "Provides sales information about the profiles of type company, travel agent, source and contact.", "properties": { "scope": { "description": "Defines the scope.", "type": "string", "minLength": 0, "maxLength": 2000 }, "scopeCity": { "description": "Defines the scope city.", "type": "string", "minLength": 0, "maxLength": 2000 }, "accountType": { "description": "Defines the account type.", "type": "string", "minLength": 0, "maxLength": 20 }, "accountSource": { "description": "Defines the account source.", "type": "string", "minLength": 0, "maxLength": 2000 }, "industryCode": { "description": "Defines the industry code.", "type": "string", "minLength": 0, "maxLength": 2000 }, "businessSegments": { "description": "Defines the Business segments.", "type": "string", "minLength": 0, "maxLength": 2000 }, "priority": { "description": "Defines the priority.", "type": "string", "minLength": 0, "maxLength": 4000 }, "roomsPotential": { "description": "Defines the rooms potential.", "type": "string", "minLength": 0, "maxLength": 4000 }, "actionCode": { "description": "Defines the action code.", "type": "string", "minLength": 0, "maxLength": 4000 }, "competitionCode": { "description": "Defines the competition code.", "type": "string", "minLength": 0, "maxLength": 4000 }, "influence": { "description": "Defines the influence for the contact profile.", "type": "string", "minLength": 0, "maxLength": 2000 }, "preferredRoom": { "description": "Defines the Preferred Room for profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "Hotel Code used to filter the sales information.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "eCertificatesType": { "type": "array", "description": "List of e-certificates for the profile.", "maxItems": 4000, "items": { "$ref": "#/definitions/eCertificateType" } }, "eCertificateType": { "type": "object", "description": "E-Certificates details.", "properties": { "certificateId": { "description": "System generated unique certificate id.", "type": "integer" }, "voucherNo": { "description": "System generated unique voucher number.", "type": "string", "minLength": 0, "maxLength": 40 }, "certificateNo": { "description": "Printed certificate no. This has to be unique.", "type": "string", "minLength": 0, "maxLength": 40 }, "eCertificateInfo": { "$ref": "#/definitions/eCertificateInfoType" }, "expiryDate": { "description": "Date of expiry.", "type": "string", "format": "date", "maxLength": 8 }, "newExpiryDate": { "description": "New Date of expiry to extend e-certificate.", "type": "string", "format": "date", "maxLength": 8 }, "profileId": { "description": "NameId.", "$ref": "#/definitions/profileId" }, "consumptionDetail": { "$ref": "#/definitions/eCertificateConsumptionType" }, "status": { "description": "Status of the certificate.", "$ref": "#/definitions/eCertificateStatusType" }, "printed": { "description": "Print status of the certificate.", "type": "boolean" }, "inactiveDate": { "description": "Date the record was marked as inactive.", "type": "string", "format": "date", "maxLength": 8 }, "awardId": { "description": "AwardID.", "$ref": "#/definitions/awardId" }, "databaseId": { "description": "External reference from which the record is created.", "type": "string", "minLength": 0, "maxLength": 20 }, "source": { "description": "Source of e-certificate.", "$ref": "#/definitions/eCertificateIssueSourceType" }, "issueType": { "description": "Process action issued the certificate. valid values are assigned (a),opt in (o) and purchased (p).", "$ref": "#/definitions/eCertificateIssueType" }, "issueDate": { "description": "Date when certificate was issued.", "type": "string", "format": "date", "maxLength": 8 }, "awardPoints": { "description": "Award points if any in case of certificate use membership award.", "type": "integer" }, "generationDetail": { "$ref": "#/definitions/eCertificateGenerationType" }, "originalVoucherNo": { "description": "In case of in lieu of certificate this will contain the original voucher no.", "type": "string", "minLength": 0, "maxLength": 40 }, "originalCertificateNo": { "description": "In case of in lieu of certificate this will contain the original certificate no.", "type": "string", "minLength": 0, "maxLength": 40 }, "inLieuSequence": { "description": "Seq of the in lieu of certificate. 1..n. original certificate will be treated as null = 0.", "type": "integer" }, "cancelRequestDate": { "description": "Date on which the cancellation was requested.", "type": "string", "format": "date", "maxLength": 8 }, "extensionCount": { "description": "Number of times e-certificate is already extended.", "type": "integer" } } }, "eCertificateInfoType": { "type": "object", "description": "E-Certificates details.", "properties": { "certificateType": { "description": "User defined certificate code.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipType": { "description": "Membership type to which the certificate is linked to.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardCode": { "description": "Award type to which the certificate is linked to.", "type": "string", "minLength": 0, "maxLength": 20 }, "promotionCode": { "description": "Promotion code to which certificate is attached to.", "type": "string", "minLength": 0, "maxLength": 20 }, "voucherBenefitCode": { "description": "Voucher benefit code attached to the certificate.", "type": "string", "minLength": 0, "maxLength": 40 }, "hotels": { "description": "Hotel to which certificate is attached to.", "type": "object", "properties": { "code": { "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "scope": { "description": "Scope of e-cert: global,single property or multi property.", "$ref": "#/definitions/eCertificateScopeType" } } }, "description": { "description": "Description about the certificate.", "type": "string", "minLength": 0, "maxLength": 200 }, "longDescription": { "description": "Detail description about the certificate.", "type": "string", "minLength": 0, "maxLength": 4000 }, "label": { "description": "Label for the certificate.", "type": "string", "minLength": 0, "maxLength": 40 }, "maxExtensionAllowed": { "description": "Number of times e-certificate can be extended.", "type": "integer" }, "usageCriteria": { "$ref": "#/definitions/eCertificateUsageCriteriaType" }, "value": { "description": "Value of the certificate for the guest.", "$ref": "#/definitions/currencyAmountType" }, "cost": { "description": "Cost of certificate.", "$ref": "#/definitions/currencyAmountType" }, "benefitSummary": { "description": "Summary of Benefits attached to this ECertificate.", "type": "string", "minLength": 0, "maxLength": 4000 } } }, "eCertificateScopeType": { "type": "string", "description": "Indicates that OPERA E-Certificate is available for a specific list of hotels.", "enum": [ "Global", "Hotel", "MultiHotel" ] }, "eCertificateUsageCriteriaType": { "type": "object", "description": "E-Certificates details.", "properties": { "reservation": { "description": "Indicates if certificate is to be used against reservation or not.", "type": "boolean" }, "web": { "description": "Indicates if web certificate can be consumed in OWS.", "type": "boolean" }, "webAllowed": { "description": "Indicates if certificate consumption allowable on the web.", "type": "boolean" }, "benefit": { "description": "Indicates to attach a rate code to the e-certificate as a benefit.", "type": "boolean" }, "hotel": { "description": "Indicates if web certificate can be consumed in hotel.", "type": "boolean" }, "verifyCertificateNo": { "description": "Specify if the certificate number verification is required at time of consumption or not.", "type": "boolean" }, "cancelAllowed": { "description": "Identify if cancel is allowed or not.", "type": "boolean" }, "generateInLieuCertificate": { "description": "Identify if in lieu of certificate can be generated or not.", "type": "boolean" } } }, "eCertificateConsumptionType": { "type": "object", "description": "E-Certificates details.", "properties": { "hotelId": { "description": "Property where certificate was consumed for.", "type": "string", "minLength": 0, "maxLength": 20 }, "source": { "description": "Source of consumption.", "$ref": "#/definitions/eCertificateConsumeSourceType" }, "surname": { "description": "Last name of the person who consumed the certificate..", "type": "string", "minLength": 0, "maxLength": 40 }, "firstName": { "description": "First name of the person who consumed the certificate.", "type": "string", "minLength": 0, "maxLength": 40 }, "middleName": { "description": "Middle name of the person who consumed the certificate.", "type": "string", "minLength": 0, "maxLength": 40 }, "email": { "description": "Email of the person who consumed the certificate.", "type": "string", "minLength": 0, "maxLength": 2000 }, "date": { "description": "Date the certificate was consumed.", "type": "string", "format": "date", "maxLength": 8 }, "userName": { "description": "Application user who created the consumption.", "type": "string", "minLength": 0, "maxLength": 2000 }, "userNotes": { "description": "Any notes on the certificate entered at time of consumption.", "type": "string", "minLength": 0, "maxLength": 4000 }, "referenceId": { "description": "Any reference like reservation no etc against which the certificate was consumed.", "$ref": "#/definitions/uniqueID_Type" }, "locationType": { "description": "Consumption location type.", "type": "string", "minLength": 0, "maxLength": 20 }, "authorizationCode": { "description": "Authorization code for consumption.", "type": "string", "minLength": 0, "maxLength": 100 }, "serviceDate": { "description": "Date on which the service is due (arrival date in case of reservation).", "type": "string", "format": "date", "maxLength": 8 } } }, "eCertificateConsumeSourceType": { "type": "string", "description": "Indicates that OPERA E-Certificate is consumed by hotelPMS.", "enum": [ "Central", "Web", "Hotel" ] }, "eCertificateStatusType": { "type": "string", "description": "Indicates that OPERA E-Certificate is reserved.", "enum": [ "Cancelled", "Consumed", "Deleted", "Expired", "Issued", "Reserved" ] }, "awardId": { "type": "object", "description": "An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).", "properties": { "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "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 } } }, "eCertificateIssueSourceType": { "type": "string", "description": "Indicates that OPERA E-Certificate is issued by external system.", "enum": [ "Opera", "Web", "Interface" ] }, "eCertificateIssueType": { "type": "string", "description": "Indicates that guest purchased OPERA E-Certificate.", "enum": [ "Assigned", "OptedIn", "Purchased" ] }, "eCertificateGenerationType": { "type": "object", "description": "E-Certificates details.", "properties": { "ruleId": { "description": "Key to identify the generation rule id.", "$ref": "#/definitions/uniqueID_Type" }, "generationDetail": { "description": "Reason for which e-certificate was generated.", "type": "string", "minLength": 0, "maxLength": 4000 }, "referenceValue": { "description": "Type of value that is in the certificate.valid values are membership_level.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "profileSubscriptionListType": { "type": "array", "description": "Details of the OPERA Profile subscription to external system", "maxItems": 4000, "items": { "$ref": "#/definitions/profileSubscriptionType" } }, "profileSubscriptionType": { "type": "object", "description": "Contains details of the profile subscription. The subscription represents the link between the OPERA profile and the external profile within a particular external system", "properties": { "profileId": { "description": "OPERA Profile ID that this subscription record corresponds to.", "$ref": "#/definitions/profileId" }, "externalProfileId": { "description": "Profile ID within the external system.", "$ref": "#/definitions/uniqueID_Type" }, "externalResort": { "description": "This provides external resort for external profiles", "type": "string", "minLength": 0, "maxLength": 20 }, "profileInfo": { "description": "This provides name information for a person.", "type": "object", "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.). Currently this attribute is not used for PUT and POST operations.", "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.). Currently this attribute is not used for PUT and POST operations.", "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" }, "profileType": { "description": "OPERA profile type such as Individual or Company", "$ref": "#/definitions/profileTypeType" } } }, "distributed": { "description": "Indicates if the profile was distributed to the external system.", "type": "boolean" }, "force": { "description": "Indicates if the profile information should be overwritten by the external system.", "type": "boolean" }, "subscriptionDate": { "description": "Timestamp when the profile was subscribed to.", "type": "string", "format": "date-time" }, "lastDistributionDate": { "description": "Timestamp of the most recent distribution of this profile to the external system.", "type": "string", "format": "date-time" }, "lastExternalUpdateDate": { "description": "Timestamp of the most recent update of the subscription information by the external system.", "type": "string", "format": "date-time" }, "inactive": { "description": "Indicates whether this subscription is active or inactive.", "type": "boolean" }, "systemCode": { "description": "Code of system where profile is subscribed to.", "type": "string", "minLength": 0, "maxLength": 40 }, "systemType": { "description": "Type of system where profile is subscribed to.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "companyProfileTypeType": { "type": "string", "description": "The types of Profile handled by the web service.", "enum": [ "Agent", "Company", "Group", "Source" ] }, "duplicateExternalSubscriptions": { "type": "object", "description": "Response object for fetching subscriptions where the same OPERA profile is linked to multiple external profiles within the same external system.", "properties": { "duplicateExternalSubscriptionsList": { "description": "A collection of subscriptions where the same OPERA profile is linked to multiple external profiles within the same external system.", "$ref": "#/definitions/duplicateExternalSubscriptionsListType" }, "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" } } }, "duplicateExternalSubscriptionsListType": { "type": "array", "description": "Details of the OPERA Profile subscription to external system", "maxItems": 4000, "items": { "$ref": "#/definitions/duplicateExternalSubscriptionsType" } }, "duplicateExternalSubscriptionsType": { "type": "object", "description": "Contains subscription details about an OPERA Profile that is linked to multiple external profiles within the same external system.", "properties": { "profileId": { "description": "OPERA Profile ID", "$ref": "#/definitions/profileId" }, "databaseId": { "description": "Code identifying the external database record which is linked to external systems.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileSubscriptions": { "description": "List of subscriptions where this OPERA profile is linked to multiple external profiles within the same external system", "$ref": "#/definitions/profileSubscriptionListType" } } }, "duplicateOPERASubscriptions": { "type": "object", "description": "Response object for fetching subscriptions where an external profile within a particular external system is linked to multiple OPERA profiles.", "properties": { "duplicateOPERASubscriptionsList": { "description": "A collection of subscriptions where an external profile within a particular external system is linked to multiple OPERA profiles.", "$ref": "#/definitions/duplicateOPERASubscriptionsListType" }, "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" } } }, "duplicateOPERASubscriptionsListType": { "type": "array", "description": "Details of the OPERA Profile subscription to external system", "maxItems": 4000, "items": { "$ref": "#/definitions/duplicateOPERASubscriptionsType" } }, "duplicateOPERASubscriptionsType": { "type": "object", "description": "Contains subscription details about an external profile within a particular external system that is linked to multiple OPERA profiles.", "properties": { "externalProfileId": { "description": "Profile ID within the external system", "$ref": "#/definitions/uniqueID_Type" }, "profileSubscriptions": { "description": "List of profile subscriptions to external system that are linked to the same OPERA Profile", "$ref": "#/definitions/profileSubscriptionListType" } } }, "eCertificates": { "type": "object", "description": "Response object for fetch ECertificates. This object contains collection of ECertificates,Success,Warnings and Errors related to this operation.", "properties": { "eCertificatesDetail": { "description": "E-Certificate assosiated with the profile.", "$ref": "#/definitions/eCertificatesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "eCertificateGeneration": { "type": "object", "description": "Request object to issue E-Certificate.", "properties": { "eCertificateGenerationDetails": { "description": "Details to issue E-Certificate.", "$ref": "#/definitions/eCertificateGenerationDetailsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "eCertificateGenerationDetailsType": { "type": "object", "description": "E-Certificates issue API call details.", "properties": { "profileId": { "description": "NameId.", "$ref": "#/definitions/profileId" }, "certificateType": { "description": "User defined certificate code.", "type": "string", "minLength": 0, "maxLength": 20 }, "source": { "description": "Source of e-certificate.", "$ref": "#/definitions/eCertificateIssueSourceType" }, "issueType": { "description": "Process action issued the certificate. valid values are assigned (a),opt in (o) and purchased (p).", "$ref": "#/definitions/eCertificateIssueType" }, "hotels": { "description": "Hotel to which certificate is attached to.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } } } }, "eCertificateToConsume": { "type": "object", "description": "Request object to Consume an E-Certificate.", "properties": { "consumeECertificates": { "description": "Details to consume an E-Certificate.", "$ref": "#/definitions/eCertificatesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "eCertificateToVerify": { "type": "object", "description": "Request object to Verify an E-Certificate Number.", "properties": { "certificateId": { "description": "System generated unique certificate id.", "type": "integer" }, "certificateNo": { "description": "Unique Certificate Number.", "$ref": "#/definitions/stringLength40" }, "allowReservation": { "description": "Indicates if certificate is to be used against reservation or not.", "type": "boolean" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "stringLength40": { "type": "string", "description": "Used for Character Strings, length 0 to 40.", "maxLength": 40, "minLength": 0 }, "verifiedECertificate": { "type": "object", "description": "Response object to Verify E-Certificate and will return the profile information.", "properties": { "profileName": { "description": "Basic profile information related to the ecertificate.", "$ref": "#/definitions/profileNameType" }, "profileId": { "description": "Profile NameId.", "$ref": "#/definitions/profileId" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "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.). Currently this attribute is not used for PUT and POST operations.", "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.). Currently this attribute is not used for PUT and POST operations.", "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" } } }, "eCertificateToExtend": { "type": "object", "description": "Request object to Consume an E-Certificate.", "properties": { "certificateId": { "description": "System generated unique certificate id.", "type": "integer" }, "expiryDate": { "description": "Indicates E-Certificate extended expiry date.", "type": "string", "format": "date" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "enrollment": { "type": "object", "description": "Response object for fetching profile enrollment from external system.", "properties": { "enrollmentInfo": { "description": "Type contains profile enrollment information.", "$ref": "#/definitions/profileEnrollmentType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileEnrollmentType": { "type": "object", "description": "Type provides the detailed information about the profile and its children.", "properties": { "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems.", "$ref": "#/definitions/profileIdList" }, "customer": { "description": "Detailed customer information for this profile.", "$ref": "#/definitions/customerType" }, "company": { "description": "Detailed company information for this profile.", "$ref": "#/definitions/companyType" }, "profileImage": { "description": "The profile image.", "$ref": "#/definitions/imageSetType" }, "addresses": { "description": "List of customer addresses.", "type": "object", "properties": { "addressInfo": { "description": "Collection of Detailed information on an address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/addressInfoType" } }, "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" } } }, "businessSegments": { "description": "Business/Market Segment associated to the profile.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "territory": { "description": "Territory associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "traceCode": { "description": "Trace Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "ownerCode": { "description": "Owner Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "influenceCode": { "description": "Influence Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "telephones": { "description": "List of Telephone Number Information", "type": "object", "properties": { "telephoneInfo": { "description": "Collection of Detailed information on telephone/fax for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/telephoneInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "emails": { "description": "List of email address for the customer.", "type": "object", "properties": { "emailInfo": { "description": "Collection of Detailed information on an eMail address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/emailInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "uRLs": { "description": "List of Information on a URL for the customer.", "type": "object", "properties": { "uRLInfo": { "description": "Collection of Detailed information on web url/address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/uRLInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "comments": { "description": "List of Notes for the customer.", "type": "object", "properties": { "commentInfo": { "description": "Collection of Detailed information on comments for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profileDeliveryMethods": { "description": "List of Delivery methods configured against a Property for this Profile.", "type": "object", "properties": { "profileDeliveryMethod": { "description": "Collection of delivery methods for this Profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileDeliveryMethod" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profileMemberships": { "description": "List of loyalty program(s) the profile is subscribed to.", "type": "object", "properties": { "profileMembership": { "description": "Collection of Detailed information on memberships for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileMembershipType" } }, "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" } } }, "preferenceCollection": { "description": "List of customer preferences.", "type": "object", "properties": { "preferenceType": { "description": "Collection of Detailed information on preferences of the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/preferenceTypeType" } }, "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" } } }, "keywords": { "description": "List of customer keywords.", "type": "object", "properties": { "keyword": { "description": "Collection of keywords attached to the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/keywordType" } }, "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" } } }, "negotiatedRates": { "description": "List of profile negotiated rates.", "type": "object", "properties": { "negotiatedRate": { "description": "Collection of Detailed information on profile negotiated rates.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/negotiatedType" } }, "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" } } }, "gdsNegotiatedRates": { "description": "List of channel negotiated rates that this profile has been assigned to.", "type": "object", "properties": { "gdsNegotiatedRate": { "description": "Collection of Detailed information on channel negotiated rates for the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/gdsNegotiatedType" } }, "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" } } }, "profileIndicators": { "description": "Indicators of additional information attached to the profile", "$ref": "#/definitions/indicatorsType" }, "relationships": { "description": "Contains a collection of profiles that have a relationship with this profile.", "type": "object", "properties": { "relationship": { "description": "A collection of the profiles that have a relationship with this profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/relationshipInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "relationshipsSummary": { "description": "Contains a collection of profiles that have a relationship with this profile.", "type": "object", "properties": { "relationship": { "description": "A collection of the profiles summary that have a relationship with this profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/relationshipInfoSummaryType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "reservationInfoList": { "description": "Collection of Detailed information on history and future reservations associated with the profile.", "$ref": "#/definitions/reservationHistoryFutureInfoType" }, "stayReservationInfoList": { "description": "Collection of Detailed information on history and future reservations associated with the profile.", "$ref": "#/definitions/reservationStayHistoryFutureInfoType" }, "lastStayInfo": { "description": "Information on last stay of the profile.", "$ref": "#/definitions/lastStayInfoType" }, "profileAccessType": { "description": "Detailed information on access type associated with the profile.", "$ref": "#/definitions/profileAccessType" }, "profileRestrictions": { "description": "Detailed information on restrictions associated with the profile.", "$ref": "#/definitions/profileRestrictions" }, "mailingActions": { "description": "Contains collection of mailing action list associated with the profile", "$ref": "#/definitions/mailingActionsType" }, "privacyInfo": { "description": "Contains privacy related information associated with the profile", "$ref": "#/definitions/privacyInfoType" }, "cashiering": { "description": "Contains cashiering related details for the profile", "$ref": "#/definitions/profileCashieringType" }, "commissionInfoList": { "description": "Contains commission related details for the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileCommissionType" } }, "userDefinedFields": { "description": "Collections of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" }, "webUserAccounts": { "description": "List of Web User Accounts of the profile.", "$ref": "#/definitions/webUserAccountsType" }, "taxInfo": { "description": "Profile information about tax.", "$ref": "#/definitions/profileTaxInfoType" }, "salesInfo": { "description": "Sales information of the profiles.", "$ref": "#/definitions/salesInfoType" }, "eCertificates": { "description": "E-Certificate assosiated with the profile.", "$ref": "#/definitions/eCertificatesType" }, "subscriptions": { "description": "List of profile subscriptions.", "$ref": "#/definitions/profileSubscriptionListType" }, "localizationGuestType": { "description": "Localization Guest Type assocaited to the profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "eligibleForFiscalFolio": { "description": "Eligible for Fiscal Folio/Payload generation.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomOwnershipsList": { "description": "Room Ownership records.", "type": "object", "properties": { "roomOwnershipInfo": { "description": "Collection of Detailed information on Room Ownership records.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/roomOwnershipType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profileType": { "description": "Type of profile such as Guest, Agent, Company, Group, Source, Employee, Hotel, Vendor or Contact.", "$ref": "#/definitions/profileTypeType" }, "statusCode": { "description": "Status of the profile. Active/Inactive", "$ref": "#/definitions/profileStatusType" }, "registeredProperty": { "description": "Hotel which this profile is registered with. This attribute is not used for configuration.", "type": "string", "minLength": 0, "maxLength": 20 }, "requestForHotel": { "description": "Hotel which this profile is to be registered. This attribute is only used during creation of profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "protectedBy": { "description": "What level this profile is protected.", "type": "string", "minLength": 0, "maxLength": 40 }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "markAsRecentlyAccessed": { "description": "Mark this profile as recently accessed.", "type": "boolean" }, "markForHistory": { "description": "\"true\" setting marks the profile to be kept from being purged, once the profile is marked inactive.", "type": "boolean" }, "hasCommission": { "description": "Populates true if the profile has commission configured false otherwise.", "type": "boolean" }, "inheritedNegRates": { "description": "Flag to indicate if the negotiated rates are inherited from master profile. Flag is available only when the profile is linked to master profile and master profile has negotiated rate codes attached.", "type": "boolean" }, "showInactiveRoomOwners": { "description": "Flag to show inactive Room Owners.", "type": "boolean" }, "fiscalGuestType": { "description": "Fiscal Guest Type is used for Fiscal Folio funcionality", "type": "string", "minLength": 0, "maxLength": 20 }, "previousHotelStays": { "description": "List of previous hotel stays of the profile.", "$ref": "#/definitions/hotelStaysType" }, "roomPreferences": { "description": "Room preferences and request of the guest.", "$ref": "#/definitions/roomPreferencesType" }, "earningPreferences": { "description": "Rewards preferences of the guest.", "$ref": "#/definitions/earningPreferencesType" }, "mailingPreferences": { "description": "Mailing preferences of the guest.", "$ref": "#/definitions/mailingPreferencesType" }, "rewardsInfo": { "description": "Guest's rewards information.", "$ref": "#/definitions/rewardsInfoType" }, "membershipCardRegistrationCode": { "description": "Profile's membership card registration code.", "type": "string", "minLength": 0, "maxLength": 40 }, "profileId": { "description": "Unique id of the profile.", "$ref": "#/definitions/uniqueID_Type" }, "reservationId": { "description": "Unique identifier of the reservation.", "$ref": "#/definitions/reservationId" }, "enrollmentPaymentDetails": { "description": "Payment details to enroll profile to the membership program(e.g. Payment Method, Amount.)", "$ref": "#/definitions/enrollmentPaymentDetailsType" }, "enrollmentCode": { "description": "Membership enrollment code and description.", "$ref": "#/definitions/codeDescriptionType" }, "employer": { "type": "string", "maxLength": 36, "minLength": 0 }, "externalDatabaseID": { "description": "Enrollment details will be fetched from this External database.", "type": "string", "minLength": 0, "maxLength": 20 }, "enrollmentType": { "description": "The type of external system that the guest is enrolling in, such as Loyalty, Gaming or Activities.", "$ref": "#/definitions/enrollmentTypeType" }, "hotelId": { "description": "Hotel Code, It is used to filter hotel specific children to this specific hotel code.", "type": "string", "minLength": 0, "maxLength": 20 }, "userId": { "description": "UserID/LoginID of the user who is enrolling the Guest.", "type": "string", "minLength": 0, "maxLength": 200 }, "employeeId": { "description": "EmployeeID of the user who is enrolling the Guest.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "profileDeliveryMethod": { "type": "object", "description": "Delivery Information type to the profile.", "properties": { "deliveryId": { "description": "Delivery ID. It will be empty in case of new delivery method.", "$ref": "#/definitions/uniqueID_Type" }, "deliveryType": { "description": "Delivery type can have a value EMAIL, ELECTRONIC etc and it depends on the parameter set in OPERA Control.", "type": "string", "minLength": 0, "maxLength": 20 }, "deliveryValue": { "description": "Delivery value holds the corresponding value of the delivery type..", "type": "string", "minLength": 0, "maxLength": 2000 }, "hotelId": { "description": "Property that has delivery methods configured.", "type": "string", "minLength": 0, "maxLength": 20 }, "deliveryModule": { "description": "Module where this delivery type will be used. Example : EFolio Export, EInvoice , Fiscal, etc..", "$ref": "#/definitions/profileDeliveryModuleType" }, "primaryInd": { "description": "When true, indicates a primary information.", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" } } }, "profileDeliveryModuleType": { "type": "string", "description": "Module where this delivery type will be used. Example : EFolio Export, EInvoice , Fiscal, etc..", "enum": [ "EfolioExport" ] }, "relationshipInfoSummaryType": { "type": "object", "description": "RelationshipInfoSummaryType contains information about the associations between and among individuals, companies, travel agents, groups, sources, and contact profiles.", "properties": { "relationshipProfile": { "description": "Refer to Relationship Profile Summary type document.", "$ref": "#/definitions/relationshipProfileSummaryType" }, "masterAccountDetails": { "description": "Refer to Master Profile type document.", "$ref": "#/definitions/masterAccountInfoType" }, "relationshipID": { "description": "Relationship identifier.", "type": "string", "minLength": 0, "maxLength": 80 }, "sourceRelation": { "description": "Indicates the type of relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceRelationDescription": { "description": "Displays the description of relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 200 }, "targetRelation": { "description": "Displays the type of relationship the Related profile(Target Profile) has with the current profile(Source Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "targetRelationDescription": { "description": "Displays the description of the target relation(Target Profile).", "type": "string", "minLength": 0, "maxLength": 200 } } }, "relationshipProfileSummaryType": { "type": "object", "properties": { "customerName": { "description": "Name of the customer", "type": "string", "minLength": 0, "maxLength": 40 }, "companyName": { "description": "Name of the company.", "type": "string", "minLength": 0, "maxLength": 40 }, "telephoneNumber": { "description": "Telephone number assigned to a single location", "type": "string", "minLength": 0, "maxLength": 40 }, "address": { "description": "Information on address details for the customer/company", "$ref": "#/definitions/relationshipAddressType" }, "emailAddress": { "description": "Defines the e-mail address.", "type": "string", "minLength": 0, "maxLength": 2000 }, "ownerCode": { "description": "Unique Code to identify the owner.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileIdList": { "description": "Original profile details for which the relationships was created", "$ref": "#/definitions/uniqueIDListType" }, "primary": { "description": "Indicates if this relationship is the primary relationship.", "type": "boolean" }, "profileStatus": { "description": "Status of the profile. Active/Inactive", "$ref": "#/definitions/profileStatusType" }, "primaryOwnerCode": { "description": "When true, this is a primary owner.", "type": "boolean" }, "profileType": { "description": "Type of profile such as Guest, Agent, Company, Group, Source, Employee, Hotel, Vendor or Contact.", "$ref": "#/definitions/profileTypeType" } } }, "relationshipAddressType": { "type": "object", "description": "Provides address information for a Relationship.", "properties": { "addressLine": { "description": "When the address is unformatted (FormattedInd=\"false\") these lines will contain free form address details. When the address is formatted and street number and street name must be sent independently, the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence.", "type": "array", "maxItems": 4, "items": { "type": "string", "minLength": 0, "maxLength": 80 } }, "city": { "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).", "type": "string", "minLength": 0, "maxLength": 40 }, "postalCode": { "description": "Post Office Code number.", "type": "string", "minLength": 0, "maxLength": 15 }, "state": { "description": "State or Province name (e.g., Texas).", "type": "string", "minLength": 0, "maxLength": 20 }, "country": { "description": "Country name (e.g., Ireland).", "type": "string", "minLength": 0, "maxLength": 200 } } }, "reservationHistoryFutureInfoType": { "type": "object", "description": "Information of History and Future Reservation details attached to Profiles.", "properties": { "historyList": { "description": "Refer to History list type document.", "$ref": "#/definitions/historyListType" }, "futureList": { "description": "Refer to Future list type document.", "$ref": "#/definitions/futureListType" } } }, "historyListType": { "type": "object", "description": "A collection of reservation history details attached to Profiles.", "properties": { "reservationInfo": { "description": "Additional reservation information attached to the profile . Eg : History reservation details", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "reservationInfoType": { "type": "object", "description": "The Reservation class contains the current reservation being created or altered.", "properties": { "reservationIdList": { "description": "Unique identifiers for the reservation for both internal and external systems", "$ref": "#/definitions/reservationIdList" }, "parentReservationId": { "description": "Reservation ID of the parent reservation.", "$ref": "#/definitions/reservationId" }, "roomStay": { "description": "Collection of room stays.", "$ref": "#/definitions/stayInfoType" }, "reservationGuest": { "description": "Collection of guests associated with the reservation.", "$ref": "#/definitions/resGuestInfoType" }, "sharedGuests": { "description": "Collection of guests who share this reservation.", "$ref": "#/definitions/resSharedGuestListType" }, "attachedProfiles": { "description": "List of attached profiles", "$ref": "#/definitions/resAttachedProfileListType" }, "reservationPaymentMethod": { "description": "Payment method used for this reservation", "$ref": "#/definitions/reservationPaymentMethodType" }, "reservationFolioWindows": { "description": "Collection of reservation folio windows.", "$ref": "#/definitions/reservationFolioWindowsType" }, "specials": { "description": "Set of reservation preferences which belongs to the Specials group.", "type": "string", "minLength": 0, "maxLength": 4000 }, "lastPrivacyPromptDate": { "description": "Last Privacy Prompt Date", "type": "string", "format": "date", "maxLength": 8 }, "displayColor": { "description": "Color setting of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationIndicators": { "description": "Indicators of additional information attached to the reservation", "$ref": "#/definitions/indicatorsType" }, "roomStatus": { "description": "Current room status", "$ref": "#/definitions/housekeepingRoomStatusType" }, "searchMatches": { "description": "Super Search matching terms.", "$ref": "#/definitions/searchMatchesType" }, "sourceOfSale": { "description": "Point of Sale of reservation. Identifies the entity/channel who made the reservation.", "$ref": "#/definitions/sourceOfSaleType" }, "waitlist": { "description": "Information regarding why reservation has been/was waitlisted. This could hold information as history even if reservation is not in Waitlist status anymore.", "$ref": "#/definitions/waitlistResType" }, "queue": { "description": "Information about the time and duration this reservation was on Queue for Checkin.", "$ref": "#/definitions/reservationQueueInformationType" }, "housekeeping": { "description": "Information regarding housekeeping for this reservation.", "$ref": "#/definitions/resHousekeepingType" }, "cashiering": { "description": "Holds cashiering related information for the reservation.", "$ref": "#/definitions/resCashieringType" }, "taxType": { "description": "This stores the code for the type of tax calculation especially with tax exemption, etc.", "$ref": "#/definitions/taxTypeType" }, "deposit": { "description": "Holds reservation deposit information.", "$ref": "#/definitions/reservationDepositType" }, "allowedActions": { "description": "Collection of reservation allowed actions.", "$ref": "#/definitions/reservationAllowedActionsType" }, "revenuesAndBalances": { "description": "Revenues and Balances Amount summary for the reservation.", "$ref": "#/definitions/resRevenueBalanceType" }, "hotelInterfaceStatusList": { "description": "Collection of Hotel Interfaces and rights, this is populated only when fetching interface status for rooms.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationInterfaceStatusType" } }, "guestPreferredCurrency": { "description": "Currency code preferred by guest.", "type": "string", "minLength": 0, "maxLength": 20 }, "turndownInfo": { "description": "Currency code preferred by guest.", "$ref": "#/definitions/reservationTurndownInfoType" }, "mobileNotifications": { "description": "Denotes the status of Room Ready, Key Ready messages.", "$ref": "#/definitions/resMobileNotificationsType" }, "reservationCommunication": { "description": "Collection of reservation communication details.", "$ref": "#/definitions/resCommunicationType" }, "advanceCheckIn": { "description": "Information relating to Reservation's Advance Checked In state and Expected Time of Return", "$ref": "#/definitions/advanceCheckInType" }, "welcomeOffer": { "description": "This flag will determine wheather the reservation is eligible for Welcome Offer or not.", "type": "boolean" }, "cancellationInfo": { "description": "Information regarding why reservation has been/was cancelled.", "type": "object", "properties": { "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "code": { "type": "string", "minLength": 0, "maxLength": 20 }, "date": { "description": "Date when reservation was last cancelled.", "type": "string", "format": "date", "maxLength": 8 } } }, "keyCount": { "description": "Number of keys created for the reservation.", "type": "integer" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "hotelName": { "type": "string", "minLength": 0, "maxLength": 80 }, "expectedServiceTime": { "type": "string", "minLength": 0, "maxLength": 20 }, "roomStayReservation": { "description": "Boolean True if this reservation is reserving rooms. False if it is only reserving services.", "type": "boolean" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible 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 }, "reservationStatus": { "description": "Indicates the status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "computedReservationStatus": { "description": "Indicates the status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "walkInIndicator": { "description": "When true, indicates the reservation is for a guest that walks-in without a reservation. When false, the reservation is not a walk-in.", "type": "boolean" }, "accessRestriction": { "description": "Indicates user restriction on the reservation based on the Access exclusion functionality such as Restriction on Changes, Cancellation or both.", "$ref": "#/definitions/resAccessRestrictionType" }, "commissionPayoutTo": { "description": "If not null, reservation is considered to pay out commission to either Travel Agent, Source or both.", "$ref": "#/definitions/commissionPayoutToType" }, "paymentMethod": { "description": "Payment Method.", "type": "string", "minLength": 0, "maxLength": 20 }, "preRegistered": { "description": "Defines if the reservation is pre-registered or not.", "type": "boolean" }, "openFolio": { "description": "Returns true when reservation has an open folio.", "type": "boolean" }, "allowMobileCheckout": { "description": "Flag containing true or false value for reservation to be eligible for self-checkout by guest using mobile device . Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is eligible for mobile checkout yes / no. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, "allowMobileViewFolio": { "description": "Attribute AllowMobileViewFolio is set to true when the reservation is eligible for viewing folio using mobile device.", "type": "boolean" }, "optedForCommunication": { "description": "Attribute OptedForCommunication is set to true when the guest has opted for receiving communicationsl related to the reservation.", "type": "boolean" } } }, "reservationIdList": { "type": "array", "description": "Unique Id that references an object uniquely in the system.", "maxItems": 4000, "items": { "$ref": "#/definitions/uniqueID_Type" } }, "stayInfoType": { "type": "object", "description": "Details on the Room Stay including Guest Counts, Time Span of this Room Stay, pointers to Res Guests, guest Memberships, Comments and Special Requests pertaining to this particular Room Stay and finally financial information related to the Room Stay, including Guarantee, Deposit and Payment and Cancellation Penalties.", "properties": { "arrivalDate": { "type": "string", "format": "date" }, "departureDate": { "type": "string", "format": "date" }, "originalTimeSpan": { "description": "The Original Time Span covers the Room Stay dates of the original reservation.", "$ref": "#/definitions/timeSpanType" }, "expectedTimes": { "description": "The expected arrival, return and departure times of the guest.", "$ref": "#/definitions/resExpectedTimesType" }, "adultCount": { "description": "A collection of Guest Counts associated with Room Stay.", "type": "integer" }, "childCount": { "description": "A collection of Child Counts associated with Room Stay.", "type": "integer" }, "roomClass": { "description": "Room class code", "type": "string", "minLength": 0, "maxLength": 20 }, "roomType": { "description": "Room type code", "type": "string", "minLength": 0, "maxLength": 20 }, "componentRoomType": { "description": "True indicates room type is a component type.", "type": "boolean" }, "numberOfRooms": { "description": "Room Id", "type": "integer" }, "roomId": { "description": "Room Id", "type": "string", "minLength": 0, "maxLength": 20 }, "ratePlanCode": { "description": "Rate plan code", "type": "string", "minLength": 0, "maxLength": 20 }, "rateAmount": { "description": "Rate amount", "$ref": "#/definitions/currencyAmountType" }, "points": { "description": "The Points contains the number of points used to book a particular room type.", "$ref": "#/definitions/pointsType" }, "rateSuppressed": { "description": "Whether this rate should be suppressed from view", "type": "boolean" }, "reservationBlock": { "description": "Key information about the block for this reservation.", "$ref": "#/definitions/reservationBlockType" }, "bookingChannelCode": { "description": "Booking channel code", "type": "string", "minLength": 0, "maxLength": 20 }, "linkCode": { "description": "Party code", "type": "string", "maxLength": 2000 }, "fixedRate": { "description": "True if the rate is a fixed rate, otherwise false", "type": "boolean" }, "totalAmount": { "description": "The total amount charged for the Room Stay including additional occupant amounts and fees. If TaxInclusive is set to True, then taxes are included in the total amount.", "$ref": "#/definitions/currencyAmountType" }, "guarantee": { "description": "The guarantee information associated to the Room Stay. A maximum of 5 occurances are available for use depending on the context.", "$ref": "#/definitions/resGuaranteeType" }, "promotion": { "description": "Promotion Codes", "$ref": "#/definitions/promotionType" }, "marketCode": { "description": "Market code", "type": "string", "minLength": 0, "maxLength": 20 }, "marketDescription": { "description": "Description of Market code", "type": "string", "minLength": 0, "maxLength": 4000 }, "sourceCode": { "description": "Source of business", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceCodeDescription": { "description": "Description of the source of business.", "type": "string", "minLength": 0, "maxLength": 4000 }, "balance": { "description": "Balance amount", "$ref": "#/definitions/currencyAmountType" }, "compBalance": { "description": "Comp Balance amount", "$ref": "#/definitions/currencyAmountType" }, "roomTypeCharged": { "description": "Room type code that was charged", "type": "string", "minLength": 0, "maxLength": 20 }, "depositPayments": { "description": "A collection of deposit and/or payments for the Room Stay.", "$ref": "#/definitions/currencyAmountType" }, "guestServiceStatus": { "description": "Service Status of In House guest like DND or MUP", "$ref": "#/definitions/guestHousekeepingServiceRequestType" }, "scheduledCheckoutTime": { "description": "Indicates that this reservation is scheduled for automated check out.", "type": "string", "format": "date" }, "roomNumberLocked": { "description": "When true, indicates a room number cannot be changed. When false, indicates a room number may be changed.", "type": "boolean" }, "pseudoRoom": { "description": "True indicates as pseudo room type. This is usually used for a posting master reservation.", "type": "boolean" }, "assignedByAI": { "description": "Represents the room was assigned by AI Room Assignment.", "type": "boolean" }, "upgradedByAI": { "description": "Represents the room was assigned by AI Room Assignment.", "type": "boolean" } } }, "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" } } }, "resExpectedTimesType": { "type": "object", "description": "Holds the Arrival and Departure Time Information", "properties": { "reservationExpectedArrivalTime": { "description": "Arrival Time", "type": "string", "format": "date-time" }, "reservationExpectedDepartureTime": { "description": "Departure Time", "type": "string", "format": "date-time" } } }, "pointsType": { "type": "object", "description": "The Redeem Points contains the number of points required to book a room type.", "properties": { "awardsType": { "description": "Awards type for the award type rate code.", "type": "string" }, "points": { "description": "No of points required to book this Room Stay.", "type": "integer" } } }, "reservationBlockType": { "type": "object", "description": "Key information about the block for a reservation.", "properties": { "blockIdList": { "description": "Collection of unique block identifiers for the reservation.", "$ref": "#/definitions/blockIdList" }, "blockName": { "description": "The Name of the block that is attached to the reservation.", "type": "string", "minLength": 0, "maxLength": 40 }, "hotelId": { "description": "This is the HotelCode of the Block.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "blockIdList": { "type": "array", "description": "Unique Id that references an object uniquely in the system.", "maxItems": 4000, "items": { "$ref": "#/definitions/uniqueID_Type" } }, "resGuaranteeType": { "type": "object", "description": "Validations type record returned after Validations are done.", "properties": { "guaranteeCode": { "description": "Guarantee Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "shortDescription": { "description": "Guarantee Code.", "type": "string", "minLength": 0, "maxLength": 80 }, "onHold": { "description": "Guarantee Code.", "type": "boolean" } } }, "promotionType": { "type": "object", "description": "Type to specify a rate promotion. Usually attached to a reservation to indicate a specific promotion is applied to the reservation.", "properties": { "promotionCode": { "description": "Promotion code associated with the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "promotionName": { "description": "Promotion code Name associated with the rate plan.", "type": "string", "minLength": 0, "maxLength": 20 }, "couponCode": { "description": "Promotion Coupon Code when promotion is setup to have a valid coupon code.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "guestHousekeepingServiceRequestType": { "type": "string", "description": "Possible values for the Guest Service Status.", "enum": [ "DoNotDisturb", "MakeUpRoom", "NoStatusSelected" ] }, "resGuestInfoType": { "type": "object", "description": "Specifies Company or Travel Agent profile using IATA or Corp. No.", "properties": { "membership": { "description": "The Membership object identifying the frequent customer reward program.", "$ref": "#/definitions/membershipInfoType" }, "namePrefix": { "description": "Salutation of honorific (e.g. Mr., Mrs., Ms., Miss, Dr.). Currently this attribute is not used for PUT and POST operations.", "$ref": "#/definitions/namePrefixType" }, "givenName": { "description": "Given name, first name or names", "$ref": "#/definitions/givenNameType" }, "alternateGivenName": { "description": "Alternate given name, first name or names", "type": "string", "minLength": 0, "maxLength": 40 }, "middleName": { "description": "The middle name of the person name", "type": "string", "minLength": 0, "maxLength": 40 }, "surnamePrefix": { "description": "e.g \"van der\", \"von\", \"de\"", "type": "string", "minLength": 0, "maxLength": 20 }, "surname": { "description": "Family name, last name.", "$ref": "#/definitions/surnameType" }, "alternateSurname": { "description": "Alternate family name, last name.", "type": "string", "minLength": 0, "maxLength": 40 }, "nameSuffix": { "description": "Hold various name suffixes and letters (e.g. Jr., Sr., III, Ret., Esq.). Currently this attribute is not used for PUT and POST operations.", "type": "string", "minLength": 0, "maxLength": 20 }, "nameTitle": { "description": "Degree or honors (e.g., Ph.D., M.D.)", "type": "string", "minLength": 0, "maxLength": 20 }, "fullName": { "description": "Full display name", "type": "string" }, "alternateFullName": { "description": "Altername full display name", "type": "string" }, "phoneNumber": { "description": "Phone number", "$ref": "#/definitions/phoneNumberType" }, "email": { "description": "Email address", "$ref": "#/definitions/basicEmailType" }, "birthDate": { "description": "Date of birth", "type": "string", "format": "date", "maxLength": 8 }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "nationality": { "description": "Affiliation or ethnicity to a particular country.", "$ref": "#/definitions/countryNameType" }, "vip": { "description": "The supplier's ranking of the customer (e.g., VIP, numerical ranking).", "$ref": "#/definitions/vIPType" }, "address": { "description": "Address information that is attached to the reservation guest", "$ref": "#/definitions/addressSearchType" }, "anonymization": { "description": "Provides information about the guest's anonymization status", "$ref": "#/definitions/anonymizationType" }, "accompanyGuests": { "description": "List of guest names that are accompanying the reservation guest", "$ref": "#/definitions/resAccompanyGuestListType" }, "externalInfo": { "description": "External information about the guest associated with the reservation.", "$ref": "#/definitions/resGuestExternalInfoType" }, "guestLastStayInfo": { "description": "Contains information regarding the last stay of this guest.", "$ref": "#/definitions/guestLastStayInfoType" }, "guestRestrictedCode": { "description": "Guest profile restricted reason code", "type": "string" }, "guestRestrictedReasonDesc": { "description": "Guest profile restricted reason description", "type": "string" }, "guestRestricted": { "description": "True indicates there are restrictions associated with the current profile.", "type": "boolean" }, "registrationCardNo": { "description": "Unique identifier of the police registration card number.", "type": "string", "minLength": 0, "maxLength": 40 }, "nameType": { "$ref": "#/definitions/nameTypeType" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "membershipInfoType": { "type": "object", "description": "The Membership object identifies the frequent customer reward program.", "properties": { "membershipId": { "description": "Membership ID (Unique ID from the memberships table).", "type": "number" }, "programCode": { "description": "The code or name of the membership program ('Hertz', 'AAdvantage', etc.).", "type": "string", "minLength": 0, "maxLength": 20 }, "bonusCode": { "description": "The code or name of the bonus program. BonusCode can be used to indicate the level of membership (Gold Club, Platinum member, etc.)", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipTypeDesc": { "description": "The description of the ProgramCode.(Delta Previlige for code DP)", "type": "string", "minLength": 0, "maxLength": 2000 }, "membershipLevelDesc": { "description": "The description of the Bonus Code.(Platinum for code P)", "type": "string", "minLength": 0, "maxLength": 2000 }, "accountId": { "description": "The account identification number for this particular member in this particular program.", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipLevel": { "description": "The code or name of the membership level and indicates the level of membership (Gold Club, Platinum member, etc.). This is same as the BonusCode.", "type": "string", "minLength": 0, "maxLength": 20 }, "playerRanking": { "description": "Ranking assigned to the Player Profile by the Gaming system.", "type": "integer" } } }, "namePrefixType": { "type": "string", "description": "Salutation of honorific (e.g. Mr., Mrs., Ms., Miss, Dr.). Currently this attribute is not used for PUT and POST operations.", "minLength": 0, "maxLength": 40 }, "phoneNumberType": { "type": "string", "description": "Phone number", "minLength": 0, "maxLength": 40 }, "basicEmailType": { "type": "string", "description": "Email address", "minLength": 0, "maxLength": 2000 }, "vIPType": { "type": "object", "description": "The supplier's ranking of the customer.", "properties": { "vipCode": { "description": "VIP Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "vipDescription": { "description": "VIP Description.", "type": "string", "minLength": 0, "maxLength": 80 } } }, "addressSearchType": { "type": "object", "description": "Address Details such as city, state, country, postal code etc.", "properties": { "cityName": { "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).", "type": "string", "minLength": 0, "maxLength": 40 }, "postalCode": { "description": "Post Office Code number.", "type": "string", "minLength": 0, "maxLength": 15 }, "state": { "description": "State or Province name (e.g., Texas).", "type": "string", "minLength": 0, "maxLength": 20 }, "country": { "description": "Country name (e.g., Ireland).", "$ref": "#/definitions/countryNameType" }, "streetAddress": { "description": "First Line of Street Address. For profile search it matches the first Address line.", "type": "string", "minLength": 0, "maxLength": 80 }, "excludeNoCity": { "description": "When true indicates that only profiles with city will be fetched.", "type": "boolean" } } }, "resAccompanyGuestListType": { "type": "array", "description": "Collection of accompany guests", "maxItems": 4000, "items": { "$ref": "#/definitions/resAccompanyGuestInfoType" } }, "resAccompanyGuestInfoType": { "type": "object", "properties": { "firstName": { "description": "Given name, first name or names", "type": "string" }, "lastName": { "description": "Family name, last name.", "type": "string" }, "fullName": { "description": "String representation of the full name", "type": "string" }, "registrationCardNo": { "description": "Unique identifier of the police registration card number.", "type": "string", "minLength": 0, "maxLength": 40 }, "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems. In case of Travel Agent the IATA code and in case of Company can be any form of identifier as id.", "$ref": "#/definitions/profileIdList" } } }, "resGuestExternalInfoType": { "type": "object", "description": "Specifies Company or Travel Agent profile using IATA or Corp. No.", "properties": { "givenName": { "description": "Given name, first name or names", "$ref": "#/definitions/givenNameType" }, "surname": { "description": "Family name, last name.", "$ref": "#/definitions/surnameType" } } }, "guestLastStayInfoType": { "type": "object", "description": "Contains last stay related details of the guest.", "properties": { "lastStayDate": { "description": "Guest's last stay date.", "type": "string", "format": "date", "maxLength": 8 }, "lastStayRoom": { "description": "Room Number where the guest stayed.", "type": "string", "minLength": 0, "maxLength": 20 }, "lastStayRate": { "description": "The Rate amount of the guest's last stay.", "$ref": "#/definitions/currencyAmountType" }, "totalStay": { "description": "The total number of previous stay of the guest.", "type": "integer" } } }, "nameTypeType": { "type": "string", "enum": [ "Guest", "Company", "Agent", "Contact", "Source", "Group", "Employee", "Hotel", "Purge" ] }, "resSharedGuestListType": { "type": "array", "description": "Collection of shared guest reservations.", "maxItems": 4000, "items": { "$ref": "#/definitions/resSharedGuestInfoType" } }, "resSharedGuestInfoType": { "type": "object", "description": "Contains information regarding the share reservation.", "properties": { "profileId": { "$ref": "#/definitions/profileId" }, "firstName": { "description": "Given name, first name or names", "type": "string" }, "lastName": { "description": "Family name, last name.", "type": "string" }, "fullName": { "description": "String representation of the full name", "type": "string" } } }, "resAttachedProfileListType": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/resAttachedProfileType" } }, "resAttachedProfileType": { "type": "object", "properties": { "name": { "description": "Attached profile name", "type": "string" }, "profileIdList": { "description": "Collection of unique profile identifiers", "$ref": "#/definitions/profileIdList" }, "reservationProfileType": { "$ref": "#/definitions/resProfileTypeType" } } }, "resProfileTypeType": { "type": "string", "enum": [ "Guest", "Company", "Group", "TravelAgent", "Source", "ReservationContact", "BillingContact", "Addressee" ] }, "reservationPaymentMethodType": { "type": "object", "properties": { "paymentCard": { "$ref": "#/definitions/resPaymentCardType" }, "balance": { "$ref": "#/definitions/currencyAmountType" }, "authorizationRule": { "$ref": "#/definitions/authorizationRuleType" }, "emailFolioInfo": { "description": "Information on an email for the customer.", "type": "object", "properties": { "email": { "description": "eMail deatils for the profile.", "$ref": "#/definitions/emailType" }, "emailFolio": { "type": "boolean" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "paymentMethod": { "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "folioView": { "type": "integer" } } }, "resPaymentCardType": { "type": "object", "description": "Information on a credit card for the customer.", "properties": { "cardId": { "description": "credit card id", "$ref": "#/definitions/uniqueID_Type" }, "currentAuthorizedAmount": { "$ref": "#/definitions/currencyAmountType" }, "approvalAmountNeeded": { "$ref": "#/definitions/currencyAmountType" }, "approvalCode": { "description": "Approval code sent by the credit card company on a successful authorization.", "type": "string", "minLength": 0, "maxLength": 20 }, "cardType": { "description": "Indicates the type of credit card from a defined list", "$ref": "#/definitions/cardTypeType" }, "userDefinedCardType": { "description": "Indicates the user defined credit card type if credit card type from a defined list is not provided", "type": "string", "minLength": 0, "maxLength": 2 }, "cardNumber": { "type": "string", "minLength": 0, "maxLength": 80 }, "cardNumberMasked": { "type": "string", "minLength": 0, "maxLength": 80 }, "cardNumberLast4Digits": { "type": "string", "minLength": 0, "maxLength": 80 }, "expirationDate": { "description": "Expiration date of the credit card", "type": "string", "format": "date", "maxLength": 8 }, "expirationDateMasked": { "description": "Masked Expiration date of the credit card", "type": "string", "minLength": 0, "maxLength": 20 }, "expirationDateExpired": { "type": "boolean" }, "cardHolderName": { "type": "string", "minLength": 0, "maxLength": 200 }, "attachCreditCardToProfile": { "description": "Attach the credit card to profile.", "type": "boolean" }, "processing": { "description": "This contains information on whether EFT is enabled. A value of 'C' indicates EFT is enabled and 'M' indicates manual authorization is available for this payment card type.", "$ref": "#/definitions/cardProcessingType" }, "swiped": { "type": "boolean" }, "cardPresent": { "description": "Flag to determine if the credit card was swiped/manually entered , This element is only used when PAYMENT SERVICE DIRECTIVE(PSD) Opera Control is active.", "type": "boolean" }, "cardOrToken": { "description": "This contains information on whether credit card is tokenized (token enabled). A value of 'Token' indicates credit card is token enabled and 'CardNumber' indicates non token environment for this payment card type.", "$ref": "#/definitions/cardNumberTypeType" }, "citId": { "description": "Customer Initiated Transaction(CIT) Id for Credit Cards. This is only used when PAYMENT SERVICES DIRECTIVE (PSD2) Opera Control is active.", "type": "string", "minLength": 0, "maxLength": 30 } } }, "cardTypeType": { "type": "string", "description": "This is required for Credit Card Payment Methods. This indicates the type of Credit Card associated with this payment method.", "enum": [ "Ab", "Am", "Ax", "Cb", "Dc", "Ds", "Dt", "Ec", "Er", "Jc", "Jl", "Mc", "Nb", "So", "St", "Sw", "Va", "Xy", "Zz", "Cp", "Cu" ] }, "cardProcessingType": { "type": "string", "enum": [ "Eft", "Manual" ] }, "cardNumberTypeType": { "type": "string", "description": "Simple type for indicating if credit card number is tokenized.", "enum": [ "CardNumber", "Token" ] }, "authorizationRuleType": { "type": "object", "description": "Configured rule for computing the amount to authorize.", "properties": { "code": { "description": "The authorization rule code.", "type": "integer", "pattern": "[0-9]{1,9}" }, "amount": { "description": "The amount applicable to the authorization rule.", "$ref": "#/definitions/currencyAmountType" }, "percent": { "description": "A percentage value if the authorization rule is percentage based.", "type": "number" } } }, "reservationFolioWindowsType": { "type": "array", "description": "Collection of reservation folio windows.", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationFolioWindowType" } }, "reservationFolioWindowType": { "type": "object", "description": "Folio window view which holds the set of folios for a reservation.", "properties": { "payeeInfo": { "description": "The window's configured payee information.", "$ref": "#/definitions/payeeInfoType" }, "balance": { "description": "Running balance of the window.", "$ref": "#/definitions/currencyAmountType" }, "paymentMethod": { "description": "Payment Method Type", "type": "string", "minLength": 0, "maxLength": 20 }, "folioWindowNo": { "type": "integer" } } }, "payeeInfoType": { "type": "object", "description": "Payee information.", "properties": { "payeeId": { "description": "Opera name id of the payee.", "$ref": "#/definitions/uniqueID_Type" }, "payeeName": { "description": "Name of the payee.", "type": "string", "minLength": 0, "maxLength": 80 }, "payeeAddress": { "description": "Address of the payee.", "$ref": "#/definitions/addressInfoType" }, "payeeAddressCount": { "description": "Payee multiple address count.", "type": "integer" }, "payeeReferenceCurrency": { "description": "Reference currency of the payee.", "type": "string", "minLength": 0, "maxLength": 20 }, "payeeAccountInfo": { "description": "AR account short info of the payee.", "$ref": "#/definitions/aRAccountShortInfoType" }, "payeeTaxNumber": { "description": "The tax number of the payee.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "aRAccountShortInfoType": { "type": "object", "description": "Accounts Receivabales Account details type charged for batched posting.", "properties": { "accountName": { "description": "Name of the AR Account.", "type": "string", "minLength": 0, "maxLength": 200 }, "accountId": { "description": "The unique ID for the Account.", "$ref": "#/definitions/uniqueID_Type" }, "accountNo": { "description": "The Account Number for the Account.", "type": "string", "minLength": 0, "maxLength": 20 }, "status": { "description": "The status of the account.", "$ref": "#/definitions/aRAccountStatusType" } } }, "aRAccountStatusType": { "type": "object", "description": "Type for the Account Status. Status can be restricted and a message/description added to the Account.", "properties": { "restriction": { "description": "The Restriction Code added on the Account. This is available when the functionality for adding restriction codes is ON.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "User defined status message on the Account.", "type": "string", "minLength": 0, "maxLength": 2000 }, "restricted": { "description": "Flag to indicate if the Account is restricted.", "type": "boolean" } } }, "housekeepingRoomStatusType": { "type": "string", "description": "Simple type for room status instructions to be used in requests for fetching housekeeping rooms. Valid status values are Clean, Dirty, Pickup, Inspected, OutOfOrder, OutOfService.", "enum": [ "Clean", "Dirty", "Pickup", "Inspected", "OutOfOrder", "OutOfService" ] }, "searchMatchesType": { "type": "array", "description": "List of Generic Name-Value-Pair Parameters used for super search matches.", "maxItems": 4000, "items": { "$ref": "#/definitions/searchMatchType" } }, "searchMatchType": { "type": "object", "description": "Search match indicating attribute and the matching value.", "properties": { "attribute": { "description": "Search match attribute.", "type": "string", "minLength": 0, "maxLength": 2000 }, "value": { "description": "Search match value.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "sourceOfSaleType": { "type": "object", "description": "Point of Sale of reservation. Identifies the entity/channel who made the reservation.", "properties": { "sourceType": { "description": "Type of entity/channel who made the reservation..", "type": "string", "minLength": 0, "maxLength": 40 }, "sourceCode": { "description": "The entity/channel who made the reservation.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "waitlistResType": { "type": "object", "description": "Information regarding why reservation is being /has been waitlisted.", "properties": { "reasonDescription": { "description": "Waitlist Reason Description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "priorityDescription": { "description": "Waitlist priority Description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "description": { "description": "Description why the reservation is being /has been waitlisted.", "type": "string", "minLength": 0, "maxLength": 2000 }, "reasonCode": { "description": "Waitlist Reason Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "priorityCode": { "description": "Waitlist Priority Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "telephone": { "description": "Guest telephone number.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "reservationQueueInformationType": { "type": "object", "description": "Information regarding the Date, Duration and Priority of the reservation on Queue for Check in.", "properties": { "timeSpan": { "description": "Allows for a choice in description of the amount of time spanned by this type. EndDate specifies a specific date, while Duration provides a measure of time to add to the StartDate to yield end date.", "type": "object", "properties": { "startDate": { "type": "string", "format": "date", "maxLength": 8 }, "endDate": { "type": "string", "format": "date", "maxLength": 8 }, "duration": { "type": "string" }, "durationInSeconds": { "description": "The total duration, in seconds, the reservation is on Queue.", "type": "integer" } } }, "guestTextInfo": { "description": "Information for the message sent to the user", "$ref": "#/definitions/queueTextInfoType" }, "priority": { "description": "The Queue Priority given to this reservation.", "type": "integer" }, "averageQueueTimeToCheckIn": { "description": "The average time, in seconds, a reservation was on queue prior to Check-In.", "type": "integer" }, "averageQueueTimeCurrentReservations": { "description": "The average time, in seconds, of the reservations currently in queue.", "type": "integer" }, "queueDate": { "description": "The Business date on which the reservation was due to arrive and is currently placed on Queue for Check In.", "type": "string", "format": "date", "maxLength": 8 } } }, "queueTextInfoType": { "type": "object", "description": "Information regarding the message sent to guest.", "properties": { "sentTime": { "description": "Time the text was last sent to the user.", "type": "string", "format": "date-time" }, "sentBy": { "description": "User name of the user who sent message.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "resHousekeepingType": { "type": "object", "description": "Holds housekeeping turndown service information for the room.", "properties": { "instructions": { "description": "Turndown instructions for the room.", "type": "string" }, "facilityTaskInfo": { "description": "The facility task applicable for the current day. This will be information only and not used for any updates.", "$ref": "#/definitions/facilityTaskType" }, "linenChange": { "description": "Indicates if a linen change is necessary.", "type": "boolean" }, "turndownRequested": { "description": "Indicates whether guest wants turndown facility or not.", "type": "boolean" }, "serviceTime": { "description": "This is the Turndown room service time.", "type": "string", "format": "date", "maxLength": 8 }, "expectedServiceTime": { "description": "Expected Start Time for housekeeping task(s).", "type": "string" }, "roomStatus": { "description": "Current room status. Current room status is populated only if room is assigned to the reservation and reservation is due in or in house.", "$ref": "#/definitions/housekeepingRoomStatusType" } } }, "facilityTaskType": { "type": "object", "description": "Information regarding facility task on a reservation.", "properties": { "task": { "description": "The Task Code.", "$ref": "#/definitions/housekeepingTaskCodeType" }, "supplies": { "description": "Supplies associated with the task.", "$ref": "#/definitions/facilityCodesType" }, "date": { "description": "The Date on which the task is applicable.", "type": "string", "format": "date", "maxLength": 8 } } }, "housekeepingTaskCodeType": { "type": "object", "description": "Information related to a Task Code. Task Codes are used to generate task sheets in Rooms Management.", "properties": { "description": { "description": "Description of the Task Code.", "type": "string", "minLength": 0, "maxLength": 80 }, "instructions": { "description": "Instructions for this Task Code.", "type": "string", "minLength": 0, "maxLength": 2000 }, "facilityDepartureTask": { "description": "Indicates if this task code is the default departure task for Facility Tasks. This requires", "type": "boolean" }, "linenChange": { "description": "Indicates if a linen change is necessary.", "type": "boolean" }, "hotelId": { "description": "Property where this task code is configured.", "type": "string", "minLength": 0, "maxLength": 20 }, "code": { "description": "The Code for the task.", "type": "string", "minLength": 0, "maxLength": 20 }, "sequence": { "description": "Ordering sequence for display.", "type": "integer" } } }, "facilityCodesType": { "type": "array", "description": "List of the facility codes.", "maxItems": 4000, "items": { "$ref": "#/definitions/facilityCodeType" } }, "facilityCodeType": { "type": "object", "description": "Facility Housekeeping Code, its description and quantity.", "properties": { "description": { "description": "Facility Code.", "type": "string", "minLength": 0, "maxLength": 80 }, "quantity": { "description": "Signifies the quantity.", "type": "integer" }, "code": { "description": "Facility code value.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "resCashieringType": { "type": "object", "description": "Cashiering Information for the reservation.", "properties": { "revenuesAndBalances": { "description": "Revenues and Balances Amount summary for the reservation.", "$ref": "#/definitions/resRevenueBalanceType" }, "billingPrivileges": { "description": "Billing privileges set on the reservation.", "$ref": "#/definitions/billingPrivilegesType" }, "taxType": { "description": "This stores the code for the type of tax calculation especially with tax exemption, etc.", "$ref": "#/definitions/reservationTaxTypeInfo" }, "bedTaxReporting": { "description": "This stores the information for Bed Tax Reporting. Mainly used in Maldives.", "$ref": "#/definitions/bedTaxReportingType" }, "folioTexts": { "description": "Additional text fields to display on the folio.", "$ref": "#/definitions/folioTextsType" }, "periodicFolio": { "description": "Information regarding periodic folios set on the reservation.", "$ref": "#/definitions/resPeriodicFolioType" }, "compAccounting": { "description": "Information regarding comp accounting on the reservation.", "$ref": "#/definitions/resCompAccountingType" }, "reservationPreConfiguredRoutingInstruction": { "description": "Information regarding the selected preconfigured routing instruction on the reservation.", "$ref": "#/definitions/resPreConfiguredRoutingInstrType" }, "financiallyResponsible": { "description": "The guest from whom payment has to be recovered (direct guest).", "type": "boolean" }, "proratedBilling": { "description": "In case of Appartment style billing indicates whether a prorated amount should be used for an Apartment Style Billing rate.", "type": "boolean" }, "lastRoomAndTaxPostedDate": { "description": "Date of the last Room And Tax posting. Used primarily to know the date in case of Advance Billing.", "type": "string", "format": "date", "maxLength": 8 }, "reverseCheckInAllowed": { "description": "This attribute is to verify if reverse check-in is allowed for the reservation.", "type": "boolean" }, "reverseAdvanceCheckInAllowed": { "description": "This attribute is to verify if reverse advance check-in is allowed for the reservation.", "type": "boolean" }, "transactionsPosted": { "description": "Specifies whether reservation has a financial transaction associated with it.", "type": "boolean" } } }, "resRevenueBalanceType": { "type": "object", "description": "Revenue and Balance Amount summary for the reservation.", "properties": { "totalFixedCharge": { "description": "Total Fixed Charges on the reservation.", "$ref": "#/definitions/currencyAmountType" }, "totalPayment": { "description": "Total payment received for the reservation.", "$ref": "#/definitions/currencyAmountType" }, "roomRevenue": { "description": "Room Revenue generated by the reservation.", "$ref": "#/definitions/currencyAmountType" }, "foodAndBevRevenue": { "description": "Food and Beverage Revenue generated by the reservation.", "$ref": "#/definitions/currencyAmountType" }, "otherRevenue": { "description": "Other Revenue generated by the reservation.", "$ref": "#/definitions/currencyAmountType" }, "nonRevenue": { "description": "Total Non Revenue posted on the reservation.", "$ref": "#/definitions/currencyAmountType" }, "totalRevenue": { "description": "Total Revenue generated by the reservation.", "$ref": "#/definitions/currencyAmountType" }, "balance": { "description": "Balance amount on the reservation.", "$ref": "#/definitions/currencyAmountType" }, "compBalance": { "description": "Comp Balance amount", "$ref": "#/definitions/currencyAmountType" } } }, "billingPrivilegesType": { "type": "object", "description": "This stores the information for Bed Tax Reporting. Mainly used in Maldives.", "properties": { "postingRestriction": { "description": "Flag used by interface program during check in.", "type": "boolean" }, "preStayCharging": { "description": "Indicates if the reservation has charging privileges before arrival.", "type": "boolean" }, "postStayCharging": { "description": "Indicates if the reservation has charging privileges after checkout.", "type": "boolean" }, "folioCloseDate": { "description": "Date when folio was closed. This works with PostStayCharging flag.", "type": "string", "format": "date", "maxLength": 8 }, "scheduledCheckout": { "description": "Indicates if the guest is scheduled for automatic check out.", "type": "boolean" }, "scheduledCheckoutTime": { "description": "Time of automatic check out if guest is schedule for automatic check out.", "type": "string", "format": "date", "maxLength": 8 }, "directBillAuthorized": { "description": "If Direct bill is authorized this will hold User ID who authorized it.", "type": "boolean" }, "videoCheckout": { "description": "Indicates if the guest can do video checkout", "type": "boolean" }, "allowAutoCheckin": { "description": "Indicated if a new reservation should be created and automatically checked in whenever the room is checked out. Available for pseudo room types only.", "type": "boolean" }, "autoSettlement": { "description": "Indicates if the is a candidate for auto folio settlement.", "type": "boolean" }, "autoSettlementType": { "description": "The folio settlement type for auto folio settlement.", "type": "string", "minLength": 0, "maxLength": 40 }, "autoSettlementFreq": { "description": "The interval of days between each auto folio settlement.", "type": "integer" }, "creditLimitAutoPay": { "description": "Indicates if the reservation will be included in the Automatic Credit Limit Overages process and also be listed in the Credit Limit Overages screen results.", "type": "boolean" } } }, "reservationTaxTypeInfo": { "type": "object", "description": "Provides information about the Tax Type.", "properties": { "hotelId": { "description": "Code of the Hotel.", "type": "string", "minLength": 0, "maxLength": 20 }, "code": { "description": "Code of the Tax Type.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of the Tax Type.", "type": "string", "minLength": 0, "maxLength": 2000 }, "collectingAgentTax": { "description": "A boolean flag for Collecting Agent Tax", "type": "boolean" }, "printAutoAdjust": { "description": "Print auto adjust information for this tax type on the tax exempt report.", "type": "boolean" }, "reportExemptDays": { "description": "Number of days after which the guest will be tax exempt. Only used for tax exempt report.", "type": "integer" }, "reportTaxPercentage": { "description": "Tax percentage. Only used for tax exempt report.", "type": "number", "minimum": 0, "maximum": 100 }, "minimumLengthOfStay": { "description": "Minimun Length of Stay.", "type": "integer" }, "taxExemptNo": { "description": "Tax exempt number on the profile.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "bedTaxReportingType": { "type": "object", "description": "This stores the information for Bed Tax Reporting. Mainly used in Maldives.", "properties": { "taxRegistrationNo": { "description": "Tax Registration Number for Maldives Bed Tax Reporting.", "type": "number" }, "visaNumber": { "description": "Visa number used for Maldives Bed Tax Reporting", "type": "string", "minLength": 0, "maxLength": 40 }, "visaIssueDate": { "description": "Visa Issue Date used for Maldives Bed Tax Reporting.", "type": "string", "format": "date", "maxLength": 8 }, "visaExpiryDate": { "description": "Visa Expiration Date used for Maldives Bed Tax Reporting", "type": "string", "format": "date", "maxLength": 8 }, "taxableDays": { "description": "Number of days for which the Maldives tax is applicable.", "type": "integer" } } }, "folioTextsType": { "type": "array", "description": "This stores the description for the type of tax calculation especially with tax exemption, etc.", "maxItems": 2, "items": { "type": "object", "properties": { "text": { "description": "Additional text field to display on the folio.", "type": "string", "minLength": 0, "maxLength": 50 }, "row": { "description": "Row number of the additional text.", "type": "integer" } } } }, "resPeriodicFolioType": { "type": "object", "description": "Information regarding periodic folios set on the reservation.", "properties": { "lastSettlementDate": { "description": "Latest date when a direct bill settlement was automatically done using the \"Direct Bill Batch Folios\" option.", "type": "string", "format": "date", "maxLength": 8 }, "lastFolioDate": { "description": "Latest date when a folio was printed using the \"Periodic Batch Folios\" option", "type": "string", "format": "date", "maxLength": 8 }, "frequency": { "description": "Frequency in number of days when folios should be printed for this reservation.", "type": "integer" } } }, "resCompAccountingType": { "type": "object", "description": "Information regarding comp accounting on the reservation.", "properties": { "compType": { "description": "Code used to identify the casino comp type and ranking of a guest.", "type": "string", "minLength": 0, "maxLength": 20 }, "authorizer": { "description": "ID of the employee who will act as the host for this guest.", "type": "string", "minLength": 0, "maxLength": 40 }, "compPostings": { "description": "Indicates if the Comp Billing/posting Exist", "type": "string", "minLength": 0, "maxLength": 5 } } }, "resPreConfiguredRoutingInstrType": { "type": "object", "description": "Instruction to attach Pre-Configured Routing Instructions to a Reservation.", "properties": { "ratePlanCode": { "description": "Rate Code with attached Routing Instruction.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileType": { "description": "Profile Type with attached Routing Instruction.", "$ref": "#/definitions/resProfileTypeType" }, "promotionCode": { "description": "Promotion Code with attached Complimentary Routing.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "taxTypeType": { "type": "object", "description": "Provides information about the Tax Type.", "properties": { "hotelId": { "description": "Code of the Hotel.", "type": "string", "minLength": 0, "maxLength": 20 }, "code": { "description": "Code of the Tax Type.", "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "description": "Description of the Tax Type.", "type": "string", "minLength": 0, "maxLength": 2000 }, "collectingAgentTax": { "description": "A boolean flag for Collecting Agent Tax", "type": "boolean" }, "printAutoAdjust": { "description": "Print auto adjust information for this tax type on the tax exempt report.", "type": "boolean" }, "reportExemptDays": { "description": "Number of days after which the guest will be tax exempt. Only used for tax exempt report.", "type": "integer" }, "reportTaxPercentage": { "description": "Tax percentage. Only used for tax exempt report.", "type": "number", "minimum": 0, "maximum": 100 }, "minimumLengthOfStay": { "description": "Minimun Length of Stay.", "type": "integer" } } }, "reservationDepositType": { "type": "object", "description": "Reservation Deposit Type.", "properties": { "amountRequired": { "description": "Deposit Amount Required.", "type": "number" }, "amountPaid": { "description": "Deposit Amount Paid.", "type": "number" }, "amountOwed": { "description": "Deposit Amount Owed.", "type": "number" }, "dueDate": { "description": "Deposit Due Date.", "type": "string", "format": "date", "maxLength": 8 }, "postingDate": { "description": "Deposit Posting Date.", "type": "string", "format": "date", "maxLength": 8 }, "hasPaid": { "description": "Resolves whether reservation has paid deposit.", "type": "boolean" }, "hasOutstanding": { "description": "Resolves whether reservation has outstanding deposit.", "type": "boolean" } } }, "reservationAllowedActionsType": { "type": "array", "description": "Allowed action.", "maxItems": 11, "items": { "$ref": "#/definitions/reservationAllowedActionType" } }, "reservationAllowedActionType": { "type": "string", "description": "Flag indicating whether the Enrollment is in progress or not for the Profile associated with this Reservation.", "enum": [ "Cancel", "Move", "PreCharge", "PostCharge", "FacilitySchedule", "Upsell", "PreCheckIn", "PostToNoShowCancel", "NoShow", "NameChange", "Discount", "EnrollToPrimaryMembership", "EnrollInProgress" ] }, "reservationInterfaceStatusType": { "type": "object", "description": "Hotel Interface Type for a reservation and status of the various services", "properties": { "roomExtension": { "description": "Identifier for the room extension", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelInterface": { "description": "Hotel interface information for the reservation", "$ref": "#/definitions/hotelInterfaceType" }, "interfaceRights": { "description": "Contains a list of status/rights for the various services under this interface", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/interfaceRightsStatusType" } } } }, "hotelInterfaceType": { "type": "object", "properties": { "interfaceId": { "description": "Unique DB internal number of a Hotel Interface record.", "$ref": "#/definitions/uniqueID_Type" }, "hotelId": { "description": "Hotel Code", "type": "string", "minLength": 0, "maxLength": 20 }, "interfaceName": { "description": "Name of the Hotel Interface", "type": "string", "minLength": 0, "maxLength": 40 }, "interfaceType": { "description": "Three letter code for each interface that identifies the interface.", "$ref": "#/definitions/hotelInterfaceTypeType" }, "logo": { "description": "Hotel Interface Logo. On the database, this is also referred as DBF Logo. This is a three letter code followed by an underscore(_). This tells us which DBF files and log files with the prefix that IFC7 is going to create.", "type": "string", "minLength": 0, "maxLength": 20 }, "machineName": { "description": "Unique machine name of the running IFC.", "type": "string", "minLength": 0, "maxLength": 80 }, "status": { "description": "The current status of the IFC.", "$ref": "#/definitions/hotelInterfaceStatusType" }, "activeFlag": { "description": "Indicator if the Hotel Interface is active or not. This is different from the Interface Status, which is either STOPPED or RUNNING.", "type": "boolean" } } }, "hotelInterfaceTypeType": { "type": "string", "enum": [ "Bms", "Cas", "Ccw", "Dls", "Eft", "Exp", "Mak", "Mbs", "Msc", "Pbx", "Pos", "Svs", "Tik", "Vid", "Vms", "Www", "Xml" ], "description": "XML Posting Interface" }, "hotelInterfaceStatusType": { "type": "string", "description": "Status of the Hotel Interface either STOPPED or RUNNING.", "enum": [ "Stopped", "Running", "Waiting", "StopInitiated", "StartInitiated", "RebootInitiated", "Other" ] }, "interfaceRightsStatusType": { "type": "object", "properties": { "right": { "description": "Internal code for each allowed right of a Hotel Interface record.", "type": "integer" }, "statusCode": { "description": "User defined code for an Interface Right.", "type": "string", "minLength": 0, "maxLength": 5 }, "description": { "description": "User defined description for an Interface Right.", "type": "string", "minLength": 0, "maxLength": 80 }, "category": { "description": "Category code of this interface right.", "type": "string", "minLength": 0, "maxLength": 1 } } }, "reservationTurndownInfoType": { "type": "object", "description": "Turndown information for a reservation", "properties": { "allowed": { "description": "Indicates if turndown is allowed or not", "type": "boolean" }, "status": { "description": "Indicates turndown status, values could be required, not required, completed", "$ref": "#/definitions/turndownStatusType" } } }, "turndownStatusType": { "type": "string", "description": "Simple type for turndown status instructions to be used in requests for fetching housekeeping rooms. Valid status values are Required, Not Required and Completed.", "enum": [ "Required", "NotRequired", "Compeleted" ] }, "resMobileNotificationsType": { "type": "object", "description": "Contains the status of Room Ready and Key Ready messages.", "properties": { "roomReady": { "description": "Denotes the status of Room Ready message. It can have one of the values:PENDING, COMPLETED or FAILED", "$ref": "#/definitions/communicationStatusType" }, "keyReady": { "description": "Denotes the status of Key Ready message. It can have one of the values:PENDING, COMPLETED or FAILED", "$ref": "#/definitions/communicationStatusType" }, "checkoutMessageReceived": { "description": "Indicates if the Mobile checkout message is received.", "type": "boolean" }, "requiresAction": { "description": "Indicates if user action is required. The action could be for sending Room Ready or Key Ready Notification. It could also be for initiating Checkout", "type": "boolean" }, "errorMessage": { "description": "Error message when Mobile Notification has failed.", "type": "string" } } }, "communicationStatusType": { "type": "string", "description": "Enum to denote the Status of Readiness messages sent to Guest Devices.", "enum": [ "Pending", "Completed", "Failed", "Sent", "Received", "Cancelled", "PendingAvailability" ] }, "resCommunicationType": { "type": "object", "description": "Communication details for a reservation.", "properties": { "telephones": { "description": "List of Telephone Number Information", "type": "object", "properties": { "telephoneInfo": { "description": "Collection of Detailed information on telephone/fax for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/telephoneInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "emails": { "description": "List of email address for the customer.", "type": "object", "properties": { "emailInfo": { "description": "Collection of Detailed information on an eMail address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/emailInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } } } }, "advanceCheckInType": { "type": "object", "description": "Information relating to Reservation's Advance Checked In state and Expected Time of Return", "properties": { "advanceCheckedIn": { "description": "Indicates if the reservation is marked as Advance Checked In", "type": "boolean" }, "expectedReturnTime": { "description": "Expected Return Time", "type": "string", "format": "date-time" }, "eTRComments": { "description": "ETR Comments", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "pMS_ResStatusType": { "type": "string", "description": "This reservation is in checked in status and the business date is past departure date. This could occur when ORS and PMS are in same environment.", "enum": [ "Reserved", "Requested", "NoShow", "Cancelled", "InHouse", "CheckedOut", "Waitlisted", "DueIn", "DueOut", "Walkin", "PendingCheckout" ] }, "resAccessRestrictionType": { "type": "string", "description": "Indicates any Updates/Changes on the reservation as well as Reservation Cancellation are not allowed.", "enum": [ "Change", "Cancel", "ChangeOrCancel" ] }, "commissionPayoutToType": { "type": "string", "enum": [ "TravelAgent", "Source", "TravelAgentSource", "None" ] }, "futureListType": { "type": "object", "description": "A collection of reservation history details attached to Profiles.", "properties": { "reservationInfo": { "description": "Additional reservation information attached to the profile . Eg : Future reservation details", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "reservationStayHistoryFutureInfoType": { "type": "object", "description": "Information of History and Future Reservation details attached to Profiles.", "properties": { "historyList": { "description": "Refer to History list type document.", "$ref": "#/definitions/stayHistoryListType" }, "futureList": { "description": "Refer to Future list type document.", "$ref": "#/definitions/stayFutureListType" } } }, "stayHistoryListType": { "type": "object", "description": "A collection of reservation history details attached to Profiles.", "properties": { "reservationInfo": { "description": "Additional reservation information attached to the profile . Eg : History reservation details", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stayReservationInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "stayReservationInfoType": { "type": "object", "description": "The Reservation class contains the current reservation being created or altered.", "properties": { "reservationIdList": { "description": "Unique identifiers for the reservation for both internal and external systems", "$ref": "#/definitions/reservationIdList" }, "parentReservationId": { "description": "Reservation ID of the parent reservation.", "$ref": "#/definitions/reservationId" }, "roomStay": { "description": "Collection of room stays.", "$ref": "#/definitions/stayInfoType" }, "attachedProfiles": { "description": "List of attached profiles", "$ref": "#/definitions/resAttachedProfileListType" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "reservationStatus": { "description": "Indicates the status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "computedReservationStatus": { "description": "Indicates the status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" } } }, "stayFutureListType": { "type": "object", "description": "A collection of reservation history details attached to Profiles.", "properties": { "reservationInfo": { "description": "Additional reservation information attached to the profile . Eg : Future reservation details", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stayReservationInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "roomOwnershipType": { "type": "object", "description": "Define the search criteria for retrieving room ownership records", "properties": { "roomOwnershipId": { "description": "Unique Id for Room Owner record.", "type": "integer" }, "contractNumber": { "description": "Contract number for room owner.", "type": "string" }, "roomId": { "description": "Room Id of room owner.", "type": "string" }, "roomCategory": { "description": "Room Category of the room ownership record.", "type": "string" }, "roomType": { "description": "Room Type of the room ownership record.", "type": "string" }, "startDate": { "description": "Start Date of the room ownership record.", "type": "string", "format": "date", "maxLength": 8 }, "endDate": { "description": "End Date of the room ownership record.", "type": "string", "format": "date", "maxLength": 8 }, "profileId": { "description": "Profile ID of the room ownership record.", "$ref": "#/definitions/uniqueID_Type" }, "status": { "description": "Status of the room ownership record.", "type": "string" } } }, "hotelStaysType": { "type": "array", "description": "Detailed information of the hotel stay.", "maxItems": 4000, "items": { "$ref": "#/definitions/hotelStayType" } }, "hotelStayType": { "type": "object", "description": "Type provides the hotel stay information.", "properties": { "hotelName": { "description": "Hotel Name.", "type": "string", "minLength": 0, "maxLength": 40 }, "pointsMiles": { "description": "Points or Miles.", "type": "string", "minLength": 0, "maxLength": 20 }, "pointsMilesEarned": { "description": "Guest stay points or miles earned", "type": "string", "minLength": 0, "maxLength": 20 }, "arrivalDate": { "description": "Guest arrival date.", "type": "string", "format": "date", "maxLength": 8 } } }, "roomPreferencesType": { "type": "object", "description": "Indicates the guest's room preferences.", "properties": { "bedType": { "description": "Indicates the bed type preference.", "type": "string", "minLength": 0, "maxLength": 20 }, "smoking": { "description": "Indicates the smoking preference.", "type": "string", "minLength": 0, "maxLength": 20 }, "precedence": { "description": "Indicates which room preference takes priority, bed type or smoking type.", "type": "string", "minLength": 0, "maxLength": 20 }, "floor": { "description": "Indicates the floor type preference.", "type": "string", "minLength": 0, "maxLength": 20 }, "newspapers": { "description": "Indicates the newspaper preference.", "type": "string", "minLength": 0, "maxLength": 20 }, "snack": { "description": "Indicates the snack preference.", "type": "string", "minLength": 0, "maxLength": 20 }, "beverage": { "description": "Indicates the beverage preference.", "type": "string", "minLength": 0, "maxLength": 20 }, "pillow": { "description": "Indicates the pillow type preference.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomAmenities": { "description": "Indicates the room amenities requested.", "type": "string", "minLength": 0, "maxLength": 80 }, "interests": { "description": "Indicates guest preferred interests.", "type": "string", "minLength": 0, "maxLength": 2000 }, "accessible": { "description": "Indicates if the member requires accessible rooms.", "type": "boolean" } } }, "earningPreferencesType": { "type": "object", "description": "Indicates guest's rewards earning preferences.", "properties": { "earningPreference": { "description": "Indicates the earning preference, Points or Miles.", "type": "string", "minLength": 0, "maxLength": 20 }, "airline": { "description": "Indicates preferred airline code and name.", "type": "string", "minLength": 0, "maxLength": 20 }, "frequentFlyerNumber": { "description": "Indicates frequent flyer's number of the guest.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "mailingPreferencesType": { "type": "object", "description": "Indicates guest's mailing preferences.", "properties": { "eFolio": { "description": "Defines if an E-Folio is required.", "type": "boolean" }, "mailings": { "description": "Defines mailings only.", "type": "boolean" } } }, "rewardsInfoType": { "type": "object", "description": "Indicates membership base information like CurrentBalance,association and Owned card.", "properties": { "mVCIOwner": { "description": "Indicates if the member is an MVCI owner.", "type": "string", "minLength": 0, "maxLength": 3 }, "ownsVisaCard": { "description": "Indicates if guest owns a visa card.", "type": "boolean" }, "meetingPlanner": { "description": "Indicates if meeting planner is requested.", "type": "boolean" }, "association": { "description": "Indicates guest association.", "type": "string", "minLength": 0, "maxLength": 2000 }, "currentBalance": { "description": "Current membership points.", "type": "number" }, "membershipId": { "description": "Indicates membership id of the guest.", "type": "number" }, "membershipNo": { "description": "Indicates membership number of the guest", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipLevel": { "description": "Indicates membership level of the guest", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipDate": { "description": "Indicates membership date of the guest", "type": "string", "format": "date", "maxLength": 8 } } }, "reservationId": { "type": "object", "description": "An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).", "properties": { "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "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" } } }, "enrollmentPaymentDetailsType": { "type": "object", "description": "Payment details to enrolll profile to the membership program.", "properties": { "paymentMethod": { "description": "Indicate which method of payment will be used for enrollment to membership program.", "$ref": "#/definitions/codeDescriptionType" }, "amount": { "description": "Amount/Fee to enroll to membership Program.", "type": "number" }, "amountCode": { "description": "Code of Amount/Fee to enroll to membership Program.", "$ref": "#/definitions/codeDescriptionType" }, "paymentDate": { "description": "The date of Payment for enrollment to membership program.", "type": "string", "format": "date", "maxLength": 8 }, "comments": { "description": "Payment Comments.", "type": "string", "minLength": 0, "maxLength": 4000 } } }, "enrollmentTypeType": { "type": "string", "description": "The type of external system that the guest is enrolling in, such as Loyalty, Gaming or Activities.", "enum": [ "Gaming", "Loyalty", "Activities" ] }, "profileSummaryInfoType": { "type": "object", "description": "Summary information about a profile and the associated Unique IDs.", "properties": { "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems. In case of Travel Agent the IATA code.", "$ref": "#/definitions/profileIdList" }, "profile": { "description": "Provides summary information regarding profile.", "$ref": "#/definitions/profileSummaryType" } } }, "profileSummaryType": { "type": "object", "description": "Type provides the basic information about the profile.", "properties": { "formerName": { "description": "This provides name information for a person.", "type": "object", "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.). Currently this attribute is not used for PUT and POST operations.", "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.). Currently this attribute is not used for PUT and POST operations.", "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" }, "gender": { "description": "Identifies the profile gender code selected from Gender types List of values. Gender types LOV provides the values configured at gender configuration.", "type": "string", "minLength": 0, "maxLength": 20 }, "birthDate": { "description": "Indicates the date of birth as indicated in the document, in ISO 8601 prescribed format.", "type": "string", "format": "date", "maxLength": 8 }, "birthDateMasked": { "description": "Indicates the date of birth as masked.", "type": "string" }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "customerValue": { "description": "The supplier's ranking of the customer (e.g., VIP, numerical ranking).", "type": "string", "minLength": 0, "maxLength": 20 } } }, "altName": { "description": "Profile Name information for this profile.", "$ref": "#/definitions/profileNameType" }, "anonymization": { "description": "Provides information about the guest's anonymization status", "$ref": "#/definitions/anonymizationType" }, "addressInfo": { "description": "Detailed information on an address for the customer.", "$ref": "#/definitions/addressInfoType" }, "telephoneInfo": { "description": "Detailed information on telephone/ fax for the customer.", "$ref": "#/definitions/telephoneInfoType" }, "emailInfo": { "description": "Detailed information on an eMail address for the customer.", "$ref": "#/definitions/emailInfoType" }, "profileMembership": { "description": "Information on membership for the customer.", "$ref": "#/definitions/profileMembershipType" }, "uRLInfo": { "description": "Detailed information on web url/address for the customer.", "$ref": "#/definitions/uRLInfoType" }, "citizenCountry": { "description": "Name of the (self-professed) country that is claimed for citizenship.", "$ref": "#/definitions/countryNameType" }, "profileIndicators": { "description": "Indicators of additional information attached to the profile", "$ref": "#/definitions/indicatorsType" }, "searchMatches": { "description": "Super Search matching terms.", "$ref": "#/definitions/searchMatchesType" }, "profileAccessType": { "description": "Detailed information on access type associated with the profile.Information on whether the profile is created in CRO/Hotel/Chain.", "$ref": "#/definitions/profileAccessType" }, "profileRestrictions": { "description": "Detailed information on restrictions associated with the profile.", "$ref": "#/definitions/profileRestrictions" }, "vipStatus": { "description": "VIP status of the customer.", "$ref": "#/definitions/vIPStatusType" }, "owners": { "description": "Owner of the customer.", "$ref": "#/definitions/ownersType" }, "primaryCompany": { "description": "Primary Company of the profile.", "type": "string" }, "aRAccount": { "description": "AR Account information.", "$ref": "#/definitions/directBillingType" }, "commission": { "description": "Commission Code and description of the requested HotelCode.", "$ref": "#/definitions/codeDescriptionType" }, "taxInfo": { "description": "Profile information about tax.", "$ref": "#/definitions/profileTaxInfoType" }, "cashiering": { "description": "Contains cashiering related details for the profile", "$ref": "#/definitions/profileCashieringType" }, "lastStayInfo": { "description": "Information on last stay of the profile.", "$ref": "#/definitions/lastStayInfoType" }, "allowedActions": { "description": "Collection of allowed actions for profile search.", "$ref": "#/definitions/profileAllowedActionsType" }, "primaryAccountInfo": { "description": "Contains primary account information (Profile Id, Profile Type and Profile Name) for the contacts.", "$ref": "#/definitions/primaryProfileInfoType" }, "salesInfo": { "description": "Sales information of the profile.", "$ref": "#/definitions/salesInfoType" }, "additionalInfo": { "description": "Additional Information about the profile.", "$ref": "#/definitions/profileAdditionalInfoType" }, "profileType": { "description": "Type of profile such as Guest, Agent, Company, Group, Source, Employee, Hotel, Vendor or Contact.", "$ref": "#/definitions/profileTypeType" }, "subscription": { "description": "This element tells If there is an active subscription for this external profile .", "type": "boolean" }, "statusCode": { "description": "Status of the profile. Active/Inactive", "$ref": "#/definitions/profileStatusType" }, "protected": { "description": "What level this profile is protected.", "type": "string", "minLength": 0, "maxLength": 40 }, "privateProfile": { "description": "This element tells profile is property exclusive or not.", "type": "boolean" }, "inheritedNegRates": { "description": "Flag to indicate if the negotiated rates are inherited from master profile. Flag is available only when the profile is linked to master profile and master profile has negotiated rate codes attached.", "type": "boolean" }, "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 resposible 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 }, "registeredProperty": { "description": "Property this profile is registered with.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileSourceCode": { "description": "Original Source Code for profile. It is used as reference to identify the source of Profile.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "vIPStatusType": { "type": "object", "description": "VIP status of the customer.", "properties": { "value": { "type": "string", "description": "Used for Character Strings, length 0 to 2000.", "minLength": 0, "maxLength": 2000 }, "code": { "description": "VIP status of the customer.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "ownersType": { "type": "array", "description": "Generic type for a list of owners.", "maxItems": 4000, "items": { "$ref": "#/definitions/ownerType" } }, "profileAllowedActionsType": { "type": "array", "description": "Allowed actions for profile operations.", "maxItems": 2, "items": { "$ref": "#/definitions/profileAllowedActionType" } }, "profileAllowedActionType": { "type": "string", "description": "Flag indicating whether Profile is Enrolled to Primary Membership Program.", "enum": [ "NameChange", "AltNameChange", "TaxIDChange", "EnrollToPrimaryMembership" ] }, "primaryProfileInfoType": { "type": "object", "description": "Contains basic information of profile.", "properties": { "profileId": { "description": "Unique Identifier for OPERA Profile.", "$ref": "#/definitions/uniqueID_Type" }, "profileType": { "description": "Type of account such as Agent, Company, and Source.", "$ref": "#/definitions/profileTypeType" }, "profileName": { "description": "Name of the account.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "profileAdditionalInfoType": { "type": "object", "properties": { "primaryOwnerCode": { "description": "Primary Owner of the profile", "type": "string", "minLength": 0, "maxLength": 20 }, "territory": { "description": "Territory associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "masterAccount": { "description": "Indicates if the profile is a Master Account for one or more Subsidiary Accounts.", "type": "boolean" }, "subsidiaryAccount": { "description": "Indicates if the profile is a Subsidiary Account of a Master/Parent Account.", "type": "boolean" }, "businessPosition": { "description": "Business Title or Position of the profile.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "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" ] }, "profile": { "type": "object", "description": "Object for creation of profiles. This object contains profile details with unique identifiers for each profile.", "properties": { "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems. In case of Travel Agent the IATA code and in case of Company can be any form of identifier as ID.", "$ref": "#/definitions/profileIdList" }, "externalReferences": { "description": "External Reference information for Profile.", "$ref": "#/definitions/externalReferencesType" }, "profileDetails": { "description": "Provides detailed information regarding either a company or a customer profile.", "$ref": "#/definitions/profileType" }, "profileAllowedActions": { "description": "Provides the actions needed to apply on the profile", "$ref": "#/definitions/profileAllowedActionsType" }, "copyInstructions": { "description": "Indicates which details of the master profile should be copied to subsidiary profiles, when a master-sub relationship is created for profile types Company, TravelAgent and Source", "$ref": "#/definitions/copyInstructionsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileType": { "type": "object", "description": "Type provides the detailed information about the profile and its children.", "properties": { "customer": { "description": "Detailed customer information for this profile.", "$ref": "#/definitions/customerType" }, "company": { "description": "Detailed company information for this profile.", "$ref": "#/definitions/companyType" }, "profileImage": { "description": "The profile image.", "$ref": "#/definitions/imageSetType" }, "addresses": { "description": "List of customer addresses.", "type": "object", "properties": { "addressInfo": { "description": "Collection of Detailed information on an address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/addressInfoType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "businessSegments": { "description": "Business/Market Segment associated to the profile.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "territory": { "description": "Territory associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "traceCode": { "description": "Trace Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "ownerCode": { "description": "Owner Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "influenceCode": { "description": "Influence Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "telephones": { "description": "List of Telephone Number Information", "type": "object", "properties": { "telephoneInfo": { "description": "Collection of Detailed information on telephone/fax for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/telephoneInfoType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "emails": { "description": "List of email address for the customer.", "type": "object", "properties": { "emailInfo": { "description": "Collection of Detailed information on an eMail address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/emailInfoType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "uRLs": { "description": "List of Information on a URL for the customer.", "type": "object", "properties": { "uRLInfo": { "description": "Collection of Detailed information on web url/address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/uRLInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "comments": { "description": "List of Notes for the customer.", "type": "object", "properties": { "commentInfo": { "description": "Collection of Detailed information on comments for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profileDeliveryMethods": { "description": "List of Delivery methods configured against a Property for this Profile.", "type": "object", "properties": { "profileDeliveryMethod": { "description": "Collection of delivery methods for this Profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileDeliveryMethod" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profileMemberships": { "description": "List of loyalty program(s) the profile is subscribed to.", "type": "object", "properties": { "profileMembership": { "description": "Collection of Detailed information on memberships for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileMembershipType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "preferenceCollection": { "description": "List of customer preferences.", "type": "object", "properties": { "preferenceType": { "description": "Collection of Detailed information on preferences of the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/preferenceTypeType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "keywords": { "description": "List of customer keywords.", "type": "object", "properties": { "keyword": { "description": "Collection of keywords attached to the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/keywordType" } }, "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" } } }, "negotiatedRates": { "description": "List of profile negotiated rates.", "type": "object", "properties": { "negotiatedRate": { "description": "Collection of Detailed information on profile negotiated rates.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/negotiatedType" } }, "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" } } }, "gdsNegotiatedRates": { "description": "List of channel negotiated rates that this profile has been assigned to.", "type": "object", "properties": { "gdsNegotiatedRate": { "description": "Collection of Detailed information on channel negotiated rates for the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/gdsNegotiatedType" } }, "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" } } }, "profileIndicators": { "description": "Indicators of additional information attached to the profile", "$ref": "#/definitions/indicatorsType" }, "relationships": { "description": "Contains a collection of profiles that have a relationship with this profile.", "type": "object", "properties": { "relationship": { "description": "A collection of the profiles that have a relationship with this profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/relationshipInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "relationshipsSummary": { "description": "Contains a collection of profiles that have a relationship with this profile.", "type": "object", "properties": { "relationship": { "description": "A collection of the profiles summary that have a relationship with this profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/relationshipInfoSummaryType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profileAccounts": { "description": "Response of profile accounts.", "$ref": "#/definitions/aRAccountsType" }, "stayReservationInfoList": { "description": "Collection of Detailed information on history and future reservations associated with the profile.", "$ref": "#/definitions/reservationStayHistoryFutureInfoType" }, "lastStayInfo": { "description": "Information on last stay of the profile.", "$ref": "#/definitions/lastStayInfoType" }, "profileAccessType": { "description": "Detailed information on access type associated with the profile.", "$ref": "#/definitions/profileAccessType" }, "profileRestrictions": { "description": "Detailed information on restrictions associated with the profile.", "$ref": "#/definitions/profileRestrictions" }, "mailingActions": { "description": "Contains collection of mailing action list associated with the profile", "$ref": "#/definitions/mailingActionsType" }, "privacyInfo": { "description": "Contains privacy related information associated with the profile", "$ref": "#/definitions/privacyInfoType" }, "cashiering": { "description": "Contains cashiering related details for the profile", "$ref": "#/definitions/profileCashieringType" }, "commissionInfoList": { "description": "Contains commission related details for the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileCommissionType" } }, "userDefinedFields": { "description": "Collections of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" }, "webUserAccounts": { "description": "List of Web User Accounts of the profile.", "$ref": "#/definitions/webUserAccountsType" }, "taxInfo": { "description": "Profile information about tax.", "$ref": "#/definitions/profileTaxInfoType" }, "salesInfo": { "description": "Sales information of the profiles.", "$ref": "#/definitions/salesInfoType" }, "eCertificates": { "description": "E-Certificate assosiated with the profile.", "$ref": "#/definitions/eCertificatesType" }, "subscriptions": { "description": "List of profile subscriptions.", "$ref": "#/definitions/profileSubscriptionListType" }, "localizationGuestType": { "description": "Localization Guest Type assocaited to the profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "flexFieldExternalProfileId": { "description": "Unique Identifier of the Profile on the External System that would be fetched against flexFieldExternalProfileId. (For internal use only).", "type": "string", "minLength": 0, "maxLength": 80 }, "eligibleForFiscalFolio": { "description": "Eligible for Fiscal Folio/Payload generation.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomOwnershipsList": { "description": "Room Ownership records.", "type": "object", "properties": { "roomOwnershipInfo": { "description": "Collection of Detailed information on Room Ownership records.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/roomOwnershipType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profileType": { "description": "Type of profile such as Guest, Agent, Company, Group, Source, Employee, Hotel, Vendor or Contact.", "$ref": "#/definitions/profileTypeType" }, "statusCode": { "description": "Status of the profile. Active/Inactive", "$ref": "#/definitions/profileStatusType" }, "inactiveReason": { "description": "Inactive reason associated with the current profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "registeredProperty": { "description": "Hotel which this profile is registered with. This attribute is not used for configuration.", "type": "string", "minLength": 0, "maxLength": 20 }, "requestForHotel": { "description": "Hotel which this profile is to be registered. This attribute is only used during creation of profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "protectedBy": { "description": "What level this profile is protected.", "type": "string", "minLength": 0, "maxLength": 40 }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "markAsRecentlyAccessed": { "description": "Mark this profile as recently accessed.", "type": "boolean" }, "markForHistory": { "description": "\"true\" setting marks the profile to be kept from being purged, once the profile is marked inactive.", "type": "boolean" }, "hasCommission": { "description": "Populates true if the profile has commission configured false otherwise.", "type": "boolean" }, "inheritedNegRates": { "description": "Flag to indicate if the negotiated rates are inherited from master profile. Flag is available only when the profile is linked to master profile and master profile has negotiated rate codes attached.", "type": "boolean" }, "showInactiveRoomOwners": { "description": "Flag to show inactive Room Owners.", "type": "boolean" }, "fiscalGuestType": { "description": "Fiscal Guest Type is used for Fiscal Folio funcionality", "type": "string", "minLength": 0, "maxLength": 20 }, "internalFolio": { "description": "Flag considered during folio settlement, to select the corresponding Folio Type when the value is true. Only used in Poland country mode.", "type": "boolean" } } }, "awardKindType": { "type": "string", "description": "Indicates that this is electronic certificate.", "enum": [ "Paper", "ECertificate" ] }, "reservationCertificateType": { "type": "string", "description": "Certificate is incentive.", "enum": [ "Reward", "Incentive" ] }, "rewardCertificateType": { "type": "string", "description": "Point Saver reward.", "enum": [ "Regular", "StayAnytime", "PointSaver" ] }, "awardStatusType": { "type": "string", "description": "Indicates that certificate is in use.", "enum": [ "Available", "NotAvailable", "InUse" ] }, "fBAInfoType": { "type": "object", "description": "FBA ( Flexible Benefits Awards ) related fields.", "properties": { "status": { "description": "Possible FBA statuses.", "$ref": "#/definitions/fBAStatusType" }, "monetaryValue": { "description": "Award's FBA monetary values.", "type": "number" }, "amount": { "description": "Award's FBA amount.", "type": "number" }, "postedAmount": { "description": "Award's FBA posted amount.", "type": "number" }, "reimbursedAmount": { "description": "Award's FBA reimbursed amount.", "type": "number" }, "postingDateTime": { "description": "Date and time of the FBA posting.", "type": "string", "format": "date", "maxLength": 8 }, "postingBusinessDate": { "description": "Business date of the FBA posting.", "type": "string", "format": "date", "maxLength": 8 }, "settlementDateTime": { "description": "Date and time of the FBA settlement.", "type": "string", "format": "date", "maxLength": 8 }, "settlementBusinessDate": { "description": "Business date of the FBA settlement.", "type": "string", "format": "date", "maxLength": 8 }, "reimbursementDateTime": { "description": "Date and time of the FBA reimbursement.", "type": "string", "format": "date", "maxLength": 8 }, "reimbursementBusinessDate": { "description": "Business date of the FBA reimbursement.", "type": "string", "format": "date", "maxLength": 8 }, "fbaBillGenDate": { "description": "Business date of the FBA bill generation.", "type": "string", "format": "date", "maxLength": 8 }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" }, "flexibleBenefitAward": { "description": "Indicates if this certificate is a Flexible Benefit Award certificate.", "type": "boolean" }, "posted": { "description": "Indicates whether FBA has been posted.", "type": "boolean" }, "settled": { "description": "Indicates whether FBA has been settled.", "type": "boolean" }, "reimbursed": { "description": "Indicates whether FBA has been reimbursed.", "type": "boolean" }, "resettleAllowed": { "description": "Marks if the certificate is eligible for resettlement", "type": "boolean" }, "reimburseAllowed": { "description": "Marks if the certificate is eligible for reimbursement.", "type": "boolean" }, "orphanCertificate": { "description": "Indicates whether the certificate is Orphan or not.", "type": "boolean" } } }, "fBAStatusType": { "type": "string", "description": "Flexible benefit award has been reimbursed.", "enum": [ "Ordered", "Attached", "Posted", "Settled", "Reimbursed" ] }, "guest": { "type": "object", "description": "Request object for creation of guest/contact/employee profile. This object contains profile details with unique identifiers of a profile. The standard optional Opera Context element is also included.", "properties": { "guestIdList": { "description": "Unique identifiers of Profile for both internal and external systems.", "$ref": "#/definitions/profileIdList" }, "externalReferences": { "description": "External Reference information for Profile.", "$ref": "#/definitions/externalReferencesType" }, "guestDetails": { "description": "Provides detailed information of a customer profile.", "$ref": "#/definitions/guestProfileType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "guestProfileType": { "type": "object", "description": "Type provides the detailed information about the profile and its children.", "properties": { "customer": { "description": "Detailed customer information for this profile.", "$ref": "#/definitions/customerType" }, "profileImage": { "description": "The profile image.", "$ref": "#/definitions/imageSetType" }, "addresses": { "description": "List of customer addresses.", "type": "object", "properties": { "addressInfo": { "description": "Collection of Detailed information on an address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/addressInfoType" } }, "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" } } }, "traceCode": { "description": "Trace Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "ownerCode": { "description": "Owner Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "influenceCode": { "description": "Influence Code associated to the profile.", "type": "string", "minLength": 0, "maxLength": 40 }, "telephones": { "description": "List of Telephone Number Information", "type": "object", "properties": { "telephoneInfo": { "description": "Collection of Detailed information on telephone/fax for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/telephoneInfoType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "emails": { "description": "List of email address for the customer.", "type": "object", "properties": { "emailInfo": { "description": "Collection of Detailed information on an eMail address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/emailInfoType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "uRLs": { "description": "List of Information on a URL for the customer.", "type": "object", "properties": { "uRLInfo": { "description": "Collection of Detailed information on web url/address for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/uRLInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "comments": { "description": "List of Notes for the customer.", "type": "object", "properties": { "commentInfo": { "description": "Collection of Detailed information on comments for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profileMemberships": { "description": "List of loyalty program(s) the profile is subscribed to.", "type": "object", "properties": { "profileMembership": { "description": "Collection of Detailed information on memberships for the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileMembershipType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "preferenceCollection": { "description": "List of customer preferences.", "type": "object", "properties": { "preferenceType": { "description": "Collection of Detailed information on preferences of the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/preferenceTypeType" } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "keywords": { "description": "List of customer keywords.", "type": "object", "properties": { "keyword": { "description": "Collection of keywords attached to the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/keywordType" } }, "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" } } }, "negotiatedRates": { "description": "List of profile negotiated rates.", "type": "object", "properties": { "negotiatedRate": { "description": "Collection of Detailed information on profile negotiated rates.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/negotiatedType" } }, "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" } } }, "gdsNegotiatedRates": { "description": "List of channel negotiated rates that this profile has been assigned to.", "type": "object", "properties": { "gdsNegotiatedRate": { "description": "Collection of Detailed information on channel negotiated rates for the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/gdsNegotiatedType" } }, "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" } } }, "profileIndicators": { "description": "Indicators of additional information attached to the profile", "$ref": "#/definitions/indicatorsType" }, "relationships": { "description": "Contains a collection of profiles that have a relationship with this profile.", "type": "object", "properties": { "relationship": { "description": "A collection of the profiles that have a relationship with this profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/relationshipInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "lastStayInfo": { "description": "Information on last stay of the profile.", "$ref": "#/definitions/lastStayInfoType" }, "profileAccessType": { "description": "Detailed information on access type associated with the profile.", "$ref": "#/definitions/profileAccessType" }, "profileRestrictions": { "description": "Detailed information on restrictions associated with the profile.", "$ref": "#/definitions/profileRestrictions" }, "mailingActions": { "description": "Contains collection of mailing action list associated with the profile", "$ref": "#/definitions/mailingActionsType" }, "privacyInfo": { "description": "Contains privacy related information associated with the profile", "$ref": "#/definitions/privacyInfoType" }, "cashiering": { "description": "Contains cashiering related details for the profile", "$ref": "#/definitions/profileCashieringType" }, "commissionInfoList": { "description": "Contains commission related details for the profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileCommissionType" } }, "userDefinedFields": { "description": "Collections of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" }, "webUserAccounts": { "description": "List of Web User Accounts of the profile.", "$ref": "#/definitions/webUserAccountsType" }, "taxInfo": { "description": "Profile information about tax.", "$ref": "#/definitions/profileTaxInfoType" }, "salesInfo": { "description": "Sales information of the profiles.", "$ref": "#/definitions/salesInfoType" }, "eCertificates": { "description": "E-Certificate associated with the profile.", "$ref": "#/definitions/eCertificatesType" }, "subscriptions": { "description": "List of profile subscriptions.", "$ref": "#/definitions/profileSubscriptionListType" }, "localizationGuestType": { "description": "Localization Guest Type associated to the profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "eligibleForFiscalFolio": { "description": "Eligible for Fiscal Folio/Payload generation.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileType": { "description": "Type of profile such as Guest, Employee or Contact.", "$ref": "#/definitions/guestProfileTypeType" }, "statusCode": { "description": "Status of the profile. Active/Inactive", "$ref": "#/definitions/profileStatusType" }, "registeredProperty": { "description": "Hotel which this profile is registered with. This attribute is not used for configuration.", "type": "string", "minLength": 0, "maxLength": 20 }, "requestForHotel": { "description": "Hotel which this profile is to be registered. This attribute is only used during creation of profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "protectedBy": { "description": "What level this profile is protected.", "type": "string", "minLength": 0, "maxLength": 40 }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible for the creation.", "type": "string", "minLength": 0, "maxLength": 200 }, "lastModifyDateTime": { "description": "Time stamp of last modification.", "type": "string", "format": "date-time" }, "lastModifierId": { "description": "Identifies the last software system or person to modify a record.", "type": "string", "minLength": 0, "maxLength": 200 }, "markAsRecentlyAccessed": { "description": "Mark this profile as recently accessed.", "type": "boolean" }, "markForHistory": { "description": "\"true\" setting marks the profile to be kept from being purged, once the profile is marked inactive.", "type": "boolean" }, "hasCommission": { "description": "Populates true if the profile has commission configured false otherwise.", "type": "boolean" }, "inheritedNegRates": { "description": "Flag to indicate if the negotiated rates are inherited from master profile. Flag is available only when the profile is linked to master profile and master profile has negotiated rate codes attached.", "type": "boolean" } } }, "guestProfileTypeType": { "type": "string", "description": "The types of Profile handled by the web service.", "enum": [ "Guest", "Employee", "Contact" ] }, "membershipAwardPointsByHotel": { "type": "object", "description": "Response object for fetching member award points by Hotel.", "properties": { "membershipAwardPoints": { "description": "Collection of member award points list.", "$ref": "#/definitions/membershipAwardPointsByHotelType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipAwardPointsByHotelType": { "type": "array", "description": "List of available award points information by Hotel.", "maxItems": 4000, "items": { "$ref": "#/definitions/membershipAwardPointByHotelType" } }, "membershipAwardPointByHotelType": { "type": "object", "description": "Award points information group by Hotel.", "properties": { "hotelId": { "description": "Award points issued at Property level.", "type": "string", "minLength": 0, "maxLength": 20 }, "totalPoints": { "description": "Sum of total positive and negative points.", "type": "number" } } }, "profileCommissionAccountCopy": { "type": "object", "description": "Request object for copying transaction groups configuration.", "properties": { "profileCommissionAccountsInfo": { "description": "List of resorts with profile commission account information to be copied.", "$ref": "#/definitions/copyProfileCommissionInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "copyProfileCommissionInfoType": { "type": "object", "description": "Contains base info to determine profile commission bank account and code.", "properties": { "hotelId": { "description": "Hotel code from which the profile bank account and code belongs to", "type": "string", "minLength": 0, "maxLength": 20 }, "profileId": { "description": "Unique profile identifier.", "$ref": "#/definitions/profileId" }, "bankAccountId": { "description": "Bank account ID.", "$ref": "#/definitions/uniqueID_Type" }, "commissionCode": { "description": "Profile commission code", "$ref": "#/definitions/codeDescriptionType" }, "validatePending": { "description": "Used in CRUD operations. When set to true, proceed validating pending commissions", "type": "boolean" }, "targetHotelCodes": { "description": "Property to which configuration code type to be copied to.", "$ref": "#/definitions/codeListType" } } }, "codeListType": { "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "membershipClaim": { "type": "object", "description": "Request object for creating membership claim.", "properties": { "membershipClaimDetails": { "$ref": "#/definitions/membershipClaimDetailsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipClaimDetailsType": { "type": "object", "description": "Detailed information of a claim.", "properties": { "claimNo": { "description": "Unique ID Number assigned to the claim when the claim was created.", "$ref": "#/definitions/uniqueID_Type" }, "claimDate": { "description": "Date the claim was made.", "type": "string", "format": "date", "maxLength": 8 }, "closeDate": { "description": "If the status is closed, the date the claim was closed.", "type": "string", "format": "date", "maxLength": 8 }, "source": { "description": "Source of the claim. This will be either OCIS, OPMS or WEB.", "$ref": "#/definitions/claimSourceType" }, "callerName": { "description": "Name of the person placing the claim. This name may be different from the name on the membership card.", "type": "string", "minLength": 0, "maxLength": 100 }, "owner": { "description": "User who is assigned to handle this claim.", "type": "string", "minLength": 0, "maxLength": 50 }, "claimStatus": { "description": "Status of the claim.(Open, Closed, Pending Review, Waiting for Manager, etc.)", "type": "string", "minLength": 0, "maxLength": 20 }, "claimType": { "description": "Type of user-definable claim such as New Card, Stay, etc.", "type": "string", "minLength": 0, "maxLength": 20 }, "origin": { "description": "Origin of the membership claim. User definable values like Email, Fax, Phone Call, etc.", "type": "string", "minLength": 0, "maxLength": 20 }, "callerInformation": { "description": "More information related to call that help to resolve the claim..", "type": "string", "minLength": 0, "maxLength": 2000 }, "replyBy": { "description": "The date, if any, by which a response to the caller was promised.", "type": "string", "format": "date", "maxLength": 8 }, "comments": { "description": "Additional comments or steps taken to resolve the claim..", "type": "string", "minLength": 0, "maxLength": 2000 }, "approvalStatus": { "description": "Filter claims by approved or rejected status.", "$ref": "#/definitions/claimApprovalStatusType" }, "recordType": { "description": "Record type of the claim.", "$ref": "#/definitions/claimRecordType" }, "profileId": { "description": "Profile ID of the membership holder.", "$ref": "#/definitions/profileId" }, "membership": { "description": "Membership Type details.", "$ref": "#/definitions/claimMembershipType" }, "reservation": { "description": "Reservation or Stay information for the claim.", "$ref": "#/definitions/claimReservationInfoType" }, "claimPoints": { "description": "Membership claims award points and tier points.", "$ref": "#/definitions/claimAdjustmentPointsType" }, "activityLog": { "description": "Contains summary information of the claim.", "$ref": "#/definitions/claimActivityLogListType" }, "submitter": { "description": "User who entered this claim.", "type": "string", "minLength": 0, "maxLength": 50 } } }, "claimSourceType": { "type": "string", "description": "Source of the membership claim.", "enum": [ "Ocis", "Opms", "Web" ] }, "claimApprovalStatusType": { "type": "string", "description": "Claim approve or reject status.", "enum": [ "Approved", "Rejected", "Pending" ] }, "claimRecordType": { "type": "string", "description": "Record Type associated with a claim.", "enum": [ "Stay", "Other", "LimitedAdjustment" ] }, "claimMembershipType": { "type": "object", "description": "Summary of claim activity log information.", "properties": { "nameOnCard": { "description": "Name to be displayed on the membership card.", "type": "string" }, "membershipClass": { "description": "Indicates the membership class.", "type": "string" }, "membershipId": { "description": "Card Number of the membership.", "type": "string" }, "membershipIdNo": { "description": "Membership ID Number.", "type": "number" }, "membershipType": { "description": "Membership Type code.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipLevel": { "description": "The current level of the membership.", "type": "string", "minLength": 0, "maxLength": 20 }, "effectiveDate": { "description": "Indicates the starting date.", "type": "string", "format": "date", "maxLength": 8 }, "expireDate": { "description": "Indicates the ending date.", "type": "string", "format": "date", "maxLength": 8 }, "expireDateExclusiveIndicator": { "description": "When true, indicates that the ExpireDate is the first day after the applicable period (e.g. when expire date is Oct 15 the last date of the period is Oct 14).", "type": "boolean" } } }, "claimReservationInfoType": { "type": "object", "description": "Summary of claim activity log information.", "properties": { "hotelId": { "description": "Property where the stay associated with this claim.", "type": "string", "minLength": 0, "maxLength": 20 }, "confirmationNo": { "description": "List of reservation confirmation or reference numbers associated with this claim. Like PMS reservation number, Central(ORS) booking number.", "$ref": "#/definitions/uniqueIDListType" }, "arrival": { "description": "Arrival date for the stay associated with this claim.", "type": "string", "format": "date", "maxLength": 8 }, "departure": { "description": "Departure date for the stay associated with this claim.", "type": "string", "format": "date", "maxLength": 8 } } }, "claimAdjustmentPointsType": { "type": "object", "description": "Summary of membership claim award points and tier points.", "properties": { "adjustmentCode": { "description": "The selected adjustment code's Award, Stay, Nights, and Revenue thresholds will display.", "type": "string", "minLength": 0, "maxLength": 20 }, "totalBasePointsLimits": { "description": "Total base points limits for adjustment.", "type": "string" }, "baseStayLimits": { "description": "Base stay limits for adjustment.", "type": "string" }, "baseNightsLimits": { "description": "Base nights limits for adjustment.", "type": "string" }, "baseRevenueLimits": { "description": "Base revenue limits for adjustment.", "type": "string" }, "awardBasePoints": { "description": "Base award points for adjustment.", "type": "integer" }, "awardBonusPoints": { "description": "Bonus award points for adjustment.", "type": "integer" }, "awardMiscPoints": { "description": "Miscellaneous award points for adjustment.", "type": "integer" }, "awardTotalPoints": { "description": "Total award points for adjustment.", "type": "integer" }, "tierBaseStayPoints": { "description": "Tier base stay points for adjustment.", "type": "integer" }, "tierBonusStayPoints": { "description": "Tier bonus stay points for adjustment.", "type": "integer" }, "tierTotalStayPoints": { "description": "Tier total stay points for adjustment.", "type": "integer" }, "tierBaseNightsPoints": { "description": "Tier base nights points for adjustment.", "type": "integer" }, "tierBonusNightsPoints": { "description": "Tier bonus nights points for adjustment.", "type": "integer" }, "tierTotalNightsPoints": { "description": "Tier total nights points for adjustment.", "type": "integer" }, "tierBaseRevenuePoints": { "description": "Tier Base revenue points for adjustment.", "type": "integer" }, "tierBonusRevenuePoints": { "description": "Tier Bonus revenue points for adjustment.", "type": "integer" }, "tierTotalRevenuePoints": { "description": "Tier Total tier revenue points for adjustment.", "type": "integer" } } }, "claimActivityLogListType": { "type": "array", "description": "Summary of claim activity log information.", "maxItems": 4000, "items": { "$ref": "#/definitions/claimActivityLogType" } }, "claimActivityLogType": { "type": "object", "description": "Summary of claim activity log information.", "properties": { "sequence": { "description": "Sequence number for claim activity.", "type": "integer" }, "type": { "description": "Claim activity type such as Reply, Call Property for Verification, Caller Called Back, and Remarks.", "type": "string", "minLength": 0, "maxLength": 20 }, "comments": { "description": "Name of the application user who created the activity record.", "type": "string", "minLength": 0, "maxLength": 2000 }, "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 resposible 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 } } }, "membershipPointsToCalculate": { "type": "object", "description": "Request to run membership points calculation job.", "properties": { "membershipPointsCalculation": { "description": "Membership point calculation details needed to run job.", "$ref": "#/definitions/membershipPointsCalculationType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipPointsCalculationType": { "type": "object", "description": "Details needed for calculating membership points.", "properties": { "processType": { "description": "Points Calculation Process Type.", "$ref": "#/definitions/membershipPointsCalculationProcessType" }, "membershipType": { "description": "Membership type for which point calculation process is to be run.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardCode": { "description": "Award Code to be used to generate awards for the membership type. Available for Automatic Generation of Awards (Issue Awards) only.", "type": "string", "minLength": 0, "maxLength": 40 }, "calculateUntilDate": { "description": "The last date for which calculate or expire points. Available for Calculate Points and Expire Award Points only.", "type": "string", "format": "date", "maxLength": 8 } } }, "membershipPointsCalculationProcessType": { "type": "string", "description": "Issuing awards for guests belonging to a membership type, with a specific award code that is of Other type.", "enum": [ "CalculatePoints", "ExpirePoints", "IssueAwards" ] }, "membershipTierProjections": { "type": "object", "description": "Response object for fetching Membership Tier Process Text.", "properties": { "membershipTierProjection": { "description": "Membership tier upgrade/downgrade projection.", "$ref": "#/definitions/membershipTierProjectionType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipTierProjectionType": { "type": "object", "description": "Membership Upgrade/Downgrade Projection.", "properties": { "upgrade": { "description": "Upgrade information which includes member's next tier level requirements for next upgrade.", "type": "string", "minLength": 0, "maxLength": 32000 }, "downgrade": { "description": "Information regarding member's possible downgrades.", "type": "string", "minLength": 0, "maxLength": 32000 } } }, "calculatedPoints": { "type": "object", "description": "Response object for fetching membership transaction points information.", "properties": { "calculatedPoint": { "description": "Details of Points Accrued for the current points transaction.", "$ref": "#/definitions/calculatedPointsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "calculatedPointsType": { "type": "object", "description": "Summary of Points Accrued for current transaction.", "properties": { "calculatedPoint": { "description": "Details of Points Accrued for the current points transaction.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/calculatedPointType" } }, "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" } } }, "calculatedPointType": { "type": "object", "description": "Information related to a Calculated Points.", "properties": { "rule": { "description": "Indicates rule description for membership rule.", "type": "string" }, "type": { "description": "Indicates the type of points.", "$ref": "#/definitions/rulePointsTypeType" }, "points": { "description": "Indicates the total award/tier points generated.", "type": "number" }, "costPerNight": { "description": "Indicates the cost incurred per minght.", "$ref": "#/definitions/currencyAmountType" }, "ruleCode": { "description": "Indicates rule code for membership rule.", "type": "string", "minLength": 0, "maxLength": 20 }, "billingGroup": { "description": "Indicates the billing group the points belong to.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "rulePointsTypeType": { "type": "string", "description": "Possible membership points types.", "enum": [ "Base", "Bonus" ] }, "pointsRejectionReasons": { "type": "object", "description": "Response object for fetching member transactions points rejection reasons information.", "properties": { "pointsRejectionReason": { "description": "Details on rule and reason the points were not awarded for a given point transaction.", "$ref": "#/definitions/pointsRejectionReasonsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "pointsRejectionReasonsType": { "type": "object", "description": "Summary of reason points were not awarded for a given points transaction.", "properties": { "pointsRejectionReason": { "description": "Details on rule and reason the points were not awarded for a given point transaction.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/pointsRejectionReasonType" } }, "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" } } }, "pointsRejectionReasonType": { "type": "object", "description": "Information related to a Points Rejection Reason summary.", "properties": { "rule": { "description": "Indicates rule description for membership rule.", "type": "string" }, "code": { "description": "Indicates rule code for membership rule.", "type": "string", "minLength": 0, "maxLength": 20 }, "rejectionReason": { "description": "Indicates the reason the points were not awarded (e.g. Membership level requirements not met).", "type": "string", "minLength": 0, "maxLength": 200 } } }, "rates": { "type": "object", "description": "Response object for fetching Membership Transaction Rates information.", "properties": { "rate": { "description": "Details of rate for the current points transaction.", "$ref": "#/definitions/membershipTransactionRatesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipTransactionRatesType": { "type": "object", "description": "Summary of rate details of current transaction associated with the stay.", "properties": { "rate": { "description": "Details of rate for the current points transaction.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/membershipTransactionRateType" } }, "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" } } }, "membershipTransactionRateType": { "type": "object", "description": "Information related to a membership transaction rate.", "properties": { "fromDate": { "description": "Indicates start date of the reservation.", "type": "string", "format": "date", "maxLength": 8 }, "toDate": { "description": "Indicates end date of the reservation.", "type": "string", "format": "date", "maxLength": 8 }, "rateCode": { "description": "Indicates the Rate code used in the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "pMSRateAmount": { "description": "Indicates the Rate code amount in the property currency.", "$ref": "#/definitions/currencyAmountType" }, "centralRateAmount": { "description": "Indicates the Central rate amount in central currency.", "$ref": "#/definitions/currencyAmountType" }, "currency": { "description": "Indicates the Property currency code.", "type": "string" }, "marketCode": { "description": "Indicates the Market code linked to rate code.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "revenues": { "type": "object", "description": "Response object for fetching Membership Transaction Revenue.", "properties": { "revenue": { "description": "Details on stay details for current point transaction.", "$ref": "#/definitions/membershipTransactionRevenuesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipTransactionRevenuesType": { "type": "object", "description": "Summary of stay details for current transaction.", "properties": { "revenue": { "description": "Details on stay details for current point transaction.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/membershipTransactionRevenueType" } }, "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" } } }, "membershipTransactionRevenueType": { "type": "object", "description": "Information related to a membership transactions Revenue.", "properties": { "date": { "description": "Indicates the Date when the revenue was recognized.", "type": "string", "format": "date", "maxLength": 8 }, "revenueType": { "description": "Indicates the Revenue type associated to Revenue. This is mutually exclusive to Transaction code.", "type": "string" }, "transactionCode": { "description": "Indicates the Transaction code associated to Revenue. This is mutually exclusive to Revenue type.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionCodeDescription": { "description": "Description of Transaction code.", "type": "string", "minLength": 0, "maxLength": 2000 }, "pMSRevenue": { "description": "Indicates the Total PMS Revenue accrued.", "$ref": "#/definitions/currencyAmountType" }, "centralRevenue": { "description": "Indicates the Total central revenue Accrued.", "$ref": "#/definitions/currencyAmountType" }, "qualified": { "description": "Indicates if the stay is qualified for points calculation.", "type": "boolean" } } }, "membershipTransaction": { "type": "object", "description": "Response object for fetching a membership transaction.", "properties": { "membershipTransactionDetails": { "description": "Membership transaction details for the requested membership transaction ID.", "$ref": "#/definitions/membershipTransactionType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipTransactionType": { "type": "object", "description": "Detailed transaction information related to a membership.", "properties": { "membershipDetails": { "description": "Membership details for the requested membership transaction ID.", "$ref": "#/definitions/membershipDetailsType" }, "membershipTransactionDetails": { "description": "Membership transaction details for the requested membership transaction ID.", "$ref": "#/definitions/membershipTransactionDetailsType" } } }, "membershipDetailsType": { "type": "object", "description": "Details of membership transactions summary such as the membership details, transactions summary, points summary, etc.", "properties": { "profileId": { "description": "The profile to which this membership is associated with.", "$ref": "#/definitions/profileId" }, "name": { "description": "The profile name associated with this membership.", "type": "string", "minLength": 0, "maxLength": 128 }, "membershipId": { "description": "Unique identifier of this membership.", "$ref": "#/definitions/uniqueID_Type" }, "membershipCardNo": { "description": "The card number associated with this membership.", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipType": { "description": "The type of the membership.", "$ref": "#/definitions/codeDescriptionType" }, "membershipLevel": { "description": "The current level of the membership.", "type": "string", "minLength": 0, "maxLength": 20 }, "joinedDate": { "description": "Date when the member enrolled for the membership.", "type": "string", "format": "date", "maxLength": 8 }, "cardExpirationDate": { "description": "Membership card expiration date.", "type": "string", "format": "date", "maxLength": 8 }, "referredMemNameId": { "description": "Name ID of the profile referred.", "type": "integer" }, "referredDisplayName": { "description": "Display Name of the profile that is going to be referred.", "type": "string" } } }, "membershipTransactionDetailsType": { "type": "object", "description": "Detailed information related to a membership transaction.", "properties": { "membershipTransactionId": { "description": "Unique identifier associated with the membership transaction.", "$ref": "#/definitions/membershipTransactionId" }, "hotelId": { "description": "Property from which the membership stay information was received.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionType": { "description": "The type of membership points transaction.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionDate": { "description": "The date when the points were calculated.", "type": "string", "format": "date", "maxLength": 8 }, "reservationIdList": { "description": "Unique reservation identifiers associated with this transaction like PMS Confirmation Number and CRS Booking Number.", "$ref": "#/definitions/reservationIdList" }, "currency": { "description": "The property currency at the originating PMS.", "type": "string", "minLength": 0, "maxLength": 20 }, "reference": { "description": "User-defined reference field for the Membership Transaction Adjustment.", "type": "string", "minLength": 1, "maxLength": 20 }, "stayTimeSpan": { "description": "Arrival and Departure date for the stay.", "$ref": "#/definitions/timeSpanType" }, "ratePromotion": { "description": "Promotion code assigned on reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "profilePromotions": { "description": "Promotion code assigned on reservation.", "$ref": "#/definitions/codeListType" }, "pointsCreditDate": { "description": "For adjustments, the date when the points are to be credited.", "type": "string", "format": "date", "maxLength": 8 }, "averageRateAmount": { "description": "The average cost of the room per night.", "type": "number" }, "adjustment": { "description": "Indicates if the transaction was created as an adjustment.", "type": "boolean" }, "pointsCalculated": { "description": "Indicates if the points have been calculated on this transaction.", "type": "boolean" }, "exceptionRejected": { "description": "Indicates if the exception points were rejected.", "type": "boolean" }, "exception": { "description": "Indicates if the transaction was flagged as an exception.", "type": "boolean" }, "roomLabel": { "description": "The room type for this transaction.", "type": "string", "minLength": 0, "maxLength": 50 }, "bookedRoomLabel": { "description": "The booked room type for this transaction.", "type": "string", "minLength": 0, "maxLength": 50 }, "notes": { "description": "Notes associated with this transaction.", "type": "string", "minLength": 0, "maxLength": 4000 }, "statementId": { "description": "Statement batch ID.", "$ref": "#/definitions/uniqueID_Type" }, "memberStatementId": { "description": "Member statement batch ID.", "$ref": "#/definitions/uniqueID_Type" }, "billingGroup": { "description": "Billing group the points belong to.", "type": "string", "minLength": 0, "maxLength": 20 }, "baseBillingGroup": { "description": "Base billing group the points belong to.", "type": "string", "minLength": 0, "maxLength": 20 }, "bonusBillingGroup": { "description": "Bonus billing group the points belong to.", "type": "string", "minLength": 0, "maxLength": 20 }, "pointsCost": { "description": "The total cost associated with points earned by this transaction.", "type": "integer" }, "processingMessages": { "description": "Messages generated by the system during points calculation.", "type": "string", "minLength": 0, "maxLength": 2000 }, "awardPoints": { "description": "Details if this transaction is associated with award points.", "$ref": "#/definitions/membershipAwardPointsType" }, "tierPoints": { "description": "Details if this transaction is associated with tier points.", "$ref": "#/definitions/membershipTransactionTierPointsType" }, "membershipCardNo": { "description": "The card number associated with this membership transaction.", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipLevel": { "description": "The membership level associated with the membership transaction.", "type": "string", "minLength": 0, "maxLength": 20 }, "userName": { "description": "User who inserted or updated the membership transaction.", "type": "string", "minLength": 0, "maxLength": 256 } } }, "membershipAwardPointsType": { "type": "object", "description": "Details associated with award points.", "properties": { "basePoints": { "description": "Total number of base award points for a membership points transaction.", "type": "integer" }, "bonusPoints": { "description": "If a membership points transaction involves bonus points, the total number of bonus points.", "type": "integer" }, "miscPoints": { "description": "If a membership points transaction involves points imported into ORS from a third-party system, the total number of points.", "type": "integer" }, "totalPoints": { "description": "The total number of award points.", "type": "integer" }, "pointsExpiryDate": { "description": "The date until points are eligible for redemption based on membership type configuration.", "type": "string", "format": "date", "maxLength": 8 }, "ruleCode": { "description": "Rule Code for award points.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "membershipTransactionTierPointsType": { "type": "object", "description": "Details associated with tier points.", "properties": { "baseStay": { "description": "Total number of base stay tier points for a membership points transaction.", "type": "integer" }, "baseNights": { "description": "Total number of base nights tier points for a membership points transaction.", "type": "integer" }, "baseRevenue": { "description": "Total number of base revenue tier points for a membership points transaction.", "type": "integer" }, "bonusStay": { "description": "The total number of bonus stay tier points.", "type": "integer" }, "bonusNights": { "description": "The total number of bonus nights tier points.", "type": "integer" }, "bonusRevenue": { "description": "The total number of bonus revenue tier points.", "type": "integer" } } }, "membershipAwardExportInfo": { "type": "object", "description": "Response object to fetch members information for Fulfillment house processing.", "properties": { "exportInfo": { "description": "Collection of member information.", "$ref": "#/definitions/membershipAwardsExportType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipAwardsExportType": { "type": "array", "description": "List of member's information.", "maxItems": 4000, "items": { "$ref": "#/definitions/membershipAwardExportType" } }, "membershipAwardExportType": { "type": "object", "description": "Types holds the details of Member.", "properties": { "awardNumber": { "description": "Award Number to identify member's information.", "type": "number" }, "recipientInfo": { "description": "Recipient information.", "$ref": "#/definitions/membershipAwardRecipientInfoType" }, "userDefinedFields": { "description": "Collections of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" } } }, "membershipAwardRecipientInfoType": { "type": "object", "description": "Type holds details of member.", "properties": { "memberInfo": { "description": "Member Name.", "$ref": "#/definitions/profileNameType" }, "phoneNumber": { "description": "Phone Number.", "$ref": "#/definitions/phoneNumberType" }, "companyName": { "description": "It returns a Company Name,If the member is associated with a company.", "type": "string", "minLength": 0, "maxLength": 40 }, "addressInfo": { "description": "Member's Mailing Address infomation.", "$ref": "#/definitions/addressInfoType" } } }, "membershipIssueAwards": { "type": "object", "description": "Response object for fetching member issued award list.", "properties": { "membershipAwardsList": { "description": "Collection of member award list.", "$ref": "#/definitions/membershipAwardsListType" }, "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" } } }, "membershipAwardsListType": { "type": "array", "description": "List of Member Awards information.", "maxItems": 4000, "items": { "$ref": "#/definitions/membershipAwardListType" } }, "membershipAwardListType": { "type": "object", "description": "Information related to Member Award Issue List.", "properties": { "membershipId": { "description": "Card number of the membership.", "type": "number" }, "membershipType": { "description": "Membership type for which awards are defined.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipLevel": { "description": "Level of this Membership Type.", "type": "string", "minLength": 0, "maxLength": 20 }, "nameOnCard": { "description": "Name to be displayed on the membership card.", "type": "string" }, "joinDate": { "description": "Joined date on the Card.", "type": "string", "format": "date", "maxLength": 8 }, "expireDate": { "description": "Expiry date on the Card.", "type": "string", "format": "date", "maxLength": 8 }, "membershipCardNo": { "description": "Indicates Membership Card Number.", "type": "string", "minLength": 0, "maxLength": 50 }, "totalAvailablePoints": { "description": "Total award points available for redemption.", "type": "number" }, "hotelId": { "description": "Property at which the award was issued.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardNumber": { "description": "An identifying number of the award, assigned by the system when the award was issued.", "type": "number" }, "awardPoints": { "description": "Number of points required by the award.", "type": "number" }, "thresholdPoints": { "description": "Indicates member is below the threshold limit or not to request award.", "type": "number" }, "awardCode": { "description": "Code assigned to this membership award.", "type": "string", "minLength": 0, "maxLength": 40 }, "cancelDays": { "description": "The cancel days, set up in awards configuration that establishes the number of days before arrival when a reservation may be cancelled without an award points penalty.", "type": "integer" }, "dateAwarded": { "description": "Date when the award was issued", "type": "string", "format": "date", "maxLength": 8 }, "bookingNumber": { "description": "Reservation confirmation number.", "type": "string", "minLength": 0, "maxLength": 50 }, "hotelBookingNumber": { "description": "Property Reservation number.", "type": "string", "minLength": 0, "maxLength": 30 }, "arrivalDate": { "description": "The arrival date of the stay for when the award is associated.", "type": "string", "format": "date", "maxLength": 8 }, "cancelPenaltyPoints": { "description": "The award points that will be deducted (based on a cancel days restriction) if the award is cancelled. (Cancel days, set up in awards configuration, and establish the number of days before arrival when a reservation may be cancelled without an award points penalty.)", "type": "integer" }, "awardCancellationNumber": { "description": "If the award was cancelled, the system-generated award cancellation number appears here.", "type": "integer" }, "awardCancelDate": { "description": "If the reservation associated with the award was cancelled, the reservation cancellation date appears here.", "type": "string", "format": "date", "maxLength": 8 }, "actualCancelPoints": { "description": "The number of points actually deducted from the member's total award points if there is a penalty points restriction associated with the award cancellation.", "type": "number" }, "reservationCancellationNumber": { "description": "If the reservation associated with the award was cancelled, the reservation cancellation number appears here.", "type": "string", "minLength": 0, "maxLength": 30 }, "statementId": { "description": "If this award was included on a statement, the statement ID appears here. The field is blank if the award has not yet been reported on a statement", "type": "integer" }, "cancelStatementID": { "description": "If this award was included on a statement, the cancel statement ID appears here. The field is blank if the award has not yet been reported on a statement", "type": "integer" }, "memberStatementId": { "description": "If this award was included on a statement, the member statement ID appears here. The field is blank if the award has not yet been reported on a statement", "type": "integer" }, "cancelMemberStatementID": { "description": "If this award was included on a statement, the cancel member statement ID appears here. The field is blank if the award has not yet been reported on a statement", "type": "integer" }, "numberOfNights": { "description": "Number of nights cancel policy is applicable.", "type": "integer" }, "stayDate": { "description": "The date of the reservation associated with the award. There may be more than one date (multiple nights) associated with award", "type": "string", "format": "date", "maxLength": 8 }, "departureDate": { "description": "The date of the departure of the reservation associated with the award. There may be more than one date (multiple nights) associated with award", "type": "string", "format": "date", "maxLength": 8 }, "cancelPolicyType": { "description": "Type of cancel policy.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardSource": { "description": "The source for the reservation associated with the award.", "type": "string", "minLength": 0, "maxLength": 40 }, "calculatedCancelPoints": { "description": "Total calculated points to cancel an issued award.", "type": "number" }, "awardBasedOn": { "description": "Indicates if the Award is based on RATE, PRODUCT,UPGRADE,FT or OTHER.", "$ref": "#/definitions/membershipAwardBasedOnType" }, "pmsResvNo": { "description": "Indicates PMS Reservation Number.", "type": "string", "minLength": 0, "maxLength": 50 }, "crsBookNo": { "description": "Indicates CRS Booking Number.", "type": "string", "minLength": 0, "maxLength": 50 }, "product": { "description": "Indicates the Product associated with the award.", "type": "string", "minLength": 0, "maxLength": 50 }, "ratePlanCode": { "description": "Rate plan code associated with the award.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "membershipAwardBasedOnType": { "type": "string", "description": "This award allows a guest to apply available membership points towards the balance of his or her bill.", "enum": [ "Rate", "Product", "Upgrade", "Other", "Ft", "Discount" ] }, "membershipClaims": { "type": "object", "description": "Response object for fetching membership claims.", "properties": { "membershipClaimsDetail": { "description": "A collection of membership claims.", "$ref": "#/definitions/membershipClaimSummaryListType" }, "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" } } }, "membershipClaimSummaryListType": { "type": "array", "description": "Contains summary information of the claim.", "maxItems": 4000, "items": { "$ref": "#/definitions/membershipClaimSummaryType" } }, "membershipClaimSummaryType": { "type": "object", "description": "Summary information of a claim.", "properties": { "claimNo": { "description": "Unique ID Number assigned to the claim when the claim was created.", "$ref": "#/definitions/uniqueID_Type" }, "claimDate": { "description": "Date the claim was made.", "type": "string", "format": "date", "maxLength": 8 }, "callerName": { "description": "Name of the person placing the claim. This name may be different from the name on the membership card.", "type": "string", "minLength": 0, "maxLength": 100 }, "replyBy": { "description": "The date, if any, by which a response to the caller was promised.", "type": "string", "format": "date", "maxLength": 8 }, "membershipType": { "description": "Membership Type code.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipId": { "description": "Indicates membership card number of the guest.", "type": "string", "minLength": 0, "maxLength": 50 }, "claimStatus": { "description": "Status of the claim.(Open, Closed, Pending Review, Waiting for Manager, etc.)", "type": "string", "minLength": 0, "maxLength": 20 }, "claimType": { "description": "Type of user-definable claim such as New Card, Stay, etc.", "type": "string", "minLength": 0, "maxLength": 40 }, "closeDate": { "description": "If the status is closed, the date the claim was closed.", "type": "string", "format": "date", "maxLength": 8 }, "recordType": { "description": "Record type of the claim.", "$ref": "#/definitions/claimRecordType" }, "hotelId": { "description": "Property where the stay took place.", "type": "string", "minLength": 0, "maxLength": 20 }, "confirmationNo": { "description": "List of reservation confirmation or reference numbers associated with this claim. Like PMS reservation number, Central(ORS) booking number.", "$ref": "#/definitions/uniqueIDListType" }, "arrival": { "description": "Arrival date for the stay associated with this claim.", "type": "string", "format": "date", "maxLength": 8 }, "departure": { "description": "Departure date for the stay associated with this claim.", "type": "string", "format": "date", "maxLength": 8 }, "owner": { "description": "User who is assigned to handle this claim.", "type": "string", "minLength": 0, "maxLength": 50 }, "submitter": { "description": "User who entered this claim.", "type": "string", "minLength": 0, "maxLength": 50 }, "source": { "description": "Source of the claim. This will be either OCIS, OPMS or WEB.", "$ref": "#/definitions/claimSourceType" }, "origin": { "description": "Origin of the membership claim. User definable values like Email, Fax, Phone Call, etc.", "type": "string", "minLength": 0, "maxLength": 20 }, "approvalStatus": { "description": "Filter claims by approved,rejected or pending status.", "$ref": "#/definitions/claimApprovalStatusType" }, "callerInformation": { "description": "More information related to call that help to resolve the claim..", "type": "string", "minLength": 0, "maxLength": 2000 }, "profileId": { "description": "Unique ID of the profile.", "$ref": "#/definitions/profileId" }, "membershipIdNo": { "description": "Membership ID Number.", "type": "number" }, "activityLog": { "description": "Contains summary information of the claim.", "$ref": "#/definitions/claimActivityLogListType" } } }, "fulfillmentExportedLogs": { "type": "object", "description": "Optional elements whether to update exclude extract or delivery status in membership fulfillment", "properties": { "fulfillmentExportLogs": { "description": "This type holds list of export logs information for the membership fulfillment .", "$ref": "#/definitions/fulfillmentExportLogsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "fulfillmentExportLogsType": { "type": "array", "description": "This type holds the export log information for the membership fulfillment record.", "maxItems": 4000, "items": { "$ref": "#/definitions/fulfillmentExportInfoType" } }, "fulfillmentExportInfoType": { "type": "object", "description": "This type holds the export log information for the membership fulfillment record.", "properties": { "extractLogId": { "description": "Unique Id that references an object uniquely in the fulfillment export logs table.", "$ref": "#/definitions/uniqueID_Type" }, "membershipId": { "description": "Id Number of the membership.", "$ref": "#/definitions/uniqueID_Type" }, "membershipCard": { "description": "The card number for the guest membership.", "type": "string", "minLength": 0, "maxLength": 50 }, "extractCode": { "description": "ExtractCode of the membership fulfillment export logs.", "type": "string", "minLength": 0, "maxLength": 20 }, "extractDate": { "description": "ExtractDate of the membership fulfillment export logs.", "type": "string", "format": "date", "maxLength": 8 }, "deliveryStatus": { "description": "The Delivery Status for export logs will default to \"Unknown.\"(Unknown/Delivered/NotDelivered).", "$ref": "#/definitions/exportLogsDeliveryStatusType" }, "extractId": { "description": "ExtractId of Membership Extracts.", "$ref": "#/definitions/uniqueID_Type" }, "extractBatchId": { "description": "Export run will populate the Extract Batch Id in export logs.", "$ref": "#/definitions/uniqueID_Type" }, "excludeExtract": { "description": "To exclude the extract record from membership exports. Once the membership export has run, this check box will be grayed out and the extract batch Id will be populated in the Extract Batch Id read-only field.", "type": "boolean" } } }, "exportLogsDeliveryStatusType": { "type": "string", "description": "Delivery Status for export logs - Not Delivered.", "enum": [ "Unknown", "Delivered", "Notdelivered" ] }, "memberPointsToExpire": { "type": "object", "description": "Response object for fetching member points to expire information.", "properties": { "memberPointsToExpireList": { "description": "Collection of member points to expire.", "$ref": "#/definitions/memberPointsToExpireListType" }, "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" } } }, "memberPointsToExpireListType": { "type": "array", "description": "List of of member points to expire.", "maxItems": 4000, "items": { "$ref": "#/definitions/memberPointToExpireType" } }, "memberPointToExpireType": { "type": "object", "description": "Information related to a member point to expire.", "properties": { "pointsExpiryDate": { "description": "Current expiry date for the member award points.", "type": "string", "format": "date", "maxLength": 8 }, "originalPointsExpiryDate": { "description": "Original expiry date for the member award points.", "type": "string", "format": "date" }, "pointsToExpire": { "description": "Displays the total number of points that will expire on the expiration date.", "type": "integer" }, "previousPointsToExpire": { "description": "Displays the number of points that are relevant for extension. Points that were already extended from the previous year are not considered for extension.", "type": "integer" }, "extend": { "description": "Indicates if the points is extendable.", "type": "boolean" }, "awardGenerationMethod": { "description": "The method of award generation.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "extendMemberPointsToExpire": { "type": "object", "description": "Request object to extend a member points to expire.", "properties": { "membershipId": { "description": "Unique Membership ID.", "type": "number" }, "expirationDate": { "description": "Expiration date to be extended.", "type": "string", "format": "date" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipTransactionsSummary": { "type": "object", "description": "Response object for fetching member point totals information.", "properties": { "membershipDetails": { "description": "Member details for the requested membership ID.", "$ref": "#/definitions/membershipDetailsType" }, "transactionsSummary": { "description": "Member transaction Summary for the requested membership ID.", "$ref": "#/definitions/memberTransactionSummaryType" }, "recentTransactionsSummary": { "description": "Member transaction Summary(Range) for the requested membership ID.", "$ref": "#/definitions/memberTransactionRecentSummaryType" }, "pointsSummary": { "description": "Member points summary for the requested membership ID.", "$ref": "#/definitions/memberPointsSummaryType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "memberTransactionSummaryType": { "type": "object", "description": "Itemized information related to a membership transactions summary.", "properties": { "awardPoints": { "description": "Summary of transactions associated with award points.", "$ref": "#/definitions/memberTransactionSummaryAwardPointsType" }, "tierPoints": { "description": "Summary of transactions associated with tier points.", "$ref": "#/definitions/memberTransactionSummaryTierPointsType" }, "guestStays": { "description": "Summary of transactions associated with guest stays.", "$ref": "#/definitions/memberTransactionSummaryGuestStaysType" } } }, "memberTransactionSummaryAwardPointsType": { "type": "object", "description": "Items summary associated with award points.", "properties": { "basePoints": { "description": "Total number of base award points for the requested membership transaction ID.", "$ref": "#/definitions/transactionSummaryAttributeType" }, "bonusPoints": { "description": "If a membership points transaction involves bonus points, the total number of bonus points.", "$ref": "#/definitions/transactionSummaryAttributeType" }, "miscPoints": { "description": "If a membership points transaction involves points imported into ORS from a third-party system, the total number of points.", "$ref": "#/definitions/transactionSummaryAttributeType" }, "totalPoints": { "description": "The total number of award points.", "$ref": "#/definitions/transactionSummaryAttributeType" } } }, "transactionSummaryAttributeType": { "type": "object", "description": "Attributes of Summary transactions.", "properties": { "customLabel": { "description": "Attribute Label", "type": "string", "minLength": 0, "maxLength": 100 }, "value": { "description": "Attribute Value", "type": "string", "minLength": 0, "maxLength": 80 } } }, "memberTransactionSummaryTierPointsType": { "type": "object", "description": "Items summary associated with Tier points.", "properties": { "bonusRevenue": { "description": "Total number of bonus revenue tier points for the requested membership transaction ID.", "$ref": "#/definitions/transactionSummaryAttributeType" }, "bonusStay": { "description": "Total number of bonus stay tier points for the requested membership transaction ID.", "$ref": "#/definitions/transactionSummaryAttributeType" }, "bonusNights": { "description": "Total number of bonus nights tier points for the requested membership transaction ID.", "$ref": "#/definitions/transactionSummaryAttributeType" }, "baseRevenue": { "description": "Total number of base revenue tier points for the requested membership transaction ID.", "$ref": "#/definitions/transactionSummaryAttributeType" }, "baseStay": { "description": "Total number of base stay tier points for the requested membership transaction ID.", "$ref": "#/definitions/transactionSummaryAttributeType" }, "baseNights": { "description": "Total number of base nights tier points for the requested membership transaction ID.", "$ref": "#/definitions/transactionSummaryAttributeType" }, "totalStays": { "description": "Total number of stays tier points for the requested membership transaction ID.", "$ref": "#/definitions/transactionSummaryAttributeType" }, "totalNights": { "description": "Total number of nights tier points for the requested membership transaction ID.", "$ref": "#/definitions/transactionSummaryAttributeType" } } }, "memberTransactionSummaryGuestStaysType": { "type": "object", "description": "Items summary associated with guest stays.", "properties": { "stays": { "description": "Total number of stays for the requested membership transaction ID.", "$ref": "#/definitions/transactionSummaryAttributeType" }, "nights": { "description": "Total number of nights for the requested membership transaction ID.", "$ref": "#/definitions/transactionSummaryAttributeType" } } }, "memberTransactionRecentSummaryType": { "type": "object", "description": "Itemized information related to a membership transactions summary.", "properties": { "awardPoints": { "description": "Summary of transactions associated with award points.", "$ref": "#/definitions/memberTransactionSummaryAwardPointsType" }, "tierPoints": { "description": "Summary of transactions associated with tier points.", "$ref": "#/definitions/memberTransactionSummaryTierPointsType" }, "guestStays": { "description": "Summary of transactions associated with guest stays.", "$ref": "#/definitions/memberTransactionSummaryGuestStaysType" }, "years": { "description": "Range in Years.", "type": "integer" } } }, "memberPointsSummaryType": { "type": "object", "description": "Member Points Summary.", "properties": { "nextTierPoints": { "description": "Points required for the next Level.", "$ref": "#/definitions/transactionSummaryAttributeType" }, "availablePoints": { "description": "Total Points Available.", "$ref": "#/definitions/transactionSummaryAttributeType" } } }, "membershipNumber": { "type": "object", "description": "Request object for generating membership number.", "properties": { "generateMembershipNumberCriteria": { "description": "Generate Membership Number criteria.", "$ref": "#/definitions/generateMembershipNumberCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "generateMembershipNumberCriteriaType": { "type": "object", "description": "Auto generate membership number criteria.", "properties": { "membershipType": { "description": "Indicates the Membership Type where membership number to be generated will be based on.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "enrollmentMatchProfiles": { "type": "object", "description": "Response object to fetch match profiles for enrollment.", "properties": { "enrollmentMatchProfilesDetail": { "description": "Type contains detail information regarding match profiles.", "$ref": "#/definitions/enrollmentMatchProfilesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "enrollmentMatchProfilesType": { "type": "array", "description": "Provide match profile details for enrollment.", "maxItems": 4000, "items": { "$ref": "#/definitions/profileEnrollmentType" } }, "availableARAddresses": { "type": "object", "description": "Response to the request to fetch the available Accounts Receivables(AR) Addresses for a Profile.", "properties": { "addresses": { "description": "Collection of Detailed information on an address for the customer.", "type": "array", "items": { "$ref": "#/definitions/addressInfoType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "availablePreferences": { "type": "object", "properties": { "preferenceCollection": { "type": "array", "description": "A collection of preferences", "items": { "$ref": "#/definitions/preferenceTypeType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileMembershipStatistics": { "type": "object", "description": "Response of the WS operation FetchProfileMembershipPoints. It contains the summary statistics and/or the details of each of the membership transactions and its points.", "properties": { "membershipStatistics": { "description": "the summary statistics and/or the details of each of the membership transactions and its points.", "$ref": "#/definitions/membershipStatisticsType" }, "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" } } }, "membershipStatisticsType": { "type": "object", "description": "List of membership transactions and the summary of the different total points statistics.", "properties": { "statisticsSummary": { "description": "Totals summary of the several points.", "$ref": "#/definitions/membershipStatisticsSummaryType" }, "transactions": { "description": "Activity or a transaction related to the Membership.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/membershipTransactionSummaryType" } }, "type": { "description": "The type of membership.", "type": "string", "minLength": 0, "maxLength": 20 }, "cardNumber": { "description": "The membership card number.", "type": "string", "minLength": 0, "maxLength": 50 }, "level": { "description": "The level of the membership.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "membershipStatisticsSummaryType": { "type": "object", "description": "Totals of the each of the points.", "properties": { "awardPoints": { "description": "Total of the award points from all the transactions.", "type": "integer" }, "tierRevenuePoints": { "description": "Total of the Tier Revenue points from all the transactions.", "type": "integer" }, "tierNightPoints": { "description": "Total of the Tier Night points from all the transactions.", "type": "integer" }, "tierStayPoints": { "description": "Total of the Tier Stay points from all the transactions.", "type": "integer" }, "pointsCost": { "description": "Total of the Points Cost from all the transactions.", "type": "integer" } } }, "membershipTransactionSummaryType": { "type": "object", "description": "Details regarding a transaction of a profile membership.", "properties": { "transactionInfo": { "description": "Transaction type fields.", "$ref": "#/definitions/membershipTransactionInfoType" }, "pointsCalculated": { "description": "Flag to indicate if points are calculated.", "type": "boolean" }, "awardPoints": { "description": "Award Points.", "type": "integer" }, "tierPoints": { "description": "Collection of tier points.", "$ref": "#/definitions/membershipTierPointsType" }, "userName": { "description": "User who inserted or updated the record.", "type": "string", "minLength": 0, "maxLength": 200 }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" } } }, "membershipTransactionInfoType": { "type": "object", "description": "Specific details regarding the transaction.", "properties": { "transactionDate": { "description": "Membership Transaction Date.", "type": "string", "format": "date", "maxLength": 8 }, "transactionType": { "description": "Membership Transaction Type.", "type": "string", "minLength": 0, "maxLength": 20 }, "stayTimeSpan": { "description": "Begin and end dates of the reservation.", "$ref": "#/definitions/timeSpanType" }, "reservationIdList": { "description": "The different reservation related ids. e.g. ResvNameId, ConfirmationNo or from an unknown PMS system.", "$ref": "#/definitions/reservationIdList" }, "stay": { "description": "Total stay.", "type": "integer" }, "nights": { "description": "Total nights.", "type": "integer" }, "hotelId": { "description": "Resort of the transaction.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencyCode": { "description": "Code type of the type of currency.", "type": "string", "minLength": 0, "maxLength": 20 }, "reference": { "description": "User-defined reference field for the Membership Transaction Adjustment.", "type": "string", "minLength": 1, "maxLength": 20 }, "membershipCardNo": { "description": "The card number associated with this membership transaction.", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipLevel": { "description": "The membership level associated with the membership transaction.", "type": "string", "minLength": 0, "maxLength": 20 }, "userName": { "description": "User who inserted or updated the membership transaction.", "type": "string", "minLength": 0, "maxLength": 256 }, "referredMemNameId": { "description": "Name ID of the profile referred.", "type": "integer" }, "referredDisplayName": { "description": "Display Name of the profile that is going to be referred.", "type": "string" } } }, "membershipTierPointsType": { "type": "object", "description": "Collection of the tier points.", "properties": { "revenuePoints": { "description": "Sum of the base revenue and bonus revenue points.", "type": "integer" }, "nightPoints": { "description": "Sum of the base night and bonus night points.", "type": "integer" }, "stayPoints": { "description": "Sum of the base stay and bonus stay points.", "type": "integer" }, "pointsCost": { "description": "Points Cost.", "type": "integer" }, "pointsCreditDate": { "description": "Date when points were created.", "type": "string", "format": "date", "maxLength": 8 } } }, "profileStatistics": { "type": "object", "description": "Response object for fetching profile stay/reservation/revenue statistics. This object contains collection of summary or detail,Success,Warnings and Errors related to this operation.", "properties": { "profileStatistic": { "description": "Contains summary/detail/revenue statistics information.", "$ref": "#/definitions/profileStatisticsType" }, "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" } } }, "profileStatisticsType": { "type": "object", "description": "Contains summary/detail/Revenue statistics information for Profile.", "properties": { "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems. In case of Travel Agent the IATA code and in case of Company can be any form of identifier as id.", "$ref": "#/definitions/profileIdList" }, "stayStatisticsSummaryList": { "description": "List of summary profile stay statistics.", "$ref": "#/definitions/statisticsSummaryListType" }, "stayStatisticsDetailList": { "description": "List of detailed profile stay statistics.", "$ref": "#/definitions/stayStatisticsDetailListType" }, "revenueStatisticsSummaryList": { "description": "List of summary profile revenue statistics.", "$ref": "#/definitions/revenueStatisticsSummaryListType" }, "stayMembershipSummaryList": { "description": "List of summary profile membership statistics.", "$ref": "#/definitions/stayMembershipSummaryListType" }, "reportType": { "description": "Contains the statistical report(Reservation, Revenue, Stay Records) type.", "$ref": "#/definitions/statisticsReportType" } } }, "statisticsSummaryListType": { "type": "object", "description": "Collection of Profile statistics summary information", "properties": { "profileHotelStatisticsbyYearSummary": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileHotelStatisticsbyYearSummaryType" } }, "profileStatisticsbyYearSummary": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileStatisticsbyYearSummaryType" } } } }, "profileHotelStatisticsbyYearSummaryType": { "type": "object", "description": "Contains stay statistics summary information by year", "properties": { "stayDetail": { "type": "array", "maxItems": 2, "items": { "$ref": "#/definitions/stayDetailSummaryType" } }, "netRevenue": { "type": "array", "maxItems": 2, "items": { "$ref": "#/definitions/stayStatisticsRevenueType" } }, "year": { "type": "string" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "netRevenueByTransactionType": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/statisticsRevenueTypeType" } } } }, "stayDetailSummaryType": { "type": "object", "description": "Contains stay related information such as reservation nights,room nights,arrival rooms,cancel rooms,etc.", "properties": { "roomNights": { "type": "integer" }, "arrivalRooms": { "type": "integer" }, "cancelRooms": { "type": "integer" }, "noShowRooms": { "type": "integer" }, "dayUseRooms": { "type": "integer" }, "totalBooked": { "description": "Total Booked Stays/Reservations for Profile", "type": "integer" }, "totalStays": { "description": "Total Stayed Reservations for Profile", "type": "integer" }, "stayReservation": { "$ref": "#/definitions/stayReservationType" } } }, "stayReservationType": { "type": "string", "description": "Enumeration for stay types.", "enum": [ "Transient", "Block" ] }, "stayStatisticsRevenueType": { "type": "object", "description": "Contains different list of stay statistics revenue information", "properties": { "averageDailyRate": { "$ref": "#/definitions/statisticsRevenueTypeType" }, "totalRevenue": { "$ref": "#/definitions/statisticsRevenueTypeType" }, "roomRevenue": { "$ref": "#/definitions/statisticsRevenueTypeType" }, "fBRevenue": { "$ref": "#/definitions/statisticsRevenueTypeType" }, "extraRevenue": { "$ref": "#/definitions/statisticsRevenueTypeType" }, "nonRevenue": { "$ref": "#/definitions/statisticsRevenueTypeType" }, "currency": { "type": "string" }, "stayReservation": { "$ref": "#/definitions/stayReservationType" } } }, "statisticsRevenueTypeType": { "type": "object", "description": "Contains Revenue information", "properties": { "revenueAmount": { "type": "number" }, "revenueLabel": { "type": "string", "minLength": 0, "maxLength": 20 } } }, "profileStatisticsbyYearSummaryType": { "type": "object", "description": "Contains stay statistics summary information by year", "properties": { "stayDetail": { "type": "array", "maxItems": 2, "items": { "$ref": "#/definitions/stayDetailSummaryType" } }, "netRevenue": { "type": "array", "maxItems": 2, "items": { "$ref": "#/definitions/stayStatisticsRevenueType" } }, "year": { "type": "string" }, "netRevenueByTransactionType": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/statisticsRevenueTypeType" } } } }, "stayStatisticsDetailListType": { "type": "array", "description": "Collection of stay statistics detail information", "maxItems": 4000, "items": { "$ref": "#/definitions/stayStatisticsDetailType" } }, "stayStatisticsDetailType": { "type": "object", "description": "Contains stay statistics detail information", "properties": { "stayDetail": { "$ref": "#/definitions/stayDetailType" }, "revenue": { "$ref": "#/definitions/stayStatisticsRevenueType" }, "year": { "type": "string" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 } } }, "stayDetailType": { "type": "object", "description": "The Reservation class contains the current reservation being created or altered.", "properties": { "reservationIdList": { "description": "Unique identifiers for the reservation for both internal and external systems", "$ref": "#/definitions/reservationIdList" }, "roomStay": { "description": "Collection of room stays.", "$ref": "#/definitions/stayInfoType" }, "reservationGuest": { "description": "Collection of guests associated with the reservation.", "$ref": "#/definitions/resGuestInfoType" }, "sharedGuests": { "description": "Collection of guests who share this reservation.", "$ref": "#/definitions/resSharedGuestListType" }, "attachedProfiles": { "description": "List of attached profiles", "$ref": "#/definitions/resAttachedProfileListType" }, "reservationPaymentMethod": { "description": "Payment method used for this reservation", "$ref": "#/definitions/reservationPaymentMethodType" }, "reservationFolioWindows": { "description": "Collection of reservation folio windows.", "$ref": "#/definitions/reservationFolioWindowsType" }, "specials": { "description": "Set of reservation preferences which belongs to the Specials group.", "type": "string", "minLength": 0, "maxLength": 4000 }, "lastPrivacyPromptDate": { "description": "Last Privacy Prompt Date", "type": "string", "format": "date", "maxLength": 8 }, "displayColor": { "description": "Color setting of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationIndicators": { "description": "Indicators of additional information attached to the reservation", "$ref": "#/definitions/indicatorsType" }, "roomStatus": { "description": "Current room status", "$ref": "#/definitions/housekeepingRoomStatusType" }, "searchMatches": { "description": "Super Search matching terms.", "$ref": "#/definitions/searchMatchesType" }, "sourceOfSale": { "description": "Point of Sale of reservation. Identifies the entity/channel who made the reservation.", "$ref": "#/definitions/sourceOfSaleType" }, "waitlist": { "description": "Information regarding why reservation has been/was waitlisted. This could hold information as history even if reservation is not in Waitlist status anymore.", "$ref": "#/definitions/waitlistResType" }, "queue": { "description": "Information about the time and duration this reservation was on Queue for Checkin.", "$ref": "#/definitions/reservationQueueInformationType" }, "housekeeping": { "description": "Information regarding housekeeping for this reservation.", "$ref": "#/definitions/resHousekeepingType" }, "cashiering": { "description": "Holds cashiering related information for the reservation.", "$ref": "#/definitions/resCashieringType" }, "taxType": { "description": "This stores the code for the type of tax calculation especially with tax exemption, etc.", "$ref": "#/definitions/taxTypeType" }, "deposit": { "description": "Holds reservation deposit information.", "$ref": "#/definitions/reservationDepositType" }, "allowedActions": { "description": "Collection of reservation allowed actions.", "$ref": "#/definitions/reservationAllowedActionsType" }, "revenuesAndBalances": { "description": "Revenues and Balances Amount summary for the reservation.", "$ref": "#/definitions/resRevenueBalanceType" }, "hotelInterfaceStatusList": { "description": "Collection of Hotel Interfaces and rights, this is populated only when fetching interface status for rooms.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/reservationInterfaceStatusType" } }, "guestPreferredCurrency": { "description": "Currency code preferred by guest.", "type": "string", "minLength": 0, "maxLength": 20 }, "turndownInfo": { "description": "Currency code preferred by guest.", "$ref": "#/definitions/reservationTurndownInfoType" }, "mobileNotifications": { "description": "Denotes the status of Room Ready, Key Ready messages.", "$ref": "#/definitions/resMobileNotificationsType" }, "reservationCommunication": { "description": "Collection of reservation communication details.", "$ref": "#/definitions/resCommunicationType" }, "advanceCheckIn": { "description": "Information relating to Reservation's Advance Checked In state and Expected Time of Return", "$ref": "#/definitions/advanceCheckInType" }, "welcomeOffer": { "description": "This flag will determine wheather the reservation is eligible for Welcome Offer or not.", "type": "boolean" }, "cancellationInfo": { "description": "Information regarding why reservation has been/was cancelled.", "type": "object", "properties": { "description": { "type": "string", "minLength": 0, "maxLength": 2000 }, "code": { "type": "string", "minLength": 0, "maxLength": 20 }, "date": { "description": "Date when reservation was last cancelled.", "type": "string", "format": "date", "maxLength": 8 } } }, "keyCount": { "description": "Number of keys created for the reservation.", "type": "integer" }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "hotelName": { "type": "string", "minLength": 0, "maxLength": 80 }, "expectedServiceTime": { "type": "string", "minLength": 0, "maxLength": 20 }, "roomStayReservation": { "description": "Boolean True if this reservation is reserving rooms. False if it is only reserving services.", "type": "boolean" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible 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 }, "reservationStatus": { "description": "Indicates the status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "computedReservationStatus": { "description": "Indicates the status of the reservation.", "$ref": "#/definitions/pMS_ResStatusType" }, "walkInIndicator": { "description": "When true, indicates the reservation is for a guest that walks-in without a reservation. When false, the reservation is not a walk-in.", "type": "boolean" }, "accessRestriction": { "description": "Indicates user restriction on the reservation based on the Access exclusion functionality such as Restriction on Changes, Cancellation or both.", "$ref": "#/definitions/resAccessRestrictionType" }, "commissionPayoutTo": { "description": "If not null, reservation is considered to pay out commission to either Travel Agent, Source or both.", "$ref": "#/definitions/commissionPayoutToType" }, "paymentMethod": { "description": "Payment Method.", "type": "string", "minLength": 0, "maxLength": 20 }, "preRegistered": { "description": "Defines if the reservation is pre-registered or not.", "type": "boolean" }, "openFolio": { "description": "Returns true when reservation has an open folio.", "type": "boolean" }, "allowMobileCheckout": { "description": "Flag containing true or false value for reservation to be eligible for self-checkout by guest using mobile device . Pass the 'true' or 'false' values when creating / modifying reservation to indicate whether a reservation is eligible for mobile checkout yes / no. Upon fetch, the current state of the flag will show true or false.", "type": "boolean" }, "allowMobileViewFolio": { "description": "Attribute AllowMobileViewFolio is set to true when the reservation is eligible for viewing folio using mobile device.", "type": "boolean" }, "optedForCommunication": { "description": "Attribute OptedForCommunication is set to true when the guest has opted for receiving communicationsl related to the reservation.", "type": "boolean" }, "complimentaray": { "description": "Indicates the profile stay record is complimentaray.", "type": "boolean" }, "reservationSourceCode": { "description": "Indicates the profile stay record reservation source code.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationSourceType": { "description": "Indicates the profile stay record reservation source Type.", "type": "string", "minLength": 0, "maxLength": 50 }, "shareNumber": { "description": "Indicates the share Number for Stay if reservation was a share.", "type": "string", "minLength": 0, "maxLength": 20 }, "bookingDate": { "description": "Booking date of the stay record.", "type": "string", "format": "date", "maxLength": 8 }, "bookedArrivalDate": { "description": "Booked arrival date of the stay record.", "type": "string", "format": "date", "maxLength": 8 }, "bookedDepartureDate": { "description": "Booked departure date of the stay record.", "type": "string", "format": "date", "maxLength": 8 }, "cancellationDate": { "description": "Cancellation date of the stay record.", "type": "string", "format": "date", "maxLength": 8 }, "cancelledRoomNights": { "description": "Number of cancelled room nights.", "type": "integer" }, "noShowRoomNights": { "description": "Number of no show room nights.", "type": "integer" }, "travelAgentReferenceId": { "description": "Travel Agent reference number for stay record.", "type": "string", "minLength": 0, "maxLength": 60 }, "allotmentCode": { "description": "Allotment Code for stay record.", "type": "string", "minLength": 0, "maxLength": 20 }, "primarySharer": { "description": "Indicates whether the guest was the primary sharer or not.", "type": "boolean" }, "exchangeRate": { "description": "Exchange Rate.", "type": "number" }, "promotionCode": { "description": "Promotion code associated with the stay.", "type": "string", "minLength": 0, "maxLength": 20 }, "bookedRoomType": { "description": "Indicate the category of room originally booked.", "type": "string", "minLength": 0, "maxLength": 20 }, "channelCode": { "description": "Indicate channel for stay.", "type": "string", "minLength": 0, "maxLength": 20 }, "stayRecordId": { "description": "Stay Record identifier.", "$ref": "#/definitions/uniqueID_Type" }, "userDefinedFields": { "description": "Collection of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" } } }, "revenueStatisticsSummaryListType": { "type": "array", "description": "List of the detailed and yearly summarized information about the profile revenue.", "maxItems": 4000, "items": { "$ref": "#/definitions/revenueStatisticsSummaryType" } }, "revenueStatisticsSummaryType": { "type": "object", "description": "Summary of the revenue for a year", "properties": { "revenueDetails": { "description": "Details regarding the profile revenue belonging to the specified year.", "$ref": "#/definitions/revenueStatisticsDetailListType" }, "revenueBucketsSummary": { "description": "Details about revenue summary.", "$ref": "#/definitions/revenueBucketListType" }, "revenueTransactionCodes": { "description": "Details about revenue by transaction codes.", "$ref": "#/definitions/revenueTransactionCodeListType" }, "year": { "description": "Year of the revenue.", "type": "string", "minLength": 4, "maxLength": 4 } } }, "revenueStatisticsDetailListType": { "type": "array", "description": "The collection of profile revenue statistics.", "maxItems": 4000, "items": { "$ref": "#/definitions/revenueStatisticsDetailType" } }, "revenueStatisticsDetailType": { "type": "object", "description": "The different statistics from the revenue of a profile.", "properties": { "stayTimeSpan": { "description": "The stay time span of the reservation.", "$ref": "#/definitions/timeSpanType" }, "guestName": { "description": "Name Of The Guest.", "type": "string", "minLength": 0, "maxLength": 200 }, "profileIdList": { "description": "Id of the guest profile in the reservation.", "$ref": "#/definitions/profileIdList" }, "reservationIdList": { "description": "Id of the reservation.", "$ref": "#/definitions/reservationIdList" }, "revenueType": { "description": "Revenue Type for Stay.", "type": "string", "minLength": 0, "maxLength": 20 }, "revenueBuckets": { "description": "The different revenue buckets of a profile.", "$ref": "#/definitions/revenueBucketListType" }, "centralRevenue": { "description": "Central Revenue Type for Stay.", "type": "number" }, "localRevenue": { "description": "Local Revenue Type for Stay.", "type": "number" }, "hotelId": { "description": "Hotel of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "statisticsReportType": { "type": "string", "enum": [ "Reservation", "Revenue", "ProfileStayRecords", "DetailStayRecordsRevenue", "ProfileStayRecordUdfs" ], "description": "Indicate to get revenue of Stay Records." }, "profileSummaries": { "type": "object", "description": "Response object for fetching profiles. This object contains profile primary details,profile summary details,master info list containing code and description used as lookup for description.", "properties": { "profileSummaries": { "description": "Type contains Profile's summary information.", "$ref": "#/definitions/profileSummariesType" }, "masterInfoList": { "description": "Refer to Generic common types document.", "type": "array", "items": { "$ref": "#/definitions/masterInfoType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileSummariesType": { "type": "object", "description": "A complex type containing the collection of Profile objects or Unique IDs of Profiles.", "properties": { "profileInfo": { "description": "A collection of Profiles or Unique IDs of Profiles.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileSummaryInfoType" } }, "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" } } }, "profileMatchType": { "type": "object", "properties": { "profileMatchType": { "description": "Result of fetching profile matches.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileMatchTypeType" } } } }, "stageProfileMatchesType": { "type": "object", "properties": { "stageprofileMatches": { "description": "Results of matching profiles for the stage profile.", "type": "array", "maxItems": 100, "items": { "$ref": "#/definitions/stageProfileMatchType" } } } }, "profileMatchTypeType": { "type": "object", "description": "Provides information about the profiles matched.", "properties": { "personName": { "description": "Provides name information of the owner.", "$ref": "#/definitions/personNameType" }, "address": { "description": "Address details for the profile.", "$ref": "#/definitions/addressType" }, "profileIdList": { "description": "List of unique identifier of matching profile.", "$ref": "#/definitions/uniqueIDListType" }, "email": { "description": "Email of the profile.", "type": "string", "minLength": 0, "maxLength": 2000 }, "telephone": { "description": "Guest telephone number.", "type": "string", "minLength": 0, "maxLength": 40 }, "legalCompany": { "description": "Name Of the company the individual is associated with.", "type": "string", "minLength": 0, "maxLength": 80 }, "matchPercentage": { "description": "Percentage profile is matched with given profile.", "type": "number" }, "membershipCardNo": { "description": "Indicates Membership Card Number.", "type": "string", "minLength": 0, "maxLength": 50 } } }, "stageProfileMatchType": { "type": "object", "description": "Details about the matched profiles.", "properties": { "profileId": { "description": "Unique identifier of the matching profile.", "$ref": "#/definitions/uniqueID_Type" }, "matchPercentage": { "description": "Percentage match between the stage profile and the given profile.", "type": "number" }, "matchDescription": { "description": "Reason for the profile match.", "type": "string", "minLength": 0, "maxLength": 200 } } }, "checkedProfiles": { "type": "object", "description": "Response for checking allowed actions, existence of attached records, or indicators of a profile.", "properties": { "checkProfilesDetail": { "description": "Collection of profiles and the status of its allowed actions, attached records, and indicators.", "$ref": "#/definitions/checkProfilesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "checkProfilesType": { "type": "array", "description": "Collection of profiles and the status of its allowed actions, attached records, and indicators.", "maxItems": 4000, "items": { "$ref": "#/definitions/checkProfileType" } }, "checkProfileType": { "type": "object", "description": "Profile and the status of its allowed actions, attached records, and indicators.", "properties": { "profileId": { "description": "Unique identifier of the profile.", "$ref": "#/definitions/profileId" }, "results": { "description": "Collection of status of allowed actions, attached records, and indicators of the profile.", "$ref": "#/definitions/checkProfileResultsType" } } }, "checkProfileResultsType": { "type": "array", "description": "Collection of status of allowed actions, attached records, and indicators of the profile.", "maxItems": 4000, "items": { "$ref": "#/definitions/checkProfileResultType" } }, "checkProfileResultType": { "type": "object", "description": "Status of allowed actions, attached records, and indicators of the profile.", "properties": { "checkProfileInstruction": { "description": "Indicates status of allowed actions, total number of attached records, or number of occurrences of indicator of a profile.", "$ref": "#/definitions/checkProfileInstructionType" }, "exists": { "description": "Indicates status of allowed actions, total number of attached records, or number of occurrences of indicator of a profile.", "type": "boolean" } } }, "checkProfileInstructionType": { "type": "string", "description": "Simple type that corresponds to check profile instructions.", "enum": [ "HasWebAccounts" ] }, "profileActivityLog": { "type": "object", "description": "Response object for fetching profile activity log. This object contains collection of user activity log for the profile,Success,Warnings and Errors related to this operation", "properties": { "activityLog": { "description": "Collection of user activity log for the profile.", "$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 } } }, "profileAccounts": { "type": "object", "description": "Response of profile accounts.", "properties": { "accounts": { "description": "Collection of profile accounts.", "$ref": "#/definitions/aRAccountsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "aRAccountsType": { "type": "array", "description": "Information regarding the AR Account.", "maxItems": 4000, "items": { "$ref": "#/definitions/aRAccountType" } }, "aRAccountType": { "type": "object", "description": "Accounts Receivabales Account details type.", "properties": { "hotelId": { "description": "Property where the AR Account exists.", "type": "string", "minLength": 0, "maxLength": 20 }, "accountName": { "description": "Name of the AR Account.", "type": "string", "minLength": 0, "maxLength": 200 }, "accountId": { "description": "The unique ID for the Account.", "$ref": "#/definitions/uniqueID_Type" }, "accountNo": { "description": "The Account Number for the Account.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileId": { "description": "Internal Profile ID for the AR Account.", "$ref": "#/definitions/profileId" }, "balance": { "description": "Open Balance of the Account for this property.", "$ref": "#/definitions/currencyAmountType" }, "creditLimit": { "description": "The maximum credit allowed for the Account.", "$ref": "#/definitions/currencyAmountType" }, "contactName": { "description": "The person to contact for this Account.", "type": "string", "minLength": 0, "maxLength": 200 }, "paymentDueDays": { "description": "Number of days on which person can make payment.", "type": "string", "minLength": 0, "maxLength": 20 }, "monthEndCalcYN": { "description": "Month End Calculation.", "type": "boolean" }, "address": { "description": "Address information for the address which is attached to this AR Account.", "$ref": "#/definitions/addressInfoType" }, "email": { "description": "Email information for the Account. This is the Email that is attached to this AR Account.", "$ref": "#/definitions/emailInfoType" }, "telephones": { "description": "The Telephone and Fax details attached to the Account.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/telephoneInfoType" } }, "lastReminderInfo": { "description": "Report History Type used as based type for Remiders and Statements History types.", "type": "object", "properties": { "reportName": { "description": "Report Name.", "type": "string", "minLength": 0, "maxLength": 2000 }, "reportFileName": { "description": "Report file name when exists to allow report re-printing.", "type": "string", "minLength": 0, "maxLength": 2000 }, "dateSent": { "description": "The Reminder Letter name which is to be used for this Reminder based on the setup on the Account Type.", "type": "string", "format": "date", "maxLength": 8 }, "age": { "description": "The minimum age(days) of the invoices to be included in the Reminder", "type": "integer" }, "historyExists": { "description": "Indicates that reminders history exists.", "type": "boolean" } } }, "lastStatementInfo": { "description": "Report History Type used as based type for Remiders and Statements History types.", "type": "object", "properties": { "reportName": { "description": "Report Name.", "type": "string", "minLength": 0, "maxLength": 2000 }, "reportFileName": { "description": "Report file name when exists to allow report re-printing.", "type": "string", "minLength": 0, "maxLength": 2000 }, "dateSent": { "description": "The Reminder Letter name which is to be used for this Reminder based on the setup on the Account Type.", "type": "string", "format": "date", "maxLength": 8 }, "statementNo": { "description": "When using Statement Numbering, a unique number is associated to the Statement.", "type": "integer" }, "historyExists": { "description": "Indicates that statement history exists.", "type": "boolean" } } }, "notes": { "description": "The Note details attached to the Account.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/commentInfoType" } }, "traces": { "description": "The Trace details attached to the Account.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/traceType" } }, "fixedCharges": { "description": "Fixed charges attached to this AR Account.", "$ref": "#/definitions/fixedChargesType" }, "accountIndicators": { "description": "Indicators of additional information attached to the Account.", "$ref": "#/definitions/indicatorsType" }, "agingInfo": { "description": "The Aging balance information for this account, by Aging Buckets.", "$ref": "#/definitions/aRAgingInfoType" }, "yearViewInfo": { "description": "The Year View balance information for this account.", "$ref": "#/definitions/aRYearViewInfoType" }, "invoices": { "description": "List of all Invoices.", "$ref": "#/definitions/aRInvoicesType" }, "payments": { "description": "List of all Payments made.", "$ref": "#/definitions/aRPaymentsType" }, "summary": { "description": "The Summary Information of the Invoices for the Account.", "$ref": "#/definitions/aRBalanceType" }, "status": { "description": "The status of the account.", "$ref": "#/definitions/aRAccountStatusType" }, "batchStatement": { "description": "Include In Batch Statement", "type": "boolean" }, "printFoliosWithStatement": { "description": "Indicates if associated folios should be printed by default with the statement.", "type": "boolean" }, "emailStatementsReminders": { "description": "Indicates if the Account has opted to send the statements and reminders to the Account email address by default.", "type": "boolean" }, "searchMatches": { "description": "Super Search matching terms.", "$ref": "#/definitions/searchMatchesType" }, "primary": { "description": "Indicates if this Account is the Primary Account for this Guest/Company.", "type": "boolean" }, "type": { "description": "The type of Account.", "type": "string", "minLength": 0, "maxLength": 20 }, "accountTypeDescription": { "description": "The description of the Account Type.", "type": "string", "minLength": 0, "maxLength": 2000 }, "permanent": { "description": "Indicates if this is a Permanent Account. Permanent Accounts cannot be deleted.", "type": "boolean" } } }, "traceType": { "type": "object", "properties": { "timeInfo": { "description": "Date of the trace.", "$ref": "#/definitions/traceTimeInfoType" }, "reservationId": { "description": "Reservation ID of the reservation for which the traces are to be retrieved.", "$ref": "#/definitions/reservationId" }, "departmentId": { "description": "Indicates the Department code.", "type": "string", "minLength": 0, "maxLength": 20 }, "traceText": { "description": "The information this trace contains.", "type": "string" }, "resolveInfo": { "description": "Information regarding the status of the trace", "$ref": "#/definitions/traceResolveType" }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible 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 } } }, "traceTimeInfoType": { "type": "object", "properties": { "dateTimeSpan": { "description": "Time span for the trace.", "$ref": "#/definitions/dateTimeSpanType" }, "traceOn": { "description": "Date of the trace.", "type": "string", "format": "date-time" }, "traceTime": { "description": "Time of the trace", "type": "string", "minLength": 0, "maxLength": 20 }, "enteredBy": { "description": "User that entered this trace.", "type": "string" } } }, "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" } } }, "traceResolveType": { "type": "object", "properties": { "resolvedOn": { "description": "Date the trace was resolved", "type": "string", "format": "date", "maxLength": 8 }, "resolvedBy": { "description": "User that resolved the trace", "type": "string" } } }, "fixedChargesType": { "type": "array", "description": "Holds fixed charge detail.", "maxItems": 4000, "items": { "$ref": "#/definitions/fixedChargeType" } }, "fixedChargeType": { "type": "object", "description": "Holds fixed charge information.", "properties": { "schedule": { "description": "Holds schedule of fixed charge.", "$ref": "#/definitions/fixedChargeScheduleType" }, "charge": { "description": "Holds specific details of fixed charge.", "$ref": "#/definitions/fixedChargeDetailType" }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" } } }, "fixedChargeScheduleType": { "type": "object", "description": "Holds schedule of fixed charge.", "properties": { "start": { "description": "The starting value of the date range.", "type": "string", "format": "date", "maxLength": 8 }, "end": { "description": "The ending value of the date range.", "type": "string", "format": "date", "maxLength": 8 }, "frequency": { "description": "Frequency of a fixed charge.", "$ref": "#/definitions/fixedChargeFrequencyType" }, "dayToExecute": { "description": "Day of when to execute fixed charge. Applicable when frequency is Daily or Weekly.", "type": "string", "minLength": 0, "maxLength": 3 }, "dateToExecute": { "description": "Date of when to execute yearly fixed charge. Applicable when frequency is Yearly.", "type": "string", "format": "date", "maxLength": 8 } } }, "fixedChargeFrequencyType": { "type": "string", "description": "Yearly.", "enum": [ "O", "D", "W", "M", "Q", "Y" ] }, "fixedChargeDetailType": { "type": "object", "description": "Fixed charge amount could be specified by flat fee or be a percentage of the rate amount.", "properties": { "transaction": { "description": "Transaction code and description of a fixed charge.", "$ref": "#/definitions/codeDescriptionType" }, "quantity": { "description": "Quantity of the product.", "type": "integer" }, "chargeAmount": { "description": "Price of the product.", "$ref": "#/definitions/currencyAmountType" }, "percent": { "description": "Percentage of the rate amount.", "type": "number", "minimum": 0, "maximum": 100 }, "supplement": { "description": "Additional information regarding the fixed charge.", "type": "string", "minLength": 0, "maxLength": 2000 }, "article": { "description": "Holds related article code and description.", "$ref": "#/definitions/codeDescriptionType" }, "roomNights": { "description": "Holds number of comp or cash room night to allocate.", "type": "integer" } } }, "aRAgingInfoType": { "type": "object", "description": "Information regarding the aging balances for an account.", "properties": { "totalOutstanding": { "description": "The total debit and credit balance of the account.", "$ref": "#/definitions/aRBalanceType" }, "aging": { "description": "The debit and credit balance per Aging bucket.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/aRAgingType" } } } }, "aRBalanceType": { "type": "object", "description": "Balance information for AR.", "properties": { "debit": { "description": "Debit Balance amount. The amount owed by the Account.", "$ref": "#/definitions/currencyAmountType" }, "credit": { "description": "The credit Balance amount. Any payment that is Unallocated i.e not applied against an invoice, is included in this.", "$ref": "#/definitions/currencyAmountType" }, "total": { "description": "The total balance i.e Debit minus Credit amounts.", "$ref": "#/definitions/currencyAmountType" } } }, "aRAgingType": { "type": "object", "description": "Aging information for an Aging Bucket.", "properties": { "agingBucketRange": { "description": "The bucket description in terms of days. Example : 0-31 days", "type": "string", "minLength": 0, "maxLength": 20 }, "agingDate": { "description": "The start date and end date for this Aging bucket.", "$ref": "#/definitions/dateRangeType" }, "balanceInfo": { "description": "The balance amounts for this bucket. Contains the Debit Balance, Credit Balance and the Total Balance.", "$ref": "#/definitions/aRBalanceType" }, "agingStartDay": { "description": "The start number of days for this Aging bucket. Example: For the range 31-60 days, this would be 31.", "type": "integer" }, "agingEndDay": { "description": "The end number of days for this Aging bucket. Example: For the range 31-60 days, this would be 60.", "type": "integer" }, "sequence": { "description": "The sequence for display.", "type": "integer" } } }, "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 } } }, "aRYearViewInfoType": { "type": "object", "description": "Information regarding Year View balances for an account.", "properties": { "totalOutstanding": { "description": "The total debit and credit balance of the account.", "$ref": "#/definitions/aRBalanceType" }, "yearView": { "description": "The debit and credit balance per account.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/aRYearViewType" } } } }, "aRYearViewType": { "type": "object", "description": "Year information for an Year View.", "properties": { "dateRange": { "description": "The period start and end date.", "$ref": "#/definitions/dateRangeType" }, "balanceInfo": { "description": "The balance amounts for this date range. Contains the Debit Balance, Credit Balance and the Total Balance.", "$ref": "#/definitions/aRBalanceType" }, "runningTotal": { "description": "The running total balance for the date range.", "$ref": "#/definitions/currencyAmountType" } } }, "aRInvoicesType": { "type": "array", "description": "A collection of AR Invoices.", "maxItems": 4000, "items": { "$ref": "#/definitions/aRInvoiceType" } }, "aRInvoiceType": { "type": "object", "description": "Details of an AR Invoice.", "properties": { "hotelId": { "description": "Property where the invoice exists.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationId": { "description": "Reservation ID of the invoice.", "$ref": "#/definitions/reservationId" }, "guestProfileId": { "description": "Guest Profile ID of the invoice.", "$ref": "#/definitions/uniqueID_Type" }, "age": { "description": "The Aging age of the invoice", "type": "integer" }, "guestName": { "description": "Name of the Guest who consumed these transactions.", "type": "string", "minLength": 0, "maxLength": 200 }, "originalAmount": { "description": "Original Amount of the Invoice", "$ref": "#/definitions/currencyAmountType" }, "amount": { "description": "Current Amount of the Invoice.", "$ref": "#/definitions/currencyAmountType" }, "payments": { "description": "Total Payments made to this Invoice.", "$ref": "#/definitions/currencyAmountType" }, "balance": { "description": "Amount still open which has not been paid", "$ref": "#/definitions/currencyAmountType" }, "reference": { "description": "User-defined posting reference.", "type": "string", "minLength": 0, "maxLength": 2000 }, "remark": { "description": "User-defined posting remark.", "type": "string", "minLength": 0, "maxLength": 2000 }, "adjusted": { "type": "boolean" }, "parentInvoiceNo": { "type": "number" }, "compressed": { "type": "boolean" }, "compressedDate": { "type": "string", "format": "date", "maxLength": 8 }, "transferredOut": { "type": "boolean" }, "transferredIn": { "type": "boolean" }, "market": { "description": "Invoice market code.", "$ref": "#/definitions/marketCodeInfoType" }, "roomClass": { "description": "Invoice room class code.", "$ref": "#/definitions/roomClassCodeInfoType" }, "source": { "description": "Invoice source code.", "$ref": "#/definitions/sourceCodeInfoType" }, "reservationInfo": { "description": "Reservation guest details.", "$ref": "#/definitions/reservationInfoType" }, "cashierInfo": { "description": "Cashier information. Contains Id and Name details of the cashier.", "$ref": "#/definitions/cashierInfoType" }, "transactionInfo": { "description": "Transaction information .", "$ref": "#/definitions/trxInfoType" }, "paymentCard": { "description": "Payment card details.", "$ref": "#/definitions/resPaymentCardType" }, "addresseeInfo": { "description": "Addressee Information for the folio. This is available when the Addressee functionality is used and and Addressee is attached to the folio of the Invoice.", "$ref": "#/definitions/profileInfoType" }, "allowPartialTransferYn": { "description": "Flag to check Partail Transfer Allowed.", "type": "boolean" }, "printed": { "description": "Flag to check Invoice Statement is Printed.", "type": "boolean" }, "printedDate": { "description": "Invoice Statement Printed Date.", "type": "string", "format": "date", "maxLength": 8 }, "storedFolioId": { "description": "ID of the Stored Folio.", "$ref": "#/definitions/uniqueID_Type" }, "storedFolioName": { "description": "Name of the Stored Folio.", "type": "string", "minLength": 0, "maxLength": 2000 }, "storedDebitFolioId": { "description": "ID of the Stored Debit Folio.", "$ref": "#/definitions/uniqueID_Type" }, "storedDebitFolioName": { "description": "Name of the Stored Debit Folio.", "type": "string", "minLength": 0, "maxLength": 2000 }, "folioTexts": { "description": "Additional text fields to display on the folio.", "$ref": "#/definitions/folioTextsType" }, "transactionNo": { "description": "Unique Transaction Identifier of the Invoice.", "type": "number" }, "transactionDate": { "description": "Transaction Date of the invoice.", "type": "string", "format": "date", "maxLength": 8 }, "status": { "description": "Status of the invoice.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionCode": { "description": "Transaction code of the invoice.", "type": "string", "minLength": 0, "maxLength": 20 }, "folioNo": { "description": "Folio Number.", "type": "number" }, "invoiceNo": { "description": "Invoice No after the folio is generated. Same invoice number may be referred in multiple folios", "type": "number" }, "fiscalBillNo": { "description": "The Fiscal Bill number of this posting", "type": "string", "minLength": 0, "maxLength": 2000 }, "folioTypeName": { "description": "The name of the Folio Type used for the Folio Number sequence.", "type": "string", "minLength": 0, "maxLength": 100 }, "internalFolioWindowID": { "description": "Internal window ID which is unique to the reservation. This ID can only be used for reference.", "type": "string", "minLength": 0, "maxLength": 20 }, "folioDate": { "description": "Date of Folio Generation.", "type": "string", "format": "date", "maxLength": 8 }, "folioStatus": { "$ref": "#/definitions/folioStatusType" }, "folioNoWithPrefix": { "description": "The folio number with prefix value.", "type": "string", "minLength": 0, "maxLength": 200 }, "folioSeqNo": { "description": "Unique sequence number. Used to identify the current folio tax record.", "type": "number" }, "invoiceType": { "description": "Invoice code of the invoice.", "$ref": "#/definitions/aRInvoiceCategory" }, "statementNo": { "description": "Statementno of the invoice.", "type": "integer" }, "revenueDate": { "description": "Revenue date ID of the invoice.", "type": "string", "format": "date", "maxLength": 8 }, "closeDate": { "description": "Close date of the invoice.", "type": "string", "format": "date", "maxLength": 8 }, "postingDate": { "description": "Posting date of the invoice.", "type": "string", "format": "date", "maxLength": 8 }, "transferDate": { "description": "Transfer date of the invoice.", "type": "string", "format": "date", "maxLength": 8 }, "canBeModified": { "description": "Flag to indicate if postings or adjustments can be made to the invoice.", "type": "boolean" } } }, "marketCodeInfoType": { "type": "object", "properties": { "marketCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "marketGroup": { "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "type": "string", "minLength": 0, "maxLength": 2000 } } }, "roomClassCodeInfoType": { "type": "object", "description": "Code of the room class type.", "properties": { "roomClassCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "type": "string", "minLength": 0, "maxLength": 2000 } } }, "sourceCodeInfoType": { "type": "object", "properties": { "sourceCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "type": "string", "minLength": 0, "maxLength": 20 }, "sourceGroup": { "type": "string", "minLength": 0, "maxLength": 20 }, "description": { "type": "string", "minLength": 0, "maxLength": 2000 } } }, "cashierInfoType": { "type": "object", "description": "Cashier information. Contains Id and Name details of the cashier.", "properties": { "cashierId": { "description": "Cashier Id of the Cashier.", "type": "number" }, "cashierName": { "description": "Cashier Name.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "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" ] }, "profileInfoType": { "type": "object", "description": "Provides information about attached profiles to the block.", "properties": { "profileId": { "description": "Opera ID for the profile attached to the block.", "$ref": "#/definitions/uniqueID_Type" }, "name": { "description": "Name for the profile attached to the block.", "type": "string", "minLength": 0, "maxLength": 200 }, "city": { "description": "City for the profile attached to the block.", "type": "string", "minLength": 0, "maxLength": 80 }, "phone": { "description": "Phone for the profile attached to the block.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "Defines the type of Linked profiles for a block.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "folioStatusType": { "type": "string", "description": "The Folio Status Example: DEPOSIT folio, VOID folio or the default OK folio status.", "enum": [ "Deposit", "Void", "Ok", "Zero", "Compress", "Converted", "Internal" ] }, "aRInvoiceCategory": { "type": "string", "enum": [ "Normal", "Credit", "OldBalance", "PasserBy" ] }, "aRPaymentsType": { "type": "array", "description": "A collection of AR Payments.", "maxItems": 4000, "items": { "$ref": "#/definitions/aRPaymentType" } }, "aRPaymentType": { "type": "object", "description": "Details of an AR Payment.", "properties": { "age": { "description": "The Aging age of the payment.", "type": "integer" }, "amount": { "description": "Amount of the Payment.", "$ref": "#/definitions/currencyAmountType" }, "amountUsed": { "description": "Total amount applied against an invoice.", "$ref": "#/definitions/currencyAmountType" }, "balance": { "description": "Amount still open which has not been applied against any invoice.", "$ref": "#/definitions/currencyAmountType" }, "reference": { "description": "User-defined posting reference.", "type": "string", "minLength": 0, "maxLength": 2000 }, "remark": { "description": "User-defined posting remark.", "type": "string", "minLength": 0, "maxLength": 2000 }, "cashierInfo": { "description": "Cashier information. Contains Id and Name details of the cashier.", "$ref": "#/definitions/cashierInfoType" }, "paymentCard": { "description": "Payment card details.", "$ref": "#/definitions/resPaymentCardType" }, "transferredOut": { "type": "boolean" }, "transferredIn": { "type": "boolean" }, "hotelId": { "description": "Property code.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionNo": { "description": "Unique Transaction Identifier of the Payment.", "type": "number" }, "transactionDate": { "description": "Date of the Payment.", "type": "string", "format": "date", "maxLength": 8 }, "transactionCode": { "description": "Transaction code of the Payment.", "type": "string", "minLength": 0, "maxLength": 20 }, "postingDate": { "description": "Posting date of the invoice.", "type": "string", "format": "date", "maxLength": 8 }, "revenueDate": { "description": "Revenue date ID of the invoice.", "type": "string", "format": "date", "maxLength": 8 }, "transferDate": { "description": "Transfer of the invoice.", "type": "string", "format": "date", "maxLength": 8 }, "sequenceNo": { "description": "When this PostingType is used to return the postings generated by a batch request, the sequence number is used to relate to the Request's sequence number.", "type": "integer" } } }, "profileAttachments": { "type": "object", "description": "Response object with the details of the attachments of a profile.", "properties": { "profileAttachments": { "description": "List of Attachments associated with the requesting Profile.", "$ref": "#/definitions/attachmentsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "attachmentsType": { "type": "array", "description": "Attachment List.", "maxItems": 4000, "items": { "$ref": "#/definitions/attachmentType" } }, "attachmentType": { "type": "object", "description": "Attached files.", "properties": { "fileName": { "description": "Name of the file.", "type": "string", "minLength": 0, "maxLength": 2000 }, "fileSize": { "description": "Size of the file.", "type": "integer" }, "description": { "description": "Description for the file.", "type": "string", "minLength": 0, "maxLength": 4000 }, "global": { "description": "Flag to say if attachment is available across properties.", "type": "boolean" }, "hotelId": { "description": "Hotel Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "history": { "description": "History data associated with Attachment.", "$ref": "#/definitions/dateTimeStampGroupType" }, "url": { "description": "URL that identifies the location associated with the record identified by the UniqueID.", "type": "string" }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 20 }, "instance": { "description": "The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.", "type": "string", "minLength": 0, "maxLength": 80 }, "idContext": { "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "type": "string", "minLength": 0, "maxLength": 80 }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "idExtension": { "description": "Additional identifying value assigned by the creating system.", "type": "integer" } } }, "dateTimeStampGroupType": { "type": "object", "properties": { "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible 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 } } }, "award": { "type": "object", "description": "Request object to redeem award.", "properties": { "memberAward": { "$ref": "#/definitions/memberAwardType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "memberAwardType": { "type": "object", "properties": { "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems.", "$ref": "#/definitions/profileIdList" }, "membershipType": { "description": "The type of the membership.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipCardNo": { "description": "The card number associated with this membership.", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipLevel": { "description": "The current level of the membership.", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceCode": { "description": "To specify where the business came from e.g. radio, newspaper ad, etc.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationIdList": { "description": "Unique identifiers for the Reservation like Confirmation Number.", "$ref": "#/definitions/reservationIdList" }, "adults": { "description": "Number of adults associated with the reservation.", "type": "integer" }, "reservationTimeSpan": { "description": "Arrival and Departure dates of the reservation.", "$ref": "#/definitions/timeSpanType" }, "memberPointsBefore": { "description": "Member points before award transaction.", "type": "integer" }, "memberPointsAfter": { "description": "Member points after award transaction.", "type": "integer" }, "awardPoints": { "description": "Points associated with the award.", "type": "integer" }, "cancelPointsReturn": { "description": "Number of cancel points returned.", "type": "integer" }, "actualCancelPoints": { "description": "Actual number of cancel points.", "type": "integer" }, "expiryPoints": { "description": "Points that will expire.", "type": "integer" }, "awardProcessType": { "description": "Processing type of the award like Actual , Projected or Inactive.", "$ref": "#/definitions/memberAwardProcessType" }, "memberAwardDetails": { "description": "Details related to member award per stay date.", "$ref": "#/definitions/memberAwardDetailsType" }, "hotelId": { "description": "Property associated with the reservation.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "memberAwardProcessType": { "type": "string", "description": "Processing type of the award like Actual , Projected or Inactive.", "enum": [ "Actual", "Projected", "Inactive" ] }, "memberAwardDetailsType": { "type": "array", "description": "Details related to member award per stay date.", "maxItems": 4000, "items": { "$ref": "#/definitions/memberAwardDetailType" } }, "memberAwardDetailType": { "type": "object", "description": "Details related to member award like award type, stay date, rate code, etc.", "properties": { "awardType": { "description": "The award type or code.", "type": "string", "minLength": 0, "maxLength": 40 }, "actionType": { "description": "Award issue , cancel or update action.", "$ref": "#/definitions/memberAwardActionType" }, "awardBasedOn": { "description": "Indicates if award is a Stay, Package Element or other.", "type": "string", "minLength": 0, "maxLength": 20 }, "cancelPenaltyDays": { "description": "Number days before arrival to apply penalty for cancellation.", "type": "integer" }, "cancelPenaltyCharge": { "description": "Number points deducted if award is cancelled.", "type": "integer" }, "cancelPenaltyType": { "description": "Type of cancel penalty like Points, etc.", "type": "string", "minLength": 0, "maxLength": 20 }, "cancelPenaltyPoints": { "description": "Number of penalty points if cancelled.", "type": "integer" }, "numberOfNights": { "description": "Number of nights cancel policy is applicable.", "type": "integer" }, "cancelPolicyType": { "description": "Type of cancel policy.", "type": "string", "minLength": 0, "maxLength": 20 }, "stayDate": { "description": "Date of stay.", "type": "string", "format": "date", "maxLength": 8 }, "rateCode": { "description": "Rate code associated with the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomType": { "description": "Room type label associated with the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "product": { "description": "Product code for which the award was issued, in case of a product award.", "type": "string", "minLength": 0, "maxLength": 80 }, "fromRoomType": { "description": "Room type label before the upgrade in case of an upgrade award.", "type": "string", "minLength": 0, "maxLength": 20 }, "toRoomType": { "description": "Room type label after the upgrade for an upgrade award.", "type": "string", "minLength": 0, "maxLength": 20 }, "totalLocalAmount": { "description": "Total Local Amount on bill in Hotel Currency.", "type": "number" }, "redeemedLocalAmount": { "description": "Redeemed Local Amount on bill in Hotel Currency.", "type": "number" }, "totalCentralAmount": { "description": "Total Central Amount on bill in External System Currency.", "type": "number" }, "redeemedCentralAmount": { "description": "Redeemed Central Amount on bill in External System Currency.", "type": "number" }, "transactionCode": { "description": "The Payment Transaction Code for which the Surcharge Applies.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionNo": { "description": "Unique Transaction Identifier.", "type": "number" }, "exchangeRateType": { "description": "Exchange Rate Type for the Currency Exchange.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardVoucherNo": { "description": "Award Voucher Number.", "type": "string", "minLength": 0, "maxLength": 40 }, "awardProductId": { "description": "Unique ID for the award product if issued.", "$ref": "#/definitions/uniqueID_Type" }, "awardCancellationNo": { "description": "Unique ID for the award cancellation if cancelled.", "$ref": "#/definitions/uniqueID_Type" }, "inactive": { "description": "If the award detail is inactive.", "type": "boolean" }, "pointsRequired": { "description": "Points required for the stay date.", "type": "integer" }, "actualCancelPoints": { "description": "Actual number of cancel points.", "type": "integer" } } }, "memberAwardActionType": { "type": "string", "description": "Specify whether award is to issue, cancel or update.", "enum": [ "Issue", "Cancel", "InfoUpdate", "CxlWithoutPenalty" ] }, "awardDetails": { "type": "object", "description": "Response of fetch awards request.", "properties": { "profileAwards": { "description": "Profile awards and certificates.", "$ref": "#/definitions/awardsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "awardsType": { "type": "array", "description": "List of awards.", "maxItems": 4000, "items": { "$ref": "#/definitions/awardType" } }, "awardType": { "type": "object", "description": "Detailed information of the awards.", "properties": { "awardCode": { "description": "Award category.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardType": { "description": "Can be P (Paper) or E (E-Certificate).", "$ref": "#/definitions/awardKindType" }, "description": { "description": "Description of the award/certificate.", "type": "string" }, "certificateNo": { "description": "Certificate No.", "type": "string", "minLength": 0, "maxLength": 20 }, "masterCertificiateNo": { "description": "Master Certificate No.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipNo": { "description": "Membership No.", "type": "string" }, "hotelId": { "description": "Hotel Code for which the routing instructions are provided for a profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelCategory": { "description": "Indicates the lowest hotel category for which the certificate is valid.", "type": "string", "minLength": 0, "maxLength": 20 }, "externalHotelCode": { "description": "Hotel Code of the CRS application that this certificate belongs to.", "type": "string", "minLength": 0, "maxLength": 20 }, "externalConfirmationNo": { "description": "Confirmation Number given by a CRS application for this reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "categoryValid": { "description": "Indicates whether the category of certificate is valid or not for this resort.", "type": "boolean" }, "reservationCertificateType": { "description": "[R]=Reward, [I]=Incentive.", "$ref": "#/definitions/reservationCertificateType" }, "rewardCertificateType": { "description": "[RE]=Regular Certificate, [SA]=Stay Anytime Certificate, [PS]=Point Saver Certificate.", "$ref": "#/definitions/rewardCertificateType" }, "status": { "description": "Status of the award aka available.", "$ref": "#/definitions/awardStatusType" }, "expirationDate": { "description": "Expiration Date.", "type": "string", "format": "date", "maxLength": 8 }, "gift": { "description": "Signifies whether award is gift or not.", "type": "boolean" }, "upgrade": { "description": "Signifies whether upgrade award or not.", "type": "boolean" }, "package": { "description": "Signifies whether upgrade is package or not.", "type": "boolean" }, "instantlyRedeemable": { "description": "Indicates if the award is an Instant Redemption award.", "type": "boolean" }, "paidUpgrade": { "description": "Indicates if this certificate was ordered using the \"Paid Upgrade\" option in the E-Certs screen.", "type": "boolean" }, "detailedCertificate": { "description": "Indicates if this certificate is detailed or not.", "type": "boolean" }, "nights": { "description": "Award Nights.", "type": "integer" }, "sourceType": { "description": "MRW : From MRW MAN:Entered manually.", "type": "string" }, "points": { "description": "No. of points used to order this award.", "type": "number" }, "fBAInfo": { "description": "FBA related fields.", "$ref": "#/definitions/fBAInfoType" }, "reservationId": { "description": "Reservation IDs will be empty if award is not attached.", "$ref": "#/definitions/reservationId" }, "profileId": { "description": "Unique profile identifier requested to be fetched.", "$ref": "#/definitions/profileId" }, "quantity": { "description": "Quantity of such awards needed to be ordered.", "type": "integer" }, "displaySequence": { "description": "Indicates the order in which the certificates received from MRW.", "type": "number" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible 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 } } }, "profileCashieringDetailsInfo": { "type": "object", "description": "Response object containing profile routing instructions.", "properties": { "profileCashieringDetailList": { "description": "Cashiering details for the profile.", "type": "array", "items": { "$ref": "#/definitions/profileCashieringDetailType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileCashieringDetailType": { "type": "object", "description": "The type contains routing instructions for the profile.", "properties": { "paymentMethod": { "description": "Payment Method Details.", "$ref": "#/definitions/codeDescriptionType" }, "eCommerceId": { "description": "E-Commerce ID of the Profile", "$ref": "#/definitions/uniqueID_Type" }, "routingInstructions": { "description": "Set of preconfigured transaction codes.", "$ref": "#/definitions/profileRoutingInstructionsType" }, "taxType": { "description": "Tax type code.", "type": "string", "minLength": 0, "maxLength": 20 }, "fiscalGuestType": { "description": "Guest type code.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "Hotel Code for which the routing instructions are provided for a profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "offshoreEligible": { "description": "Indicates whether the profile is eligible to use offshore rates or not.", "type": "boolean" }, "parentAccountNameId": { "description": "Name ID of the parent account for a profile.", "type": "number" } } }, "profileRoutingInstructionsType": { "type": "object", "description": "The type contains routing instructions for the profile.", "properties": { "transactionCodes": { "description": "Set of preconfigured transaction codes.", "$ref": "#/definitions/trxCodesInfoType" }, "billingInstructions": { "description": "Set of preconfigured Billing Instruction results.", "$ref": "#/definitions/billingInstructionsType" }, "autoPopulateRouting": { "description": "A flag which determines whether the instructions has to be automatically populated for this profile or not.", "type": "boolean" } } }, "trxCodesInfoType": { "type": "array", "description": "List of Transaction codes info.", "maxItems": 4000, "items": { "$ref": "#/definitions/trxInfoType" } }, "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 } } }, "profileCashieringDetails": { "type": "object", "description": "Request object for changing the profile cashiering details.", "properties": { "profileIdList": { "description": "Unique identifier for the profile for both internal and external systems.", "$ref": "#/definitions/profileIdList" }, "profileCashieringDetailList": { "description": "Cashiering details for the profile.", "type": "array", "items": { "$ref": "#/definitions/profileCashieringDetailType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileCommissionAccountInfo": { "type": "object", "description": "Response object for fetching profile commission detail.", "properties": { "profileCommissionAccountInfoList": { "$ref": "#/definitions/profileCommissionAccountInfoListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileCommissionAccountInfoListType": { "type": "array", "description": "Profile commission info which contains bank account and commission code details.", "maxItems": 4000, "items": { "$ref": "#/definitions/profileCommissionAccountInfoType" } }, "profileCommissionAccountInfoType": { "type": "object", "description": "Profile commission info which contains bank account and commission code details", "properties": { "profileId": { "description": "Unique profile identifier.", "$ref": "#/definitions/profileId" }, "bankAccount": { "description": "Bank account details", "$ref": "#/definitions/bankAccountType" }, "commissionCode": { "description": "Commission code details", "$ref": "#/definitions/codeDescriptionType" } } }, "bankAccountType": { "type": "object", "description": "Bank account information like Account ID, Bank Name, Currency, etc.", "properties": { "hotelId": { "description": "Property of the bank account.", "type": "string", "minLength": 0, "maxLength": 20 }, "bankAccountId": { "description": "Bank account ID.", "$ref": "#/definitions/uniqueID_Type" }, "bankAccountNo": { "description": "Account number at the bank.", "type": "string", "minLength": 0, "maxLength": 80 }, "bankCode": { "description": "Unique code of the bank account.", "type": "string", "minLength": 0, "maxLength": 20 }, "branchCode": { "description": "Code for the branch of the bank.", "type": "string", "minLength": 0, "maxLength": 20 }, "bankName": { "description": "Name of the bank account.", "type": "string", "minLength": 0, "maxLength": 2000 }, "paymentMethod": { "description": "Type of payment associated with the bank account.", "$ref": "#/definitions/commissionPaymentMethodType" }, "checkFormat": { "description": "Type of format for Payment Method.", "type": "string", "minLength": 0, "maxLength": 80 }, "currency": { "description": "Currency associated with the bank account.", "$ref": "#/definitions/codeDescriptionType" }, "currentCheckNo": { "description": "Current check no of the bank account.", "type": "number" }, "hotelName": { "description": "Property name of the bank account.", "type": "string", "minLength": 0, "maxLength": 80 }, "default": { "description": "Whether this bank account is to be the default in case no bank account is associated with the travel agent or source.", "type": "boolean" }, "linkedToProfile": { "description": "Whether this bank account is associated with the travel agent or source.", "type": "boolean" } } }, "commissionPaymentMethodType": { "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 }, "format": { "description": "Payment format if the payment method is EFT.", "type": "string", "minLength": 0, "maxLength": 3 } } }, "profileCommissionAccount": { "type": "object", "description": "Request object for creating profile commission detail.", "properties": { "criteria": { "$ref": "#/definitions/profileCommissionAccountCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileCommissionAccountCriteriaType": { "type": "object", "description": "Contains base info to determine profile commission bank account and code.", "properties": { "hotelId": { "description": "Hotel code from which the profile bank account and code belongs to", "type": "string", "minLength": 0, "maxLength": 20 }, "profileId": { "description": "Unique profile identifier.", "$ref": "#/definitions/profileId" }, "bankAccountId": { "description": "Bank account ID.", "$ref": "#/definitions/uniqueID_Type" }, "commissionCode": { "description": "Profile commission code", "$ref": "#/definitions/codeDescriptionType" }, "validatePending": { "description": "Used in CRUD operations. When set to true, proceed validating pending commissions", "type": "boolean" } } }, "emailMessageType": { "type": "object", "description": "Request object for storing an email.", "properties": { "blockId": { "description": "ID of the Block that is associated with the email.", "$ref": "#/definitions/stringLength80" }, "fromAddress": { "description": "The address that originated the email.", "$ref": "#/definitions/basicEmailType" }, "toAddress": { "description": "A collection of email addresses for recipients who were sent the email message", "$ref": "#/definitions/basicEmailListType" }, "subject": { "description": "The subject line of the email.", "$ref": "#/definitions/stringLength200" }, "emailBody": { "description": "Email in base64 binary format.", "type": "string", "format": "byte" }, "messageId": { "description": "Global ID of the email message from the external system.", "$ref": "#/definitions/stringLength100" }, "emailReceiveDate": { "description": "The date the email was received.", "type": "string", "format": "date-time" }, "hasAttachment": { "description": "Indicates whether the email was sent with an attachment (true) or not (false).", "type": "boolean" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "stringLength80": { "type": "string", "description": "Used for Character Strings, length 0 to 80.", "maxLength": 80, "minLength": 0 }, "basicEmailListType": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/basicEmailType" } }, "stringLength200": { "type": "string", "description": "Used for Character Strings, length 0 to 200.", "maxLength": 200, "minLength": 0 }, "stringLength100": { "type": "string", "description": "Used for Character Strings, length 0 to 100.", "maxLength": 100, "minLength": 0 }, "accountForecasts": { "type": "object", "description": "Response object for showing forecast information of account profile.", "properties": { "accountForecastDetails": { "description": "Type contains forecast information of the account profile.", "$ref": "#/definitions/accountForecastsType" }, "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" } } }, "accountForecastsType": { "type": "array", "description": "Detail Information about Account Forecast.", "maxItems": 4000, "items": { "$ref": "#/definitions/accountForecastType" } }, "accountForecastType": { "type": "object", "description": "Detail Information about Account Forecast.", "properties": { "hotelId": { "description": "Hotel Code", "type": "string", "minLength": 0, "maxLength": 20 }, "accountId": { "description": "Unique Account ID", "$ref": "#/definitions/uniqueID_Type" }, "periodCode": { "description": "Specifies the Fiscal or Calendar Period Code for the forecast", "type": "string", "minLength": 0, "maxLength": 20 }, "periodDescription": { "description": "Specifies the Fiscal or Calendar Period Description for the forecast.", "type": "string", "minLength": 0, "maxLength": 100 }, "periodStartDate": { "description": "Specifies the Period Start Date", "type": "string", "format": "date", "maxLength": 8 }, "periodEndDate": { "description": "Specifies the Period End Date", "type": "string", "format": "date", "maxLength": 8 }, "roomNights": { "description": "Room Nights for the forecast", "type": "integer" }, "averageRate": { "description": "Average Rate for the forecast", "$ref": "#/definitions/currencyAmountType" }, "roomRevenue": { "description": "Room Revenue for the forecast", "$ref": "#/definitions/currencyAmountType" }, "foodAndBeverageRevenue": { "description": "Food and Beverage revenue for the forecast", "$ref": "#/definitions/currencyAmountType" }, "otherRevenue": { "description": "Other revenue (For example, function space rental, equipment rental, etc.) of forecast.", "$ref": "#/definitions/currencyAmountType" }, "totalRevenue": { "description": "Total revenue for the forecast", "$ref": "#/definitions/currencyAmountType" }, "overrideForecast": { "description": "This element is used for overriding any existing forecasts for a profile, Please select Default, if you want to be notified of a warning message. No Forecast is overridden or created. Please select Override, if existing forecasts are to be overridden and new forecasts are to be created. Please select DoNotOverride, if existing forecasts are not to be overridden and new forecasts are to be created.", "$ref": "#/definitions/overrideForecastTypeType" } } }, "overrideForecastTypeType": { "type": "string", "description": "Defines values for OverrideForecastType.", "enum": [ "Default", "Override", "DoNotOverride" ] }, "forecastsInformation": { "type": "object", "properties": { "forecastsInformation": { "description": "Account Forecast details to be created.", "$ref": "#/definitions/accountForecastsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "changeAccountForecastsRS": { "type": "object", "description": "Response Body.", "properties": { "success": { "description": "Refer to Generic common types document.", "$ref": "#/definitions/successType" }, "warnings": { "$ref": "#/definitions/warningsType" }, "errors": { "description": "Refer to Generic common types document.", "$ref": "#/definitions/errorsType" }, "echoToken": { "description": "A reference for additional message identification, assigned by the requesting host system. When a request message includes an echo token the corresponding response message MUST include an echo token with an identical value.", "type": "string", "minLength": 0, "maxLength": 128 }, "timeStamp": { "description": "Indicates the creation date and time of the message in UTC using the following format specified by ISO 8601; YYYY-MM-DDThh:mm:ssZ with time values using the 24 hour clock (e.g. 20 November 2003, 1:59:38 pm UTC becomes 2003-11-20T13:59:38Z).", "type": "string", "format": "date-time" }, "version": { "description": "For all Opera versioned messages, the version of the message is indicated by a Opera Version value.", "type": "string", "minLength": 0, "maxLength": 40 }, "correlationId": { "description": "Allow end-to-end correlation of log messages with the corresponding Web service message throughout the processing of the Web service message.", "type": "string", "minLength": 0, "maxLength": 80 }, "retryAllowed": { "description": "Indicates if the operation supports the ability to retry the request.", "type": "boolean" }, "enforceAllowed": { "description": "Indicates if the operation supports the ability to force the retry request through OPERA services in the case where the external system continues to fail.", "type": "boolean" }, "useLocalAllowed": { "description": "This attribute carries the user selected confirmation value on confirmation popup.", "type": "boolean" }, "links": { "$ref": "#/definitions/links" } } }, "successType": { "type": "object", "description": "Returning an empty element of this type indicates the successful processing of an message. This is used in conjunction with the Warning Type to report any warnings or business errors.", "properties": {} }, "errorsType": { "type": "array", "description": "An error that occurred during the processing of a message.", "maxItems": 99, "items": { "$ref": "#/definitions/errorType" } }, "errorType": { "type": "object", "description": "Standard way to indicate that an error occurred during the processing of an message. If the message successfully processes, but there are business errors, those errors should be passed in the warning element.", "properties": { "value": { "type": "string", "description": "Property Value" }, "shortText": { "description": "An abbreviated version of the error in textual format.", "type": "string" }, "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" }, "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" }, "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" }, "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" }, "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})*" }, "nodeList": { "description": "An XPath expression that selects all the nodes whose data caused this error. Further, this expression should have an additional contraint which contains the data of the node. This will provide the offending data back to systems that cannot maintain the original message.", "type": "string" } } }, "linkedProfiles": { "type": "object", "description": "Response of fetch set of linked Profiles to the requested Profile.", "properties": { "profileSummaries": { "description": "Linked profile's summary information.", "$ref": "#/definitions/profileSummariesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "matchedProfiles": { "type": "object", "description": "Response object for the match profiles.", "properties": { "matchProfiles": { "description": "A collection of match profiles.", "$ref": "#/definitions/matchProfileType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipTransactionExceptions": { "type": "object", "description": "Response object for fetching membership transaction exceptions.", "properties": { "memberTransactionExceptions": { "description": "A collection of membership transaction exceptions.", "$ref": "#/definitions/membershipTransactionExceptionsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipTransactionExceptionsType": { "type": "array", "description": "Contains Membership transaction exception information.", "maxItems": 4000, "items": { "$ref": "#/definitions/membershipTransactionExceptionType" } }, "membershipTransactionExceptionType": { "type": "object", "description": "Details about a membership like ProfileID, Card Number, Type, Level, etc.", "properties": { "profileId": { "description": "The profile to which this membership is associated with.", "$ref": "#/definitions/profileId" }, "name": { "description": "The profile name associated with this membership.", "type": "string", "minLength": 0, "maxLength": 128 }, "membershipId": { "description": "Unique identifier of this membership.", "$ref": "#/definitions/uniqueID_Type" }, "membershipCardNo": { "description": "The card number associated with this membership.", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipType": { "description": "The type of the membership.", "$ref": "#/definitions/codeDescriptionType" }, "membershipLevel": { "description": "The current level of the membership.", "type": "string", "minLength": 0, "maxLength": 20 }, "joinedDate": { "description": "Date when the member enrolled for the membership.", "type": "string", "format": "date", "maxLength": 8 }, "cardExpirationDate": { "description": "Membership card expiration date.", "type": "string", "format": "date", "maxLength": 8 }, "membershipTransactionId": { "description": "Unique identifier associated with the membership transaction.", "$ref": "#/definitions/membershipTransactionId" }, "hotelId": { "description": "Hotel code of the membership transaction exceptions.", "type": "string", "minLength": 0, "maxLength": 20 }, "fromToRangeDate": { "description": "Arrival and Departure date of stay for which you are displaying membership transaction exceptions.", "$ref": "#/definitions/dateRangeType" }, "reservationNumber": { "description": "Any reference like reservation no etc against which the certificate was consumed.", "type": "string", "minLength": 0, "maxLength": 50 }, "roomsBooked": { "description": "If multiple room membership transaction exceptions occurred, the number of rooms booked.(MR)", "type": "integer" }, "backToBack": { "description": "Indicates if back to back membership transaction exceptions have occurred or not.", "type": "string", "minLength": 0, "maxLength": 2 }, "averageRate": { "description": "The average rate of the stay.", "type": "number" }, "tierStays": { "description": "Tier stay points associated with this membership points transaction.", "type": "number" }, "totalAwardPoints": { "description": "Award points associated with this membership points transaction.", "type": "number" }, "totalNights": { "description": "Tier night points associated with this membership points transaction.", "type": "number" }, "totalRevenue": { "description": "Tier revenue points associated with this membership points transaction.", "type": "number" }, "pointsCalculate": { "description": "Points Calculated value(Y/N) for the selected transaction.", "type": "boolean" }, "userNotes": { "description": "Notes regarding the resolution of the membership transaction exception or for any other reason.", "type": "string", "minLength": 0, "maxLength": 4000 }, "processingMessages": { "description": "The systems records and notes identifying the exception criteria.", "type": "string", "minLength": 0, "maxLength": 2000 }, "totalPoints": { "description": "The total number of award points associated with this transaction.", "type": "number" }, "awardBasePoints": { "description": "The total number of base award points for this membership points transaction.", "type": "number" }, "awardBonusPoints": { "description": "Indicates if this transaction involves bonus points, The total number of bonus points.", "type": "number" }, "tierPoints": { "description": "Details if this transaction is associated with tier points.", "$ref": "#/definitions/membershipTransactionTierPointsType" }, "computedPoints": { "description": "Information to compute award and tier points for membership transaction exception.", "$ref": "#/definitions/membershipTransactionExceptionComputePointsType" }, "exceptionType": { "description": "Indicates the type of Exception like Exception not resolved,Points Rejected on Exception etc.,", "type": "integer" } } }, "membershipTransactionExceptionComputePointsType": { "type": "object", "description": "Options to compute award and tier points for membership transaction exception.", "properties": { "awardBasePoints": { "description": "Indicates if membership transaction exception should be created for base award points.", "type": "boolean" }, "awardBonusPoints": { "description": "Indicates if membership transaction exception should be created for bonus award points.", "type": "boolean" }, "tierPointsBaseStay": { "description": "Indicates if membership transaction exception should be created for base tier points for the stay.", "type": "boolean" }, "tierPointsBonusStay": { "description": "Indicates if membership transaction exception should be created for tier bonus points for the stay.", "type": "boolean" }, "tierPointsBaseNights": { "description": "Indicates if membership transaction exception should be created for base tier points for the night.", "type": "boolean" }, "tierPointsBonusNights": { "description": "Indicates if membership transaction exception should be created for tier bonus points for the night.", "type": "boolean" }, "tierPointsBaseRevenue": { "description": "Indicates if membership transaction exception should be created for base tier points for the revenue.", "type": "boolean" }, "tierPointsBonusRevenue": { "description": "Indicates if membership transaction exception should be created for tier bonus points for the revenue.", "type": "boolean" } } }, "membership": { "type": "object", "description": "Request object for create membership. This object contains unique identifiers for each profile and list of membership details to be created. The standard optional Opera Context element is also included.", "properties": { "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems. In case of Travel Agent the IATA code and in case of Company can be any form of identifier as id.", "$ref": "#/definitions/profileIdList" }, "profileMemberships": { "description": "Detailed information of membership related to the profile", "type": "array", "items": { "$ref": "#/definitions/profileMembershipType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "changedMembership": { "type": "object", "description": "Response object for change/update membership. This object contains collection of memberships,Success,Warnings and Errors related to this operation", "properties": { "profileMemberships": { "description": "Detailed information of membership related to the profile", "type": "array", "items": { "$ref": "#/definitions/profileMembershipType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "memberInformation": { "type": "object", "description": "Response object for member info.", "properties": { "memberInfo": { "$ref": "#/definitions/memberInfoRSType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "memberInfoRSType": { "type": "object", "properties": { "memberInfoDetails": { "description": "Points and stay details of the membership.", "$ref": "#/definitions/memberInfoDetailsType" }, "memberInfoRangeDetails": { "description": "Points and stay details for the membership range.", "$ref": "#/definitions/memberInfoDetailsType" }, "nextTierPoints": { "description": "Points required for next tier of membership.", "type": "integer" }, "pointsAvailable": { "description": "Points available for the member.", "type": "integer" } } }, "memberInfoDetailsType": { "type": "object", "properties": { "guestTotalNights": { "description": "Total nights of the guest.", "type": "integer" }, "guestTotalStay": { "description": "STotal stays of the guest.", "type": "integer" }, "tierBaseNights": { "description": "Tier Base Nights Points.", "type": "integer" }, "tierBaseRevenue": { "description": "Tier Base Revenue Points.", "type": "number" }, "tierBaseStay": { "description": "Tier Base Stay Points.", "type": "integer" }, "tierBonusNights": { "description": "Tier Bonus Nights Points.", "type": "integer" }, "tierBonusRevenue": { "description": "Tier Bonus Revenue Points.", "type": "number" }, "tierBonusStay": { "description": "Tier Bonus Stay Points.", "type": "integer" }, "membershipTotalNights": { "description": "Total Nights of the membership.", "type": "integer" }, "membershipTotalStay": { "description": "Total Stay of the membership.", "type": "integer" }, "awardBasePoints": { "description": "Total base points of the award.", "type": "integer" }, "awardBonusPoints": { "description": "Total bonus points of the award.", "type": "integer" }, "awardMiscPoints": { "description": "Total miscellaneous points of the award.", "type": "integer" }, "totalAwardPoints": { "description": "Total points of the award.", "type": "integer" } } }, "profileOwnersDetail": { "type": "object", "description": "Response object to fetch the owners of a profile.", "properties": { "profileOwnersList": { "description": "Collection of the profile owners belonging to the profile requested.", "$ref": "#/definitions/ownersType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileOwners": { "type": "object", "description": "Request object to change profile owners.", "properties": { "criteria": { "description": "Criteria to change the owners of a profile.", "$ref": "#/definitions/setProfileOwnersCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "setProfileOwnersCriteriaType": { "type": "object", "description": "Criteria to update the profile owners.", "properties": { "profileIdList": { "description": "Id of the profile of which its owners will be updated.", "$ref": "#/definitions/profileIdList" }, "owners": { "description": "Collection of owners that will be updated.", "$ref": "#/definitions/ownersType" } } }, "preference": { "type": "object", "description": "Response object for fetch preference. This object contains collection of preferences,Success,Warnings and Errors related to this operation.", "properties": { "preferenceCollections": { "description": "Detailed information of preferences related to the profile", "type": "array", "items": { "$ref": "#/definitions/preferenceTypeType" } }, "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems. In case of Travel Agent the IATA code and in case of Company can be any form of identifier as id.", "$ref": "#/definitions/profileIdList" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileRelationships": { "type": "object", "properties": { "relationships": { "description": "Contains a collection of profiles that have a relationship with this profile.", "$ref": "#/definitions/relationshipsSummary" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "relationshipsSummary": { "type": "object", "description": "Contains details relationships related to a profile.", "properties": { "relationship": { "description": "A collection of the profiles summary that have a relationship with this profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/relationshipInfoSummaryType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "futurePastBookingsCriteria": { "type": "object", "description": "Request for information regarding existence of profile in future and/or past business blocks and/or reservations.", "properties": { "criteria": { "description": "Criteria to determine if search should be restricted to future and/or past business blocks and/or reservations, restricted to rate code, or restricted to exclude a given list of reservations and/or blocks.", "$ref": "#/definitions/hasFuturePastBookingsSearchType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "hasFuturePastBookingsSearchType": { "type": "object", "description": "Search type for verifying whether there are future and/or past business blocks and/or reservations exist for a Profile.", "properties": { "profileIdList": { "description": "Unique identifier of the profile to be searched.", "$ref": "#/definitions/profileIdList" }, "searchFor": { "description": "Search for active or past.", "type": "string", "enum": [ "Active", "Past" ] }, "searchIn": { "description": "Search in business blocks or reservations.", "type": "string", "enum": [ "Block", "Reservation" ] }, "rateCode": { "description": "Unique identifier of the rate code of business block or reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "exclusions": { "description": "Search to exclude list of reservations and/or business blocks.", "$ref": "#/definitions/hasFuturePastBookingsExclusionsType" } } }, "hasFuturePastBookingsExclusionsType": { "type": "object", "description": "Search type for excluding list of business blocks and/or reservations.", "properties": { "reservationIdList": { "description": "List of unique identifier of reservation.", "$ref": "#/definitions/uniqueIDListType" }, "blockIdList": { "description": "List of Unique identifier of business block.", "$ref": "#/definitions/uniqueIDListType" } } }, "futurePastBookings": { "type": "object", "description": "This is the Response Message to information regarding existence of profile in future and/or past business blocks and/or reservations.", "properties": { "response": { "description": "response - whether there are future and/or past business blocks or reservations for the profile.", "type": "boolean" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileStayHistory": { "type": "object", "description": "Response object for showing stay history and future reservations of specific profile.", "properties": { "profileStayDetails": { "description": "Type contains stay history and future reservations of the specific profile.", "$ref": "#/definitions/profileStayDetailsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileStayDetailsType": { "type": "object", "description": "Type provides the stay history and future reservations of specific profile.", "properties": { "reservationInfoList": { "description": "Collection of Detailed information on history and future reservations associated with the profile.", "$ref": "#/definitions/reservationStayHistoryFutureInfoType" } } }, "profileRelationship": { "type": "object", "description": "Request object for creating profile relationship.", "properties": { "relationship": { "description": "Refer to Relationship Profile request criteria.", "$ref": "#/definitions/relationshipCriteriaType" }, "copyInstructions": { "description": "Indicates which details of the master profile should be copied to subsidiary profiles, when a master-sub relationship is created for profile types Company, TravelAgent and Source", "$ref": "#/definitions/copyInstructionsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "relationshipCriteriaType": { "type": "object", "description": "Contains Criteria Information for a profile relationship.", "properties": { "primary": { "description": "Indicates if this relationship is the primary relationship.", "type": "boolean" }, "sourceRelation": { "description": "Indicates the type of relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceRelationDescription": { "description": "Displays the description of relationship the current profile(Source Profile) has with the related profile(Target Profile).This needs to be passed if the attribute primary is sent as true.", "type": "string", "minLength": 0, "maxLength": 200 }, "sourceProfileType": { "description": "Used to specify a source profile type.", "$ref": "#/definitions/profileTypeType" }, "targetRelation": { "description": "Indicates the type of relationship the related profile(Target Profile) has with the current profile(Source Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "targetRelationDescription": { "description": "Displays the description of relationship the related profile(Target Profile) has with the current profile(Source Profile).", "type": "string", "minLength": 0, "maxLength": 200 }, "targetProfileType": { "description": "Used to specify a target profile type.", "$ref": "#/definitions/profileTypeType" } } }, "profileRelationshipToBeChanged": { "type": "object", "description": "Request object for changing profile relationship.", "properties": { "relationship": { "description": "Refer to Relationship Profile request criteria.", "$ref": "#/definitions/changeRelationshipCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "changeRelationshipCriteriaType": { "type": "object", "description": "Information about the changes in relationship for the profile", "properties": { "changeRelationship": { "description": "Information about the changes in relationship for the profile", "$ref": "#/definitions/changeRelationsInfoType" }, "relationshipID": { "description": "Relationship identifier.", "type": "string", "minLength": 0, "maxLength": 80 }, "sourceRelation": { "description": "Indicates the type of existing relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceRelationDescription": { "description": "Displays the description of existing relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 200 }, "targetRelation": { "description": "Indicates the type of existing relationship the Related profile(Target Profile) has with the current profile(Source Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "targetRelationDescription": { "description": "Displays the description of existing relationship the related profile(Target Profile) has with the current profile(Source Profile).", "type": "string", "minLength": 0, "maxLength": 200 } } }, "changeRelationsInfoType": { "type": "object", "description": "Detailed information regarding to be changed relationships for the profile.", "properties": { "changeProfileID": { "description": "Unique id of the profile to be changed to.", "$ref": "#/definitions/uniqueID_Type" }, "primary": { "description": "Indicates if this relationship is the primary relationship.", "type": "boolean" }, "sourceProfileType": { "description": "Used to specify a source profile type.", "$ref": "#/definitions/profileTypeType" }, "sourceRelation": { "description": "Indicates the type of to be changed relationship the current profile(Source Profile) has with the related profile(Target Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceRelationDescription": { "description": "Displays the description of to be changed relationship the current profile(Source Profile) has with the related profile(Target Profile).This needs to be passed if the attribute primary is sent as true.", "type": "string", "minLength": 0, "maxLength": 200 }, "targetRelation": { "description": "Indicates the type of to be changed relationship the Related profile(Target Profile) has with the current profile(Source Profile).", "type": "string", "minLength": 0, "maxLength": 20 }, "targetRelationDescription": { "description": "Displays the description of to be changed relationship the related profile(Target Profile) has with the current profile(Source Profile).", "type": "string", "minLength": 0, "maxLength": 200 }, "targetProfileType": { "description": "Used to specify a target profile type.", "$ref": "#/definitions/profileTypeType" } } }, "profileToBeMerged": { "type": "object", "description": "Profile Resource will be merged.", "properties": { "victimProfileId": { "description": "Provides detailed information regarding either a company or a customer profile.", "$ref": "#/definitions/uniqueIDListType" }, "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems. In case of Travel Agent the IATA code and in case of Company can be any form of identifier as ID.", "$ref": "#/definitions/profileIdList" }, "profileDetails": { "description": "Provides detailed information regarding either a company or a customer profile.", "$ref": "#/definitions/profileType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "mergedProfilesSnapshotDetails": { "type": "object", "description": "Response object for fetching snapshot of merge profiles result.", "properties": { "mergedProfileSnapshot": { "$ref": "#/definitions/mergedProfileType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "mergedProfileType": { "type": "object", "description": "Provides information for merged profile.", "properties": { "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems. In case of Travel Agent the IATA code and in case of Company can be any form of identifier as id.", "$ref": "#/definitions/profileIdList" }, "profile": { "description": "Provides detailed information regarding either a company or a customer profile.", "$ref": "#/definitions/profileType" } } }, "mergedStageProfileSnapshot": { "type": "object", "description": "Response object to fetch merge profile based on stage and opera profile.", "properties": { "mergeStageProfile": { "$ref": "#/definitions/stagedProfileType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "stagedProfileType": { "type": "object", "description": "Detailed information about the staged profile.", "properties": { "profileIdList": { "description": "List of unique identifier of staged profile.", "$ref": "#/definitions/uniqueIDListType" }, "customer": { "description": "Detailed customer information for this profile.", "$ref": "#/definitions/stagedProfileCustomerType" }, "company": { "description": "Detailed company information for this profile.", "$ref": "#/definitions/stagedProfileCompanyType" }, "addresses": { "description": "Collection of detailed information about address for the staged profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileAddressType" } }, "telephones": { "description": "Collection of detailed information about telephone/fax for the staged profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfilePhoneType" } }, "emails": { "description": "Collection of detailed information about email for the staged profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileEmailType" } }, "uRLs": { "description": "Collection of detailed information about web url/address for the staged profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileURLType" } }, "commissions": { "description": "Collection of detailed information about commissions for the staged profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileCommissionType" } }, "memberships": { "description": "Collection of detailed information about memberships for the staged profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileMembershipType" } }, "preferences": { "description": "Collection of detailed information about preferences for the staged profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfilePreferenceType" } }, "keywords": { "description": "Collection of detailed information about keyword for the staged profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileKeywordType" } }, "negotiatedRates": { "description": "Collection of detailed information about negotiated rates for the staged profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileNegotiatedRateType" } }, "identifications": { "description": "Collection of detailed information about identification for the staged profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileIdentificationsType" } }, "routingInstructions": { "description": "Collection of routing instructions for the staged profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileRoutingInstructionType" } }, "userDefinedFields": { "description": "List of user defined fields for the staged profile.", "$ref": "#/definitions/stagedProfileUserDefinedFieldsType" }, "mailingActions": { "description": "Contains collection of mailing action list associated with the profile", "$ref": "#/definitions/mailingActionsType" }, "privacyInfo": { "description": "Contains privacy related information associated with the profile", "$ref": "#/definitions/privacyInfoType" }, "comments": { "description": "List of Notes for the customer.", "$ref": "#/definitions/stagedProfileCommentInfosType" }, "hotelId": { "description": "Hotel code that the staged profile belongs to.", "type": "string", "minLength": 0, "maxLength": 20 }, "importDate": { "description": "The date on which the staged profile has been received.", "type": "string", "format": "date", "maxLength": 8 }, "profileType": { "description": "Type of the staged profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "stageStatus": { "description": "The status of the staged profile.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "stagedProfileCustomerType": { "type": "object", "properties": { "personName": { "description": "Detailed name information for the customer.", "type": "array", "maxItems": 5, "items": { "$ref": "#/definitions/personNameType" } }, "anonymization": { "description": "Provides information about the guest's anonymization status", "$ref": "#/definitions/anonymizationType" }, "citizenCountry": { "description": "Name of the (self-professed) country that is claimed for citizenship.", "$ref": "#/definitions/countryNameType" }, "identifications": { "description": "List of identification of the customer.", "type": "object", "properties": { "identificationInfo": { "description": "Collection of detailed information on the identification of the customer.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/identificationInfoType" } }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "profession": { "description": "Profession of a person.", "type": "string", "minLength": 0, "maxLength": 80 }, "alienInfo": { "description": "Immigration/visa information of a foreign person.", "$ref": "#/definitions/alienInfoType" }, "birthCountry": { "description": "Country of birth.", "$ref": "#/definitions/countryNameType" }, "legalCompany": { "description": "Name Of the company the individual is associated with.", "type": "string", "minLength": 0, "maxLength": 80 }, "companyInfo": { "description": "Company Information of the Profile.", "$ref": "#/definitions/companyInfoType" }, "businessTitle": { "description": "Business Title.", "type": "string", "minLength": 0, "maxLength": 80 }, "gender": { "description": "Identifies the profile gender code selected from Gender types List of values. Gender types LOV provides the values configured at gender configuration.", "type": "string", "minLength": 0, "maxLength": 20 }, "birthDate": { "description": "Indicates the date of birth as indicated in the document, in ISO 8601 prescribed format.", "type": "string", "format": "date", "maxLength": 8 }, "birthDateMasked": { "description": "Indicates the date of birth as masked.", "type": "string" }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "nationality": { "description": "Nationality code identification", "type": "string", "minLength": 0, "maxLength": 20 }, "nationalityDescription": { "description": "Nationality code description", "type": "string", "minLength": 0, "maxLength": 80 }, "customerValue": { "description": "The supplier's ranking of the customer (e.g., VIP, numerical ranking).", "type": "string", "minLength": 0, "maxLength": 20 }, "creditRating": { "description": "Credit Rating of the customer.", "type": "string", "minLength": 0, "maxLength": 20 }, "vipStatus": { "description": "VIP status of the customer.", "type": "string", "minLength": 0, "maxLength": 20 }, "vipDescription": { "description": "Description of the VIP status.", "type": "string", "minLength": 0, "maxLength": 2000 }, "birthPlace": { "description": "Place of birth.", "type": "string", "minLength": 0, "maxLength": 80 }, "privateProfile": { "description": "This element tells profile is property exclusive or not.", "type": "boolean" }, "blacklist": { "description": "This element tells if profile is blacklisted or not.", "type": "boolean" }, "errors": { "description": "The error in stage profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileErrorType" } }, "alternateLanguage": { "description": "ALternate language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" } }, "description": "Contains basic data on the customer's identity, location, relationships, finances, memberships, etc." }, "stagedProfileErrorType": { "type": "object", "description": "Criteria to fetch the staged profile.", "properties": { "field": { "description": "The field that has error.", "$ref": "#/definitions/stagedProfileErrorField" }, "errorDescription": { "description": "The error description for the staged profile.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "stagedProfileErrorField": { "type": "string", "description": "Simple type for stage profile error filed to specify which filed in the stage profile has error.", "enum": [ "PrimaryLanguage", "AlternateLanguag", "Gender", "ProfileType", "Nationality", "Prefix", "VIPStatus" ] }, "stagedProfileCompanyType": { "type": "object", "properties": { "companyName": { "description": "Name of the company.", "type": "string", "minLength": 0, "maxLength": 40 }, "companyName2": { "description": "Second Name of the company.", "type": "string", "minLength": 0, "maxLength": 40 }, "companyName3": { "description": "Third Name of the company.", "type": "string", "minLength": 0, "maxLength": 40 }, "alternateName": { "description": "Alternate Name of the Company. Mainly, it's the name of the company written in the Alternate Language.", "type": "string", "minLength": 0, "maxLength": 80 }, "alternateLanguage": { "description": "Alternate Language of the company.", "type": "string", "minLength": 0, "maxLength": 20 }, "businessLocale": { "description": "A jurisdiction(Territory) in which a company is authorized to do business.", "type": "string", "minLength": 0, "maxLength": 40 }, "iATAInfo": { "description": "IATA Information of the profile.", "$ref": "#/definitions/iATAInfoType" }, "businessTitle": { "description": "Business Title.", "type": "string", "minLength": 0, "maxLength": 80 }, "currencyCode": { "description": "The code specifying a monetary unit. Use ISO 4217, three alpha code.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencySymbol": { "description": "The symbol for the currency, e.g, for currencyCode USD the symbol is $.", "type": "string", "minLength": 0, "maxLength": 10 }, "decimalPlaces": { "description": "Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard \"minor unit\". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces=\"2\" to represent $85).", "type": "integer" }, "language": { "description": "Language identification.", "type": "string", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" }, "nationality": { "description": "Nationality code identification", "type": "string", "minLength": 0, "maxLength": 20 }, "nationalityDescription": { "description": "Nationality code description", "type": "string", "minLength": 0, "maxLength": 80 }, "commissionCode": { "description": "Commission code of the company.", "type": "string", "minLength": 0, "maxLength": 20 }, "creditRating": { "description": "Credit Rating of the company.", "type": "string", "minLength": 0, "maxLength": 20 }, "corporateIdType": { "description": "The type of corporate ID", "type": "string", "minLength": 0, "maxLength": 20 }, "vipStatus": { "description": "VIP status of the company.", "type": "string", "minLength": 0, "maxLength": 20 }, "vipDescription": { "description": "Description of the VIP status.", "type": "string", "minLength": 0, "maxLength": 2000 }, "blacklist": { "description": "This element tells if profile is blacklisted or not.", "type": "boolean" }, "errors": { "description": "The error in stage profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileErrorType" } } } }, "stagedProfileAddressType": { "type": "object", "properties": { "address": { "description": "Address details for the profile.", "$ref": "#/definitions/addressType" }, "errorDescription": { "description": "The error in address information in a staged profile with an invalid status", "type": "string", "minLength": 0, "maxLength": 2000 }, "inactiveDate": { "description": "Inactivation date of the record.", "type": "string", "format": "date", "maxLength": 8 }, "postalCodeExtension": { "description": "Postal code extension.", "type": "string", "minLength": 0, "maxLength": 15 }, "barCode": { "description": "The postal barcode for the address.", "type": "string", "minLength": 0, "maxLength": 100 }, "cleansStatus": { "description": "Status of Address Cleansing.", "$ref": "#/definitions/stagedAddressCleansStatus" }, "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 } }, "description": "Provides address information." }, "stagedAddressCleansStatus": { "type": "string", "description": "Simple type for status of staged address cleansing.", "enum": [ "NotCleansed", "Cleansed", "Failure" ] }, "stagedProfilePhoneType": { "type": "object", "properties": { "telephone": { "description": "Phone details for the profile.", "$ref": "#/definitions/telephoneType" }, "errorDescription": { "description": "The error in telephone information in a staged profile with an invalid status.", "type": "string", "minLength": 0, "maxLength": 2000 }, "inactiveDate": { "description": "Inactivation date of the record.", "type": "string", "format": "date", "maxLength": 8 }, "defaultConfirmation": { "description": "Indicates whether the phone is the default confirmation method.", "type": "boolean" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } }, "description": "Information on a telephone number for the customer." }, "stagedProfileEmailType": { "type": "object", "properties": { "email": { "description": "Email details for the profile.", "$ref": "#/definitions/emailType" }, "errorDescription": { "description": "The error in email information in a staged profile with an invalid status", "type": "string", "minLength": 0, "maxLength": 2000 }, "inactiveDate": { "description": "Inactivation date of the record.", "type": "string", "format": "date", "maxLength": 8 }, "defaultConfirmation": { "description": "Indicates whether the email is the default confirmation method.", "type": "boolean" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } }, "description": "Information on an email for the customer." }, "stagedProfileURLType": { "type": "object", "properties": { "url": { "description": "Web URL details for the Profile.", "$ref": "#/definitions/uRLType" }, "errorDescription": { "description": "The error in URL in a staged profile with an invalid status", "type": "string", "minLength": 0, "maxLength": 2000 }, "inactiveDate": { "description": "Inactivation date of the record.", "type": "string", "format": "date", "maxLength": 8 }, "defaultConfirmation": { "description": "Indicates whether the phone is the default confirmation method.", "type": "boolean" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } }, "description": "Web site address." }, "stagedProfileMembershipType": { "type": "object", "properties": { "comment": { "description": "Additional comments regarding to the membership.", "$ref": "#/definitions/paragraphType" }, "newMembershipNumber": { "description": "Card Number of the membership.", "type": "string" }, "nameOnCard": { "description": "Name to be displayed on the membership card.", "type": "string" }, "programDescription": { "description": "Description of the membership program.", "type": "string" }, "membershipLevel": { "description": "Indicates the membership level.", "type": "string" }, "membershipLevelDescription": { "description": "Indicates the membership level description.", "type": "string", "minLength": 0, "maxLength": 200 }, "membershipClass": { "description": "Indicates the membership class.", "type": "string" }, "earningPreference": { "description": "Earning preference to the membership.", "$ref": "#/definitions/membershipEarningPreferenceType" }, "inactive": { "description": "Indicates whether membership is active or inactive.", "type": "boolean" }, "benefits": { "description": "benefits for the membership.", "$ref": "#/definitions/benefitsType" }, "tierAdministration": { "description": "Defines the degree of participation for this membership in the tier management portion of the program.", "$ref": "#/definitions/tierAdministrationType" }, "downgrade": { "description": "Defines how downgrading will be handled for this membership.", "$ref": "#/definitions/downgradeType" }, "reIssueNewCard": { "description": "The status of issuing new membership card to the member.", "$ref": "#/definitions/cardReIssueType" }, "excludeFromBatch": { "description": "True if you want to exclude the member from the Membership Fulfillment extract,the member's actions will not be included in the fulfillment extract until this value set to false.", "type": "boolean" }, "upgradeDescription": { "description": "Indicates Upgrade information which includes member's next tier level, requirements for the next upgrade.", "type": "string", "minLength": 0, "maxLength": 32000 }, "downgradeDescription": { "description": "Indicates information regarding the member's possible downgrades.", "type": "string", "minLength": 0, "maxLength": 32000 }, "rating": { "description": "Value Rating Type Description for this membership.", "type": "string" }, "membershipEnrollmentCode": { "description": "Indicates how the guest enrolled in the program.", "type": "string", "minLength": 0, "maxLength": 20 }, "memberStatus": { "description": "Indicates where the guest is in the membership enrollment process.", "type": "string", "minLength": 0, "maxLength": 20 }, "currentPoints": { "description": "Profile MemberShip Points.", "type": "number" }, "pointsLabel": { "description": "Label used to refer to points for this membership type", "type": "string", "minLength": 0, "maxLength": 20 }, "enrollmentSource": { "description": "Source from where the enrollment is done.", "type": "string", "minLength": 0, "maxLength": 20 }, "enrollmentResort": { "description": "Resort/CRO where enrollment is done.", "type": "string", "minLength": 0, "maxLength": 20 }, "preferredCard": { "description": "Preferred Card.", "type": "boolean" }, "membershipId": { "description": "Card Number of the membership.", "type": "string" }, "membershipType": { "description": "Type of membership.", "type": "string" }, "primaryMembershipYn": { "description": "Indicator if Membership is a Primary Membership.", "type": "string", "minLength": 0, "maxLength": 1 }, "primaryMembership": { "description": "Indicator that implies if membership type is a Primary Membership Type. This attribute is only applicable when fetching information using get operations and not used in post and put operations.", "type": "boolean" }, "membershipIdNo": { "description": "Membership ID Number.", "type": "integer" }, "playerRanking": { "description": "Ranking assigned to the Player Profile by the Gaming system.", "type": "integer" }, "centralSetup": { "description": "Indicates how the award points for this membership type will be managed.", "type": "boolean" }, "signupDate": { "description": "Indicates when the member signed up for the loyalty program.", "type": "string", "format": "date", "maxLength": 8 }, "effectiveDate": { "description": "Indicates the starting date.", "type": "string", "format": "date", "maxLength": 8 }, "expireDate": { "description": "Indicates the ending date.", "type": "string", "format": "date", "maxLength": 8 }, "expireDateExclusiveIndicator": { "description": "When true, indicates that the ExpireDate is the first day after the applicable period (e.g. when expire date is Oct 15 the last date of the period is Oct 14).", "type": "boolean" }, "orderSequence": { "description": "Display Order sequence.", "type": "number" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible 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 }, "errorDescription": { "description": "The error in membership information in a staged profile with an invalid status.", "type": "string", "minLength": 0, "maxLength": 2000 }, "registrationResort": { "description": "Registration resort.", "type": "string", "minLength": 0, "maxLength": 20 }, "enrollmentCode": { "description": "Enrollment code.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipStatus": { "description": "Membership status.", "type": "string", "minLength": 0, "maxLength": 20 }, "inactiveDate": { "description": "Inactivation date of the record.", "type": "string", "format": "date", "maxLength": 8 }, "deviceCode": { "description": "Device encoded string.", "type": "string", "minLength": 0, "maxLength": 200 }, "deviceDisabledDate": { "description": "Device disabled date.", "type": "string", "format": "date", "maxLength": 8 }, "updateExistingMembership": { "description": "Indicates if existing information for primary membership should be overwritten.", "type": "boolean" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } }, "description": "Detailed information of the memberships." }, "stagedProfilePreferenceType": { "type": "object", "properties": { "preferenceValue": { "description": "Preference value for display purposes.", "type": "string", "minLength": 0, "maxLength": 200 }, "description": { "description": "Preference Description for display purposes.", "type": "string", "minLength": 0, "maxLength": 2000 }, "global": { "description": "Whether this preference is property specific or not.", "type": "boolean" }, "source": { "description": "Source of the preference.", "type": "string", "minLength": 0, "maxLength": 40 }, "hotels": { "description": "If specified preference belongs to the Hotels listed, otherwise it is a global preference.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "preferenceCode": { "type": "string", "minLength": 0, "maxLength": 20 }, "excludedPreferencesCount": { "description": "Specifies the count of preferences excluded for the attached reservation preference.", "type": "integer" }, "copyToProfile": { "description": "Specifies whether to copy the reservation preference to the profile or not.", "type": "boolean" }, "errorDescription": { "description": "The error in Preference information in a staged profile with an invalid status", "type": "string", "minLength": 0, "maxLength": 2000 }, "inactiveDate": { "description": "Inactivation date of the record.", "type": "string", "format": "date", "maxLength": 8 }, "resortPrefernce": { "description": "Prefernce resort.", "type": "string", "minLength": 0, "maxLength": 20 }, "valid": { "description": "Indicated whether the preference information is valid.", "type": "boolean" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } }, "description": "Guest Preference details for the profile." }, "stagedProfileCommissionType": { "type": "object", "properties": { "commissionCode": { "description": "Commission code for the profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "errorDescription": { "description": "The error in commission information in a staged profile with an invalid status.", "type": "string", "minLength": 0, "maxLength": 2000 }, "inactiveDate": { "description": "Inactivation date of the record.", "type": "string", "format": "date", "maxLength": 8 }, "currencyCode": { "description": "Currency code for the commission.", "type": "string", "minLength": 0, "maxLength": 20 }, "commissionResort": { "description": "Resort corresponding to the commission.", "type": "string", "minLength": 0, "maxLength": 20 }, "valid": { "description": "Indicates whether the commission information is valid.", "type": "boolean" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } }, "description": "Information on commission for the customer." }, "stagedProfileKeywordType": { "type": "object", "properties": { "keywordDetail": { "description": "The keyword new value, in case keyword value is modified.", "$ref": "#/definitions/keywordDetailType" }, "errorDescription": { "description": "The error in keyword information in a staged profile with an invalid status", "type": "string", "minLength": 0, "maxLength": 2000 }, "keywordType": { "description": "The type of keyword", "type": "string", "minLength": 0, "maxLength": 20 }, "keyword": { "description": "The keyword value.", "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 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } } }, "stagedProfileNegotiatedRateType": { "type": "object", "properties": { "negotiatedInfoList": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/negotiatedInfoType" } }, "hotelId": { "description": "Hotel code for the negotiated rate.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateCode": { "description": "Rate plan code for the negotiated rate.", "type": "string", "minLength": 0, "maxLength": 20 }, "errorDescription": { "description": "The error in negotiated rate information in a staged profile with an invalid status", "type": "string", "minLength": 0, "maxLength": 2000 }, "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 } }, "description": "This holds a list of NegotiatedInfoType." }, "stagedProfileIdentificationsType": { "type": "object", "properties": { "identification": { "description": "Detailed information on the identification of the customer.", "$ref": "#/definitions/identificationType" }, "errorDescription": { "description": "The error in negotiated rate information in a staged profile with an invalid status", "type": "string", "minLength": 0, "maxLength": 2000 }, "documentResort": { "description": "Hotel code to which the document belongs.", "type": "string", "minLength": 0, "maxLength": 20 }, "inactiveDate": { "description": "The date when the record was inactivated.", "type": "string", "format": "date", "maxLength": 8 }, "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 } }, "description": "Information on the identification of the customer." }, "stagedProfileRoutingInstructionType": { "type": "object", "properties": { "transactionInfo": { "description": "Transaction code information in a staged profile with an invalid status", "$ref": "#/definitions/stagedProfileTrxInfoType" }, "billingInstruction": { "description": "Configured Billing Instruction in a staged profile with an invalid status", "$ref": "#/definitions/stagedProfileBillingInstructionType" } } }, "stagedProfileTrxInfoType": { "type": "object", "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" }, "errorDescription": { "description": "The error in transaction code information in a staged profile with an invalid status", "type": "string", "minLength": 0, "maxLength": 2000 }, "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 } }, "description": "Transaction codes info." }, "stagedProfileBillingInstructionType": { "type": "object", "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 }, "errorDescription": { "description": "The error in billing instruction information in a staged profile with an invalid status", "type": "string", "minLength": 0, "maxLength": 2000 }, "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 } }, "description": "Configured Billing Instruction which represents a set of Transaction Codes." }, "stagedProfileUserDefinedFieldsType": { "type": "object", "description": "Used to hold user defined fields(UDFs) for staged profile.", "properties": { "characterUDFs": { "description": "Collection of user defined fields of Character/String Type.", "$ref": "#/definitions/stagedProfileCharacterUDFsType" }, "numericUDFs": { "description": "Collection of user defined fields of Numeric Type.", "$ref": "#/definitions/stagedProfileNumericUDFsType" }, "dateUDFs": { "description": "Collection of user defined fields of Date Type.", "$ref": "#/definitions/stagedProfileDateUDFsType" } } }, "stagedProfileCharacterUDFsType": { "type": "array", "description": "Used to hold collection of user defined fields of Character/String Type.", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileCharacterUDFType" } }, "stagedProfileCharacterUDFType": { "type": "object", "properties": { "name": { "description": "Used to hold user defined field of Character Type. It is highly recommended to use UDFC01, UDFC02,...UDFC40 (Total 40) as Character/String UDF names(commonly used on Reservation, Profile etc.). Name is not restricted using enumeration, to provide flexibility of different name usage if required.", "type": "string", "minLength": 0, "maxLength": 20 }, "value": { "description": "Value of user defined field.", "type": "string", "minLength": 0, "maxLength": 2000 }, "alternateName": { "description": "Label of user defined field used by vendors or customers.", "type": "string", "minLength": 0, "maxLength": 2000 }, "errorDescription": { "description": "The error in a user defined field in a staged profile with an invalid status", "type": "string", "minLength": 0, "maxLength": 2000 }, "tableName": { "description": "PMS table name.", "type": "string", "minLength": 0, "maxLength": 40 }, "valid": { "description": "Indicates whether the UDF information is valid.", "type": "boolean" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } }, "description": "Used to hold user defined field of Character/String Type." }, "stagedProfileNumericUDFsType": { "type": "array", "description": "Used to hold collection of user defined fields of Numeric Type.", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileNumericUDFType" } }, "stagedProfileNumericUDFType": { "type": "object", "properties": { "name": { "description": "Name of user defined field.", "type": "string", "minLength": 0, "maxLength": 20 }, "value": { "description": "Value of user defined field.", "type": "number" }, "alternateName": { "description": "Label of user defined field used by vendors or customers.", "type": "string", "minLength": 0, "maxLength": 2000 }, "errorDescription": { "description": "The error in a user defined field in a staged profile with an invalid status", "type": "string", "minLength": 0, "maxLength": 2000 }, "tableName": { "description": "PMS table name.", "type": "string", "minLength": 0, "maxLength": 40 }, "valid": { "description": "Indicates whether the UDF information is valid.", "type": "boolean" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } }, "description": "Used to hold user defined field of Numeric Type. It is highly recommended to use UDFN01, UDFN02,...UDFN40 (Total 40) as Numeric UDF names(commonly used on Reservation, Profile etc.). Name is not restricted using enumeration, to provide flexibility of different name usage if required." }, "stagedProfileDateUDFsType": { "type": "array", "description": "Used to hold collection of user defined fields of Date Type.", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileDateUDFType" } }, "stagedProfileDateUDFType": { "type": "object", "properties": { "name": { "description": "Used to hold user defined field of Date Type. It is highly recommended to use UDFD01, UDFD02,...UDFN20 (Total 20) as Date UDF names(commonly used on Reservation, Profile etc.). Name is not restricted using enumeration, to provide flexibility of different name usage if required.", "type": "string", "minLength": 0, "maxLength": 20 }, "value": { "description": "Value of user defined field.", "type": "string", "format": "date", "maxLength": 8 }, "alternateName": { "description": "Label of user defined field used by vendors or customers.", "type": "string", "minLength": 0, "maxLength": 2000 }, "errorDescription": { "description": "The error in a user defined field in a staged profile with an invalid status", "type": "string", "minLength": 0, "maxLength": 2000 }, "tableName": { "description": "PMS table name.", "type": "string", "minLength": 0, "maxLength": 40 }, "valid": { "description": "Indicates whether the UDF information is valid.", "type": "boolean" }, "id": { "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.", "type": "string", "minLength": 0, "maxLength": 80 }, "type": { "description": "A reference to the type of object defined by the UniqueID element.", "type": "string", "minLength": 0, "maxLength": 40 } }, "description": "Used to hold user defined field of Date Type." }, "stagedProfileCommentInfosType": { "type": "array", "description": "List of Notes for the customer.", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileCommentInfoType" } }, "stagedProfileCommentInfoType": { "type": "object", "description": "Comment related to the profile/reservation.", "properties": { "comment": { "description": "Comment details for the comment. It will be empty in case of delete comment.", "$ref": "#/definitions/commentType" }, "createDateTime": { "description": "Time stamp of the creation.", "type": "string", "format": "date-time" }, "creatorId": { "description": "ID of creator. The creator could be a software system identifier or an identifier of an employee resposible 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 }, "lineNo": { "description": "The line number of the comment.", "type": "integer" }, "inActiveDate": { "description": "Indicates comment inactive date.", "type": "string", "format": "date", "maxLength": 8 }, "errorDescription": { "description": "The error in a user defined field in a staged profile with an invalid status.", "type": "string", "minLength": 0, "maxLength": 2000 }, "valid": { "description": "Indicates whether the comment information is valid.", "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" }, "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 } } }, "profileDetails": { "type": "object", "description": "Response object for fetching multiple detailed profiles by unique identifiers..", "properties": { "profiles": { "description": "Type contains Profile's primary details and it's children details.", "$ref": "#/definitions/profilesType" }, "masterInfoList": { "description": "Refer to Generic common types document.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/masterInfoType" } }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profilesType": { "type": "object", "description": "A collection of Profile objects or Unique IDs of Profiles.", "properties": { "profileInfo": { "description": "A collection of Profiles or Unique IDs of Profiles.", "type": "array", "maxItems": 4000, "items": { "type": "object", "properties": { "profileIdList": { "description": "Unique identifiers for the Profile for both internal and external systems. In case of Travel Agent the IATA code and in case of Company can be any form of identifier as id.", "$ref": "#/definitions/profileIdList" }, "profile": { "description": "Provides detailed information regarding either a company or a customer profile.", "$ref": "#/definitions/profileType" }, "chainCode": { "description": "Chain code associated with the profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "allowedActions": { "description": "Collection of allowed actions for profile search.", "$ref": "#/definitions/profileAllowedActionsType" } } } }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "recentlyAccessedProfiles": { "type": "object", "description": "Response with the fetched recently accessed profiles.", "properties": { "profiles": { "description": "List of recently accessed profiles.", "type": "array", "items": { "$ref": "#/definitions/recentlyAccessedProfileType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "recentlyAccessedProfileType": { "type": "object", "description": "A recently used profile details.", "properties": { "profileIdList": { "description": "List of unique ids, consisting of the profile name id.", "$ref": "#/definitions/profileIdList" }, "guestFirstName": { "description": "First Name of a Profile.", "$ref": "#/definitions/givenNameType" }, "guestLastName": { "description": "Last Name of a profile.", "$ref": "#/definitions/surnameType" }, "accessDate": { "description": "The date the record was accessed.", "type": "string", "format": "date", "maxLength": 8 }, "profileType": { "description": "Type of profile such as Guest, Agent, Company, Group, Source, Employee, Hotel, Vendor or Contact.", "$ref": "#/definitions/profileTypeType" } } }, "stagedProfileDetails": { "type": "object", "description": "Response object for the staged profile.", "properties": { "stagedProfile": { "description": "Response object for the staged profile.", "$ref": "#/definitions/stagedProfileType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "stagedProfile": { "type": "object", "description": "Request object for changing the staged profile.", "properties": { "stagedProfile": { "$ref": "#/definitions/stagedProfileType" }, "changeInstructions": { "$ref": "#/definitions/stagedProfileChangeInstructionsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "stagedProfileChangeInstructionsType": { "type": "object", "description": "Information about instructions to change the staged profile.", "properties": { "fullyOverlay": { "description": "If true then delete and recreat the staged profile details.", "type": "boolean" } } }, "suspendedAddresses": { "type": "object", "description": "Response object for fetching unique company profile.", "properties": { "suspendedAddressesInfo": { "description": "Suspended Addresses List", "$ref": "#/definitions/suspendedAddressesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "suspendedAddressesType": { "type": "object", "description": "List of suspended addresses returned, based on the entered seach criteria.", "properties": { "suspendedAddressesInfo": { "description": "A collection of suspended Addresses.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/suspendedAddressesInfoType" } }, "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" } } }, "suspendedAddressesInfoType": { "type": "object", "properties": { "addressId": { "description": "Corporate id of the profile.", "type": "integer" }, "name": { "description": "Last Name of the Profile against which the Suspended Addresses are fetched.", "type": "string", "minLength": 0, "maxLength": 80 }, "profileId": { "description": "Opera ID for the profile attached to the address.", "$ref": "#/definitions/uniqueID_Type" }, "firstName": { "description": "First Name of the Profile against which the Suspended Addresses are fetched.", "type": "string", "minLength": 0, "maxLength": 80 }, "profileType": { "description": "Profile Type of the Profile against which the Suspended Addresses are fetched..", "type": "string", "minLength": 0, "maxLength": 20 }, "clientID": { "description": "Corporate id of the profile.", "$ref": "#/definitions/uniqueID_Type" }, "matchCode": { "description": "Match Code of the Address Validation Performed from the batch processing", "type": "string", "minLength": 0, "maxLength": 20 }, "validateDate": { "description": "Validate Date.", "type": "string", "format": "date", "maxLength": 8 }, "country": { "description": "The country of residence where the property is located e.", "$ref": "#/definitions/countryNameType" }, "hotelId": { "description": "Resort of the Profile", "type": "string", "minLength": 0, "maxLength": 20 } } }, "profileSubscriptionsToSynchronize": { "type": "object", "description": "Request object for re-subscribing profile subscriptions.", "properties": { "criteria": { "description": "Criteria to re-subscribe profile subscriptions.", "$ref": "#/definitions/synchronizeProfileSubscriptionsCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "synchronizeProfileSubscriptionsCriteriaType": { "type": "object", "description": "Criteria for searching profile subscriptions.", "properties": { "profileId": { "description": "Unique ID of the profile.", "$ref": "#/definitions/profileId" }, "databaseIds": { "description": "List of codes identifying the external database record which is linked to external systems.", "$ref": "#/definitions/databaseIDListType" } } }, "databaseIDListType": { "type": "array", "description": "Code identifying the external database record which is linked to external systems.", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "forgetProfilesCriteria": { "type": "object", "description": "Operation to validate profiles for forgetting.", "properties": { "validateForgetProfilesCriteria": { "description": "Criteria to identify the profiles to be validated for forgetting.", "$ref": "#/definitions/forgetProfilesCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "forgetProfilesCriteriaType": { "type": "object", "description": "Criteria to identify the profiles to be forgotten.", "properties": { "profiles": { "description": "Collection of Unique Identifiers of profiles to be forgotten.", "$ref": "#/definitions/profiles" }, "centralProfiles": { "description": "Collection of Unique Identifiers of profiles to be forgotten.", "$ref": "#/definitions/profiles" } } }, "profiles": { "type": "array", "description": "Unique identifier for a profile.", "maxItems": 4000, "items": { "$ref": "#/definitions/profileId" } }, "validatedForgetProfiles": { "type": "object", "description": "Response object for validating profiles for forgetting.", "properties": { "validateForgetProfilesResults": { "description": "Results of validation.", "$ref": "#/definitions/forgetProfileResultListType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "forgetProfileResultListType": { "type": "array", "description": "Result of processing/validation for forgetting a profile.", "maxItems": 4000, "items": { "$ref": "#/definitions/forgetProfileResultType" } }, "forgetProfileResultType": { "type": "object", "description": "Results of Anonymization processing/validation.", "properties": { "profileId": { "description": "Unique Identifier for OPERA Profile.", "$ref": "#/definitions/profileId" }, "canBeForgotten": { "description": "Indicates if the profile is eligible to be anonymized.", "type": "boolean" }, "status": { "description": "Anonymization Status of the Guest Profile.", "$ref": "#/definitions/anonymizationStatusType" }, "failureReasons": { "description": "Collection of reasons describing why the profile is not eligible to be anonymized.", "$ref": "#/definitions/forgetProfileFailureReasonListType" } } }, "forgetProfileFailureReasonListType": { "type": "array", "description": "Reason describing why the profile is not eligible to be forgotten.", "maxItems": 4000, "items": { "$ref": "#/definitions/forgetProfileFailureReasonType" } }, "forgetProfileFailureReasonType": { "type": "object", "description": "Provides information about the reason why the profile is not eligible to be forgotten.", "properties": { "reasonCode": { "description": "Code representing the reason why the profile is not eligible to be forgotten.", "type": "string", "minLength": 0, "maxLength": 20 }, "reasonDescription": { "description": "Reason describing why the profile is not eligible to be forgotten.", "type": "string", "minLength": 0, "maxLength": 2000 }, "expectedResolutionDate": { "description": "Expected resolution date for this reason.", "type": "string", "format": "date", "maxLength": 8 } } }, "actionType": { "type": "string", "description": "Action types allowed by the event api.", "enum": [ "CREATE", "UPDATE", "DELETE" ] }, "revenueBucketType": { "type": "object", "description": "The different revenue buckets of a profile.", "properties": { "code": { "description": "Code of revenue type.", "type": "string", "minLength": 0, "maxLength": 40 }, "description": { "description": "Description of revenue type.", "type": "string", "minLength": 0, "maxLength": 100 }, "value": { "description": "Value of revenue.", "type": "number" } } }, "revenueBucketListType": { "type": "object", "description": "Details about revenue summary.", "properties": { "bucket": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/revenueBucketType" } } } }, "membershipPromotionDetails": { "type": "object", "description": "The request element used to create a membership promotion.", "properties": { "membershipPromotion": { "description": "The membership promotion information to add to the database.", "$ref": "#/definitions/membershipPromotionType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipPromotionsDetails": { "type": "object", "description": "Response object for fetching membership promotions information.", "properties": { "membershipPromotions": { "type": "array", "maxItems": 4000, "description": "Collection of membership promotions.", "items": { "$ref": "#/definitions/membershipPromotionType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipPromotionType": { "type": "object", "description": "Information related to a membership promotion.", "properties": { "promotionCode": { "description": "The promotion code attached with the member.", "type": "string", "minLength": 0, "maxLength": 20 }, "startDate": { "description": "The start date of membership promotion.", "type": "string", "format": "date", "maxLength": 8 }, "inactive": { "description": "Indicates if the membership type is inactive.", "type": "boolean" }, "hotelId": { "description": "Indicates Resort of membership promotion", "type": "string", "minLength": 0, "maxLength": 20 }, "endDate": { "description": "Indicates the end date of membership promotion.", "type": "string", "format": "date" }, "global": { "description": "Specifies whether the promotion code attached is global.", "type": "boolean" }, "membershipPromotionId": { "description": "The ID of a promotion owned by a membership.", "type": "number" } } }, "copyInstructionsType": { "type": "object", "description": "Copy Instructions for a profile", "properties": { "instructions": { "type": "array", "description": "List of the profile details to be copied", "items": { "$ref": "#/definitions/copyInstructionType" } } } }, "copyInstructionType": { "type": "string", "description": "Copy Instruction for a profile", "enum": [ "Keyword" ] }, "profileMatchStatusType": { "type": "string", "description": "Status of the match. It can be one of these 3 options: Match Points Computed, Do Not Merge, Can Not Merge.", "enum": [ "MPC", "DNM", "CNM" ] }, "profilesMatch": { "type": "object", "description": "Response object for fetching the profiles match.", "properties": { "profilesMatchList": { "type": "array", "description": "List of profiles matches. The values are ordered by default using main profile first name.", "maxItems": 200, "items": { "$ref": "#/definitions/profilesMatchType" } }, "offset": { "description": "Indicates the index of the next applicable set(page).", "type": "integer" }, "limit": { "description": "Indicates number of records the API can return as per the API request limit sent. A maximum of 200 records can be only returned at a time.", "type": "integer" }, "count": { "description": "Indicates number of records the API has returned actually as per the API request criteria.", "type": "integer" }, "hasMore": { "description": "Indicates whether there are more records available to be returned as per the API request criteria or not.", "type": "boolean" }, "totalResults": { "description": "Indicates total number of records available that can be returned as per the API request criteria.", "type": "integer" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profilesMatchType": { "type": "object", "description": "Type that contains the information of a profile match such as main profile, profile to merge, match id, status of the match, date when the points where computed for last time, etc.", "properties": { "matchId": { "description": "Unique identifier for this particular profile match record.", "type": "string", "minLength": 0, "maxLength": 80 }, "mainProfile": { "description": "Information of main profile.", "$ref": "#/definitions/shortInfoProfileType" }, "profileToMerge": { "description": "Information of profile that will be merged to the main profile.", "$ref": "#/definitions/shortInfoProfileType" }, "rule": { "description": "Match criteria rule code that was used to create that match.", "type": "string", "minLength": 0, "maxLength": 400 }, "matchCriteria": { "description": "Description of the match point for the profile merge.", "type": "string", "minLength": 0, "maxLength": 4000 }, "points": { "description": "Total number of weighing match points that was found between main profile and profile to merge.", "type": "number", "minimum": 0 }, "status": { "description": "Status of the match. It can be one of these 3 options: Match Points Computed, Do Not Merge, Can Not Merge.", "$ref": "#/definitions/profileMatchStatusType" }, "computedOn": { "description": "Date when the weighing points were computed for the profiles", "type": "string", "format": "date", "minLength": 0, "maxLength": 20 }, "doNotMerge": { "description": "If this value is true, then this record is set as do not merge, if false, it is set as merge.", "type": "boolean" }, "processingMessage": { "description": "Description of the processing message while merging profiles.", "type": "string", "minLength": 0, "maxLength": 4000 } } }, "shortInfoProfileType": { "type": "object", "description": "This type contains short information of a profile.", "properties": { "nameId": { "description": "Unique id for the profile.", "type": "string", "minLength": 0, "maxLength": 80 }, "displayName": { "description": "Name that will be displayed for the profile, it is the combination of last name and first name of a profile.", "type": "string", "minLength": 0, "maxLength": 160 }, "clientId": { "description": "Corporate id of the profile.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "matchListType": { "type": "object", "description": "Type that contains the list of theh matchIds that will be updated to skip or don't skip profile match.", "properties": { "matchList": { "type": "array", "description": "List of matchIds that will be updated to skip or don't skip profile match.", "maxItems": 4000, "items": { "$ref": "#/definitions/matchType" } } } }, "matchType": { "type": "object", "description": "Type that contains matchId and if this particular matchId is set to skip profile match or not.", "properties": { "matchId": { "description": "Identifier of the match record.", "type": "string", "minLength": 0, "maxLength": 80 }, "skipProfileMatch": { "description": "If true, it sets the record to skip profile match for this particular matchId. if false, it sets the record to not skip profile match.", "type": "boolean" } } }, "membershipPointsExceptionsType": { "type": "object", "description": "Contains Membership points exception information.", "properties": { "membershipTransactionIds": { "description": "Unique identifier associated with the membership transaction.", "type": "array", "maxItems": 20, "items": { "$ref": "#/definitions/membershipTransactionId" } }, "acceptPoints": { "description": "Indicates if the membership points exception are to be accepted or rejected.", "type": "boolean" }, "userNotes": { "description": "Notes regarding the resolution of the membership transaction exception or for any other reason.", "type": "string", "minLength": 0, "maxLength": 4000 } } }, "membershipPointsExceptions": { "type": "object", "description": "Response object for fetching membership points exceptions.", "properties": { "membershipPointsExceptions": { "description": "A collection of membership points exceptions.", "$ref": "#/definitions/membershipPointsExceptionsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "fileType": { "description": "File Type of the staging file.", "type": "string", "enum": [ "IMPORT_TAX_PERC" ] }, "memberPointsExceptionType": { "type": "object", "description": "Details about a membership like ProfileID, Card Number, Type, Level, etc.", "properties": { "hotelId": { "description": "Hotel code of the membership transaction exceptions.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileId": { "description": "The profile to which this membership is associated with.", "$ref": "#/definitions/profileId" }, "name": { "description": "The profile name associated with this membership.", "type": "string" }, "fromToRangeDate": { "description": "Arrival and Departure date of stay for which you are displaying membership transaction exceptions.", "$ref": "#/definitions/dateRangeType" }, "membershipIdNo": { "description": "Unique identifier of this membership.", "type": "number" }, "membershipType": { "description": "The type of the membership.", "$ref": "#/definitions/codeDescriptionType" }, "membershipCardNo": { "description": "The card number associated with this membership.", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipLevel": { "description": "The current level of the membership.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipTransactionId": { "description": "Unique identifier associated with the membership transaction.", "$ref": "#/definitions/membershipTransactionId" }, "roomsBooked": { "description": "The number of rooms booked.(MR)", "type": "integer" }, "backToBack": { "description": "Indicates if back to back membership transaction exceptions have occurred or not.", "type": "boolean" }, "averageRate": { "description": "The average rate of the stay.", "type": "number" }, "awardPoints": { "description": "Award points associated with this membership points transaction.", "type": "number" }, "tierNightPoints": { "description": "Tier night points associated with this membership points transaction.", "type": "number" }, "tierStayPoints": { "description": "Tier stay points associated with this membership points transaction.", "type": "number" }, "tierRevenuePoints": { "description": "Tier revenue points associated with this membership points transaction.", "type": "number" }, "pointsCalculate": { "description": "Points Calculated value(Y/N) for the selected transaction.", "type": "boolean" }, "reservationIdList": { "description": "The reservation related ids.", "$ref": "#/definitions/reservationIdList" }, "processingMessages": { "description": "The systems records and notes identifying the exception criteria.", "type": "string", "minLength": 0, "maxLength": 2000 }, "exceptionStatus": { "description": "Indicates the type of Exception like Exception not resolved,Points Rejected on Exception etc.,", "$ref": "#/definitions/membershipExceptionStatusType" } } }, "memberPointsExceptions": { "type": "object", "description": "Response object for fetching membership points exceptions.", "properties": { "memberPointsExceptions": { "type": "array", "maxItems": 100, "description": "A collection of membership points exceptions.", "items": { "$ref": "#/definitions/memberPointsExceptionType" } }, "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" } } }, "membershipExceptionStatusType": { "type": "string", "description": "List of possible membership exception type.", "enum": [ "AllExceptions", "PointsAwardedOnException", "PointsRejectedOnException", "ExceptionNotResolved" ] }, "membershipReservationDetails": { "type": "object", "description": "Response element for membership reservation activity updated.", "properties": { "calendarDate": { "description": "Date for the requested membership reservation details.", "type": "string", "format": "date" }, "membershipReservationDetailsList": { "type": "array", "description": "List of fetched membership reservation details.", "maxItems": 200, "items": { "$ref": "#/definitions/membershipReservationDetailUnitType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipReservationDetailUnitType": { "type": "object", "description": "The filetered membership reservation information.", "properties": { "value": { "description": "Membership reservation detail value.", "type": "number" }, "code": { "$ref": "#/definitions/membershipReservationDetailCodeType" } } }, "membershipReservationDetailCodeType": { "type": "string", "description": "Supported memebership reservation detail code type.", "enum": [ "ArrivalsTotal", "DeparturesTotal", "InHouseTotal", "RoomRevenue" ] }, "issueAwardsInfoType": { "type": "array", "description": "List of awards info.", "maxItems": 100, "items": { "$ref": "#/definitions/issueAwardInfoType" } }, "issueAwardInfoType": { "type": "object", "description": "Information about issue award.", "properties": { "pointsRequired": { "description": "The number of points that must be redeemed for this award.", "type": "number" }, "cancelPenaltyPoints": { "description": "The award points that will be forfeited if the cancel penalty charge is applied.", "type": "number" }, "cancelPenaltyDays": { "description": "Number of days before arrival when a reservation may be cancelled without an award points penalty.", "type": "number" }, "awardNumber": { "description": "An identifying number of the award, assigned by the system when the award was issued.", "type": "number" }, "packageCode": { "description": "Package/Product code for the award.", "type": "string", "minLength": 0, "maxLength": 20 }, "stayDate": { "description": "The date of the reservation associated with the award. There may be more than one date (multiple nights) associated with award.", "type": "string", "format": "date", "maxLength": 8 } } }, "issuedAward": { "type": "object", "description": "Response object for issue awards.", "properties": { "issueAwards": { "description": "Collection of issue awards information.", "$ref": "#/definitions/issueAwardsInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "otherAwardAvailabilityType": { "type": "object", "description": "Information related to the Other type Award.", "properties": { "awardType": { "description": "Unique code that identifies this award.", "type": "string", "minLength": 0, "maxLength": 40 }, "shortDescription": { "description": "Descriptive name of the award.", "type": "string", "minLength": 0, "maxLength": 80 }, "awardValue": { "description": "The actual currency value of the award.", "type": "number" }, "pointsRequired": { "description": "The number of points requried to redeem this award.", "type": "number" } } }, "membershipOtherAwardInfoType": { "type": "object", "description": "Information about the OTHER type Award and profile membership. OTHER type awards can be redeemed based on the points available with a particular member.", "properties": { "otherInfo": { "description": "Information related to the Other type Award.", "$ref": "#/definitions/otherAwardAvailabilityType" }, "membershipId": { "description": "Unique Membership ID.", "type": "number" }, "membershipNumber": { "description": "The card number associated with the membership.", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipType": { "description": "The type of the membership.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "otherAwardsIssueCriteria": { "type": "object", "description": "Request object to issue an OTHER type award to a member's profile.", "properties": { "issueAwardsInfo": { "type": "array", "description": "List of OTHER type awards information.", "maxItems": 100, "items": { "$ref": "#/definitions/membershipOtherAwardInfoType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileMatch": { "type": "object", "description": "Response object for fetching profile Match.", "properties": { "profileId": { "description": "The profile Id for which the details matched.", "$ref": "#/definitions/profileId" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "stagedProfileSummariesType": { "type": "object", "description": "A collection of staged profiles.", "properties": { "profileInfo": { "description": "Basic information about staged profile.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stagedProfileSummaryType" } }, "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" } } }, "stagedProfileSummaryType": { "type": "object", "description": "Basic information about staged profile.", "properties": { "hotelId": { "description": "Hotel code associated with the staged profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileIdList": { "description": "List of unique identifier of staged profile.", "$ref": "#/definitions/uniqueIDListType" }, "profileName": { "description": "Name information for the staged profile.", "$ref": "#/definitions/profileNameType" }, "internalProfileName": { "description": "Indicates name information present in OPERA for a staged profile.", "$ref": "#/definitions/profileNameType" }, "primaryMembershipCardNo": { "description": "Indicates the primary membership card number of a staged profile", "type": "string", "minLength": 0, "maxLength": 40 }, "membershipEnrollmentCode": { "description": "Membership enrollment code of a staged profile.", "type": "string", "maxLength": 40 }, "membershipExpirationDate": { "description": "Indicates the expiry date of a staged membership profile.", "type": "string", "format": "date" }, "membershipLevel": { "description": "Indicates the membership level of a staged membership profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "stagedProfileReasons": { "description": "Describes the reasons why a profile got staged.", "type": "array", "maxItems": 8, "items": { "$ref": "#/definitions/stagedReasonsType" } }, "importDate": { "description": "The date on which the staged profile has been received.", "type": "string", "format": "date", "maxLength": 8 }, "profileType": { "description": "Type of the staged profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "region": { "description": "The region of the staged profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "country": { "description": "The country of residence where the property is located that has received the staged profile.", "$ref": "#/definitions/countryNameType" }, "stageStatus": { "description": "The status of the staged profiles.", "$ref": "#/definitions/stagedProfileStatus" } } }, "stagedProfileStatus": { "type": "string", "description": "Simple type for status of the staged profiles.", "enum": [ "Valid", "Invalid", "MatchFound", "New" ] }, "stagedProfileProcessType": { "type": "string", "description": "Process Type enumerator.", "enum": [ "New", "Match", "Reprocess", "ForceMerge", "ForceAdd" ] }, "stagedProfileId": { "type": "object", "description": "Unique identifier for a staged profile.", "properties": { "hotelId": { "description": "Hotel code for the staged profile to be reprocessed.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileId": { "description": "External profile ID to be reprocessed.", "$ref": "#/definitions/profileId" } } }, "processStagedProfileType": { "type": "object", "description": "Information required to process a atged profile.", "properties": { "stagedProfileId": { "description": "Unique Identifier for Staged Profile.", "$ref": "#/definitions/stagedProfileId" }, "processType": { "description": "Type of processing.", "$ref": "#/definitions/stagedProfileProcessType" }, "sourceType": { "description": "Type of source.", "$ref": "#/definitions/stagedProfileSourceType" } } }, "stagedProfileSourceType": { "type": "string", "enum": [ "Screen", "Interface" ] }, "processStagedProfileResultType": { "type": "object", "description": "Information about the staged profile after processing.", "properties": { "hotelId": { "description": "Hotel Code for the staged profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileId": { "description": "The resulting profile ID after processing the staged profile.", "$ref": "#/definitions/profileId" }, "stageStatus": { "description": "The resulting profile status after processing the staged profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "result": { "description": "Processing/Rematching result for the staged profile.", "type": "string", "minLength": 0, "maxLength": 4000 } } }, "stagedReasonsType": { "type": "object", "description": "This is used to fetch staged profiles based on the reason why it got staged.", "properties": { "stagedProfileReasonsType": { "description": "This is used to fetch staged profiles based on the reason why it got staged.", "$ref": "#/definitions/stagedReasonType" } } }, "stagedReasonType": { "type": "string", "description": "Reasons why the profile got staged. InvalidExpirationDate indicates the membership expiration date is not matching with OPERA system. InvalidEnrollmentCode indicates the membership enrollment code is not matching with opera. NameChange indicates last name or first name is not matching with OPERA", "enum": [ "InvalidEnrollmentCode", "EmptyEnrollmentCode", "NameChange", "InvalidExpirationDate", "EmptyExpirationDate", "EmptyMembershipLevel", "InvalidMembershipLevel", "DuplicateMembership" ] }, "stagedProfiles": { "type": "object", "description": "Response object for the staged profiles.", "properties": { "stagedProfiles": { "description": "A collection of staged profiles.", "$ref": "#/definitions/stagedProfileSummariesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "stagedProfileCriteria": { "type": "object", "properties": { "stagedProfile": { "$ref": "#/definitions/processStagedProfileType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "processedStagedProfile": { "type": "object", "properties": { "processResult": { "$ref": "#/definitions/processStagedProfileResultType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileDistributionConditionGroupType": { "type": "object", "properties": { "condition": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileDistributionConditionType" } }, "conditionGroup": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/profileDistributionConditionGroupType" } }, "logicalOperator": { "$ref": "#/definitions/logicalOperatorType" } } }, "logicalOperatorType": { "type": "string", "enum": [ "And", "Or" ] }, "profileDistributionConditionType": { "type": "object", "properties": { "leftExpression": { "$ref": "#/definitions/profileDistributionExpressionFieldType" }, "operator": { "$ref": "#/definitions/profileDistributionExpressionOperatorType" }, "rightExpression": { "$ref": "#/definitions/profileDistributionExpressionParameterType" }, "logicalOperator": { "$ref": "#/definitions/logicalOperatorType" } } }, "profileDistributionExpressionFieldType": { "type": "object", "properties": { "fieldName": { "$ref": "#/definitions/profileDistributionFieldNameType" }, "fieldDescription": { "type": "string", "minLength": 0, "maxLength": 2000 }, "tableName": { "type": "string", "minLength": 0, "maxLength": 40 }, "virtual": { "type": "boolean" }, "dataType": { "type": "string", "minLength": 0, "maxLength": 40 }, "lovSelected": { "type": "string", "minLength": 0, "maxLength": 20 } } }, "profileDistributionFieldNameType": { "type": "object", "properties": { "field": { "description": "Field type.", "$ref": "#/definitions/fieldType" } } }, "fieldType": { "type": "string", "enum": [ "NameId" ] }, "profileDistributionExpressionParameterType": { "type": "object", "properties": { "parameter": { "type": "array", "maxItems": 3, "items": { "type": "string", "minLength": 0, "maxLength": 32000 } }, "functionIdOne": { "type": "number" }, "functionIdTwo": { "type": "number" } } }, "profileDistributionExpressionOperatorType": { "type": "object", "properties": { "operatorName": { "type": "string", "minLength": 0, "maxLength": 240 }, "operatorDescription": { "type": "string", "minLength": 0, "maxLength": 400 }, "parameterSize": { "type": "number" } } }, "membershipTransactionsSummaryCollection": { "type": "object", "description": "Response object for fetching multiple memberships transactions summaries.", "properties": { "membershipTransactionsSummaryCollection": { "type": "array", "maxItems": 4000, "description": "A collection of membership points exceptions.", "items": { "$ref": "#/definitions/membershipTransactionsSummaryType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipTransactionsSummaryType": { "type": "object", "description": "Details of membership transaction like Details, Summary, point, etc.", "properties": { "membershipDetails": { "description": "Member details for the requested membership ID.", "$ref": "#/definitions/membershipDetailsType" }, "transactionsSummary": { "description": "Member transaction Summary for the requested membership ID.", "$ref": "#/definitions/memberTransactionSummaryType" }, "recentTransactionsSummary": { "description": "Member transaction Summary(Range) for the requested membership ID.", "$ref": "#/definitions/memberTransactionRecentSummaryType" }, "pointsSummary": { "description": "Member points summary for the requested membership ID.", "$ref": "#/definitions/memberPointsSummaryType" } } }, "stayDailyRatesType": { "type": "object", "properties": { "transactionDate": { "description": "Date on which the transaction was done.", "type": "string", "format": "date" }, "bookedRoomType": { "description": "Specifies the type of room booked.", "type": "string" }, "currencyCode": { "description": "Specifies the code assigned to the currency.", "type": "string" }, "pseudoRoom": { "description": "Specifies if the room is a pseudo room.", "type": "boolean" }, "marketCode": { "description": "Specifies the market code.", "type": "string" }, "rateCode": { "description": "Specifies the rate code.", "type": "string" }, "rateAmount": { "description": "Specifies the amount added to a particular rate code.", "type": "number" }, "roomId": { "description": "Describes the room id of the room owner.", "type": "string" }, "roomType": { "description": "Describes the type of the room.", "type": "string" } }, "required": [ "transactionDate", "rateCode" ] }, "stayMembershipsType": { "type": "object", "properties": { "membershipNumber": { "description": "A unique value given to a membership.", "type": "string" }, "membershipType": { "description": "Specifies the type of membership.", "type": "string" } } }, "stayProfilesType": { "type": "object", "properties": { "primary": { "description": "Checks if the profile is primary.", "type": "boolean" }, "nameId": { "description": "Specifies the unique id that is assigned to a profile.", "type": "number" }, "pmsNameId": { "description": "Specifies the pms id that is assigned to a profile.", "type": "string" }, "profileRole": { "description": "Describes the role associated with the profile.", "type": "string" } }, "required": [ "profileRole" ] }, "stayRecordsType": { "type": "object", "properties": { "UDFC01": { "description": "Describes the user defined field 01", "type": "string" }, "UDFC02": { "description": "Describes the user defined field 02", "type": "string" }, "UDFC03": { "description": "Describes the user defined field 03", "type": "string" }, "UDFC04": { "description": "Describes the user defined field 04", "type": "string" }, "UDFC05": { "description": "Describes the user defined field 05", "type": "string" }, "UDFC06": { "description": "Describes the user defined field 06", "type": "string" }, "UDFC07": { "description": "Describes the user defined field 07", "type": "string" }, "UDFC08": { "description": "Describes the user defined field 08", "type": "string" }, "UDFC09": { "description": "Describes the user defined field 09", "type": "string" }, "UDFC10": { "description": "Describes the user defined field 10", "type": "string" }, "UDFD01": { "description": "Describes the user defined field 01", "type": "string", "format": "date" }, "UDFD02": { "description": "Describes the user defined field 02", "type": "string", "format": "date" }, "UDFD03": { "description": "Describes the user defined field 03", "type": "string", "format": "date" }, "UDFD04": { "description": "Describes the user defined field 04", "type": "string", "format": "date" }, "UDFD05": { "description": "Describes the user defined field 05", "type": "string", "format": "date" }, "UDFN01": { "description": "Describes the user defined field 10", "type": "number" }, "UDFN02": { "description": "Describes the user defined field 10", "type": "number" }, "UDFN03": { "description": "Describes the user defined field 10", "type": "number" }, "UDFN04": { "description": "Describes the user defined field 10", "type": "number" }, "UDFN05": { "description": "Describes the user defined field 10", "type": "number" }, "adults": { "description": "Describes the number of adults", "type": "number" }, "arrivalDate": { "description": "Specifies the date of arrival", "type": "string", "format": "date" }, "baseRateAmount": { "description": "Specifies the base rate amount", "type": "number" }, "baseRateCode": { "description": "Specifies the base rate code", "type": "string" }, "baseRateCurrencyCode": { "description": "Specifies the currency code of the base rate", "type": "string" }, "blockCode": { "description": "Specifies the block code", "type": "string" }, "bookedRoomType": { "description": "Specifies the type of room booked.", "type": "string" }, "bookingDate": { "description": "Specifies the date of booking.", "type": "string", "format": "date" }, "cancellationDate": { "description": "Specifies the date of cancellation", "type": "string", "format": "date" }, "channel": { "description": "Specifies the channel", "type": "string" }, "children": { "description": "specifies the number of children", "type": "number" }, "companyId": { "description": "Specifies the id assigned to the company", "type": "string" }, "confirmationLegNumber": { "description": "Specifies the confirmation leg number", "type": "number" }, "confirmationNumber": { "description": "Specifies the confirmation number", "type": "string" }, "currencyCode": { "description": "Specifies the currency code", "type": "string" }, "departureDate": { "description": "Specifies the date of departure", "type": "string", "format": "date" }, "exchangeRate": { "description": "Specifies the exchange rate", "type": "number" }, "externalReservationId": { "description": "Describes the id assigned to an external reservation", "type": "string" }, "groupId": { "description": "Specifies the id assigned to a group", "type": "string" }, "guestNameId": { "description": "Specifies the id assigned to a guest name", "type": "string" }, "complimentary": { "description": "Describes if complimentary or not", "type": "boolean" }, "primaryShare": { "description": "Describes if it is a primary share", "type": "boolean" }, "miscellaneousId": { "description": "Specifies the miscellaneous id", "type": "string" }, "paymentMethod": { "description": "Specifies the payment method used", "type": "string" }, "posCode": { "description": "Specifies the postal code", "type": "string" }, "promotionCode": { "description": "Specifies the promotion code", "type": "string" }, "reservationStatus": { "description": "Describes the reservation status ie CANCELLED, CHECKED OUT, ARRIVAL etc", "type": "string" }, "reservationExpectedArrivalTime": { "description": "Specifies the expected arrival time of the reservation", "type": "string", "format": "date" }, "reservationExpectedDepartureTime": { "description": "Specifies the expected departure time of the reservation", "type": "string", "format": "date" }, "reservationInsertSource": { "description": "Specifies the insert source for the reservation", "type": "string" }, "reservationInsertSourceType": { "description": "Specifies the insert source type for the reservation", "type": "string" }, "roomId": { "description": "Describes the room id of the room owner.", "type": "string" }, "roomRevenue": { "description": "Specifies the revenue for the room.", "type": "number" }, "roomType": { "description": "Describes the type of the room.", "type": "string" }, "shareId": { "description": "Specifies the share id.", "type": "string" }, "sourceCode": { "description": "Specifies the source code.", "type": "string" }, "sourceId": { "description": "Specifies the source id.", "type": "string" }, "stageStatus": { "description": "Specifies the stage status.", "type": "string" }, "stageSuspenseReason": { "description": "Specifies the stage suspense reason.", "type": "string" }, "totalRevenue": { "description": "Specifies the total revenue.", "type": "number" }, "travelAgentId": { "description": "Specifies the travel agent id", "type": "string" } } }, "stayRevenuesDetailsType": { "type": "object", "properties": { "folioView": { "description": "", "type": "string" }, "revenueAmount": { "description": "Specifies the amount of revenue.", "type": "number" }, "stayRevenues": { "type": "array", "items": { "$ref": "#/definitions/stayRevenuesType" } } } }, "stayRevenuesType": { "type": "object", "properties": { "revenueAmount": { "description": "Specifies the amount of revenue.", "type": "number" }, "revenueBucketCode": { "description": "Specifies the bucket code to which the revenue belongs.", "type": "string" }, "transactionDate": { "description": "Date on which the transaction was done.", "type": "string", "format": "date" } }, "required": [ "revenueBucketCode", "transactionDate" ] }, "stayRecord": { "type": "object", "properties": { "hotelId": { "description": "Specifies the property name", "type": "string" }, "stayDailyRates": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stayDailyRatesType" } }, "stayMemberships": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stayMembershipsType" } }, "stayProfiles": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stayProfilesType" } }, "stayRecordsList": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stayRecordsType" } }, "stayRevenuesDetails": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stayRevenuesDetailsType" } } } }, "stayRecordDetails": { "type": "object", "description": "Complex type that contains stay record details", "properties": { "stayRecord": { "description": "Contains stay record details", "$ref": "#/definitions/stayRecord" } } }, "flexFieldValues": { "type": "object", "description": "Request object for flex fields values.", "properties": { "flexFieldInfo": { "description": "Provides information about flex fields", "$ref": "#/definitions/flexFieldValueType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "flexFieldValueType": { "type": "object", "description": "Provides the details of a flex field values", "properties": { "code": { "description": "Flex field code", "type": "string", "minLength": 0, "maxLength": 20 }, "flexFieldValue": { "description": "value of the Dynamic Field ", "type": "string", "minLength": 0, "maxLength": 200 }, "hotelId": { "description": "Hotel Code", "type": "string", "minLength": 1, "maxLength": 20 } } }, "flexFieldsResponse": { "type": "object", "description": "Response object for flex fields.", "properties": { "flexFieldValues": { "description": "List of flex fields.", "type": "array", "maxItems": 100, "items": { "$ref": "#/definitions/flexFieldValueType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" }, "totalPages": { "description": "Evaluated total page count based on the requested max fetch count", "type": "integer" }, "offset": { "description": "Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned", "type": "integer" }, "limit": { "description": "Indicates maximum number of records a Web Service should return", "type": "integer" }, "hasMore": { "description": "Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response", "type": "boolean" }, "totalResults": { "description": "Total number of rows queried", "type": "integer" }, "count": { "description": "Total number of rows returned", "type": "integer" } } }, "memberPointsToExpireCollection": { "type": "object", "description": "Response object for fetching member points to expire information.", "properties": { "memberPointsToExpireCollection": { "type": "array", "description": "List of of member points to expire.", "maxItems": 4000, "items": { "$ref": "#/definitions/memberPointsToExpireCollectionType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "memberPointsToExpireCollectionType": { "type": "object", "description": "Membership points to expire with the membership details to differentiate.", "properties": { "membershipDetails": { "description": "Member details for the requested membership ID.", "$ref": "#/definitions/membershipDetailsType" }, "memberPointsToExpireListType": { "type": "array", "description": "List of of member points to expire.", "maxItems": 4000, "items": { "$ref": "#/definitions/memberPointsToExpireListType" } } } }, "operaVersionNumberType": { "type": "string", "description": "Current Opera Version Number", "minLength": 0, "maxLength": 40 }, "operaVersion": { "type": "object", "description": "Response for Ping operation.", "properties": { "operaVersion": { "description": "Opera version number.", "$ref": "#/definitions/operaVersionNumberType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "profileTransactionsType": { "type": "object", "description": "Transaction related to the Profile.", "properties": { "transactionDate": { "description": "Stay Record or Membership Transaction Date.", "type": "string", "format": "date" }, "transactionType": { "description": "Stay Record or Membership Transaction Type.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "Resort of the transaction.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationIdList": { "description": "The PMS confirmation number of the transaction.", "$ref": "#/definitions/reservationIdList" }, "pointsCalculated": { "description": "Flag to indicate if points are calculated.", "type": "boolean" }, "reference": { "description": "User-defined reference field for the Membership Transaction Adjustment.", "type": "string", "minLength": 1, "maxLength": 20 }, "stayTimeSpan": { "description": "Begin and end dates of the reservation.", "$ref": "#/definitions/timeSpanType" }, "membershipType": { "description": "The type of membership.", "type": "string", "minLength": 0, "maxLength": 20 }, "cardNumber": { "description": "The membership card number.", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipLevel": { "description": "The level of the membership.", "type": "string", "minLength": 0, "maxLength": 20 }, "awardPoints": { "description": "Award points for the transactions.", "type": "integer" }, "tierNightPoints": { "description": "Tier Night points for the transactions.", "type": "integer" }, "tierStayPoints": { "description": "Tier Stay points for the transactions.", "type": "integer" }, "tierRevenuePoints": { "description": "Tier Revenue points for the transactions.", "type": "integer" }, "pointsCreditDate": { "description": "Date when points were created.", "type": "string", "format": "date" }, "stayRecordId": { "description": "Stay Record Id of the transaction.", "type": "string" }, "membershipTransactionId": { "description": "Unique ID of the membership transaction that this record corresponds to", "$ref": "#/definitions/membershipTransactionId" }, "membershipId": { "description": "Unique identifier of this membership.", "$ref": "#/definitions/uniqueID_Type" }, "profileIdList": { "description": "Collection of unique profile identifiers", "$ref": "#/definitions/profileIdList" } } }, "profileTransactions": { "type": "object", "description": "Response of the WS operation FetchProfileTransactions.", "properties": { "profileTransactions": { "description": "Transactions related to the Profile.", "type": "array", "maxItems": 100, "items": { "$ref": "#/definitions/profileTransactionsType" } }, "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" } } }, "suspendedStayRevenueType": { "type": "object", "description": "Suspended Stay Revenue information.", "properties": { "suspendedStayRecordId": { "description": "Suspended Stay Record ID.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionDate": { "description": "Transaction date of the revenue.", "type": "string", "format": "date" }, "revenueType": { "description": "Indicates the type of revenue.", "type": "string", "minLength": 0, "maxLength": 20 }, "amount": { "description": "Revenue amount.", "type": "number" } } }, "suspendedStayErrorType": { "type": "object", "description": "Suspended Stay Error information.", "properties": { "suspendedStayRecordId": { "description": "Suspended Stay Record ID.", "type": "string", "minLength": 0, "maxLength": 20 }, "errorType": { "description": "Indicates the error type.", "type": "string", "minLength": 0, "maxLength": 20 }, "errorDescription": { "description": "Indicates the description of the error.", "type": "string", "minLength": 0, "maxLength": 2000 } } }, "suspendedStayErrorsType": { "type": "object", "description": "Collection of Suspended Stay Error information.", "properties": { "suspendedStays": { "description": "Suspended Stay Error information.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/suspendedStayErrorType" } } } }, "suspendedStayDailyRateType": { "type": "object", "description": "Suspended Stay Rate information.", "properties": { "suspendedStayRecordId": { "description": "Suspended Stay Record ID.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionDate": { "description": "Transaction date of the rate.", "type": "string", "format": "date" }, "rateCode": { "description": "Rate code used for the stay.", "type": "string", "minLength": 0, "maxLength": 20 }, "marketCode": { "description": "Market Code of the stay.", "type": "string", "minLength": 0, "maxLength": 20 }, "amount": { "description": "Rate amount.", "$ref": "#/definitions/currencyAmountType" }, "numberDays": { "description": "Duration or length of the stay. The expected value is 1 for multiple Daily Rate records, and the actual number of nights for a single Daily Rate record.", "type": "number" } } }, "suspendedStayMembershipType": { "type": "object", "description": "Suspended Stay Membership information.", "properties": { "suspendedStayRecordId": { "description": "Suspended Stay Record ID.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipType": { "description": "Membership Program Code or Membership Type.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipId": { "description": "Membership Card Number.", "type": "string", "minLength": 0, "maxLength": 50 } } }, "suspendedStayType": { "type": "object", "description": "Suspended Stay information.", "properties": { "hotelId": { "description": "Hotel code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "externalConfirmationNo": { "description": "External Confirmation number of the reservation on PMS side.", "type": "string", "minLength": 0, "maxLength": 50 }, "reservationStatus": { "description": "Reservation status.", "type": "string", "minLength": 0, "maxLength": 20 }, "createBusinessDate": { "description": "Business Date when the reservation was created.", "type": "string", "format": "date" }, "importDate": { "description": "Date when the Suspended Stay record was created or imported.", "type": "string", "format": "date" }, "confirmationNo": { "description": "Confirmation number of the reservation on central side.", "type": "string", "minLength": 0, "maxLength": 50 }, "roomType": { "description": "Room type of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "roomTypeCharged": { "description": "Room Type used for the Rate calculation.", "type": "string", "minLength": 0, "maxLength": 20 }, "sourceCode": { "description": "Source of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "bookingMedium": { "description": "Classifies the medium(Channel field on reservation screen) through which the reservation is made.", "type": "string", "minLength": 0, "maxLength": 20 }, "currencyCode": { "description": "Provides a currency code to reflect the currency in which an amount may be expressed.", "type": "string", "minLength": 3, "maxLength": 3 }, "arrivalDate": { "description": "Date of arrival.", "type": "string", "format": "date" }, "departureDate": { "description": "Date of departure.", "type": "string", "format": "date" }, "adults": { "description": "Number of adults on the reservation.", "type": "number" }, "children": { "description": "Number of children on the reservation.", "type": "number" }, "cancellationDate": { "description": "Date of cancellation.", "type": "string", "format": "date" }, "rateCode": { "description": "Rate Code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "rateCurrencyCode": { "description": "Currency code of the rate.", "type": "string", "minLength": 3, "maxLength": 3 }, "rateAmount": { "description": "Rate amount.", "type": "number" }, "complimentary": { "description": "Indicates if the reservation is complimentary.", "type": "boolean" }, "paymentMethod": { "description": "Payment Method.", "type": "string", "minLength": 0, "maxLength": 20 }, "stayStatus": { "description": "Status of the stay.", "type": "string", "minLength": 0, "maxLength": 20 }, "fullGuestName": { "description": "Full display Name of guest profile.", "type": "string", "minLength": 0, "maxLength": 200 }, "fullCompanyName": { "description": "Full display Name of company profile.", "type": "string", "minLength": 0, "maxLength": 200 }, "fullTAName": { "description": "Full display Name of Travel Agent profile.", "type": "string", "minLength": 0, "maxLength": 200 }, "fullSourceName": { "description": "Full display Name of Source profile.", "type": "string", "minLength": 0, "maxLength": 200 }, "fullGroupName": { "description": "Full display Name of Group profile.", "type": "string", "minLength": 0, "maxLength": 200 }, "posCode": { "description": "Point of Sales Code.", "type": "string", "minLength": 0, "maxLength": 20 }, "interfaceId": { "description": "Identifier of the Interface.", "type": "string", "minLength": 0, "maxLength": 80 }, "userDefinedFields": { "description": "Collection of user defined fields.", "$ref": "#/definitions/userDefinedFieldsType" }, "suspendedStayRevenues": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/suspendedStayRevenueType" } }, "suspendedStayErrors": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/suspendedStayErrorType" } }, "suspendedStayDailyRates": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/suspendedStayDailyRateType" } }, "suspendedStayMemberships": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/suspendedStayMembershipType" } } } }, "suspendedStaySummaryType": { "type": "object", "description": "Collection of Suspended Stay information.", "properties": { "suspendedStayRecordId": { "description": "Suspended Stay Record ID.", "type": "string", "minLength": 0, "maxLength": 20 }, "hotelId": { "description": "Hotel code of the reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationStatus": { "description": "Reservation status.", "type": "string", "minLength": 0, "maxLength": 20 }, "externalConfirmationNo": { "description": "External Confirmation number of the reservation on PMS side.", "type": "string", "minLength": 0, "maxLength": 50 }, "profileIdList": { "description": "Collection of unique profile identifiers", "$ref": "#/definitions/profileIdList" }, "arrivalDate": { "description": "Date of arrival.", "type": "string", "format": "date" }, "departureDate": { "description": "Date of departure.", "type": "string", "format": "date" }, "stayStatus": { "description": "Status of the stay.", "type": "string", "minLength": 0, "maxLength": 20 }, "stayMembershipDetails": { "description": "Pairs of membership type and number, comma separated values.", "type": "string" }, "suspendedStayDate": { "description": "Suspended stay date", "type": "string", "format": "date" }, "suspendedStayReason": { "description": "Suspended stay reason, comma separated values", "type": "string", "minLength": 0, "maxLength": 4000 } } }, "suspendedStaySummariesType": { "type": "object", "description": "A complex type containing the collection of Suspended Stay Summaries.", "properties": { "suspendedStaySummaries": { "description": "A collection of Suspended Stay Summaries.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/suspendedStaySummaryType" } }, "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" } } }, "suspendedStayDetailType": { "type": "object", "description": "Suspended Stay Record ID detail about a Suspended Stay.", "properties": { "suspendedStayRecordId": { "description": "Suspended Stay Record ID.", "type": "string", "minLength": 0, "maxLength": 20 } } }, "suspendedStayDetailsType": { "type": "object", "description": "Suspended Stay Record ID details about a Suspended Stay.", "properties": { "suspendedStayRecordId": { "description": "List of Suspended Stay Record IDs.", "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/suspendedStayDetailType" } } } }, "suspendedStayDetails": { "type": "object", "description": "Request object for process suspended stays.", "properties": { "suspendedStayDetailsInfo": { "description": "A collection of Suspended Stay Record IDs.", "$ref": "#/definitions/suspendedStayDetailsType" }, "hotelId": { "description": "Hotel code.", "type": "string", "minLength": 0, "maxLength": 20 }, "reservationStatus": { "description": "Status of reservation.", "type": "string", "minLength": 0, "maxLength": 20 }, "importDate": { "description": "Date of creation or import of stay.", "type": "string", "format": "date", "maxLength": 8 }, "importDateFrom": { "description": "From date of creation or import of stay.", "type": "string", "format": "date", "maxLength": 8 }, "importDateTo": { "description": "To date of creation or import of stay.", "type": "string", "format": "date", "maxLength": 8 }, "arrivalDateFrom": { "description": "From date of arrival of reservation.", "type": "string", "format": "date", "maxLength": 8 }, "arrivalDateTo": { "description": "To date of arrival of reservation.", "type": "string", "format": "date", "maxLength": 8 }, "departureDateFrom": { "description": "From date of departure of reservation.", "type": "string", "format": "date", "maxLength": 8 }, "departureDateTo": { "description": "To date of departure of reservation.", "type": "string", "format": "date", "maxLength": 8 }, "pmsResvConfNo": { "description": "Reservation confirmation number in PMS.", "type": "string", "minLength": 0, "maxLength": 50 }, "clientID": { "description": "Client ID/Corp/IATA of the profile in central.", "type": "string", "minLength": 0, "maxLength": 20 }, "pmsNameID": { "description": "Profile number in PMS.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipType": { "description": "Membership type of the profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "membershipNo": { "description": "Membership number of the profile.", "type": "string", "minLength": 0, "maxLength": 50 }, "errorDescription": { "description": "Suspended reason description.", "type": "string", "minLength": 0, "maxLength": 2000 }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "membershipCardHistoryType": { "type": "object", "description": "Contains details of the card history of a member.", "properties": { "membershipCardNo": { "description": "Membership Card Number", "type": "string", "minLength": 0, "maxLength": 50 }, "membershipType": { "description": "Membership Program Code or Membership Type", "type": "string", "minLength": 0, "maxLength": 50 } } }, "memberCardHistoryList": { "type": "object", "description": "Response object for member card history.", "properties": { "memberCardHistoryList": { "type": "array", "description": "Contains list of card history of a member.", "maxItems": 500, "items": { "$ref": "#/definitions/membershipCardHistoryType" } }, "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" } } }, "stayRecordDetail": { "type": "object", "description": "Stay Record details for a single stay record including Revenues, Daily Rates and UDFs.", "properties": { "stayDetail": { "description": "Stay Details of the stay record.", "$ref": "#/definitions/stayDetailType" }, "revenue": { "description": "Revenue Details for the stay record.", "type": "array", "maxItems": 200, "items": { "$ref": "#/definitions/membershipTransactionRevenueType" } }, "rate": { "description": "Rate Details for the stay record.", "type": "array", "maxItems": 200, "items": { "$ref": "#/definitions/membershipTransactionRateType" } }, "userDefinedFields": { "description": "Collections of user defined fields (UDFs) for the stay record.", "$ref": "#/definitions/userDefinedFieldsType" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "stayMembershipDetails": { "type": "object", "description": "Complex type that contains stay membership details and instructions to attach or replace.", "properties": { "newMembershipCardNo": { "description": "Specifies the Card Number of new membership being attached.", "type": "string" }, "newMembershipType": { "description": "Specifies the type of new membership being attached.", "type": "string" }, "oldMembershipCardNo": { "description": "Specifies the Card Number of old membership that should be replaced.", "type": "string" }, "oldMembershipType": { "description": "Specifies the type of old membership that should be replaced.", "type": "string" }, "stayRecordId": { "description": "Stay Record ID", "type": "number" }, "attachMode": { "$ref": "#/definitions/stayMembershipAttachMode" } }, "required": [ "attachMode" ] }, "stayMembershipAttachMode": { "description": "Flag that indicates if membership should be attached or existing membership should be replaced.", "type": "string", "enum": [ "ADD", "REPLACE" ] }, "stayMembershipSummaryListType": { "type": "object", "description": "Details about stay membership.", "properties": { "membershipInfo": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/stayMembershipSummaryType" } } } }, "stayMembershipSummaryType": { "type": "object", "description": "Rendering membership type and membership card number associated to a stay.", "properties": { "membershipType": { "type": "string", "minLength": 0, "maxLength": 20 }, "membershipCard": { "type": "string", "minLength": 0, "maxLength": 20 } } }, "suspendedProfileType": { "type": "string", "description": "The types of suspended profiles", "enum": [ "Guest", "Agent", "Company", "Group", "Source" ] }, "suspendedProfilesMatchStatsType": { "type": "object", "description": "Suspended profiles match statistics", "allOf": [ { "$ref": "#/definitions/rESTPaginationGroup" } ], "properties": { "matchStatsInfo": { "type": "array", "description": "Collection of suspended profiles match statistics.", "items": { "$ref": "#/definitions/suspendedProfilesMatchStatType", "maxItems": 100 } } } }, "rESTPaginationGroup": { "type": "object", "description": "Provides Pagination Information for the REST API.", "properties": { "offset": { "description": "Indicates the index of the next applicable set(page).", "type": "integer" }, "limit": { "description": "Indicates number of records the API can return as per the API request limit sent. A maximum of 200 records can be only returned at a time.", "type": "integer" }, "count": { "description": "Indicates number of records the API has returned actually as per the API request criteria.", "type": "integer" }, "hasMore": { "description": "Indicates whether there are more records available to be returned as per the API request criteria or not.", "type": "boolean" }, "totalResults": { "description": "Indicates total number of records available that can be returned as per the API request criteria.", "type": "integer" } } }, "suspendedProfilesMatchStats": { "type": "object", "description": "Response object for fetch suspended profiles match statistics.", "properties": { "suspendedProfilesMatch": { "description": "Provides the information for suspended profiles match statistics.", "$ref": "#/definitions/suspendedProfilesMatchStatsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "suspendedProfilesMatchStatType": { "type": "object", "description": "Type which represents suspended profiles match statistics information.", "properties": { "matchCriteria": { "description": "Criteria used to for matching two profiles.", "type": "string", "minLength": 0, "maxLength": 80 }, "importDate": { "description": "Indicates the date when this suspended profile match was inserted into the table", "type": "string", "format": "date" }, "points": { "description": "Indicates the number of points that this match generated.", "type": "number" }, "orderSequence": { "description": "Display order sequence.", "type": "number" }, "processTime": { "description": "Process time during match.", "type": "number" }, "hotelId": { "description": "Hotel code of the profile's origin.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileType": { "description": "Type of the suspended profile.", "$ref": "#/definitions/suspendedProfileType" } } }, "suspendedProfilesErrorsSummaryType": { "type": "object", "description": "Profiles errors summary type.", "allOf": [ { "$ref": "#/definitions/rESTPaginationGroup" } ], "properties": { "errorsSummaryInfo": { "type": "array", "description": "Collection of profiles errors summary.", "items": { "$ref": "#/definitions/suspendedProfilesErrorSummaryType", "maxItems": 100 } } } }, "suspendedProfilesErrorSummaryType": { "type": "object", "description": "Type which represents suspended profile errors information.", "properties": { "errorDescription": { "description": "Represents error description of the suspended profile.", "type": "string", "minLength": 0, "maxLength": 2000 }, "errorCount": { "description": "Number of profiles that were encountered with this error.", "type": "integer" } } }, "suspendedProfilesErrorsSummaryInfo": { "type": "object", "description": "Response object for fetch suspended profiles errors summary. This object contains collection of profiles errors and the number of profiles that were encountered with these errors.", "properties": { "suspendedProfilesErrorsSummary": { "description": "Indicates response of the suspended profiles errors summary.", "$ref": "#/definitions/suspendedProfilesErrorsSummaryType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "errorDescType": { "type": "object", "description": "Object for specific error description.", "properties": { "errorDesc": { "description": "Specific error description.", "type": "string", "maxLength": 2000 }, "limit": { "description": "Indicates maximum number of records this api should return.", "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" } } }, "suspendedProfilesErrorsSummaryByPropertyInfo": { "type": "object", "description": "Response object for fetch suspended profiles errors summary by property. This object contains a collection of suspended profiles match errors and the count of how many properties encountered this error.", "properties": { "suspendedProfilesErrorsSummary": { "description": "Indicates response of the suspended profiles errors summary by property.", "$ref": "#/definitions/suspendedProfilesErrorsSummaryByPropertyType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "suspendedProfilesErrorsSummaryByPropertyType": { "type": "object", "description": "Suspended profiles errors summary by property.", "allOf": [ { "$ref": "#/definitions/rESTPaginationGroup" } ], "properties": { "errorSummaryInfo": { "type": "array", "description": "Collection of suspended profiles errors summary by property.", "items": { "$ref": "#/definitions/suspendedProfilesErrorSummaryByPropertyType", "maxItems": 100 } } } }, "suspendedProfilesErrorSummaryByPropertyType": { "type": "object", "description": "Type which represents a suspended profiles error by property information.", "properties": { "hotelId": { "description": "Property where the error was found.", "type": "string", "minLength": 0, "maxLength": 20 }, "errorCount": { "description": "Count of how many suspended profiles encountered this error.", "type": "integer" } } }, "suspendedProfilesMatchStatsByThreshold": { "type": "object", "description": "Response object for fetch suspended profiles match statistics filtered by threshold type.", "properties": { "suspendedProfilesMatchStatsByThreshold": { "description": "Provides the information for suspended profile match statistics filtered by threshold type.", "$ref": "#/definitions/suspendedProfilesMatchStatsByThresholdType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "suspendedProfilesMatchStatsByThresholdType": { "type": "object", "description": "Suspended profiles match statistics grouped by threshold", "allOf": [ { "$ref": "#/definitions/rESTPaginationGroup" } ], "properties": { "matchStatsInfo": { "type": "array", "description": "Collection of suspended profiles match statistics grouped by threshold type", "items": { "$ref": "#/definitions/suspendedProfilesMatchStatByThresholdType", "maxItems": 100 } } } }, "suspendedProfilesMatchStatByThresholdType": { "type": "object", "description": "Type which represents suspended profiles match statistics information.", "properties": { "matchCriteria": { "description": "Criteria used for matching two profiles.", "type": "string", "minLength": 0, "maxLength": 80 }, "hotelId": { "description": "Hotel code of the profile's origin.", "type": "string", "minLength": 0, "maxLength": 20 }, "count": { "description": "Number of records with this match criteria and property.", "type": "integer" } } }, "suspendedProfilesMatchStatsByMatchCriteria": { "type": "object", "description": "Response object for fetch suspended profiles match statistics grouped by match criteria.", "properties": { "suspendedProfilesMatchStatsByMatchCriteria": { "description": "Provides the information for suspended profiles match statistics grouped by match criteria.", "$ref": "#/definitions/suspendedProfilesMatchStatsByMatchCriteriaType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "suspendedProfilesMatchStatsByMatchCriteriaType": { "type": "object", "description": "Suspended profiles match statistics grouped by match criteria.", "allOf": [ { "$ref": "#/definitions/rESTPaginationGroup" } ], "properties": { "matchStatsInfo": { "type": "array", "description": "Collection of suspended profiles match statistics grouped by match criteria.", "items": { "$ref": "#/definitions/suspendedProfilesMatchStatByMatchCriteriaType", "maxItems": 100 } } } }, "suspendedProfilesMatchStatByMatchCriteriaType": { "type": "object", "description": "Type which represents suspended profiles match statistics grouped by match criteria.", "properties": { "matchCriteria": { "description": "Criteria used to for matching two profiles.", "type": "string", "minLength": 0, "maxLength": 80 }, "count": { "description": "Number of records with this match criteria.", "type": "integer" } } }, "suspendedProfilesMatchStatsByProperty": { "type": "object", "description": "Response object for fetch suspended profiles match statistics grouped by property.", "properties": { "suspendedProfilesMatchStatsByProperty": { "description": "Provides the information for suspended profiles match statistics grouped by property.", "$ref": "#/definitions/suspendedProfilesMatchStatsByPropertyType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "suspendedProfilesMatchStatsByPropertyType": { "type": "object", "description": "Suspended profile match statistics grouped by property.", "allOf": [ { "$ref": "#/definitions/rESTPaginationGroup" } ], "properties": { "matchStatsInfo": { "type": "array", "description": "Collection of suspended profile match statistics grouped by property.", "items": { "$ref": "#/definitions/suspendedProfilesMatchStatByProperty", "maxItems": 100 } } } }, "suspendedProfilesMatchStatByProperty": { "type": "object", "description": "Type which represents suspended profiles match statistics grouped by profile type.", "properties": { "matchCriteria": { "description": "Criteria used to for matching two profiles.", "type": "string", "minLength": 0, "maxLength": 80 }, "hotelId": { "description": "Property where the match was found.", "type": "string", "minLength": 0, "maxLength": 20 }, "count": { "description": "Number of records with this match criteria and property.", "type": "integer" } } }, "suspendedProfilesMatchStatsByProfileType": { "type": "object", "description": "Response object for fetch suspended profiles match statistics grouped by profile type.", "properties": { "suspendedProfilesMatchStatsByProfileType": { "description": "Provides the information for suspended profiles match statistics grouped by profile type.", "$ref": "#/definitions/suspendedProfilesMatchStatsByProfileTypeType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "suspendedProfilesMatchStatsByProfileTypeType": { "type": "object", "description": "Ssuspended profiles match statistics grouped by profile type.", "allOf": [ { "$ref": "#/definitions/rESTPaginationGroup" } ], "properties": { "matchStatsInfo": { "type": "array", "description": "Collection of suspended profiles match statistics grouped by profile type.", "items": { "$ref": "#/definitions/suspendedProfilesMatchStatByProfileType", "maxItems": 100 } } } }, "suspendedProfilesMatchStatsByPropertyAndProfileType": { "type": "object", "description": "Response object for fetch suspended profiles match statistics grouped by property and profile type.", "properties": { "suspendedProfilesMatchStatsByPropertyAndProfileType": { "description": "Provides the information for suspended profiles match statistics grouped by property and profile type.", "$ref": "#/definitions/suspendedProfilesMatchStatsByPropertyAndProfileTypeType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "suspendedProfilesMatchStatsByPropertyAndProfileTypeType": { "type": "object", "description": "Suspended profiles match statistics grouped by property and profile type.", "allOf": [ { "$ref": "#/definitions/rESTPaginationGroup" } ], "properties": { "matchStatsInfo": { "type": "array", "description": "Collection of suspended profiles match statistics grouped by property and profile type.", "items": { "$ref": "#/definitions/suspendedProfilesMatchStatByPropertyAndProfileTypeCombined", "maxItems": 100 } } } }, "suspendedProfilesMatchStatByProfileType": { "type": "object", "description": "Type which represents suspended profiles match statistics grouped by profile type.", "properties": { "matchCriteria": { "description": "Criteria used to for matching two profiles.", "type": "string", "minLength": 0, "maxLength": 80 }, "profileType": { "description": "Type of the suspended profile.", "$ref": "#/definitions/suspendedProfileType" }, "count": { "description": "Number of records with this match criteria and property.", "type": "integer" } } }, "validateEmail": { "type": "object", "description": "Request object for validating email Id from external system.", "properties": { "emailAddress": { "description": "Defines the e-mail address.", "type": "string", "minLength": 0, "maxLength": 2000 }, "timeoutSeconds": { "description": "Maximum time you are prepared to wait for a response.", "type": "integer" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "validateEmailStatus": { "type": "object", "description": "Response Body.", "properties": { "isValid": { "description": "Indicator to define if the Email Id is valid.", "type": "boolean" }, "Reason": { "description": "Reason if validation of Email Id is failed on source system.", "type": "string", "minLength": 0, "maxLength": 200 }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reProcessStageRecordsType": { "type": "object", "description": "Provides information about the search criteria for the staged records to reprocess.", "properties": { "property": { "description": "Property in Search Criteria", "type": "string" }, "name": { "description": "Name in Search Criteria", "type": "string" }, "region": { "description": "Region in Search Criteria", "type": "string" }, "nameCode": { "description": "Name Code in Search Criteria", "type": "string" }, "country": { "description": "Country in Search Criteria", "type": "string" }, "stageStatus": { "description": "Stage Status in Search Criteria", "type": "string" }, "membershipType": { "description": "Membership Types to filter in the search criteria.", "type": "array", "maxItems": 4000, "items": { "type": "string", "minLength": 0, "maxLength": 20 } }, "nameType": { "description": "Name Type in Search Criteria", "type": "string" }, "importDate": { "description": "Import Date in Search Criteria", "type": "string", "format": "date", "maxLength": 8 }, "firstName": { "description": "First Name in Search Criteria", "type": "string" }, "errorSummary": { "description": "List of error summaries, comma separated values", "type": "array", "items": { "type": "string" } }, "applyToType": { "description": "Records with memberships.", "$ref": "#/definitions/applyToType" } } }, "reProcessStageRecord": { "type": "object", "properties": { "processResult": { "$ref": "#/definitions/reProcessStageRecordResultType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reProcessStageRecords": { "type": "object", "description": "Request object for processing the staged records.", "properties": { "jobId": { "description": "The IDs of the jobs created for Reprocessing Stage records.", "type": "array", "items": { "type": "string" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reProcessStageRecordsCriteria": { "type": "object", "description": "Object for Reprocessing Stage Records.", "properties": { "reProcessStageRecords": { "description": "Reprocess Stage Records for all records.", "$ref": "#/definitions/reProcessStageRecordsType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "reProcessStageRecordResultType": { "type": "object", "description": "Information about the staged profile after processing.", "properties": { "hotelId": { "description": "Hotel Code for the staged profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "resortNameId": { "description": "The resulting resort name id after processing the staged profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "stageStatus": { "description": "The resulting profile status after processing the staged profile.", "type": "string", "minLength": 0, "maxLength": 20 }, "result": { "description": "Processing/Rematching result for the staged profile.", "type": "string", "minLength": 0, "maxLength": 4000 }, "errorDescription" : { "description" : "Error message describing the cause of failure in processing the given staged profile.", "type" : "string", "minLength" : 0, "maxLength" : 4000 } } }, "validatePhone": { "type": "object", "description": "Request object for validating phone number from external system.", "properties": { "phone": { "description": "Defines the phone number.", "type": "string", "minLength": 0, "maxLength": 2000 }, "timeoutSeconds": { "description": "Maximum time you are prepared to wait for a response.", "type": "integer" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "validatePhoneStatus": { "type": "object", "description": "Response Body.", "properties": { "isValid": { "description": "Indicator to define if the Phone Number is valid.", "type": "boolean" }, "reason": { "description": "Reason if validation of Phone Number is failed on source system.", "type": "string", "minLength": 0, "maxLength": 200 }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "suspendedProfilesMatchStatByPropertyAndProfileTypeCombined": { "type": "object", "description": "Type which represents suspended profiles match statistics grouped by property with detailed view", "properties": { "hotelId": { "description": "Property where the match was found.", "type": "string", "minLength": 0, "maxLength": 20 }, "profileTypesListInfo": { "type": "array", "description": "Collection of suspended profiles match statistics grouped by profile type with detailed view", "items": { "$ref": "#/definitions/profileTypesListType", "maxItems": 100 } }, "count": { "description": "Number of records with this property.", "type": "integer" } } }, "profileTypesListType": { "type": "object", "description": "Type which represents suspended profiles match statistics grouped by profile type with detailed view", "properties": { "profileType": { "description": "Type of the suspended profile.", "$ref": "#/definitions/suspendedProfileType" }, "matchCriteriasListInfo": { "type": "array", "description": "Collection of suspended profiles match statistics grouped by match criteria with count", "items": { "$ref": "#/definitions/matchCriteriaListType", "maxItems": 100 } }, "count": { "description": "Number of records with this property.", "type": "integer" } } }, "matchCriteriaListType": { "type": "object", "description": "Type which represents suspended profiles match statistics grouped by profile type with detailed view", "properties": { "matchCriteria": { "description": "Criteria used to for matching two profiles.", "type": "string", "minLength": 0, "maxLength": 80 }, "count": { "description": "Number of records with this property.", "type": "integer" } } }, "suspendedProfilesErrorsSummaryByProfileTypeInfo": { "type": "object", "description": "Response object for fetch suspended profiles errors summary by profile type. This object contains a collection of profile types and the count of errors found in each type.", "properties": { "suspendedProfilesErrorsSummary": { "description": "Indicates response of the suspended profiles errors summary by profileType.", "$ref": "#/definitions/suspendedProfilesErrorsSummaryByProfileType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "suspendedProfilesErrorsSummaryByProfileType": { "type": "object", "description": "Suspended profiles errors summary by profile type.", "allOf": [ { "$ref": "#/definitions/rESTPaginationGroup" } ], "properties": { "errorSummaryInfo": { "type": "array", "description": "Collection of suspended profiles errors summary by property.", "items": { "$ref": "#/definitions/suspendedProfilesErrorSummaryByProfileType", "maxItems": 100 } } } }, "suspendedProfilesErrorSummaryByProfileType": { "type": "object", "description": "Type which represents a suspended profiles error by profile type.", "properties": { "profileType": { "description": "Type of the suspended profile.", "$ref": "#/definitions/suspendedProfileType" }, "errorCount": { "description": "Count of how many suspended profiles encountered this error.", "type": "integer" } } }, "applyToType": { "type": "string", "description": "Membership filter of staged profiles.", "enum": [ "StagedProfiles", "MatchingProfiles", "StagedAndMatchingProfiles" ] }, "reProcessStageRecordsLogInfo": { "type": "object", "description": "Response object for fetch reProcessStageRecords logs.", "properties": { "logs": { "type": "array", "description": "List of reprocess/rematch job logs.", "items": { "$ref": "#/definitions/reProcessStageRecordLogEntry" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" }, "totalPages": { "description": "Evaluated total page count based on the requested max fetch count", "type": "integer" }, "offset": { "description": "Page offset index", "type": "integer" }, "limit": { "description": "Maximum number of records returned", "type": "integer" }, "count": { "description": "Number of records in current response", "type": "integer" }, "totalResults": { "description": "Total number of records matching criteria", "type": "integer" }, "hasMore": { "description": "Whether more results are available to fetch", "type": "boolean" } } }, "reProcessStageRecordLogEntry": { "type": "object", "description": "A log entry for a reprocess/rematch job.", "properties": { "jobId": { "type": "string", "description": "ID of the reprocess/rematch job." }, "recordsProcessed": { "type": "integer", "description": "Number of records processed in this job." }, "successful": { "type": "integer", "description": "Number of records successfully processed." }, "created": { "type": "integer", "description": "Number of records successfully created." }, "merged": { "type": "integer", "description": "Number of records successfully merged." }, "failed": { "type": "integer", "description": "Number of records failed to process." }, "dateTime": { "type": "string", "format": "date-time", "description": "Date and time when log entry was created/completed." }, "user": { "type": "string", "description": "User who initiated/executed this job." }, "state": { "type": "string", "description": "State information of the job." } } }, "suspendedStaysErrorsSummaryResponse": { "type": "object", "properties": { "suspendedStaysErrorsSummary": { "$ref": "#/definitions/suspendedStaysErrorsSummaryType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "suspendedStaysErrorsSummaryType": { "type": "object", "properties": { "errorsSummary": { "type": "array", "items": { "$ref": "#/definitions/suspendedStaysErrorsSummary" } }, "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" } } }, "suspendedStaysErrorsSummary": { "type": "object", "properties": { "property": { "description": "Property related to the errors", "type": "string" }, "errorsDescription": { "description": "Description of the errors", "type": "string" }, "errorCount": { "description": "Number of errors", "type": "integer" } }, "required": [ "errorsDescription", "errorCount" ] }, "revenueTransactionCodeListType": { "type": "object", "description": "List of revenue by transaction codes.", "properties": { "revenueTransactionCodes": { "type": "array", "maxItems": 4000, "items": { "$ref": "#/definitions/revenueTransactionCode" } } } }, "revenueTransactionCode": { "type": "object", "description": "Revenue by transaction codes.", "properties": { "transactionDate": { "description": "Transaction date.", "type": "string", "format": "date", "maxLength": 8 }, "transactionCode": { "description": "Transaction code.", "type": "string", "minLength": 0, "maxLength": 20 }, "transactionCodeDescription": { "description": "Description of transaction code.", "type": "string", "minLength": 0, "maxLength": 2000 }, "transactionCodeType": { "description": "Transaction code type.", "type": "string", "minLength": 0, "maxLength": 2 }, "transactionCodeTypeDescription": { "description": "Description of transaction code type.", "type": "string", "minLength": 0, "maxLength": 40 }, "centralRevenue": { "description": "Central Revenue for Stay.", "type": "number" }, "localRevenue": { "description": "Local Revenue for Stay.", "type": "number" }, "qualifyingForPoints": { "description": "Flag to indicate if revenue qualifies for points.", "type": "boolean" } } }, "memberHistoryList": { "type": "object", "description": "Response object for member history.", "properties": { "memberHistoryList": { "type": "array", "description": "Contains list of history of a member.", "maxItems": 1000, "items": { "$ref": "#/definitions/membershipHistoryType" } }, "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" } } }, "membershipHistoryType": { "type": "object", "description": "Contains details of the profile's primary membership history.", "properties": { "actionType": { "description": "Type of action related to changes in a profile's primary membership.", "type": "string" }, "oldValue": { "description": "Old value for the membership field.", "type": "string" }, "newValue": { "description": "New value for the membership field.", "type": "string" }, "user": { "description": "User who changed the membership field.", "type": "string" }, "date": { "description": "Date when the membership field was changed.", "type": "string", "format": "date-time" }, "action": { "description": "Action performed related to changes in membership level action type(REQUALIFY, RENEW, UPGRADE, DOWNGRADE).", "type": "string" } } }, "searchTypeEnum": { "type": "string", "enum": [ "PurgeableProfiles", "Any", "PatronTrackingSystemMemberProfiles" ] }, "profileTypeEnum": { "type": "string", "enum": [ "Guest", "Agent", "Company", "Group", "Source", "Employee", "Hotel", "Vendor", "Contact", "Purge", "BusinessHeader", "BillingAccount", "Activity", "Potential", "Account" ] }, "relatedProfileTypeEnum": { "type": "string", "enum": [ "Guest", "Agent", "Company", "Group", "Source", "Employee", "Hotel", "Vendor", "Contact", "Purge", "BusinessHeader", "BillingAccount", "Activity", "Potential", "Account" ] }, "fetchInstructionsEnum": { "type": "string", "enum": [ "Address", "Communication", "NegotiatedRate", "GdsNegotiatedRate", "Comment", "Membership", "Preference", "Keyword", "HistoryReservation", "FutureReservation", "Relationship", "Correspondence", "Routing", "Indicators", "Profile", "WebUserAccount", "SalesInfo", "ECertificate", "Subscriptions", "PrimaryAccountInfo", "DeliveryMethods", "RoomOwnership" ] }, "allowedActionEnum": { "type": "string", "enum": [ "NameChange", "TaxIDChange", "EnrollToPrimaryMembership" ] }, "searchProfilesRequest": { "type": "object", "properties": { "excludeInactive": { "type": "boolean", "description": "Indicates whether to exclude Inactive Profiles, when true indicates that only profiles with active status will be displayed." }, "hotelId": { "type": "string", "description": "Hotel Code, It is used to filter hotel specific children to this specific hotel code." }, "includeHasHierarchyOnly": { "type": "boolean", "description": "Include profiles that have one or more relationships in the search." }, "includePrimaryOwnersOnly": { "type": "boolean", "description": "Include primary owners in the search." }, "includePurgeProfiles": { "type": "boolean", "description": "Include purged profiles in the search." }, "limit": { "type": "integer", "description": "Indicates maximum number of records a Web Service should return." }, "offset": { "type": "integer", "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.", "default": 0 }, "searchType": { "$ref": "#/definitions/searchTypeEnum", "description": "When search type is PatronTrackingSystemMemberProfiles, the FetchProfiles will return the Membership Number of the searched Membership Type regardless of primary flag or sequence of the profile memberships." }, "summaryInfo": { "type": "boolean", "description": "When true response will return summary information otherwise detailed information." }, "searchString": { "type": "string", "description": "Search string to be used for super search." }, "includeAnonymized": { "type": "boolean", "description": "Indicates whether to include Anonymized Profiles." }, "profileType": { "type": "array", "items": { "$ref": "#/definitions/profileTypeEnum" }, "description": "The types of Profile handled by the web service." }, "profileIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "externalReferenceIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "externalSystemCodes": { "type": "array", "items": { "type": "string" }, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA)." }, "corporateIds": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "profileName": { "type": "string", "description": "Family name, last name or Company Name." }, "givenName": { "type": "string", "description": "Given name, first name or names." }, "incognitoName": { "type": "string", "description": "Family name, last name or Company Name." }, "incognitoGivenName": { "type": "string", "description": "Given name, first name or names." }, "city": { "type": "string", "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address)." }, "postalCode": { "type": "string", "description": "Post Office Code number." }, "state": { "type": "string", "description": "State or Province name (e.g., Texas)." }, "countryCode": { "type": "string", "description": "Code for a country or a nationality." }, "streetAddress": { "type": "string", "description": "First Line of Street Address. For profile search it matches the first Address line." }, "keyword": { "type": "string", "description": "Keyword associated to the profile." }, "communication": { "type": "string", "description": "Any communication method associated to the profile such as phone, fax, email address." }, "membership": { "type": "string", "description": "Membership number associated to the profile." }, "membershipType": { "type": "string", "description": "Member Type of searching profile." }, "ownerCodes": { "type": "array", "items": { "type": "string", "maxItems": 4000 } }, "membershipLevel": { "type": "string", "description": "Membership level associated to the profile." }, "aRNumber": { "type": "string", "description": "Account Receivable associated to the profile." }, "taxId": { "type": "string", "description": "Tax ID associated to the profile" }, "businessSegment": { "type": "array", "items": { "type": "string", "maxItems": 4000 }, "description": "Business/Market Segment associated to the profile." }, "accountsReceivables": { "type": "boolean", "description": "When true indicates that only profiles with AR account fetched." }, "corporateProfiles": { "type": "boolean", "description": "When true indicates that only profiles with client id are searched for." }, "excludeIncompleteProfiles": { "type": "boolean", "description": "When true indicates that only profiles with an Address Line 1 and Country or at least one Communications Type will be displayed." }, "negotiatedRates": { "type": "boolean", "description": "When true indicates that this option has to be included in advanced search." }, "relatedProfileExcludeInactive": { "type": "boolean", "description": "Indicates whether to exclude Inactive Profiles, when true indicates that only profiles with active status will be displayed." }, "realtedProfileIncludeHasHierarchyOnly": { "type": "boolean", "description": "Include profiles that have one or more relationships in the search." }, "relatedProfileNegotiatedRates": { "type": "boolean", "description": "When true indicates that this option has to be included in advanced search." }, "relatedProfileType": { "$ref": "#/definitions/relatedProfileTypeEnum", "description": "The types of Profile handled by the web service." }, "relatedProfileName": { "type": "string", "description": "Family name, last name or Company Name." }, "protectedProfiles": { "type": "boolean", "description": "Indicates whether to exclude Protected Profiles." }, "excludedProfilesId": { "type": "array", "items": { "type": "string" }, "description": "A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation." }, "idExtension": { "type": "array", "items": { "type": "integer" }, "description": "Additional identifying value assigned by the creating system. This query parameter is deprecated." }, "excludedProfilesIdContext": { "type": "array", "items": { "type": "string" }, "description": "Used to identify the source of the identifier (e.g., IATA, ABTA). This query parameter is deprecated." }, "excludedProfilesIdType": { "type": "array", "items": { "type": "string" }, "description": "A reference to the type of object defined by the UniqueID element. This query parameter is deprecated." }, "identificationNo": { "type": "string", "description": "Any identification number associated with the profile such as Passport Number, StateID." }, "fetchInstructions": { "type": "array", "items": { "$ref": "#/definitions/fetchInstructionsEnum" }, "description": "Room Ownership information associated with the profile." }, "allowedAction": { "type": "array", "items": { "$ref": "#/definitions/allowedActionEnum" }, "description": "Flag indicating whether Profile is Enrolled to Primary Membership Program." }, "vipCodes": { "type": "array", "items": { "type": "string", "maxItems": 4000 } }, "prioritieCodes": { "type": "array", "items": { "type": "string", "maxItems": 4000 } }, "birthDate": { "type": "string", "format": "date", "description": "Date of birth" }, "phone": { "type": "string", "description": "The phone number associated to the profile." }, "email": { "type": "string", "description": "The email address associated to the profile." }, "lastStayBefore": { "type": "string", "format": "date", "description": "Date to filter profiles with stays before." } } }, "searchProfileMatchesRequest": { "type": "object", "properties": { "lastName": { "type": "string", "description": "Last name of the user" }, "firstName": { "type": "string", "description": "First name of the user" }, "AddressLine1": { "type": "string", "description": "First Line of Street Address. For profile search it matches the first Address line." }, "AddressLine2": { "type": "string", "description": "Second Line of Street Address. For profile search it matches the first Address line." }, "city": { "type": "string", "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address)." }, "state": { "type": "string", "description": "State or Province name (e.g., Texas)." }, "postalCode": { "type": "string", "description": "Post Office Code number." }, "country": { "type": "string", "description": "Country Address" }, "email": { "type": "string", "description": "Email linked to the user." }, "phone": { "type": "string", "description": "Telephone linked to the user." }, "matchPercentage": { "type": "number", "description": "match percentage criteria will exceed." }, "legalCompany": { "type": "string", "description": "Name Of the company the individual is associated with." } } }, "searchProfileMatchRequest": { "type": "object", "properties": { "lastName": { "type": "string", "minLength": 1, "maxLength": 40, "description": "Last Name for the profile that needs to be matched." }, "firstName": { "type": "string", "minLength": 1, "maxLength": 40, "description": "First Name for the profile that needs to be matched." }, "membershipType": { "type": "string", "minLength": 1, "maxLength": 20, "description": "Membership Type for the profile that needs to be matched." }, "membershipCardNumber": { "type": "string", "minLength": 1, "maxLength": 50, "description": "Membership Card Number for the profile that needs to be matched." }, "identificationType": { "type": "string", "minLength": 1, "maxLength": 40, "description": "Identification Type for the profile that needs to be matched." }, "identificationNumber": { "type": "string", "minLength": 1, "maxLength": 80, "description": "Identification Number for the profile that needs to be matched." }, "email": { "type": "string", "minLength": 1, "maxLength": 2000, "description": "Email for the profile that needs to be matched." }, "subscriptionType": { "type": "string", "minLength": 1, "maxLength": 20, "description": "Subscription Type for the profile that needs to be matched." }, "subscriptionId": { "type": "string", "minLength": 1, "maxLength": 80, "description": "Subscription Id for the profile that needs to be matched." }, "clientId": { "type": "string", "minLength": 1, "maxLength": 80, "description": "Client Id for the profile that needs to be matched." } } }, "orphanStayRecord": { "type": "object", "description": "The request element used to update orphan stay record elements.", "properties": { "orphanStayRecord": { "description": "This object stores the elements which user wants to update.", "$ref": "#/definitions/orphanStayRecordType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "orphanStayRecordType": { "type": "object", "description": "This object stores the elements which user wants to update.", "properties": { "bookedRoomLabel": { "type" : "string", "minLength" : 0, "maxLength" : 50, "description" : "Indicates the booked room type for the Stay Record." }, "crsBookNo": { "type" : "string", "minLength" : 0, "maxLength" : 50, "description" : "Indicates the Central Reservation System (CRS) Booking Number" }, "guestNameId": { "type" : "number", "description" : "Indicates the internal Profile ID for the guest." }, "numberOfNights": { "type" : "number", "description" : "Indicates the Number of nights for the given stay" }, "pmsCompanyId": { "type" : "string", "minLength" : 0, "maxLength" : 20, "description" : "Indicates the internal Company Profile Id linked to the reservation (stay)." }, "pmsNameId": { "type" : "string", "minLength" : 0, "maxLength" : 20, "description" : "Indicates the internal Profile Id." }, "pmsResvNo": { "type" : "string", "minLength" : 0, "maxLength" : 50, "description" : "Indicates the Property (PMS) Reservation Number." }, "pmsResvNameId": { "type" : "string", "minLength" : 0, "maxLength" : 50, "description" : "Indicates the internal Property (PMS) Reservation Id." }, "pmsTravelId": { "type" : "string", "minLength" : 0, "maxLength" : 240, "description" : "Indicates the internal Travel Agent Profile Id linked to the reservation (stay)." }, "pmsWholesalerId": { "type" : "string", "minLength" : 0, "maxLength" : 20, "description" : "Indicates the internal Wholesaler Profile Id linked to the reservation (stay)." }, "roomLabel": { "type" : "string", "minLength" : 0, "maxLength" : 50, "description" : "Indicates the room type for the Stay Record." }, "udfc10": { "type" : "string", "minLength" : 0, "maxLength" : 200, "description" : "Indicates the character UDF 10 for the Stay Record." } } }, "searchStagedProfilesRequest": { "type": "object", "properties": { "limit": { "type": "integer", "description": "Indicates maximum number of records a Web Service should return." }, "offset": { "type": "integer", "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.", "default": 0 }, "hotelIds": { "type": "array", "items": { "type": "string", "maxItems": 4000 } }, "stagedReasons": { "type": "array", "description": "This can be used to fetch staged profiles based on the reason why it got staged Ex : NameChange", "items": { "$ref": "#/definitions/stagedReasonsEnum" } }, "id": { "type": "array", "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" } }, "idContext": { "type": "array", "description": "Used to identify the source of the identifier (e.g., IATA, ABTA).", "items": { "type": "string" } }, "type": { "type": "array", "description": "A reference to the type of object defined by the UniqueID element.", "items": { "type": "string" } }, "name": { "type": "string", "description": "Family name, last name or Company Name." }, "givenName": { "type": "string", "description": "Given name, first name or names." }, "region": { "type": "string", "description": "The profile region for which the staged profiles shall be fetched." }, "countryCode": { "type": "string", "description": "Code for a country or a nationality." }, "profileType": { "type": "string", "description": "Profile type to be included in the search." }, "importDate": { "type": "string", "format": "date", "description": "The date on which the staged profiles have been received. This parameter is deprecated." }, "stageStatus": { "type": "string", "description": "The status of the staged profiles." }, "applyTo": { "$ref": "#/definitions/applyToEnum", "description": "Membership filter of staged profiles." }, "membershipCodes": { "type": "array", "items": { "type": "string", "maxItems": 4000 } }, "insertDateFrom": { "type": "string", "format": "date", "description": "Accepts a date value and retrieves all the suspended profiles inserted on or after the provided date." }, "insertDateTo": { "type": "string", "format": "date", "description": "Accepts a date value and retrieves all the suspended profiles inserted up to and including the specified date." }, "membershipNumber": { "type": "string", "description": "Accepts a membership number and retrieves the suspended profile(s) associated with the provided code.", "maxLength": 40 }, "clientID": { "type": "string", "description": "Accepts a client ID number and retrieves the suspended profile(s) associated with the provided code." }, "errorDescription": { "type": "string", "description": "The error description for the staged profile.", "maxLength": 200 } } }, "stagedReasonsEnum": { "type": "string", "enum": [ "InvalidEnrollmentCode", "EmptyEnrollmentCode", "NameChange", "InvalidExpirationDate", "EmptyExpirationDate", "EmptyMembershipLevel", "InvalidMembershipLevel", "DuplicateMembership" ] }, "applyToEnum": { "type": "string", "enum": [ "StagedProfiles", "MatchingProfiles", "StagedAndMatchingProfiles" ] }, "customizedPrivacyCodesType": { "type": "object", "description": "Customized privacy codes and values", "properties": { "code": { "description": "Configured and active profile correspondence code", "type": "string", "minLength": 0, "maxLength": 20 }, "value": { "type": "boolean", "description": "Indicates code is enabled/disabled for the profile.", "default": false } } } }, "tags": [ { "name": "Profile", "description": "The Profile APIs allow you to view, create, update, and delete profiles in OPERA Cloud. Each time a new profile in created in OPERA Cloud, a profileID is assigned. Use this profileID to retrieve and update details relating to that profile. The resource 'Companies' includes group, source, company and travel agent profile types. The resource 'Guests' includes individual and contact profile types." }, { "name": "ProfileExternal", "description": "The Profile External module allows you to retrieve and manage profiles from an external system." }, { "name": "ProfileLOV", "description": "Profiles have many Lists of Values, storing the available options a user can select when updating a profile. This module allows you to get available ListOfValues for Profile Preferences and AR Addresses on a profile." }, { "name": "ProfileMembership", "description": "This will allow you to create a guest profile enrollment in OPERA Cloud. Enrollment relates to a membership program, so as an example you can enrol the guest Mr Tom Smith into a Membership / loyalty program." }, { "name": "ProfileStatistics", "description": "These APIs will allow you to retrieve statistical data for a specified profile." }, { "name": "SuspendedStay", "description": "These APIs will allow you to view, create, update, and delete profiles in OPERA Cloud." } ], "externalDocs": { "description": "Find out more about Oracle Hospitality", "url": "https://docs.oracle.com/en/industries/hospitality/integration_platforms.html" } }