{
"swagger": "2.0",
"info": {
"title": "OPERA Cloud DataValueMapping Service API",
"description": "APIs which offer external systems to config and use values different than what are configured in opera
Compatible with OPERA Cloud release 26.2.0.0.
This document and all content within is available under the Universal Permissive License v 1.0 (https://oss.oracle.com/licenses/upl). Copyright (c) 2020, 2026 Oracle and/or its affiliates.
", "version": "26.2.0.0", "termsOfService": "https://www.oracle.com/legal/terms.html", "contact": { "email": "hospitality_apis_ww_grp@oracle.com" }, "license": { "name": "UPL", "url": "https://opensource.org/licenses/upl" } }, "schemes": [ "https" ], "basePath": "/dvm/v1", "produces": [ "application/json" ], "paths": { "/externalSystems/{extSystemCode}/hotels/{externalHotelId}/conversions": { "get": { "summary": "Fetch Converted Hotel Code", "description": "This API allows you to get the converted hotel codeOperationId:getOperaHotelCode
", "operationId": "getOperaHotelCode", "parameters": [ { "name": "externalHotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "extSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "operaHotelCode", "in": "query", "required": false, "description": "Opera Resort for which conversion is needed.", "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 fetch the opera resort for an interface and given the external resort value or vice versa.", "schema": { "$ref": "#/definitions/convertedHotelCode" } }, "204": { "description": "OperaHotelCode 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": [ "DataValueMapping" ] } }, "/externalSystems/{extSystemCode}/hotels/{operaHotelId}/convertedValues": { "get": { "summary": "Fetch Converted Values", "description": "This API allows you to get the converted valuesOperationId:getConvertedValues
", "operationId": "getConvertedValues", "parameters": [ { "name": "operaHotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "extSystemCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "externalHotelId", "in": "query", "required": false, "description": "External value of resort for which conversion is needed.", "type": "string" }, { "name": "conversionCode", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Enumeration of the different conversion codes needed for data value mapping.", "uniqueItems": true, "items": { "type": "string", "enum": [ "AccountType", "ActionCode", "ActionType", "ActivityLocation", "ActivityStatus", "ActivityType", "ActivityTypeSc", "AddressTypes", "ArrangementCode", "BlockCancellationCodes", "BlockCodes", "BlockConversion", "BlockRanking", "BlockRateOverrideReason", "BookingStatus", "BookingType", "BusiinessSegment", "CalendarEvent", "CancellationCodes", "CategoryCode", "CatItemrate", "CatRate", "CatServing", "CatSetup", "ChannelCodes", "ComboRoom", "CommentType", "CompetitionCode", "CountryCode", "CurrencyCode", "DayType", "DepartmentId", "DeptNoteCode", "DiscountReason", "DocumentType", "EventType", "FitContractType", "Frequency", "FunctionSpaceLocation", "FunctionSpaceRateType", "GenderMf", "GtdReq", "GuestPreferenceCode", "GuestPreferenceType", "IndustryCode", "InfluenceCode", "LanguageCodes", "MarketingCity", "MarketingRegion", "MarketCode", "MeetingRoomtype", "MembershipLevel", "MembershipType", "MembershipTypeAirline", "Nationality", "OcrmBounceType", "OcrmEventType", "OtaGuestPreferenceCode", "PaymentMethod", "PhoneType", "PosFamilyGroup", "PosMajorGroup", "PosMenuDef", "PosRevenueCenter", "PriceCode", "ProductCode", "ProfilePriority", "ProfileSource", "ProfileType", "RateCategory", "RateCode", "RateProgram", "RateToRateBlock", "RateType", "ReasonCode", "Relationship", "ReservationStatus", "ReservationType", "ResvBookingMethod", "RevenueGroups", "RevenueType", "Room", "RoomsPotential", "RoomCategoryLabel", "RoomClass", "RoomPool", "RoomRepairsReasonCode", "RoomStatusReasons", "RoutingCode", "Scope", "ScopeCity", "ScAccPriority", "ScAccRoomsPot", "ScAccSource", "ScDestination", "ScFunctionSpace", "ScFunctionSpaceRateCode", "ScFunctionSpaceSetup", "ScRevenueTypes", "ScSetupCode", "ScTaskCode", "ScTerritory", "ServiceRequestType", "SgiLanguage", "SgiRequestCodes", "SgiTitle", "SourceCode", "State", "Title", "TraceCode", "TraceDepartment", "TransportTypes", "TravelAgentCommissionCodes", "TravelAgentCurrencyCodes", "Trxgenerates", "TrxCode", "VipLevel", "WaitlistCodes", "WebuserSecurityQuestion" ] }, "required": false }, { "name": "valueToBeConverted", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Value to be converted. It can be opera or external value.", "items": { "type": "string" }, "required": false }, { "name": "masterValue", "in": "query", "type": "array", "collectionFormat": "multi", "description": "Master value is supposed to be Opera value.", "items": { "type": "string" }, "required": false }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "description": "Response for all the converted values.", "schema": { "$ref": "#/definitions/convertedValues" } }, "204": { "description": "ConvertedValues 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": [ "DataValueMapping" ] } }, "/externalSystems/{extSystemCode}/hotels/{operaHotelId}/defaultValues": { "get": { "summary": "Fetch Default values", "description": "This API allows you to get default valuesOperationId:getDefaultValues
", "operationId": "getDefaultValues", "parameters": [ { "name": "operaHotelId", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 2000, "description": "" }, { "name": "extSystemCode", "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 for all the converted values.", "schema": { "$ref": "#/definitions/defaultValues" } }, "204": { "description": "DefaultValues 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": [ "DataValueMapping" ] } }, "/externalSystems/{externalSystem}/conversionCodes": { "get": { "summary": "Fetch Data Value Mapping Conversion Codes", "description": "API to fetch Data Value Mapping Conversion Codes for a given external system. Filters include optional hotelId and group (XML Type).OperationId:getDvmConversionCodes
", "operationId": "getDvmConversionCodes", "parameters": [ { "name": "externalSystem", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 100, "description": "Identifier of the external system." }, { "name": "hotelId", "in": "query", "required": false, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique OPERA internal ID used to identify a Hotel in OPERA." }, { "name": "group", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of XML Types (groups) to filter conversion codes." }, { "name": "conversionCode", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of specific conversion codes to filter." }, { "name": "configuredOnly", "in": "query", "required": false, "type": "string", "default": "N", "description": "If 'Y', returns only configured conversion codes for the interface. Otherwise, returns all conversion codes." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "description": "Response to fetch Data Value Mapping Conversion Codes.", "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "schema": { "$ref": "#/definitions/fetchDvmConversionCodes" } }, "204": { "description": "No conversion codes found for the given filters." }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "DataValueMapping" ] } }, "/externalSystems/{externalSystem}/conversionCodes/{conversionCode}/dataValueMappings": { "get": { "summary": "Fetch Data Value Mappings for specific conversion code.", "description": "Retrieve mappings for a specific conversion code configured for external system, hotelId and Global mappings.OperationId:getDataValueMappings
", "operationId": "getDataValueMappings", "parameters": [ { "name": "externalSystem", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 100, "description": "Identifier of the external system." }, { "name": "conversionCode", "in": "path", "required": true, "type": "string", "minLength": 1, "maxLength": 80, "description": "Type of Conversion Code configured in OPERA." }, { "name": "hotelId", "in": "query", "required": false, "type": "string", "minLength": 1, "maxLength": 20, "description": "Unique OPERA hotel Id used to identify a Hotel in OPERA." }, { "name": "scope", "in": "query", "required": false, "type": "string", "default": "All", "description": "Fetch data based on scope: Filtered by All(default), Global, hotelId." }, { "name": "mappingIds", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi", "description": "List of mapping Id's to filter." }, { "name": "searchText", "in": "query", "required": false, "type": "string", "description": "Search string to filter by OPERA value, external value, or description." }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "description": "Retrieve Data Value Mapping response", "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "schema": { "$ref": "#/definitions/fetchDvmMappings" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "DataValueMapping" ] }, "post": { "summary": "Create Conversion Code Mappings", "description": "API to create Data Value Mapping (DVM) Conversion Codes by External System and Conversion Code.OperationId:postDataValueMappings
", "operationId": "postDataValueMappings", "parameters": [ { "name": "externalSystem", "in": "path", "required": true, "type": "string", "description": "Unique ID used to identify an external system." }, { "name": "conversionCode", "in": "path", "required": true, "type": "string", "description": "Type of conversion code configured in the system." }, { "name": "conversionCodeMappingsToBeCreated", "in": "body", "required": true, "description": "Request Object to Create Conversion Code Mappings.", "schema": { "$ref": "#/definitions/dvmConversionCodeMappingsToBeCreated" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "201": { "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } }, "description": "Response Object for creating Conversion Code Mappings.", "schema": { "$ref": "#/definitions/createdDvmConversionCodeMappings" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "DataValueMapping" ] }, "put": { "summary": "Update Conversion Code Mappings", "description": "API to update existing Data Value Mapping (DVM) Conversion Code records for a given External System and Conversion Code.OperationId:putDataValueMappings
", "operationId": "putDataValueMappings", "parameters": [ { "name": "externalSystem", "in": "path", "required": true, "type": "string", "description": "Unique Id used to identify an external system." }, { "name": "conversionCode", "in": "path", "required": true, "type": "string", "description": "Conversion Code configured in OPERA." }, { "name": "conversionCodeMappingsToBeUpdated", "in": "body", "required": true, "description": "Request to update existing Conversion Code Mappings.", "schema": { "$ref": "#/definitions/dvmConversionCodeMappingsToBeUpdated" } }, { "$ref": "#/parameters/authKey" }, { "$ref": "#/parameters/externalData" }, { "$ref": "#/parameters/x-app-key" }, { "$ref": "#/parameters/x-request-id" }, { "$ref": "#/parameters/x-originating-application" }, { "$ref": "#/parameters/x-hotelid" }, { "$ref": "#/parameters/x-externalsystem" }, { "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { "description": "Response for updating Conversion Code Mappings.", "schema": { "$ref": "#/definitions/updatedDvmConversionCodeMappings" }, "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" }, "Location": { "type": "string", "description": "Location of newly created resource" } } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "DataValueMapping" ] }, "delete": { "summary": "Remove Conversion Codes Mappings", "description": "API to Delete Interface Mapping Conversion Codes by providing one or more Mapping IDs as query parameter.OperationId:deleteDataValueMappings
", "operationId": "deleteDataValueMappings", "parameters": [ { "name": "externalSystem", "in": "path", "required": true, "type": "string", "description": "External System code" }, { "name": "conversionCode", "in": "path", "required": true, "type": "string", "description": "Conversion Code" }, { "name": "mappingIds", "in": "query", "required": true, "type": "array", "collectionFormat": "multi", "items": { "type": "integer" }, "description": "List of Mapping IDs to delete" }, { "$ref": "#/parameters/authKey" }, { "$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": { "200": { "description": "Id's deleted and any failures with reasons.", "headers": { "Content-Language": { "type": "string", "description": "Audience language", "pattern": "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*", "x-example": "en-GB" } }, "schema": { "$ref": "#/definitions/deleteDvmMappingResponse" } }, "400": { "$ref": "#/responses/400" }, "401": { "$ref": "#/responses/401" }, "403": { "$ref": "#/responses/403" }, "404": { "$ref": "#/responses/404" }, "405": { "$ref": "#/responses/405" }, "406": { "$ref": "#/responses/406" }, "413": { "$ref": "#/responses/413" }, "414": { "$ref": "#/responses/414" }, "415": { "$ref": "#/responses/415" }, "500": { "$ref": "#/responses/500" }, "502": { "$ref": "#/responses/502" }, "503": { "$ref": "#/responses/503" } }, "consumes": [ "application/json;charset=UTF-8" ], "produces": [ "application/json;charset=UTF-8" ], "tags": [ "DataValueMapping" ] } }, "/services/datavaluemapping/defaultValueCache": { "delete": { "summary": "Clear Default Value Cache", "description": "This API allows you to delete the default values cacheOperationId:clearDefaultValueCache
", "operationId": "clearDefaultValueCache", "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": [ "DataValueMapping" ] } }, "/services/datavaluemapping/status": { "get": { "summary": "ping Data Value Mapping Service", "description": "ping Data Value Mapping ServiceOperationId:pingDataValueMappingService
", "operationId": "pingDataValueMappingService", "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": "pingDataValueMappingService 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": [ "DataValueMapping" ] } } }, "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": { "convertedHotelCode": { "type": "object", "properties": { "externalSystem": { "description": "ExternalSystem for which the conversion is needed.", "type": "string", "maxLength": 2000 }, "hotelInfo": { "description": "Converted hotel information.", "$ref": "#/definitions/conversionHotelInfoType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "conversionHotelInfoType": { "type": "object", "description": "Generic information of the resort , external resort and external system.", "properties": { "operaHotelCode": { "description": "Opera Resort for which conversion is needed.", "type": "string", "minLength": 0, "maxLength": 20 }, "externalHotelCode": { "description": "External value of resort for which conversion is needed.", "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" ] }, "convertedValues": { "type": "object", "properties": { "externalSystem": { "description": "ExternalSystem for which the conversion is needed.", "type": "string", "maxLength": 2000 }, "hotelInfo": { "description": "Converted hotel information.", "$ref": "#/definitions/conversionHotelInfoType" }, "convertedValues": { "description": "List all the converted values fetched for an interface, resort.", "$ref": "#/definitions/convertedValuesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "convertedValuesType": { "type": "array", "description": "A collection of converted values.", "maxItems": 4000, "items": { "$ref": "#/definitions/convertedValueType" } }, "convertedValueType": { "type": "object", "description": "Details of the converted value.", "properties": { "operaValue": { "description": "Opera Value", "type": "string" }, "externalValue": { "description": "Value used by the external vendors.", "type": "string" }, "conversionCode": { "description": "Enumeration of conversion codes.", "$ref": "#/definitions/dataValueMappingCodeType" }, "masterValue": { "description": "Opera Master Value", "type": "string" }, "pmsDefaultConversion": { "description": "The flag will be true for all the conversions that are pms defaults. In case there are more than one conversions available in opera.", "type": "boolean" }, "crsDefaultConversion": { "description": "The flag will be true for all the conversions that are crs defaults. In case there are more than one conversions available in opera.", "type": "boolean" } } }, "dataValueMappingCodeType": { "type": "string", "description": "Enumeration of the different conversion codes needed for data value mapping.", "enum": [ "AccountType", "ActionCode", "ActionType", "ActivityLocation", "ActivityStatus", "ActivityType", "ActivityTypeSc", "AddressTypes", "ArrangementCode", "BlockCancellationCodes", "BlockCodes", "BlockConversion", "BlockRanking", "BlockRateOverrideReason", "BookingStatus", "BookingType", "BusiinessSegment", "CalendarEvent", "CancellationCodes", "CategoryCode", "CatItemrate", "CatRate", "CatServing", "CatSetup", "ChannelCodes", "ComboRoom", "CommentType", "CompetitionCode", "CountryCode", "CurrencyCode", "DayType", "DepartmentId", "DeptNoteCode", "DiscountReason", "DocumentType", "EventType", "FitContractType", "Frequency", "FunctionSpaceLocation", "FunctionSpaceRateType", "GenderMf", "GtdReq", "GuestPreferenceCode", "GuestPreferenceType", "IndustryCode", "InfluenceCode", "LanguageCodes", "MarketingCity", "MarketingRegion", "MarketCode", "MeetingRoomtype", "MembershipLevel", "MembershipType", "MembershipTypeAirline", "Nationality", "OcrmBounceType", "OcrmEventType", "OtaGuestPreferenceCode", "PaymentMethod", "PhoneType", "PosFamilyGroup", "PosMajorGroup", "PosMenuDef", "PosRevenueCenter", "PriceCode", "ProductCode", "ProfilePriority", "ProfileSource", "ProfileType", "RateCategory", "RateCode", "RateProgram", "RateToRateBlock", "RateType", "ReasonCode", "Relationship", "ReservationStatus", "ReservationType", "ResvBookingMethod", "RevenueGroups", "RevenueType", "Room", "RoomsPotential", "RoomCategoryLabel", "RoomClass", "RoomPool", "RoomRepairsReasonCode", "RoomStatusReasons", "RoutingCode", "Scope", "ScopeCity", "ScAccPriority", "ScAccRoomsPot", "ScAccSource", "ScDestination", "ScFunctionSpace", "ScFunctionSpaceRateCode", "ScFunctionSpaceSetup", "ScRevenueTypes", "ScSetupCode", "ScTaskCode", "ScTerritory", "ServiceRequestType", "SgiLanguage", "SgiRequestCodes", "SgiTitle", "SourceCode", "State", "Title", "TraceCode", "TraceDepartment", "TransportTypes", "TravelAgentCommissionCodes", "TravelAgentCurrencyCodes", "Trxgenerates", "TrxCode", "VipLevel", "WaitlistCodes", "WebuserSecurityQuestion" ] }, "defaultValues": { "type": "object", "properties": { "defaultValues": { "description": "List all the Opera and External default values fetched for an interface, resort.", "$ref": "#/definitions/defaultValuesType" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "defaultValuesType": { "type": "array", "description": "A collection of default values.", "maxItems": 4000, "items": { "$ref": "#/definitions/defaultValueType" } }, "defaultValueType": { "type": "object", "description": "Details of the default value fetched for an interface and resort.", "properties": { "operaDefault": { "description": "Opera Value", "type": "string" }, "externalDefault": { "description": "Value used by the external vendors.", "type": "string" }, "defaultValueType": { "description": "This element states the type of Default value. For example if the operaDefault and external default is Market code's default then the value will be MarketCode.", "$ref": "#/definitions/defaultValueCodeType" } } }, "defaultValueCodeType": { "type": "string", "description": "Enumeration of the different default codes.", "enum": [ "AddressTypes", "AvailabilityType", "BlockCancellationCodes", "BlockChannelCode", "BlockMarketCode", "BlockOwner", "BlockRateCode", "BlockReservationType", "BlockSourceCode", "BlockStatus", "BlockType", "CancellationCodes", "CashierId", "CountryCode", "ChannelCodes", "ConfLetterId", "ConfLetterName", "CrsCurrencyCode", "CrsCurrencyFmtDisplay", "CrsCurrencyFormat", "CrsCurrencyMultiplier", "CurrencyCode", "Custom1", "Custom2", "DeleteCharInd", "DeleteDateInd", "DeleteNumberInd", "DepositPaymentMethod", "DeptCodes", "DiscountReason", "GuestPreferences", "HighPrioMemTypes", "KeepingCharInd", "KeepingDateInd", "KeepingNumberInd", "LanguageCodes", "MarketCode", "MaxAvailInAdvance", "PaymentMethod", "PhoneType", "RateCategory", "RateClass", "RateCode", "RateDisplaySet", "ReservationType", "RoomCategoryLabel", "ScDestination", "SourceCode", "StartDayOfWeek", "TaCompanyOwner", "Trace1", "Trace2", "TraceArrivalDept1", "TraceArrivalDept2", "TraceOverrideDept1", "TraceOverrideDept2", "TraceOverrideWarning", "TraceWarning", "TravelAgentCommissionCodes", "TravelAgentCurrencyCodes", "TravelAgentCurrencyCodesCentral", "VipLevel", "WaitlistCodes", "ProfileNoteType", "BlockNoteType" ] }, "status": { "type": "object", "description": "Response Body.", "properties": { "warnings": { "$ref": "#/definitions/warningsType" }, "links": { "$ref": "#/definitions/links" } } }, "operaVersion": { "type": "object", "description": "Response for Ping operation.", "properties": { "operaVersion": { "description": "Current Opera Version Number", "type": "string" }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "fetchDvmConversionCodes": { "type": "object", "properties": { "conversionCodes": { "type": "array", "description": "List of conversion codes for the given filters.", "items": { "$ref": "#/definitions/dvmConversionCodeType" }, "maxItems": 4000 }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "dvmConversionCodeType": { "type": "object", "properties": { "conversionCode": { "type": "string", "description": "Type of conversion code.", "minLength": 1, "maxLength": 80 }, "label": { "type": "string", "description": "Label of the conversion code.", "minLength": 0, "maxLength": 200 }, "description": { "type": "string", "description": "Description of the conversion code.", "minLength": 0, "maxLength": 2000 }, "group": { "type": "string", "description": "Group or XML Type the conversion code belongs to.", "minLength": 0, "maxLength": 2000 }, "hotelId": { "type": "string", "description": "Associated hotel Id if applicable.", "minLength": 0, "maxLength": 20 } } }, "fetchDvmMappings": { "type": "object", "properties": { "conversionCodeMappings": { "type": "array", "description": "List of value mappings.", "items": { "$ref": "#/definitions/dvmMappingType" } }, "links": { "$ref": "#/definitions/links" } } }, "dvmMappingType": { "type": "object", "properties": { "id": { "type": "integer", "description": "Unique ID of the conversion code in OPERA." }, "operaValue": { "type": "string", "description": "Indicates OPERA value." }, "externalValue": { "type": "string", "description": "External system's mapped value." }, "description": { "type": "string", "description": "Description of the external value mapping." }, "hotelId": { "type": "string", "description": "Hotel code if the mappings are property-specific." }, "isGlobal": { "type": "boolean", "description": "Flag to indicate whether the mapping is global." }, "operaToExternalDefault": { "type": "boolean", "description": "Flag indicating this mapping is default from OPERA to external system." }, "externalToOperaDefault": { "type": "boolean", "description": "Flag indicating this mapping is default from external system to OPERA." } } }, "dvmConversionCodeMappingsToBeCreated": { "type": "object", "properties": { "conversionCodeMappings": { "type": "array", "description": "Conversion Code Mapping details that should be created.", "items": { "$ref": "#/definitions/dvmConversionCodeMappingType" }, "maxItems": 4000 }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "dvmConversionCodeMappingType": { "type": "object", "description": "A type containing DVM Conversion Code Mapping information.", "properties": { "id": { "description": "Mapping identifier for tracking.", "type": "string" }, "operaValue": { "description": "Internal OPERA value to be mapped.", "type": "string" }, "externalValue": { "description": "External system value to be mapped.", "type": "string" }, "description": { "description": "Description for the external value.", "type": "string" }, "operaToExternalDefault": { "description": "Flag indicating if the mapping is default from OPERA to External.", "type": "boolean" }, "externalToOperaDefault": { "description": "Flag indicating if the mapping is default from External to OPERA.", "type": "boolean" }, "isGlobal": { "description": "Flag to indicate whether the mapping is global.", "type": "boolean" }, "hotelId": { "description": "Hotel Id for which this mapping applies.", "type": "string" }, "overrideExternalDefault": { "description": "A flag to indicate whether the current External Value should be considered as default, when there is already a default External Value mapped for the same OPERA Value.", "type": "boolean" }, "overrideOperaDefault": { "description": "A flag to indicate whether the current OPERA Value should be considered as default, when there is already a default OPERA Value mapped for the same External Value.", "type": "boolean" } } }, "createdDvmConversionCodeMappings": { "type": "object", "properties": { "conversionCodesCreated": { "type": "array", "description": "List of successfully created Conversion Codes with the request Id and OPERA Id.", "items": { "$ref": "#/definitions/ConversionCodeCreatedType" }, "maxItems": 4000 }, "conversionCodesFailed": { "type": "array", "description": "List of Conversion Codes failed to create in OPERA System.", "items": { "$ref": "#/definitions/ConversionCodeFailedType" } }, "warnings": { "$ref": "#/definitions/warningsType" }, "links": { "$ref": "#/definitions/links" } } }, "dvmConversionCodeMappingsToBeUpdated": { "type": "object", "description": "Request object for updating DVM Conversion Code Mappings.", "properties": { "conversionCodeMappings": { "type": "array", "description": "DVM Conversion Code Mapping details that should be updated.", "items": { "$ref": "#/definitions/dvmConversionCodeMappingType" }, "maxItems": 4000 }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "updatedDvmConversionCodeMappings": { "type": "object", "properties": { "conversionCodesUpdated": { "type": "array", "description": "List of successfully updated Conversion Codes Mapping Id's.", "items": { "type": "integer", "description": "List of updated ID's for Conversion Code Mapping" }, "maxItems": 4000 }, "conversionCodeFailed": { "type": "array", "description": "List of Conversion Code Mappings that failed to update with reasons.", "items": { "$ref": "#/definitions/ConversionCodeFailedType" } }, "links": { "$ref": "#/definitions/links" }, "warnings": { "$ref": "#/definitions/warningsType" } } }, "deleteDvmMappingResponse": { "type": "object", "description": "Response for delete operation on DVM mappings.", "properties": { "conversionCodesDeleted": { "type": "array", "description": "List of successfully deleted mapping Id's", "items": { "type": "integer", "example": 123456 } }, "conversionCodesDeleteFailed": { "type": "array", "description": "List of failed deletions with reasons", "items": { "$ref": "#/definitions/ConversionCodeFailedType" } } } }, "ConversionCodeCreatedType": { "type": "object", "properties": { "id": { "type": "integer", "description": "Id value sent in Request object." }, "operaId": { "type": "integer", "description": "Conversion Code Id in OPERA System." } } }, "ConversionCodeFailedType": { "type": "object", "properties": { "id": { "type": "integer", "description": "Id of the failed Conversion Code Mapping from the request" }, "reason": { "type": "string", "description": "Reason for the Conversion Code Mapping failure." } } } }, "tags": [ { "name": "DataValueMapping", "description": "The DataValueMappingService Web Service offers capability to convert Opera values to external vendor's values or vice versa." } ], "externalDocs": { "description": "Find out more about Oracle Hospitality", "url": "https://docs.oracle.com/en/industries/hospitality/integration_platforms.html" } }