{
  "basePath": "/hospitality-partner/v2",
  "paths": {
    "/dcshop/props/{propCode}": {
      "post": {
        "summary": "Shop Availability at a Single Property",
        "x-auth-type": "Application \u0026 Application User",
        "description": "This request message provides functionality for direct connect partners including GDS \u0026 ADS systems to allow shopping for room availability at a single property.\nThe query will retrieve available rooms that will accommodate the requirements\nspecified in the shop request, such as the number of guests, arrival and\ndeparture dates, smoking or non-smoking preferences, and other criteria, along\nwith rate plans for the available rooms.\n\nWhen singleProduct is present in the DCShop request, one and only one of the following is required and allowed:\n* Both ratePlanCode and roomTypeCode\n* bookingCode\n",
        "tags": [
          "Direct Connect - Shop Single Property"
        ],
        "x-route-to-ref": "DcShopService",
        "x-portal-domain": "Distribution",
        "x-portal-capability": "Direct Connect Shopping",
        "operationId": "DcShopSingleProp",
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/PropDcShop-DcShop-1.0.32"
            },
            "description": "Success"
          },
          "400": {
            "$ref": "#/responses/400-BadRequest-DcShop-1.0.32"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Record not found"
          }
        },
        "x-route-in-sequence": "mustBelongToResourceGroup",
        "parameters": [
          {
            "in": "path",
            "name": "propCode",
            "pattern": "^[A-Z0-9]{2,6}$",
            "description": "This is the property code for which to find room availability for a\ngiven date range.\n",
            "type": "string",
            "required": true
          },
          {
            "schema": {
              "$ref": "#/definitions/SinglePropDcShop-DcShop-1.0.32"
            },
            "in": "body",
            "name": "singlePropDcShop",
            "required": true
          }
        ],
        "x-throttling-tier": "Unlimited",
        "x-api-include": {
          "hospitality-internal": {
            "x-auth-type": "Application",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          },
          "hospitality-partner": {
            "x-auth-type": "Application \u0026 Application User",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          }
        }
      }
    },
    "/dcres": {
      "post": {
        "summary": "Create a Reservation",
        "x-auth-type": "Application \u0026 Application User",
        "description": "Create a new reservation at a selected property",
        "tags": [
          "DC Reservation"
        ],
        "x-route-to-ref": "DcResService",
        "x-portal-domain": "Distribution",
        "x-portal-capability": "Direct Connect Reservations",
        "operationId": "CreateDcReservation",
        "responses": {
          "200": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DcReservationStay-DcRes-1.0.40"
              }
            },
            "headers": {
              "Hilton-Crs-SessionId": {
                "format": "uuid",
                "description": "Crs session GUID",
                "type": "string"
              }
            },
            "description": "Success"
          },
          "400": {
            "$ref": "#/responses/400-BadRequest-DcRes-1.0.40"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "x-route-in-sequence": "mustBelongToResourceGroup",
        "parameters": [
          {
            "in": "header",
            "name": "Hilton-Inventory-Hold",
            "description": "Indicates desire to hold booking inventory in an unconfirmed state until confirm or release request is received. Available only to authorized channels.",
            "type": "boolean",
            "required": false
          },
          {
            "schema": {
              "$ref": "#/definitions/DcReservation-DcRes-1.0.40"
            },
            "in": "body",
            "name": "reservation",
            "required": true
          }
        ],
        "x-throttling-tier": "Unlimited",
        "x-api-include": {
          "hospitality-internal": {
            "x-auth-type": "Application",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          },
          "hospitality-partner": {
            "x-auth-type": "Application \u0026 Application User",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          }
        }
      }
    },
    "/realms/applications/token": {
      "post": {
        "summary": "Application Level Login",
        "x-route-out-sequence": "token_out_sequence",
        "x-auth-type": "None",
        "description": "An application level OAuth2 token request",
        "tags": [
          "Realms"
        ],
        "x-route-to-ref": "OAuth2Service",
        "x-portal-domain": "Security",
        "x-portal-capability": "Authentication",
        "produces": [
          "application/json"
        ],
        "operationId": "CreateToken",
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/OAuth2TokenResponse-Authorizations-1.0.10"
            },
            "description": "Successful operation"
          },
          "400": {
            "$ref": "#/responses/AuthenticationFailed-Authorizations-1.0.10"
          },
          "401": {
            "$ref": "#/responses/AuthenticationFailed-Authorizations-1.0.10"
          }
        },
        "x-route-in-sequence": "token_in_sequence",
        "parameters": [
          {
            "schema": {
              "$ref": "#/definitions/OAuth2TokenRequest-Authorizations-1.0.10"
            },
            "in": "body",
            "name": "tokenRequest",
            "description": "OAuth2 Token Request",
            "required": true
          }
        ],
        "x-throttling-tier": "Unlimited",
        "x-api-include": {
          "*": {}
        },
        "consumes": [
          "application/json"
        ]
      },
      "x-api-settings": {
        "x-route-to-ref": "OAuth2Service",
        "x-route-out-sequence": "token_out_sequence",
        "x-auth-type": "None",
        "x-route-in-sequence": "token_in_sequence"
      }
    },
    "/inf/whoami": {
      "get": {
        "summary": "Retrieves details of the currently authenticated user.",
        "x-auth-type": "Application \u0026 Application User",
        "x-portal-domain": "Internal",
        "x-portal-capability": "Diagnostics",
        "produces": [
          "application/json"
        ],
        "operationId": "WhoAmI",
        "description": "This method provides a simple endpoint that may be used do determine details of the currently\nauthenticated principle.\n",
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/WhoAmIReply-InfCore-2.0.73"
            },
            "description": "successful operation"
          }
        },
        "x-route-in-sequence": "whoami_in_sequence",
        "x-throttling-tier": "Unlimited",
        "x-api-include": {
          "*": {
            "x-auth-type": "Application \u0026 Application User",
            "x-route-in-sequence": "whoami_in_sequence"
          }
        },
        "tags": [
          "Internal System Info"
        ]
      }
    },
    "/dcres/{confNumber}/gnr/{gnrNumber}/cancel": {
      "post": {
        "summary": "Cancel Reservation Stay",
        "x-auth-type": "Application \u0026 Application User",
        "description": "Cancel a stay associated with a reservation.",
        "tags": [
          "DC Room Reservation"
        ],
        "x-route-to-ref": "DcResService",
        "x-portal-domain": "Distribution",
        "x-portal-capability": "Direct Connect Reservations",
        "operationId": "CancelDcReservationStay",
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/CancelReply-DcRes-1.0.40"
            },
            "description": "Success"
          },
          "400": {
            "$ref": "#/responses/400-BadRequest-DcRes-1.0.40"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Record not found"
          }
        },
        "x-route-in-sequence": "mustBelongToResourceGroup",
        "parameters": [
          {
            "schema": {
              "$ref": "#/definitions/DcResCancel-DcRes-1.0.40"
            },
            "in": "body",
            "name": "cancel",
            "description": "cancel information",
            "required": true
          }
        ],
        "x-throttling-tier": "Unlimited",
        "x-api-include": {
          "hospitality-internal": {
            "x-auth-type": "Application",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          },
          "hospitality-partner": {
            "x-auth-type": "Application \u0026 Application User",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          }
        }
      },
      "parameters": [
        {
          "in": "path",
          "name": "confNumber",
          "description": "Confirmation Number",
          "type": "string",
          "required": true
        },
        {
          "in": "path",
          "name": "gnrNumber",
          "format": "int64",
          "description": "GNR Number",
          "type": "integer",
          "required": true
        }
      ]
    },
    "/dcres/{confNumber}/confirm": {
      "post": {
        "summary": "Confirm a Held Reservation",
        "x-auth-type": "Application \u0026 Application User",
        "description": "Confirm held but uncommitted new or modified DC Reservation.",
        "tags": [
          "DC Reservation Session"
        ],
        "x-route-to-ref": "DcResService",
        "x-portal-domain": "Distribution",
        "x-portal-capability": "Direct Connect Reservations",
        "operationId": "ConfirmDcReservation",
        "responses": {
          "400": {
            "$ref": "#/responses/400-BadRequest-DcRes-1.0.40"
          },
          "204": {
            "$ref": "#/responses/204-Success-No-Content-DcRes-1.0.40"
          }
        },
        "x-route-in-sequence": "mustBelongToResourceGroup",
        "parameters": [
          {
            "schema": {
              "$ref": "#/definitions/Confirm-DcRes-1.0.40"
            },
            "in": "body",
            "name": "confirm",
            "description": "Body information",
            "required": false
          }
        ],
        "x-throttling-tier": "Unlimited",
        "x-api-include": {
          "hospitality-internal": {
            "x-auth-type": "Application",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          },
          "hospitality-partner": {
            "x-auth-type": "Application \u0026 Application User",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          }
        }
      },
      "parameters": [
        {
          "in": "path",
          "name": "confNumber",
          "description": "Confirmation Number",
          "type": "string",
          "required": true
        },
        {
          "in": "header",
          "name": "Hilton-Crs-SessionId",
          "format": "uuid",
          "description": "Provides ability for client to modify the state of a specific booking which has been held in an unconfirmed state.",
          "type": "string",
          "required": true
        }
      ]
    },
    "/dcres/{confNumber}": {
      "get": {
        "x-route-to-ref": "DcResService",
        "summary": "Read Information For a Reservation",
        "x-auth-type": "Application \u0026 Application User",
        "x-portal-domain": "Distribution",
        "x-portal-capability": "Direct Connect Reservations",
        "operationId": "ReadDcReservation",
        "description": "Retrieve all room stays on current or future reservations.",
        "responses": {
          "200": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DcReservationStay-DcRes-1.0.40"
              }
            },
            "description": "Success"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Record not found"
          }
        },
        "x-route-in-sequence": "mustBelongToResourceGroup",
        "x-throttling-tier": "Unlimited",
        "x-api-include": {
          "hospitality-internal": {
            "x-auth-type": "Application",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          },
          "hospitality-partner": {
            "x-auth-type": "Application \u0026 Application User",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          }
        },
        "tags": [
          "DC Reservation"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "confNumber",
          "description": "Confirmation Number",
          "type": "string",
          "required": true
        }
      ]
    },
    "/dcshop/props": {
      "post": {
        "summary": "Shop Availability at Multiple Properties for Direct Connect Partners",
        "x-auth-type": "Application \u0026 Application User",
        "description": "This request message provides functionality for direct connect partners including GDS \u0026 ADS systems to allow shopping for available\nrooms at multiple Hilton properties. The query will retrieve\navailable rooms that will accommodate the requirements specified in the\nshop request, such as the number of guests, arrival and departure dates,\nsmoking or non-smoking preferences, and other criteria, along with rate\nplans for the available rooms.\n",
        "tags": [
          "Direct Connect - Shop Multiple Properties"
        ],
        "x-route-to-ref": "DcShopService",
        "x-portal-domain": "Distribution",
        "x-portal-capability": "Direct Connect Shopping",
        "operationId": "DcShopMultiProp",
        "responses": {
          "200": {
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PropDcShop-DcShop-1.0.32"
              }
            },
            "description": "Successful Operation"
          },
          "400": {
            "$ref": "#/responses/400-BadRequest-DcShop-1.0.32"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "x-route-in-sequence": "mustBelongToResourceGroup",
        "parameters": [
          {
            "schema": {
              "$ref": "#/definitions/MultiPropDcShop-DcShop-1.0.32"
            },
            "in": "body",
            "name": "multiPropDcShop",
            "required": true
          }
        ],
        "x-throttling-tier": "Unlimited",
        "x-api-include": {
          "hospitality-internal": {
            "x-auth-type": "Application",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          },
          "hospitality-partner": {
            "x-auth-type": "Application \u0026 Application User",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          }
        }
      }
    },
    "/dcres/{confNumber}/release": {
      "post": {
        "x-route-to-ref": "DcResService",
        "summary": "Release a Held Reservation",
        "x-auth-type": "Application \u0026 Application User",
        "x-portal-domain": "Distribution",
        "x-portal-capability": "Direct Connect Reservations",
        "operationId": "ReleaseDcReservation",
        "description": "Release held but uncommitted new or modified DC Reservation. A new reservation will not be created, or any held changes to a reservation will be discarded.",
        "responses": {
          "400": {
            "$ref": "#/responses/400-BadRequest-DcRes-1.0.40"
          },
          "204": {
            "$ref": "#/responses/204-Success-No-Content-DcRes-1.0.40"
          }
        },
        "x-route-in-sequence": "mustBelongToResourceGroup",
        "x-throttling-tier": "Unlimited",
        "x-api-include": {
          "hospitality-internal": {
            "x-auth-type": "Application",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          },
          "hospitality-partner": {
            "x-auth-type": "Application \u0026 Application User",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          }
        },
        "tags": [
          "DC Reservation Session"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "confNumber",
          "description": "Confirmation Number",
          "type": "string",
          "required": true
        },
        {
          "in": "header",
          "name": "Hilton-Crs-SessionId",
          "format": "uuid",
          "description": "Provides ability for client to modify the state of a specific booking which has been held in an unconfirmed state.",
          "type": "string",
          "required": true
        }
      ]
    },
    "/dcres/{confNumber}/gnr/{gnrNumber}": {
      "get": {
        "x-route-to-ref": "DcResService",
        "summary": "Read Reservation Stay Information",
        "x-auth-type": "Application \u0026 Application User",
        "x-portal-domain": "Distribution",
        "x-portal-capability": "Direct Connect Reservations",
        "operationId": "ReadDcReservationStay",
        "description": "Retrieve a stay associated with a current or future reservation.",
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/DcReservationStay-DcRes-1.0.40"
            },
            "description": "Success"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Record not found"
          }
        },
        "x-route-in-sequence": "mustBelongToResourceGroup",
        "x-throttling-tier": "Unlimited",
        "x-api-include": {
          "hospitality-internal": {
            "x-auth-type": "Application",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          },
          "hospitality-partner": {
            "x-auth-type": "Application \u0026 Application User",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          }
        },
        "tags": [
          "DC Room Reservation"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "confNumber",
          "description": "Confirmation Number",
          "type": "string",
          "required": true
        },
        {
          "in": "path",
          "name": "gnrNumber",
          "format": "int64",
          "description": "GNR Number",
          "type": "integer",
          "required": true
        }
      ],
      "put": {
        "summary": "Update Reservation Stay Information",
        "x-auth-type": "Application \u0026 Application User",
        "description": "Modify a stay associated with a reservation.",
        "tags": [
          "DC Room Reservation"
        ],
        "x-route-to-ref": "DcResService",
        "x-portal-domain": "Distribution",
        "x-portal-capability": "Direct Connect Reservations",
        "operationId": "UpdateDcReservationStay",
        "responses": {
          "200": {
            "schema": {
              "$ref": "#/definitions/DcReservationStay-DcRes-1.0.40"
            },
            "headers": {
              "Hilton-Crs-SessionId": {
                "format": "uuid",
                "description": "Crs session GUID",
                "type": "string"
              }
            },
            "description": "Success"
          },
          "400": {
            "$ref": "#/responses/400-BadRequest-DcRes-1.0.40"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Record not found"
          }
        },
        "x-route-in-sequence": "mustBelongToResourceGroup",
        "parameters": [
          {
            "in": "header",
            "name": "Hilton-Inventory-Hold",
            "description": "Indicates desire to hold booking inventory in an unconfirmed state until confirm or release request is received. Available only to authorized channels.",
            "type": "boolean",
            "required": false
          },
          {
            "in": "header",
            "name": "Hilton-Crs-SessionId",
            "format": "uuid",
            "description": "Provides ability for client to modify the state of a specific booking which has been held in an unconfirmed state. If received without the Hilton-Inventory-Hold header value of true, the held reservation with be committed.",
            "type": "string",
            "required": false
          },
          {
            "schema": {
              "$ref": "#/definitions/DcReservation-DcRes-1.0.40"
            },
            "in": "body",
            "name": "reservation",
            "description": "Modified reservation information",
            "required": true
          }
        ],
        "x-throttling-tier": "Unlimited",
        "x-api-include": {
          "hospitality-internal": {
            "x-auth-type": "Application",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          },
          "hospitality-partner": {
            "x-auth-type": "Application \u0026 Application User",
            "x-route-in-sequence": "mustBelongToResourceGroup"
          }
        }
      }
    }
  },
  "responses": {
    "400-BadRequest-DcRes-1.0.40": {
      "schema": {
        "$ref": "#/definitions/ErrorDetail-DcRes-1.0.40"
      },
      "description": "Bad Request"
    },
    "204-Success-No-Content-DcRes-1.0.40": {
      "description": "Successful with no content"
    },
    "400-BadRequest-DcShop-1.0.32": {
      "schema": {
        "$ref": "#/definitions/ErrorDetail-DcShop-1.0.32"
      },
      "description": "Bad Request"
    },
    "AuthenticationFailed-Authorizations-1.0.10": {
      "schema": {
        "type": "object",
        "properties": {
          "error_description": {
            "description": "Human readable error description.",
            "type": "string"
          },
          "authnErrorMessage": {
            "description": "Human readable error description with additional detail over the base error.",
            "type": "string"
          },
          "error_uri": {
            "description": "An optional URL for the user to go to to address the issue.",
            "type": "string"
          },
          "error": {
            "description": "A token that indicates the error that occurred.",
            "type": "string"
          },
          "authnErrorCode": {
            "description": "Error token with additional detail over the base error.",
            "type": "string"
          }
        }
      },
      "description": "Login Failed"
    }
  },
  "x-hilton-build-info": {
    "Build-User": "bamboo",
    "Build-Number": "1492",
    "Build-Repository-Branch": "develop",
    "Build-Time": "2026-05-20 20:47",
    "Build-Repository-Name": "hospitality-api",
    "Build-Repository-Rev": "bfd9b3489cf0b74e2fcf03cef065869206c00826",
    "Build-Key": "SWAG-HOS-BR"
  },
  "x-apiDetail": {
    "apiName": "hospitality-partner",
    "environments": [
      "Production and Sandbox"
    ],
    "roles": "Internal/hospitality-partner",
    "description": "Build-Key: SWAG-HOS-BR\nBuild-Number: 1492\nBuild-Name: hospitality-api\nBuild-Branch: develop\nBuild-Revision: bfd9b3489cf0b74e2fcf03cef065869206c00826\nBuild-Date: 2026-05-20 20:47\nBuild-User: bamboo",
    "productionTps": "",
    "technicalOwner": "",
    "isPublishedDefaultVersion": false,
    "faultSequence": "hospitality_fault_sequence",
    "endpointConfig": "{\"production_endpoints\":{\"url\":\"https://notused.hiltonapi.com/\",\"config\":{\"format\":\"leave-as-is\",\"optimize\":\"leave-as-is\",\"suspendDuration\":0,\"suspendMaxDuration\":0,\"factor\":1,\"retryTimeOut\":0,\"retryDelay\":0,\"actionSelect\":\"fault\",\"actionDuration\":60000}},\"implementation_status\":\"managed\",\"endpoint_type\":\"address\"}",
    "apiThumb": "",
    "endpointUTUsername": "",
    "inSequence": "",
    "context": "/hospitality-partner/v2",
    "sandboxTps": "",
    "providerName": "admin",
    "endpointSecured": false,
    "responseCache": "Disabled",
    "visibility": "restricted",
    "technicalOwnerEmail": "",
    "implementation": "ENDPOINT",
    "outSequence": "",
    "businessOwnerEmail": "",
    "version": "v2",
    "tags": [],
    "endpointUTPassword": "",
    "transports": "http,https",
    "cacheTimeout": 300,
    "availableTiers": [
      {
        "name": "Unlimited"
      }
    ],
    "businessOwner": "",
    "status": "PUBLISHED"
  },
  "definitions": {
    "BasisType-DcShop-1.0.32": {
      "description": "Basis Type.",
      "x-external-lib": "Enumerations",
      "x-model-name": "BasisType",
      "type": "string",
      "enum": [
        "perRoom",
        "perGuest"
      ]
    },
    "CategoryTotal-DcRes-1.0.40": {
      "description": "Summarized and grouped totals by charge rule type, taxes, fees, surcharges, etc.",
      "x-external-lib": "TFSModels",
      "type": "object",
      "required": [
        "category",
        "categoryType",
        "total"
      ],
      "properties": {
        "categoryType": {
          "$ref": "#/definitions/ChargeRuleCategoryType-DcRes-1.0.40"
        },
        "total": {
          "format": "double",
          "description": "Grand total of charges.",
          "type": "number"
        },
        "category": {
          "pattern": "^[A-Z0-9]{3,30}$",
          "description": "Unique code that represents a specific charge category.",
          "type": "string"
        }
      }
    },
    "StandardName-DcRes-1.0.40": {
      "x-external-lib": "Models",
      "type": "object",
      "required": [
        "firstName",
        "lastName"
      ],
      "properties": {
        "firstName": {
          "pattern": "^(?!\\p{Zs})((?![\\|\\\u003d\\;\\}\\{])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{Zs}]){1,30}(?\u003c!\\p{Zs})$",
          "description": "Guest first name.",
          "type": "string"
        },
        "lastName": {
          "pattern": "^(?!\\p{Zs})((?![\\|\\\u003d\\;\\}\\{])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{Zs}]){1,30}(?\u003c!\\p{Zs})$",
          "description": "Guest last name",
          "type": "string"
        },
        "title": {
          "pattern": "^((?![\\|\\\u003d\\;])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{Zs}]){1,48}$",
          "description": "Additional name text providing position, professional qualification, generational suffix, honorific, or veneration",
          "type": "string"
        },
        "middleInit": {
          "pattern": "^[\\p{L}\\p{M}]{1}$",
          "description": "Middle Initial",
          "type": "string"
        }
      }
    },
    "MealsIncluded-DcShop-1.0.32": {
      "description": "Defines which meals are included with this rate plan",
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "lunch": {
          "description": "Does the restaurant serve lunch",
          "type": "boolean"
        },
        "breakfast": {
          "description": "Does the restaurant serve breakfast",
          "type": "boolean"
        },
        "dinner": {
          "description": "Does the restaurant serve dinner",
          "type": "boolean"
        },
        "mealPlan": {
          "pattern": "[A-Z0-9]{1}",
          "description": "Meal plan",
          "type": "string"
        }
      }
    },
    "StayPhone-DcRes-1.0.40": {
      "x-external-lib": "StayModels",
      "type": "object",
      "required": [
        "phoneType",
        "phoneNumber"
      ],
      "properties": {
        "phoneType": {
          "$ref": "#/definitions/StayPhoneType-DcRes-1.0.40"
        },
        "phoneNumber": {
          "pattern": "^[0-9]{7,15}$",
          "description": "Phone number",
          "type": "string"
        },
        "phoneExtension": {
          "pattern": "^[0-9]{1,6}$",
          "description": "Phone Extension",
          "type": "string"
        }
      }
    },
    "DcResMealsIncluded-DcRes-1.0.40": {
      "description": "Defines which meals are included with this rate plan",
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "lunch": {
          "description": "Does the restaurant serve lunch",
          "type": "boolean"
        },
        "mealPlanDesc": {
          "description": "Description of meal plan",
          "type": "string"
        },
        "breakfast": {
          "description": "Does the restaurant serve breakfast",
          "type": "boolean"
        },
        "dinner": {
          "description": "Does the restaurant serve dinner",
          "type": "boolean"
        },
        "mealPlan": {
          "pattern": "[A-Z0-9]{1}",
          "description": "Meal plan",
          "type": "string"
        }
      }
    },
    "DcReservation-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "required": [
        "propCode",
        "guest",
        "roomStays",
        "guarantee"
      ],
      "properties": {
        "sendConfirmation": {
          "description": "Send confirmation information to the guest.",
          "type": "boolean"
        },
        "pseudoCityCode": {
          "pattern": "^[A-Z0-9]{1,16}$",
          "description": "Identification code of office/agency of a GDS. Optional for GDS.",
          "type": "string"
        },
        "comments": {
          "maxItems": 3,
          "type": "array",
          "items": {
            "pattern": "^((?!\\|)[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}]){1,65}$",
            "type": "string"
          }
        },
        "travelPartners": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TravelPartner-DcRes-1.0.40"
          }
        },
        "roomStays": {
          "minItems": 1,
          "type": "array",
          "items": {
            "$ref": "#/definitions/DcResRoomStay-DcRes-1.0.40"
          }
        },
        "secondaryGdsCode": {
          "pattern": "^[A-Z0-9]{2}$",
          "description": "The secondary GDS code.",
          "type": "string"
        },
        "guarantee": {
          "$ref": "#/definitions/DcResGuarantee-DcRes-1.0.40"
        },
        "requests": {
          "$ref": "#/definitions/SpecialRequest-DcRes-1.0.40"
        },
        "primaryGdsCode": {
          "pattern": "^[A-Z0-9]{2}$",
          "description": "The primary GDS code identifies a Global Distribution System (GDS). Required for GDS.",
          "type": "string"
        },
        "languageCode": {
          "pattern": "^[A-Z]{2}$",
          "description": "IETF BCP 47 standard language codes",
          "type": "string"
        },
        "propCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "Property Code or GDS Property Code",
          "type": "string"
        },
        "externalResId": {
          "pattern": "^((?![|\u003d;])[\\p{N}\\p{L}\\p{P}]){1,20}$",
          "description": "The external ReservationId.",
          "type": "string"
        },
        "guest": {
          "$ref": "#/definitions/DcStayGuest-DcRes-1.0.40"
        },
        "clientAccounts": {
          "description": "Only one of each client type is allowed.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/DcClientAccount-DcRes-1.0.40"
          }
        },
        "additionalNames": {
          "description": "The number of additional names cannot exceed total number of guests minus 1.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/StandardName-DcRes-1.0.40"
          }
        },
        "gdsChainCode": {
          "pattern": "^[A-Z]{2}$",
          "description": "GDS chain code. Required for GDS.",
          "type": "string"
        }
      }
    },
    "TravelPartner-DcRes-1.0.40": {
      "x-external-lib": "Models",
      "type": "object",
      "required": [
        "partnerCode",
        "partnerNumber"
      ],
      "properties": {
        "partnerNumber": {
          "description": "Travel partner number",
          "type": "string"
        },
        "partnerCode": {
          "pattern": "^[A-Z0-9]{2}$",
          "description": "Travel Partner code (Frequent Flyer, etcetera)",
          "type": "string"
        },
        "partnerType": {
          "$ref": "#/definitions/PartnerType-DcRes-1.0.40"
        }
      }
    },
    "TaxType-DcRes-1.0.40": {
      "description": "(percent) \u003d Percentage of tax basis, (flat) \u003d Flat Change, (sum) \u003d % of sum of tax basis and prior tax.",
      "x-external-lib": "Enumerations",
      "x-model-name": "TaxType",
      "type": "string",
      "enum": [
        "percent",
        "flat",
        "sum"
      ]
    },
    "DcStayRoomType-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "required": [
        "roomTypeCode"
      ],
      "properties": {
        "roomTypeCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "Room Type Code",
          "type": "string"
        },
        "roomTypeDesc": {
          "description": "Room Type Description",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "smokingRoom": {
          "description": "Indicates smoking is allowed or has been requested.",
          "type": "boolean"
        },
        "extraBedPermitted": {
          "description": "Indicates if an extra bed is permitted in the the room.",
          "type": "boolean"
        },
        "roomOccupancy": {
          "description": "The maximum allowed occupancy of the room",
          "type": "integer"
        }
      }
    },
    "CardPaymentType-DcRes-1.0.40": {
      "description": "Indicates type of card payment.",
      "x-external-lib": "Enumerations",
      "x-model-name": "CardPaymentType",
      "type": "string",
      "enum": [
        "credit",
        "debit",
        "virtual",
        "applepay",
        "googlepay",
        "centralizedbill"
      ]
    },
    "DcShopRoomType-DcShop-1.0.32": {
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "adaAccessibleRoom": {
          "description": "Indicates if room is marked as ADA accessible.",
          "type": "boolean"
        },
        "roomTypeCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "Room Type Code",
          "type": "string"
        },
        "roomTypeDesc": {
          "description": "Room Type Description",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "smokingRoom": {
          "description": "Indicates smoking is allowed or has been requested.",
          "type": "boolean"
        },
        "extraBedPermitted": {
          "description": "Indicates if an extra bed is permitted in the the room.",
          "type": "boolean"
        },
        "roomOccupancy": {
          "description": "The maximum allowed occupancy of the room",
          "type": "integer"
        },
        "roomDisplayOrder": {
          "description": "Sequential integer indicating the room display order",
          "type": "integer"
        },
        "extraPersonsAllowed": {
          "description": "Indicates whether or not a room can have extra guests.",
          "type": "boolean"
        },
        "numBeds": {
          "description": "Indicates the number of beds in the room.",
          "type": "integer",
          "minimum": 0
        },
        "crsRoomTypeCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "CRS room type code, populated for GDS channels only.",
          "type": "string"
        },
        "bedType": {
          "$ref": "#/definitions/RoomBedType-DcShop-1.0.32"
        }
      }
    },
    "DcShopRateDetail-DcShop-1.0.32": {
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "childRates": {
          "maxItems": 6,
          "description": "Array of child rates for age-based pricing. The age range for each child rate can be determined by indexing into the childAgeRanges array with the same array index value for that particular rate.",
          "type": "array",
          "items": {
            "format": "double",
            "description": "Child rate for a given age range",
            "type": "number"
          }
        },
        "rate3Person": {
          "format": "double",
          "description": "Room rate for 3 persons in room",
          "type": "number"
        },
        "rate2Person": {
          "format": "double",
          "description": "Room rate for 2 persons in room",
          "type": "number"
        },
        "extraChildRate": {
          "format": "double",
          "description": "extra child rate",
          "type": "number"
        },
        "rollawayRate": {
          "format": "double",
          "description": "Daily roll-away rate",
          "type": "number"
        },
        "rate1Person": {
          "format": "double",
          "description": "Room rate for 1 person in room",
          "type": "number"
        },
        "rate4Person": {
          "format": "double",
          "description": "Room rate for 4 persons in room",
          "type": "number"
        },
        "extraPersonRate": {
          "format": "double",
          "description": "extra person charge",
          "type": "number"
        },
        "cribRate": {
          "format": "double",
          "description": "Daily crib rate",
          "type": "number"
        },
        "chargeDetails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CategoryTotalDetail-DcShop-1.0.32"
          }
        },
        "effectiveDate": {
          "format": "date",
          "description": "The effective date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        }
      }
    },
    "CostDetail-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "averageRate": {
          "format": "double",
          "description": "Average rate for the stay. Calculated by dividing amountBeforeTax by length of the stay, rounded up to rate plan currency precision.",
          "type": "number"
        },
        "amountBeforeTax": {
          "format": "double",
          "description": "The total amount not including any associated taxes or service charges.  Does not include crib or rollaway charges.",
          "type": "number"
        },
        "totalTaxes": {
          "format": "double",
          "description": "Total taxes for the stay.  If rate plan is tax inclusive, this value will be 0.0.",
          "type": "number"
        },
        "averageRateAfterFees": {
          "format": "double",
          "description": "Average rate for the stay including service charges. Calculated by dividing sum of amountBeforeTax and service charge by length of the stay, rounded up to rate plan currency precision.",
          "type": "number"
        },
        "serviceChargesInTaxCalc": {
          "description": "Indicates if the service charges are included in the tax calculation.",
          "type": "boolean"
        },
        "averageRateAfterTax": {
          "format": "double",
          "description": "Average rate for the stay including taxes and service charges. Calculated by dividing amountAfterTax by length of the stay, rounded up to rate plan currency precision.",
          "type": "number"
        },
        "amountAfterTax": {
          "format": "double",
          "description": "The total amount including all associated taxes and service charges.  Does not include crib or rollaway charges.",
          "type": "number"
        },
        "totalServiceCharges": {
          "format": "double",
          "description": "Total service charges for the stay.  If rate plan is tax inclusive, this value will be 0.0.",
          "type": "number"
        },
        "amountWithFees": {
          "format": "double",
          "description": "Amount for the stay including service charges. Calculated as sum of amountBeforeTax and service charge, rounded up to rate plan currency precision.",
          "type": "number"
        },
        "guestTotalCostAfterTax": {
          "format": "double",
          "description": "The total cost to the guest of all elements of the stay (i.e. rooms and add-ons) after taxes.",
          "type": "number"
        },
        "currencyCode": {
          "pattern": "^[A-Z]{3}$",
          "description": "ISO 4217 standard currency code",
          "type": "string"
        },
        "serviceChargeDesc": {
          "description": "Service charge description",
          "type": "string"
        }
      }
    },
    "WhoAmIReply-InfCore-2.0.73": {
      "description": "Details of the currently authenticated principle.",
      "x-external-lib": "SecurityModels",
      "type": "object",
      "properties": {
        "hltInnCode": {
          "pattern": "^[A-Z]{4,5}$",
          "description": "Property Code",
          "type": "string"
        },
        "keyIdentifier": {
          "description": "The most appropriate unique identifier from a particular userRealm to be used as a foreign key for the user.  May duplicate other values contained in the JWT token (ie guestId, hltId, etc.)",
          "type": "string"
        },
        "hltId": {
          "pattern": "^[A-Fa-f0-9]{8}$",
          "description": "IDM Hilton Id.",
          "type": "string"
        },
        "roles": {
          "type": "array",
          "items": {
            "description": "A single or comma separated list of groups/roles assigned to a user.",
            "type": "string"
          }
        },
        "hltAppAccess": {
          "type": "array",
          "items": {
            "description": "A single or comma separated list of groups/roles assigned to a user.",
            "type": "string"
          }
        },
        "hltInnCodes": {
          "type": "array",
          "items": {
            "pattern": "^[A-Z]{4,5}$",
            "description": "Property Code",
            "type": "string"
          }
        },
        "userRealm": {
          "description": "The realm name of the user associated with the token",
          "type": "string"
        },
        "userType": {
          "description": "Defines the type of user that authenticated through the API.  \"APPLICATION\" or \"APPLICATION_USER\".",
          "type": "string"
        },
        "partnerId": {
          "format": "int32",
          "description": "The Partner ID associated with a user from the partner realm",
          "type": "integer"
        },
        "applicationId": {
          "description": "Unique ID of the OAuth 2 application for which the authentication token was generated.",
          "type": "string"
        },
        "guestId": {
          "format": "int64",
          "description": "Internal id assigned to a new Guest Profile.",
          "type": "integer"
        },
        "applicationName": {
          "description": "The name of the application for which the authentication token was generated.",
          "type": "string"
        },
        "username": {
          "pattern": "^[a-zA-Z][0-9a-zA-Z@._]{3,31}$|^\\d{1,24}$",
          "description": "The user name of the user associated with the token. Allows standard\nguest user names or Honors numbers.\n",
          "type": "string"
        }
      }
    },
    "ResStatus-DcRes-1.0.40": {
      "description": "CRS Reservation Status",
      "x-external-lib": "Enumerations",
      "x-model-name": "ResStatus",
      "type": "string",
      "enum": [
        "confirmed",
        "inHouse",
        "cancelled",
        "checkout"
      ]
    },
    "DcStayRateDetail-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "serviceCharges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceCharge-DcRes-1.0.40"
          }
        },
        "rate3Person": {
          "format": "double",
          "description": "Room rate for 3 persons in room",
          "type": "number"
        },
        "rate2Person": {
          "format": "double",
          "description": "Room rate for 2 persons in room",
          "type": "number"
        },
        "rollawayRate": {
          "format": "double",
          "description": "Daily roll-away rate",
          "type": "number"
        },
        "discountAmount": {
          "format": "double",
          "description": "Discount applied",
          "type": "number"
        },
        "taxes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Tax-DcRes-1.0.40"
          }
        },
        "extraPersonRate": {
          "format": "double",
          "description": "extra person charge",
          "type": "number"
        },
        "chargeDetails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CategoryTotalDetail-DcRes-1.0.40"
          }
        },
        "roomRate": {
          "format": "double",
          "description": "One night rate in effect for this rate period for the number of guests.  Excludes extra bed costs, taxes and service charges.",
          "type": "number"
        },
        "childRates": {
          "maxItems": 6,
          "description": "Array of child rates for age-based pricing. The age range for each child rate can be determined by indexing into the childAgeRanges array with the same array index value for that particular rate.",
          "type": "array",
          "items": {
            "format": "double",
            "description": "Child rate for a given age range",
            "type": "number"
          }
        },
        "extraChildRate": {
          "format": "double",
          "description": "extra child rate",
          "type": "number"
        },
        "rate1Person": {
          "format": "double",
          "description": "Room rate for 1 person in room",
          "type": "number"
        },
        "rate4Person": {
          "format": "double",
          "description": "Room rate for 4 persons in room",
          "type": "number"
        },
        "discountType": {
          "$ref": "#/definitions/DiscountType-DcRes-1.0.40"
        },
        "cribRate": {
          "format": "double",
          "description": "Daily crib rate",
          "type": "number"
        },
        "effectiveDate": {
          "format": "date",
          "description": "The effective date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        }
      }
    },
    "SingleProduct-DcShop-1.0.32": {
      "description": "Provides the ability to request a single product.",
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "roomTypeCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "Room Type Code",
          "type": "string"
        },
        "ratePlanCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "A rate plan.  May describe any of the following: SRP, Rate levels (0-9)",
          "type": "string"
        },
        "bookingCode": {
          "pattern": "^[A-Z0-9]{6}$",
          "description": "GDS booking code",
          "type": "string"
        }
      }
    },
    "StayPaymentCard-DcRes-1.0.40": {
      "x-external-lib": "StayModels",
      "type": "object",
      "properties": {
        "cardHolderName": {
          "pattern": "^((?![\\|\\\u003d\\;])[\\p{L}\\p{N}\\p{M}\\p{P} ]){1,75}$",
          "description": "Card holder name",
          "type": "string"
        },
        "secureCustomerAuthenticationInfo": {
          "$ref": "#/definitions/SecureCustomerAuthenticationInfo-DcRes-1.0.40"
        },
        "cardCode": {
          "pattern": "^[A-Z]{2}$",
          "description": "The unique two letter code for a credit card.",
          "type": "string"
        },
        "postalCode": {
          "pattern": "^(?!\\p{Zs})[\\p{L}\\p{N}\\p{Zs}-]{2,10}(?\u003c!\\p{Zs})$",
          "description": "The billing postal code used to authorize the payment card",
          "type": "string"
        },
        "cardHolderAddress": {
          "pattern": "^(?!\\p{Zs})((?![\\|\\\u003d\\;\\}\\{])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}]){1,35}(?\u003c!\\p{Zs})$",
          "description": "Address Line",
          "type": "string"
        },
        "cardPaymentType": {
          "$ref": "#/definitions/CardPaymentType-DcRes-1.0.40"
        },
        "buyerId": {
          "format": "uuid",
          "description": "The tokenized value of buyer Id(H4B member).",
          "type": "string"
        },
        "cardHolderState": {
          "pattern": "^[A-Z0-9]{1,3}$",
          "description": "State code as defined by the ISO-3166-2 principal subdivisions (e.g., provinces or states) of all countries coded in ISO 3166-1.",
          "type": "string"
        },
        "cardHolderCountry": {
          "minLength": 1,
          "pattern": "^((?![\\|\\\u003d\\;])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}])*$",
          "description": "name associated with the country code",
          "type": "string",
          "maxLength": 60
        },
        "cardExpireDate": {
          "pattern": "((^0[1-9]|1[0-2])[0-9]{2}$)",
          "description": "Card expiration date in the format of MMYY",
          "type": "string"
        },
        "cardHolderCity": {
          "pattern": "^(?!\\p{Zs})((?![\\|\\\u003d\\;\\}\\{])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{Zs}]){1,30}(?\u003c!\\p{Zs})$",
          "description": "City name.",
          "type": "string"
        },
        "centralBillAuthAmount": {
          "format": "double",
          "description": "Central bill authorization amount (in USD)",
          "type": "number",
          "minimum": 0
        },
        "cardNumber": {
          "pattern": "(^8\\d{15}$|^\\w{15}[CD]\\d{4}$)",
          "description": "Payment card number",
          "type": "string"
        }
      }
    },
    "DcReservationStay-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "confNumber": {
          "description": "Confirmation Number",
          "type": "string"
        },
        "ratePlan": {
          "$ref": "#/definitions/DcStayRatePlan-DcRes-1.0.40"
        },
        "travelPartners": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TravelPartner-DcRes-1.0.40"
          }
        },
        "numRollAways": {
          "description": "The number of rollaway beds per room.",
          "type": "integer"
        },
        "guarantee": {
          "$ref": "#/definitions/DcStayGuarantee-DcRes-1.0.40"
        },
        "requests": {
          "$ref": "#/definitions/SpecialRequest-DcRes-1.0.40"
        },
        "propCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "Property Code or GDS Property Code",
          "type": "string"
        },
        "externalResId": {
          "pattern": "^((?![|\u003d;])[\\p{N}\\p{L}\\p{P}]){1,20}$",
          "description": "The external ReservationId.",
          "type": "string"
        },
        "resCreateDate": {
          "format": "date-time",
          "description": "The time stamp as defined by date-time - RFC3339 that represents when the stay was created on the CRS",
          "type": "string"
        },
        "numChildren": {
          "description": "The number of children per room.",
          "type": "integer",
          "minimum": 0
        },
        "lastResModifyDate": {
          "format": "date-time",
          "description": "The time stamp as defined by date-time - RFC3339 that represents when the stay was last modified on the CRS",
          "type": "string"
        },
        "gnrNumber": {
          "format": "int64",
          "description": "GNR Number",
          "type": "integer"
        },
        "commission": {
          "$ref": "#/definitions/Commission-DcRes-1.0.40"
        },
        "departureDate": {
          "format": "date",
          "description": "The departure date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        },
        "ageBasedPricing": {
          "description": "Indicates that property participates in age-based pricing",
          "type": "boolean"
        },
        "childAges": {
          "maxItems": 8,
          "type": "array",
          "items": {
            "description": "Child Age",
            "type": "integer",
            "minimum": 0
          }
        },
        "resStatus": {
          "$ref": "#/definitions/ResStatus-DcRes-1.0.40"
        },
        "additionalNames": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/StandardName-DcRes-1.0.40"
          }
        },
        "roomType": {
          "$ref": "#/definitions/DcStayRoomType-DcRes-1.0.40"
        },
        "numRooms": {
          "description": "Number of rooms",
          "type": "integer",
          "minimum": 0
        },
        "cxlNumber": {
          "description": "Cancellation Number",
          "type": "string"
        },
        "cost": {
          "$ref": "#/definitions/DcResCostDetail-DcRes-1.0.40"
        },
        "comments": {
          "maxItems": 3,
          "type": "array",
          "items": {
            "pattern": "^((?!\\|)[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}]){1,65}$",
            "type": "string"
          }
        },
        "numAdults": {
          "description": "The number of adults per room.",
          "type": "integer",
          "minimum": 0
        },
        "numCribs": {
          "description": "The number of cribs per room.",
          "type": "integer"
        },
        "secondaryGdsCode": {
          "pattern": "^[A-Z0-9]{2}$",
          "description": "The secondary GDS code.",
          "type": "string"
        },
        "adultAge": {
          "description": "Minimum age of person considered an adult",
          "type": "integer",
          "minimum": 0
        },
        "primaryGdsCode": {
          "pattern": "^[A-Z0-9]{2}$",
          "description": "The primary GDS code identifies a Global Distribution System (GDS). Required for GDS.",
          "type": "string"
        },
        "arrivalDate": {
          "format": "date",
          "description": "The arrival date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        },
        "childAgeRanges": {
          "maxItems": 6,
          "description": "Array of child age ranges defined for the property, returned in order from youngest to oldest. The rate for each age range can be determined by indexing into the childRates array with the same array index value for that particular range.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ChildAgeRange-DcRes-1.0.40"
          }
        },
        "guest": {
          "$ref": "#/definitions/DcStayGuest-DcRes-1.0.40"
        },
        "bookingCode": {
          "pattern": "^[A-Z0-9]{6}$",
          "description": "The GDS booking code (3 character roomTypeCode and 3 character ratePlanCode).",
          "type": "string"
        },
        "clientAccounts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DcClientAccount-DcRes-1.0.40"
          }
        },
        "gdsChainCode": {
          "pattern": "^[A-Z]{2}$",
          "description": "GDS chain code",
          "type": "string"
        }
      }
    },
    "RateOverride-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "required": [
        "effectiveDate",
        "amount"
      ],
      "properties": {
        "amount": {
          "format": "double",
          "description": "Override Amount",
          "type": "number"
        },
        "effectiveDate": {
          "format": "date",
          "description": "The effective date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        }
      }
    },
    "ChildAgeRange-DcRes-1.0.40": {
      "x-external-lib": "StayModels",
      "type": "object",
      "properties": {
        "endChildAge": {
          "description": "Ending child age of child rate age range",
          "type": "integer",
          "minimum": 0
        },
        "startChildAge": {
          "description": "Starting child age of child rate age range",
          "type": "integer",
          "minimum": 0
        }
      }
    },
    "ClientType-DcShop-1.0.32": {
      "description": "Client Type (corporate, travelAgent).",
      "x-external-lib": "Enumerations",
      "x-model-name": "ClientType",
      "type": "string",
      "enum": [
        "corporate",
        "travelAgent"
      ]
    },
    "ServiceChargePeriod-DcShop-1.0.32": {
      "x-external-lib": "Models",
      "type": "object",
      "properties": {
        "charges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceCharge-DcShop-1.0.32"
          }
        },
        "effectiveDate": {
          "format": "date",
          "description": "The effective date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        }
      }
    },
    "DcStayGuarantee-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "required": [
        "guarMethodCode"
      ],
      "properties": {
        "paymentCard": {
          "$ref": "#/definitions/StayPaymentCard-DcRes-1.0.40"
        },
        "cxlPolicyCode": {
          "description": "The cancellation policy for the stay",
          "type": "string"
        },
        "guarPolicyCode": {
          "description": "The guarantee policy code for the stay",
          "type": "string"
        },
        "cxlPolicyLocalDeadline": {
          "pattern": "^[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]$",
          "description": "The time stamp in YYYY-MM-DDThh:mm format that represents the cancellation policy deadline for the property in the property\u0027s local time.",
          "type": "string"
        },
        "cxlPolicyDesc": {
          "description": "The cancellation policy description",
          "type": "string"
        },
        "guarMethodDesc": {
          "description": "Guarantee method description",
          "type": "string"
        },
        "guarPolicyDesc": {
          "description": "The guarantee policy description",
          "type": "string"
        },
        "deposit": {
          "$ref": "#/definitions/Deposit-DcRes-1.0.40"
        },
        "guarMethodCode": {
          "pattern": "^[A-Z0-9]{2}$",
          "description": "Guarantee method code",
          "type": "string"
        },
        "cxlPolicyDeadline": {
          "format": "date-time",
          "description": "The time stamp as defined by date-time - RFC3339 that represents the cancellation policy deadline for the property in UTC.",
          "type": "string"
        }
      }
    },
    "ServiceCharge-DcShop-1.0.32": {
      "x-external-lib": "Models",
      "type": "object",
      "properties": {
        "period": {
          "$ref": "#/definitions/PeriodType-DcShop-1.0.32"
        },
        "amount": {
          "format": "double",
          "description": "Service Charge Amount",
          "type": "number"
        },
        "type": {
          "$ref": "#/definitions/ServiceChargeType-DcShop-1.0.32"
        },
        "basis": {
          "$ref": "#/definitions/BasisType-DcShop-1.0.32"
        }
      }
    },
    "SecureCustomerAuthenticationInfo-DcRes-1.0.40": {
      "x-external-lib": "Models",
      "type": "object",
      "properties": {
        "cavv": {
          "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}\u003d\u003d|[A-Za-z0-9+/]{3}\u003d)?$",
          "description": "The Cardholder Authentication Verification Value (CAVV) for the 3D Secure authentication session.",
          "type": "string"
        },
        "cavvAlgorithm": {
          "pattern": "^[0-9a-zA-Z.]{1,10}$",
          "description": "The CAVV Algorithmn used during the authentication.",
          "type": "string"
        },
        "threeDAuthenticatedResponse": {
          "pattern": "^[a-zA-Z]{1,10}$",
          "description": "Value indicating whether 3D Secure was offered for this payment.",
          "type": "string"
        },
        "networkTxnRefTraceId": {
          "pattern": "^[A-Z0-9]{1,50}$",
          "description": "Network Transaction Reference/Trace Identifier.",
          "type": "string"
        },
        "eCommerceIndicator": {
          "pattern": "^[a-zA-Z0-9]{1,10}$",
          "description": "The Electronic Commerce Indicator returned from the schemes for the 3D Secure 2 payment session.",
          "type": "string"
        },
        "threeDOfferedResponse": {
          "pattern": "^[a-zA-Z]{1,10}$",
          "description": "A Boolean value indicating whether 3D Secure was offered for this payment.",
          "type": "string"
        },
        "threeDSVersion": {
          "pattern": "^[0-9.]{1,10}$",
          "description": "The current supported version of 3D Secure 2.",
          "type": "string"
        },
        "transactionId": {
          "pattern": "^((?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}\u003d\u003d|[A-Za-z0-9+/]{3}\u003d)|[A-Za-z0-9-]{1,100})$",
          "description": "The unique transaction identifier assigned by the 3DS to identify a single transaction.",
          "type": "string"
        }
      }
    },
    "CancelReply-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "cxlNumber": {
          "description": "Cancellation Number",
          "type": "string"
        }
      }
    },
    "DcStayGuest-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "required": [
        "name",
        "addresses"
      ],
      "properties": {
        "emails": {
          "maxItems": 4,
          "type": "array",
          "items": {
            "$ref": "#/definitions/StayEmail-DcRes-1.0.40"
          }
        },
        "addresses": {
          "minItems": 1,
          "maxItems": 3,
          "type": "array",
          "items": {
            "$ref": "#/definitions/StayAddress-DcRes-1.0.40"
          }
        },
        "name": {
          "$ref": "#/definitions/StandardName-DcRes-1.0.40"
        },
        "phones": {
          "maxItems": 5,
          "type": "array",
          "items": {
            "$ref": "#/definitions/StayPhone-DcRes-1.0.40"
          }
        },
        "honorsNumber": {
          "pattern": "^\\d{1,24}$",
          "description": "Hilton Honors Number.",
          "type": "string"
        }
      }
    },
    "OAuth2TokenRequest-Authorizations-1.0.10": {
      "x-external-lib": "Authorizations",
      "type": "object",
      "properties": {
        "client_secret": {
          "description": "The OAuth2 client_secret of the application on which the user is attempting to login.",
          "type": "string"
        },
        "client_id": {
          "description": "The OAuth2 client_id of the application on which the user is attempting to login.",
          "type": "string"
        }
      },
      "required": [
        "client_id",
        "client_secret"
      ]
    },
    "RoomBedType-DcShop-1.0.32": {
      "description": "Bed Type",
      "x-external-lib": "Enumerations",
      "x-model-name": "RoomBedType",
      "type": "string",
      "enum": [
        "double",
        "king",
        "queen",
        "twin"
      ]
    },
    "CommissionPayTo-DcRes-1.0.40": {
      "description": "Who to pay the commission to: Corp, Travel, No one",
      "x-external-lib": "Enumerations",
      "x-model-name": "CommissionPayTo",
      "type": "string",
      "enum": [
        "corporate",
        "travelAgent"
      ]
    },
    "ChargeRuleBasis-DcShop-1.0.32": {
      "description": "Options that are part of the application criteria for a charge rule",
      "x-external-lib": "Enumerations",
      "x-model-name": "ChargeRuleBasis",
      "type": "string",
      "enum": [
        "perRoom",
        "perChild",
        "perAdult",
        "perGuest",
        "perItem"
      ]
    },
    "StayAddress-DcRes-1.0.40": {
      "x-external-lib": "StayModels",
      "type": "object",
      "required": [
        "addressType"
      ],
      "properties": {
        "country": {
          "pattern": "^[A-Z]{2}$",
          "description": "ISO 3166-1 Alpha-2 country code.",
          "type": "string"
        },
        "city": {
          "pattern": "^(?!\\p{Zs})((?![\\|\\\u003d\\;\\}\\{])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{Zs}]){1,30}(?\u003c!\\p{Zs})$",
          "description": "City name.",
          "type": "string"
        },
        "addressType": {
          "$ref": "#/definitions/StayAddressType-DcRes-1.0.40"
        },
        "postalCode": {
          "pattern": "^(?!\\p{Zs})[\\p{L}\\p{N}\\p{Zs}-]{2,10}(?\u003c!\\p{Zs})$",
          "description": "Guest zip code, may be present in a name based search",
          "type": "string"
        },
        "addressLine1": {
          "pattern": "^(?!\\p{Zs})((?![\\|\\\u003d\\;\\}\\{])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}]){1,35}(?\u003c!\\p{Zs})$",
          "description": "Address Line",
          "type": "string"
        },
        "addressLine2": {
          "pattern": "^(?!\\p{Zs})((?![\\|\\\u003d\\;\\}\\{])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}]){1,35}(?\u003c!\\p{Zs})$",
          "description": "Address Line",
          "type": "string"
        },
        "company": {
          "pattern": "^(?!\\p{Zs})((?![\\|\\\u003d\\;])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S} ]){1,60}(?\u003c!\\p{Zs})$",
          "description": "Company Name",
          "type": "string"
        },
        "addressLine3": {
          "pattern": "^(?!\\p{Zs})((?![\\|\\\u003d\\;\\}\\{])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}]){1,35}(?\u003c!\\p{Zs})$",
          "description": "Address Line",
          "type": "string"
        },
        "state": {
          "pattern": "^[A-Z0-9]{1,3}$",
          "description": "State code as defined by the ISO-3166-2 principal subdivisions (e.g., provinces or states) of all countries coded in ISO 3166-1.",
          "type": "string"
        },
        "addressLine4": {
          "pattern": "^(?!\\p{Zs})((?![\\|\\\u003d\\;\\}\\{])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}]){1,35}(?\u003c!\\p{Zs})$",
          "description": "Address Line",
          "type": "string"
        }
      }
    },
    "ChildAgeRange-DcShop-1.0.32": {
      "x-external-lib": "StayModels",
      "type": "object",
      "properties": {
        "endChildAge": {
          "description": "Ending child age of child rate age range",
          "type": "integer",
          "minimum": 0
        },
        "startChildAge": {
          "description": "Starting child age of child rate age range",
          "type": "integer",
          "minimum": 0
        }
      }
    },
    "PropDcShop-DcShop-1.0.32": {
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "taxPeriods": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TaxPeriod-DcShop-1.0.32"
          }
        },
        "numAdults": {
          "description": "The number of adults per room.",
          "type": "integer",
          "minimum": 0
        },
        "highRate": {
          "format": "double",
          "description": "Highest available rate",
          "type": "number"
        },
        "adultAge": {
          "description": "Minimum age of person considered an adult",
          "type": "integer",
          "minimum": 0
        },
        "lowRate": {
          "format": "double",
          "description": "Lowest available rate ",
          "type": "number"
        },
        "propName": {
          "description": "property short name",
          "type": "string"
        },
        "statusMessage": {
          "description": "Status message for this property",
          "type": "string"
        },
        "propCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "Property Code",
          "type": "string"
        },
        "arrivalDate": {
          "format": "date",
          "description": "The arrival date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        },
        "lengthOfStay": {
          "description": "Length of Stay",
          "maximum": 90,
          "type": "integer"
        },
        "marketingText": {
          "description": "Availability marketing text for specific chain and airline, returned only for GDS transactions.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "roomTypes": {
          "description": "Key/Value HashMap of roomTypeCode \u003d { RoomType Object }.\nPlease refer to the RoomType object for attribute details.\n",
          "additionalProperties": {
            "$ref": "#/definitions/DcShopRoomType-DcShop-1.0.32"
          },
          "type": "object",
          "properties": {
            "roomTypeCode": {
              "$ref": "#/definitions/DcShopRoomType-DcShop-1.0.32"
            }
          }
        },
        "childAgeRanges": {
          "maxItems": 6,
          "description": "Array of child age ranges defined for the property, returned in order from youngest to oldest. The rate for each age range can be determined by indexing into the childRates array with the same array index value for that particular range.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ChildAgeRange-DcShop-1.0.32"
          }
        },
        "numChildren": {
          "description": "The number of children per room.",
          "type": "integer",
          "minimum": 0
        },
        "roomRates": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DcShopRoomRate-DcShop-1.0.32"
          }
        },
        "departureDate": {
          "format": "date",
          "description": "The departure date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        },
        "ageBasedPricing": {
          "description": "Indicates that property participates in age-based pricing",
          "type": "boolean"
        },
        "childAges": {
          "maxItems": 8,
          "type": "array",
          "items": {
            "description": "Child Age",
            "type": "integer",
            "minimum": 0
          }
        },
        "ratePlans": {
          "description": "Key/Value HashMap of ratePlanCode \u003d { RatePlan Object }.  Please refer to\nthe RatePlan object for attribute details.\n",
          "additionalProperties": {
            "$ref": "#/definitions/DcShopRatePlan-DcShop-1.0.32"
          },
          "type": "object",
          "properties": {
            "ratePlanCode": {
              "$ref": "#/definitions/DcShopRatePlan-DcShop-1.0.32"
            }
          }
        },
        "currencyCode": {
          "pattern": "^[A-Z]{3}$",
          "description": "ISO 4217 standard currency code",
          "type": "string"
        },
        "clientAccounts": {
          "description": "Key/Value HashMap of clientId \u003d { ClientAccount Object }.\nPlease refer to the ClientAccount object for attribute details.\n",
          "additionalProperties": {
            "$ref": "#/definitions/AvailClientAccount-DcShop-1.0.32"
          },
          "type": "object",
          "properties": {
            "clientId": {
              "$ref": "#/definitions/AvailClientAccount-DcShop-1.0.32"
            }
          }
        },
        "statusCode": {
          "description": "Status code for this property",
          "type": "integer"
        },
        "brandCode": {
          "pattern": "^[A-Z]{2}$",
          "description": "Brand Code",
          "type": "string"
        },
        "gdsChainCode": {
          "pattern": "^[A-Z]{2}$",
          "description": "GDS chain code",
          "type": "string"
        }
      }
    },
    "ChargeRuleBasis-DcRes-1.0.40": {
      "description": "Options that are part of the application criteria for a charge rule",
      "x-external-lib": "Enumerations",
      "x-model-name": "ChargeRuleBasis",
      "type": "string",
      "enum": [
        "perRoom",
        "perChild",
        "perAdult",
        "perGuest",
        "perItem"
      ]
    },
    "CategoryTotal-DcShop-1.0.32": {
      "description": "Summarized and grouped totals by charge rule type, taxes, fees, surcharges, etc.",
      "x-external-lib": "TFSModels",
      "type": "object",
      "required": [
        "category",
        "categoryType",
        "total"
      ],
      "properties": {
        "categoryType": {
          "$ref": "#/definitions/ChargeRuleCategoryType-DcShop-1.0.32"
        },
        "total": {
          "format": "double",
          "description": "Grand total of charges.",
          "type": "number"
        },
        "category": {
          "pattern": "^[A-Z0-9]{3,30}$",
          "description": "Unique code that represents a specific charge category.",
          "type": "string"
        }
      }
    },
    "CommissionType-DcRes-1.0.40": {
      "description": "Type of commission",
      "x-external-lib": "Enumerations",
      "x-model-name": "CommissionType",
      "type": "string",
      "enum": [
        "percent",
        "amount"
      ]
    },
    "ServiceChargeType-DcShop-1.0.32": {
      "description": "Service Charge Type",
      "x-external-lib": "Enumerations",
      "x-model-name": "ServiceChargeType",
      "type": "string",
      "enum": [
        "percent",
        "flat"
      ]
    },
    "RoomRate-DcShop-1.0.32": {
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "depositAmount": {
          "format": "double",
          "description": "Deposit Amount",
          "type": "number"
        },
        "averageRate": {
          "format": "double",
          "description": "Average rate for the stay. Calculated by dividing amountBeforeTax by length of the stay, rounded up to rate plan currency precision.",
          "type": "number"
        },
        "roomTypeCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "Room Type Code",
          "type": "string"
        },
        "amountBeforeTax": {
          "format": "double",
          "description": "The total amount not including any associated taxes or service charges.  Does not include crib or rollaway charges.",
          "type": "number"
        },
        "merchantTotalAmount": {
          "format": "double",
          "description": "Total to indicate to OTA partners the total amount they need to collect during shopping.",
          "type": "number",
          "minimum": 0.0
        },
        "totalTaxes": {
          "format": "double",
          "description": "Total taxes for the stay.  If rate plan is tax inclusive, this value will be 0.0.",
          "type": "number"
        },
        "rollawayRate": {
          "format": "double",
          "description": "Daily roll-away rate",
          "type": "number"
        },
        "averageRateAfterFees": {
          "format": "double",
          "description": "Average rate for the stay including service charges. Calculated by dividing sum of amountBeforeTax and service charge by length of the stay, rounded up to rate plan currency precision.",
          "type": "number"
        },
        "rateAmount": {
          "format": "double",
          "description": "Rate amount value determined by the displayRateType field in the request",
          "type": "number"
        },
        "averageRateAfterTax": {
          "format": "double",
          "description": "Average rate for the stay including taxes and service charges. Calculated by dividing amountAfterTax by length of the stay, rounded up to rate plan currency precision.",
          "type": "number"
        },
        "amountAfterTax": {
          "format": "double",
          "description": "The total amount including all associated taxes and service charges.  Does not include crib or rollaway charges.",
          "type": "number"
        },
        "ratePlanCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "A rate plan.  May describe any of the following: SRP, Rate levels (0-9)",
          "type": "string"
        },
        "rateChangeIndicator": {
          "description": "Indicates if a rate changes occurs during the stay",
          "type": "boolean"
        },
        "serviceChargesInTaxCalc": {
          "description": "Indicates if the service charges are included in the tax calculation.",
          "type": "boolean"
        },
        "totalServiceCharges": {
          "format": "double",
          "description": "Total service charges for the stay.  If rate plan is tax inclusive, this value will be 0.0.",
          "type": "number"
        },
        "amountWithFees": {
          "format": "double",
          "description": "Amount for the stay including service charges. Calculated as sum of amountBeforeTax and service charge, rounded up to rate plan currency precision.",
          "type": "number"
        },
        "cribRate": {
          "format": "double",
          "description": "Daily crib rate",
          "type": "number"
        },
        "numRoomsAvail": {
          "format": "int64",
          "description": "Number of rooms available in inventory",
          "type": "integer"
        },
        "serviceChargeDesc": {
          "description": "Service charge description",
          "type": "string"
        }
      }
    },
    "RatePlanCandidate-DcShop-1.0.32": {
      "x-external-lib": "DistModels",
      "type": "object",
      "required": [
        "ratePlanCategory"
      ],
      "properties": {
        "ratePlanCategory": {
          "$ref": "#/definitions/RatePlanCategory-DcShop-1.0.32"
        },
        "ratePlanId": {
          "pattern": "^[A-Z0-9]{1,30}$",
          "description": "A special ID code that is associated with the ratePlanCategory. Examples are Corporate ID.",
          "type": "string"
        }
      }
    },
    "ErrorNotification-DcShop-1.0.32": {
      "x-external-lib": "Models",
      "type": "object",
      "required": [
        "message"
      ],
      "properties": {
        "code": {
          "description": "Error Notification Code or identifier",
          "type": "string"
        },
        "otaErrorCode": {
          "description": "Online travel agency error code.",
          "type": "integer"
        },
        "fields": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "message": {
          "type": "string"
        }
      }
    },
    "MultiPropDcShop-DcShop-1.0.32": {
      "x-external-lib": "DistModels",
      "type": "object",
      "required": [
        "props",
        "arrivalDate",
        "departureDate",
        "numAdults"
      ],
      "properties": {
        "maxRateQualifier": {
          "format": "double",
          "description": "The maximum rate qualifier element filters room types based on the rate.",
          "type": "number"
        },
        "minRateQualifier": {
          "format": "double",
          "description": "The minimum rate qualifier element filters room types based on the rate.",
          "type": "number"
        },
        "pseudoCityCode": {
          "pattern": "^[A-Z0-9]{1,16}$",
          "description": "Identification code of office/agency of a GDS",
          "type": "string"
        },
        "ratePlanCandidates": {
          "minItems": 1,
          "maxItems": 20,
          "type": "array",
          "items": {
            "$ref": "#/definitions/RatePlanCandidate-DcShop-1.0.32"
          }
        },
        "numAdults": {
          "description": "The number of adults per room.",
          "type": "integer",
          "minimum": 0
        },
        "secondaryGdsCode": {
          "pattern": "^[A-Z0-9]{2}$",
          "description": "The secondary GDS code.",
          "type": "string"
        },
        "roomAmenities": {
          "minItems": 1,
          "maxItems": 5,
          "uniqueItems": true,
          "type": "array",
          "items": {
            "$ref": "#/definitions/RoomAmenity-DcShop-1.0.32"
          }
        },
        "primaryGdsCode": {
          "pattern": "^[A-Z0-9]{2}$",
          "description": "The primary GDS code identifies a Global Distribution System (GDS).",
          "type": "string"
        },
        "props": {
          "minItems": 1,
          "maxItems": 30,
          "uniqueItems": true,
          "type": "array",
          "items": {
            "$ref": "#/definitions/DcShopProperty-DcShop-1.0.32"
          }
        },
        "arrivalDate": {
          "format": "date",
          "description": "The arrival date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        },
        "travelAgentId": {
          "pattern": "^[A-Z0-9]{1,22}$",
          "description": "Travel Agent Client Id",
          "type": "string"
        },
        "numChildren": {
          "description": "The number of children per room.",
          "type": "integer",
          "minimum": 0
        },
        "promoCode": {
          "pattern": "^[A-Z0-9]{1,6}$",
          "description": "Promotion code that the rate plan is derived from.",
          "type": "string"
        },
        "departureDate": {
          "format": "date",
          "description": "The departure date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        },
        "childAges": {
          "minItems": 1,
          "maxItems": 8,
          "type": "array",
          "items": {
            "description": "Child Age",
            "type": "integer",
            "minimum": 0
          }
        },
        "displayCurrency": {
          "pattern": "^[A-Z]{3}$",
          "description": "ISO 4217 standard currency code",
          "type": "string"
        }
      }
    },
    "StayEmail-DcRes-1.0.40": {
      "x-external-lib": "StayModels",
      "type": "object",
      "required": [
        "emailAddress",
        "emailType"
      ],
      "properties": {
        "emailAddress": {
          "x-customvalidator": "email",
          "description": "Email address",
          "type": "string"
        },
        "emailType": {
          "$ref": "#/definitions/EmailType-DcRes-1.0.40"
        }
      }
    },
    "ChargeRuleCategoryType-DcRes-1.0.40": {
      "description": "The type of Charge Rule category that can be setup.",
      "x-external-lib": "Enumerations",
      "x-model-name": "ChargeRuleCategoryType",
      "type": "string",
      "enum": [
        "tax",
        "fee"
      ]
    },
    "DcClientAccount-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "required": [
        "clientId",
        "clientType"
      ],
      "properties": {
        "clientId": {
          "pattern": "^\\d{1,22}$",
          "description": "Client account ID",
          "type": "string"
        },
        "clientType": {
          "$ref": "#/definitions/ClientType-DcRes-1.0.40"
        },
        "clientName": {
          "description": "Client Name",
          "type": "string"
        }
      }
    },
    "ResDeposit-DcRes-1.0.40": {
      "x-external-lib": "Models",
      "type": "object",
      "required": [
        "amount"
      ],
      "properties": {
        "amount": {
          "format": "double",
          "description": "Deposit Amount",
          "type": "number"
        },
        "dueDate": {
          "format": "date",
          "description": "The deposit due date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        }
      }
    },
    "CategoryTotalDetail-DcRes-1.0.40": {
      "description": "Summarized and grouped totals by charge rule type, taxes, fees, surcharges, etc.",
      "x-external-lib": "TFSModels",
      "type": "object",
      "required": [
        "category",
        "categoryType",
        "total",
        "sequence"
      ],
      "properties": {
        "amountType": {
          "$ref": "#/definitions/ChargeRuleAmountType-DcRes-1.0.40"
        },
        "exemptionCode": {
          "pattern": "^[A-Z0-9]{2,10}$",
          "description": "If exempted, this field will indicate the exemption code that was applied.",
          "type": "string"
        },
        "inclusive": {
          "default": false,
          "description": "Indicates if the Charge Rule was included in the charge amount.",
          "type": "boolean"
        },
        "amount": {
          "format": "double",
          "description": "Charge rule amount.",
          "type": "number"
        },
        "period": {
          "$ref": "#/definitions/PeriodType-DcRes-1.0.40"
        },
        "includedInQuotedRate": {
          "description": "Indicates if a given charge rule is included in the quoted rate (amount before tax).",
          "type": "boolean"
        },
        "basis": {
          "$ref": "#/definitions/ChargeRuleBasis-DcRes-1.0.40"
        },
        "collectedOnProperty": {
          "description": "Flag to indicate to our external partners (OTAS, etc) which taxes or fees will be collected on property.",
          "type": "boolean"
        },
        "categoryType": {
          "$ref": "#/definitions/ChargeRuleCategoryType-DcRes-1.0.40"
        },
        "sequence": {
          "type": "integer"
        },
        "total": {
          "format": "double",
          "description": "Total charges for the category.",
          "type": "number"
        },
        "postingCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "Unique code that represents a specific charge type at a property.",
          "type": "string"
        },
        "appliedToRuleId": {
          "description": "For tax on tax scenarios, id of the rule that this rule was calculated upon.",
          "type": "integer"
        },
        "name": {
          "pattern": "^((?!\\|)[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}]){1,50}$",
          "description": "Short name that identifies a charge rule.",
          "type": "string"
        },
        "ruleId": {
          "type": "integer"
        },
        "category": {
          "pattern": "^[A-Z0-9]{3,30}$",
          "description": "Unique code that represents a specific charge category.",
          "type": "string"
        },
        "overrideRuleId": {
          "description": "Charge rule override id.  Indicates that this rule was overridden and which override was applied.",
          "type": "integer"
        }
      }
    },
    "AvailClientAccount-DcShop-1.0.32": {
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "gdsRatePlanCode": {
          "description": "GDS Rate Plan Code",
          "type": "string"
        },
        "clientId": {
          "pattern": "^\\d{1,22}$",
          "description": "Client account ID",
          "type": "string"
        },
        "clientType": {
          "$ref": "#/definitions/ClientType-DcShop-1.0.32"
        },
        "clientName": {
          "description": "Client Name",
          "type": "string"
        },
        "programAccountId": {
          "format": "int64",
          "description": "Internal id assigned to a Program Account",
          "type": "integer"
        },
        "clientRatePlanFound": {
          "type": "boolean"
        },
        "gdsRateCategory": {
          "type": "string"
        }
      }
    },
    "ErrorDetail-DcShop-1.0.32": {
      "x-external-lib": "Models",
      "type": "object",
      "required": [
        "context",
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "integer"
        },
        "context": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "notifications": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ErrorNotification-DcShop-1.0.32"
          }
        }
      }
    },
    "ErrorDetail-DcRes-1.0.40": {
      "x-external-lib": "Models",
      "type": "object",
      "required": [
        "context",
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "integer"
        },
        "context": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "notifications": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ErrorNotification-DcRes-1.0.40"
          }
        }
      }
    },
    "UserClaims-Authorizations-1.0.10": {
      "x-external-lib": "Authorizations",
      "type": "object",
      "properties": {
        "hhonorsNumber": {
          "pattern": "^\\d{1,24}$",
          "description": "Hilton Honors Number.",
          "type": "string"
        },
        "domainUserName": {
          "description": "The domain associated with the authenticated user.  Current valid values are (\"guests\", \"partners\", and \"corp\").",
          "type": "string"
        },
        "confNumber": {
          "description": "Confirmation Number",
          "type": "string"
        },
        "lastName": {
          "pattern": "^(?!\\p{Zs})((?![\\|\\\u003d\\;\\}\\{])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{Zs}]){1,30}(?\u003c!\\p{Zs})$",
          "description": "Guest last name",
          "type": "string"
        },
        "hltInnCode": {
          "pattern": "^[A-Z]{4,5}$",
          "description": "Property Code",
          "type": "string"
        },
        "keyIdentifier": {
          "description": "The most appropriate unique identifier from a particular userRealm to be used as a foreign key for the user.  May duplicate other values contained in the JWT token (ie guestId, hltId, etc.)",
          "type": "string"
        },
        "hltId": {
          "pattern": "^[A-Fa-f0-9]{8}$",
          "description": "IDM Hilton Id.",
          "type": "string"
        },
        "hltInnCodes": {
          "pattern": "^[A-Z]{4,5}(,[A-Z]{4,5})*$",
          "description": "The list of secondary Property Codes associated with the user.",
          "type": "string"
        },
        "arrivalDate": {
          "format": "date",
          "description": "The arrival date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        },
        "firstName": {
          "pattern": "^(?!\\p{Zs})((?![\\|\\\u003d\\;\\}\\{])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{Zs}]){1,30}(?\u003c!\\p{Zs})$",
          "description": "Guest first name.",
          "type": "string"
        },
        "emailAddress": {
          "description": "Email address",
          "type": "string"
        },
        "phoneNumber": {
          "pattern": "^[0-9]{7,15}$",
          "description": "Phone number",
          "type": "string"
        },
        "tier": {
          "x-customvalidator": "honorsTier",
          "pattern": "^[A-Z]{1}$",
          "description": "Honors tier.",
          "type": "string"
        },
        "userRealm": {
          "description": "The realm name of the user associated with the token",
          "type": "string"
        },
        "partnerId": {
          "format": "int32",
          "description": "The Partner ID associated with a user from the partner realm",
          "type": "integer"
        },
        "departureDate": {
          "format": "date",
          "description": "The departure date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        },
        "guestId": {
          "format": "int64",
          "description": "Internal id assigned to a new Guest Profile.",
          "type": "integer"
        },
        "username": {
          "pattern": "^[a-zA-Z][0-9a-zA-Z@._]{3,31}$|^\\d{1,24}$",
          "description": "The user name of the user associated with the token. Allows standard\nguest user names or Honors numbers.\n",
          "type": "string"
        }
      }
    },
    "DcStayRatePlan-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "required": [
        "ratePlanCode"
      ],
      "properties": {
        "ratePlanName": {
          "pattern": "^((?![\\|\\\u003d\\;])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}]){1,60}$",
          "description": "Long form name of a stay rate plan",
          "type": "string"
        },
        "serviceChargesAndTaxesIncluded": {
          "description": "Indicates if service charges and taxes are included in the rates",
          "type": "boolean"
        },
        "promoCode": {
          "pattern": "^[A-Z0-9]{1,6}$",
          "description": "Promotion code that the rate plan is derived from.",
          "type": "string"
        },
        "advancePurchase": {
          "description": "Is this reservation fully pre-paid",
          "type": "boolean"
        },
        "ratePlanCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "A rate plan.  May describe any of the following: SRP, Rate levels (0-9)",
          "type": "string"
        },
        "groupNumber": {
          "pattern": "^((?![\\|\\\u003d\\;])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}])*$",
          "description": "Identifier for a group at a property.",
          "type": "string",
          "maxLength": 12
        }
      }
    },
    "CommissionType-DcShop-1.0.32": {
      "description": "Type of commission",
      "x-external-lib": "Enumerations",
      "x-model-name": "CommissionType",
      "type": "string",
      "enum": [
        "percent",
        "amount"
      ]
    },
    "SpecialRequest-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "requestText": {
          "pattern": "^((?!\\|)[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}]){1,38}$",
          "description": "Booking request text",
          "type": "string"
        },
        "requestCodes": {
          "maxItems": 7,
          "type": "array",
          "items": {
            "$ref": "#/definitions/AmenityCode-DcRes-1.0.40"
          }
        }
      }
    },
    "TaxPeriod-DcShop-1.0.32": {
      "x-external-lib": "Models",
      "type": "object",
      "properties": {
        "taxes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Tax-DcShop-1.0.32"
          }
        },
        "effectiveDate": {
          "format": "date",
          "description": "The effective date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        }
      }
    },
    "SinglePropDcShop-DcShop-1.0.32": {
      "x-external-lib": "DistModels",
      "type": "object",
      "required": [
        "arrivalDate",
        "departureDate",
        "numAdults"
      ],
      "properties": {
        "maxRateQualifier": {
          "format": "double",
          "description": "The maximum rate qualifier element filters room types based on the rate.",
          "type": "number"
        },
        "minRateQualifier": {
          "format": "double",
          "description": "The minimum rate qualifier element filters room types based on the rate.",
          "type": "number"
        },
        "pseudoCityCode": {
          "pattern": "^[A-Z0-9]{1,16}$",
          "description": "Identification code of office/agency of a GDS",
          "type": "string"
        },
        "singleProduct": {
          "$ref": "#/definitions/SingleProduct-DcShop-1.0.32"
        },
        "ratePlanCandidates": {
          "minItems": 1,
          "maxItems": 20,
          "type": "array",
          "items": {
            "$ref": "#/definitions/RatePlanCandidate-DcShop-1.0.32"
          }
        },
        "numAdults": {
          "description": "The number of adults per room.",
          "type": "integer",
          "minimum": 0
        },
        "secondaryGdsCode": {
          "pattern": "^[A-Z0-9]{2}$",
          "description": "The secondary GDS code.",
          "type": "string"
        },
        "roomAmenities": {
          "minItems": 1,
          "maxItems": 5,
          "uniqueItems": true,
          "type": "array",
          "items": {
            "$ref": "#/definitions/RoomAmenity-DcShop-1.0.32"
          }
        },
        "primaryGdsCode": {
          "pattern": "^[A-Z0-9]{2}$",
          "description": "The primary GDS code identifies a Global Distribution System (GDS).",
          "type": "string"
        },
        "arrivalDate": {
          "format": "date",
          "description": "The arrival date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        },
        "travelAgentId": {
          "pattern": "^[A-Z0-9]{1,22}$",
          "description": "Travel Agent Client Id",
          "type": "string"
        },
        "numChildren": {
          "description": "The number of children per room.",
          "type": "integer",
          "minimum": 0
        },
        "promoCode": {
          "pattern": "^[A-Z0-9]{1,6}$",
          "description": "Promotion code that the rate plan is derived from.",
          "type": "string"
        },
        "departureDate": {
          "format": "date",
          "description": "The departure date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        },
        "childAges": {
          "minItems": 1,
          "maxItems": 8,
          "type": "array",
          "items": {
            "description": "Child Age",
            "type": "integer",
            "minimum": 0
          }
        },
        "displayCurrency": {
          "pattern": "^[A-Z]{3}$",
          "description": "ISO 4217 standard currency code",
          "type": "string"
        },
        "gdsChainCode": {
          "pattern": "^[A-Z]{2}$",
          "description": "GDS chain code",
          "type": "string"
        }
      }
    },
    "DcShopRatePlan-DcShop-1.0.32": {
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "ratePlanOrder": {
          "description": "Rate Plan Disply Order",
          "type": "integer"
        },
        "cxlPolicyCode": {
          "description": "The cancellation policy for the stay",
          "type": "string"
        },
        "advancePurchase": {
          "description": "Is this reservation fully pre-paid",
          "type": "boolean"
        },
        "ratePlanCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "A rate plan.  May describe any of the following: SRP, Rate levels (0-9)",
          "type": "string"
        },
        "serviceChargesAndTaxesIncluded": {
          "description": "Indicates if service charges and taxes are included in the rates",
          "type": "boolean"
        },
        "promoCode": {
          "pattern": "^[A-Z0-9]{1,6}$",
          "description": "Promotion code that the rate plan is derived from.",
          "type": "string"
        },
        "serviceChargePeriods": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ServiceChargePeriod-DcShop-1.0.32"
          }
        },
        "gdsFlags": {
          "description": "GDS specific flags",
          "type": "string"
        },
        "ratePlanDesc": {
          "description": "Rate plan description.  The first line of the rateplan description is the rateplan name.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ratePlanCategory": {
          "$ref": "#/definitions/RatePlanCategory-DcShop-1.0.32"
        },
        "cxlPolicyDesc": {
          "description": "The cancellation policy description",
          "type": "string"
        },
        "highRate": {
          "format": "double",
          "description": "Highest available rate",
          "type": "number"
        },
        "guarPolicyDesc": {
          "description": "The guarantee policy description",
          "type": "string"
        },
        "lowRate": {
          "format": "double",
          "description": "Lowest available rate ",
          "type": "number"
        },
        "clientIds": {
          "type": "array",
          "items": {
            "pattern": "^\\d{1,22}$",
            "description": "Client account ID",
            "type": "string"
          }
        },
        "commissionType": {
          "$ref": "#/definitions/CommissionType-DcShop-1.0.32"
        },
        "depositDesc": {
          "description": "A brief description of the deposit policy.",
          "type": "string"
        },
        "guaranteeMethods": {
          "type": "array",
          "items": {
            "pattern": "^[A-Z0-9]{2}$",
            "description": "Guarantee method code",
            "type": "string"
          }
        },
        "clientIdRequired": {
          "description": "Client file (clientId) is required for booking.",
          "type": "boolean"
        },
        "commissionable": {
          "description": "Indicates the rate plan is commissionable",
          "type": "boolean"
        },
        "guarPolicyCode": {
          "description": "The guarantee policy code for the stay",
          "type": "string"
        },
        "cxlPolicyLocalDeadline": {
          "pattern": "^[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]$",
          "description": "The time stamp in YYYY-MM-DDThh:mm format that represents the cancellation policy deadline for the property in the property\u0027s local time.",
          "type": "string"
        },
        "displayCurrency": {
          "pattern": "^[A-Z]{3}$",
          "description": "ISO 4217 standard currency code",
          "type": "string"
        },
        "currencyCode": {
          "pattern": "^[A-Z]{3}$",
          "description": "ISO 4217 standard currency code",
          "type": "string"
        },
        "commissionAmount": {
          "format": "double",
          "description": "Amount of the commission",
          "type": "number"
        },
        "cxlPolicyDeadline": {
          "format": "date-time",
          "description": "The time stamp as defined by date-time - RFC3339 that represents the cancellation policy deadline for the property in UTC.",
          "type": "string"
        }
      }
    },
    "AmenityCode-DcRes-1.0.40": {
      "description": "The room amenities array, this identifies room amenity request for the reservation.\n",
      "x-external-lib": "Enumerations",
      "x-model-name": "AmenityCode",
      "type": "string",
      "enum": [
        "accessibleRoom",
        "smoking",
        "nonSmoking",
        "cribs",
        "rollawayBed",
        "oneBed",
        "twoBeds",
        "lowFloor",
        "nearElevator"
      ]
    },
    "RoomAmenity-DcShop-1.0.32": {
      "description": "The room amenities array, when used, will restrict the availability\nsearch so that only room types that match the list of attributes\nwill be included in the response.\n",
      "x-external-lib": "Enumerations",
      "x-model-name": "RoomAmenity",
      "type": "string",
      "enum": [
        "accessibleRoom",
        "smoking",
        "nonSmoking",
        "cribs",
        "rollawayBed"
      ]
    },
    "PartnerType-DcRes-1.0.40": {
      "description": "Travel partner type (air).",
      "x-external-lib": "Enumerations",
      "x-model-name": "PartnerType",
      "type": "string",
      "enum": [
        "air"
      ]
    },
    "StayPhoneType-DcRes-1.0.40": {
      "description": "home/business/mobile/fax/travel",
      "x-external-lib": "Enumerations",
      "x-model-name": "StayPhoneType",
      "type": "string",
      "enum": [
        "home",
        "business",
        "mobile",
        "fax",
        "travel"
      ]
    },
    "DcResRoomStay-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "required": [
        "arrivalDate",
        "departureDate",
        "numAdults"
      ],
      "properties": {
        "roomTypeCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "Room Type Code",
          "type": "string"
        },
        "numAdults": {
          "description": "The number of adults per room.",
          "type": "integer",
          "minimum": 0
        },
        "numCribs": {
          "description": "The number of cribs per room.",
          "type": "integer"
        },
        "smokingRoom": {
          "description": "Indicates smoking is allowed or has been requested.",
          "type": "boolean"
        },
        "rateOverrides": {
          "maxItems": 90,
          "type": "array",
          "items": {
            "$ref": "#/definitions/RateOverride-DcRes-1.0.40"
          }
        },
        "numRollAways": {
          "description": "The number of rollaway beds per room.",
          "type": "integer"
        },
        "advancePurchase": {
          "description": "Is this reservation fully pre-paid",
          "type": "boolean"
        },
        "ratePlanCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "A rate plan.  May describe any of the following: SRP, Rate levels (0-9)",
          "type": "string"
        },
        "groupNumber": {
          "pattern": "^((?![\\|\\\u003d\\;])[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}])*$",
          "description": "Identifier for a group at a property.",
          "type": "string",
          "maxLength": 12
        },
        "arrivalDate": {
          "format": "date",
          "description": "The arrival date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        },
        "numChildren": {
          "description": "The number of children per room.",
          "type": "integer",
          "minimum": 0
        },
        "promoCode": {
          "pattern": "^[A-Z0-9]{1,6}$",
          "description": "Promotion code that the rate plan is derived from.",
          "type": "string"
        },
        "departureDate": {
          "format": "date",
          "description": "The departure date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        },
        "bookingCode": {
          "pattern": "^[A-Z0-9]{6}$",
          "description": "The GDS booking code (3 character roomTypeCode and 3 character ratePlanCode).",
          "type": "string"
        },
        "childAges": {
          "maxItems": 8,
          "type": "array",
          "items": {
            "description": "Child Age",
            "type": "integer",
            "minimum": 0
          }
        }
      }
    },
    "BasisType-DcRes-1.0.40": {
      "description": "Basis Type.",
      "x-external-lib": "Enumerations",
      "x-model-name": "BasisType",
      "type": "string",
      "enum": [
        "perRoom",
        "perGuest"
      ]
    },
    "OAuth2TokenResponse-Authorizations-1.0.10": {
      "x-external-lib": "Authorizations",
      "type": "object",
      "properties": {
        "access_token": {
          "description": "The OAuth2 access token.",
          "type": "string"
        },
        "refresh_token": {
          "description": "The OAuth2 refresh token.",
          "type": "string"
        },
        "UserClaims": {
          "$ref": "#/definitions/UserClaims-Authorizations-1.0.10"
        },
        "scope": {
          "description": "The scope associated with the OAuth2 Token.",
          "type": "string"
        },
        "token_type": {
          "description": "The type of token that is being returned.",
          "type": "string"
        },
        "expires_in": {
          "format": "int32",
          "description": "The number of seconds until the OAuth2 token will expire.",
          "type": "integer"
        }
      },
      "required": [
        "access_token"
      ]
    },
    "EmailType-DcRes-1.0.40": {
      "description": "home/business/travel/other",
      "x-external-lib": "Enumerations",
      "x-model-name": "EmailType",
      "type": "string",
      "enum": [
        "home",
        "business",
        "travel",
        "other"
      ]
    },
    "ErrorNotification-DcRes-1.0.40": {
      "x-external-lib": "Models",
      "type": "object",
      "required": [
        "message"
      ],
      "properties": {
        "code": {
          "description": "Error Notification Code or identifier",
          "type": "string"
        },
        "otaErrorCode": {
          "description": "Online travel agency error code.",
          "type": "integer"
        },
        "fields": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "message": {
          "type": "string"
        }
      }
    },
    "Commission-DcRes-1.0.40": {
      "x-external-lib": "Models",
      "type": "object",
      "properties": {
        "amount": {
          "format": "double",
          "description": "Amount of the commission",
          "type": "number"
        },
        "payTo": {
          "$ref": "#/definitions/CommissionPayTo-DcRes-1.0.40"
        },
        "type": {
          "$ref": "#/definitions/CommissionType-DcRes-1.0.40"
        },
        "centralPay": {
          "description": "Is the commission centrally paid",
          "type": "boolean"
        }
      }
    },
    "TaxType-DcShop-1.0.32": {
      "description": "(percent) \u003d Percentage of tax basis, (flat) \u003d Flat Change, (sum) \u003d % of sum of tax basis and prior tax.",
      "x-external-lib": "Enumerations",
      "x-model-name": "TaxType",
      "type": "string",
      "enum": [
        "percent",
        "flat",
        "sum"
      ]
    },
    "PeriodType-DcRes-1.0.40": {
      "description": "Period Type.",
      "x-external-lib": "Enumerations",
      "x-model-name": "PeriodType",
      "type": "string",
      "enum": [
        "perNight",
        "perStay",
        "perCharge"
      ]
    },
    "Tax-DcRes-1.0.40": {
      "x-external-lib": "Models",
      "type": "object",
      "properties": {
        "period": {
          "$ref": "#/definitions/PeriodType-DcRes-1.0.40"
        },
        "amount": {
          "format": "double",
          "description": "Tax amount",
          "type": "number"
        },
        "type": {
          "$ref": "#/definitions/TaxType-DcRes-1.0.40"
        },
        "basis": {
          "$ref": "#/definitions/BasisType-DcRes-1.0.40"
        }
      }
    },
    "ChargeRuleCategoryType-DcShop-1.0.32": {
      "description": "The type of Charge Rule category that can be setup.",
      "x-external-lib": "Enumerations",
      "x-model-name": "ChargeRuleCategoryType",
      "type": "string",
      "enum": [
        "tax",
        "fee"
      ]
    },
    "ServiceChargeType-DcRes-1.0.40": {
      "description": "Service Charge Type",
      "x-external-lib": "Enumerations",
      "x-model-name": "ServiceChargeType",
      "type": "string",
      "enum": [
        "percent",
        "flat"
      ]
    },
    "ChargeRuleAmountType-DcRes-1.0.40": {
      "description": "The type of Charge rule amount that can be setup.",
      "x-external-lib": "Enumerations",
      "x-model-name": "ChargeRuleAmountType",
      "type": "string",
      "enum": [
        "flat",
        "percent"
      ]
    },
    "DcShopRoomRate-DcShop-1.0.32": {
      "allOf": [
        {
          "$ref": "#/definitions/RoomRate-DcShop-1.0.32"
        },
        {
          "type": "object",
          "properties": {
            "chargeTotals": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CategoryTotal-DcShop-1.0.32"
              }
            },
            "rateDetails": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DcShopRateDetail-DcShop-1.0.32"
              }
            },
            "bookingCode": {
              "pattern": "^[A-Z0-9]{6}$",
              "description": "GDS booking code",
              "type": "string"
            },
            "meals": {
              "$ref": "#/definitions/MealsIncluded-DcShop-1.0.32"
            }
          }
        }
      ],
      "x-external-lib": "DistModels"
    },
    "CategoryTotalDetail-DcShop-1.0.32": {
      "description": "Summarized and grouped totals by charge rule type, taxes, fees, surcharges, etc.",
      "x-external-lib": "TFSModels",
      "type": "object",
      "required": [
        "category",
        "total",
        "sequence"
      ],
      "properties": {
        "amountType": {
          "$ref": "#/definitions/ChargeRuleAmountType-DcShop-1.0.32"
        },
        "exemptionCode": {
          "pattern": "^[A-Z0-9]{2,10}$",
          "description": "If exempted, this field will indicate the exemption code that was applied.",
          "type": "string"
        },
        "inclusive": {
          "default": false,
          "description": "Indicates if the Charge Rule was included in the charge amount.",
          "type": "boolean"
        },
        "amount": {
          "format": "double",
          "description": "Charge rule amount.",
          "type": "number"
        },
        "period": {
          "$ref": "#/definitions/PeriodType-DcShop-1.0.32"
        },
        "includedInQuotedRate": {
          "description": "Indicates if a given charge rule is included in the quoted rate (amount before tax).",
          "type": "boolean"
        },
        "basis": {
          "$ref": "#/definitions/ChargeRuleBasis-DcShop-1.0.32"
        },
        "collectedOnProperty": {
          "description": "Flag to indicate to our external partners (OTAS, etc) which taxes or fees will be collected on property.",
          "type": "boolean"
        },
        "categoryType": {
          "$ref": "#/definitions/ChargeRuleCategoryType-DcShop-1.0.32"
        },
        "sequence": {
          "type": "integer"
        },
        "total": {
          "format": "double",
          "description": "Total charges for the category.",
          "type": "number"
        },
        "postingCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "Unique code that represents a specific charge type at a property.",
          "type": "string"
        },
        "appliedToRuleId": {
          "description": "For tax on tax scenarios, id of the rule that this rule was calculated upon.",
          "type": "integer"
        },
        "name": {
          "pattern": "^((?!\\|)[\\p{L}\\p{N}\\p{M}\\p{P}\\p{S}\\p{Zs}]){1,50}$",
          "description": "Short name that identifies a charge rule.",
          "type": "string"
        },
        "ruleId": {
          "type": "integer"
        },
        "category": {
          "pattern": "^[A-Z0-9]{3,30}$",
          "description": "Unique code that represents a specific charge category.",
          "type": "string"
        },
        "overrideRuleId": {
          "description": "Charge rule override id.  Indicates that this rule was overridden and which override was applied.",
          "type": "integer"
        }
      }
    },
    "Tax-DcShop-1.0.32": {
      "x-external-lib": "Models",
      "type": "object",
      "properties": {
        "period": {
          "$ref": "#/definitions/PeriodType-DcShop-1.0.32"
        },
        "amount": {
          "format": "double",
          "description": "Tax amount",
          "type": "number"
        },
        "type": {
          "$ref": "#/definitions/TaxType-DcShop-1.0.32"
        },
        "basis": {
          "$ref": "#/definitions/BasisType-DcShop-1.0.32"
        }
      }
    },
    "StayAddressType-DcRes-1.0.40": {
      "description": "home/business/travel",
      "x-external-lib": "Enumerations",
      "x-model-name": "StayAddressType",
      "type": "string",
      "enum": [
        "home",
        "business",
        "travel"
      ]
    },
    "ServiceCharge-DcRes-1.0.40": {
      "x-external-lib": "Models",
      "type": "object",
      "properties": {
        "period": {
          "$ref": "#/definitions/PeriodType-DcRes-1.0.40"
        },
        "amount": {
          "format": "double",
          "description": "Service Charge Amount",
          "type": "number"
        },
        "type": {
          "$ref": "#/definitions/ServiceChargeType-DcRes-1.0.40"
        },
        "basis": {
          "$ref": "#/definitions/BasisType-DcRes-1.0.40"
        }
      }
    },
    "Confirm-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "externalResId": {
          "pattern": "^((?![|\u003d;])[\\p{N}\\p{L}\\p{P}]){1,20}$",
          "description": "The external ReservationId.",
          "type": "string"
        },
        "primaryGdsCode": {
          "pattern": "^[A-Z0-9]{2}$",
          "description": "The primary GDS code identifies a Global Distribution System (GDS).",
          "type": "string"
        }
      }
    },
    "Deposit-DcRes-1.0.40": {
      "x-external-lib": "Models",
      "type": "object",
      "required": [
        "amount",
        "dueDate"
      ],
      "properties": {
        "amount": {
          "format": "double",
          "description": "Deposit Amount",
          "type": "number"
        },
        "dueDate": {
          "format": "date",
          "description": "The deposit due date as defined by full-date - RFC3339 (YYYY-MM-DD).",
          "type": "string"
        },
        "currencyCode": {
          "pattern": "^[A-Z]{3}$",
          "description": "ISO 4217 standard currency code",
          "type": "string"
        }
      }
    },
    "ClientType-DcRes-1.0.40": {
      "description": "Client Type (corporate, travelAgent).",
      "x-external-lib": "Enumerations",
      "x-model-name": "ClientType",
      "type": "string",
      "enum": [
        "corporate",
        "travelAgent"
      ]
    },
    "RatePlanCategory-DcShop-1.0.32": {
      "description": "Each code is associated with one or more Hilton rate plans.",
      "x-external-lib": "Enumerations",
      "x-model-name": "RatePlanCategory",
      "type": "string",
      "enum": [
        "association",
        "club",
        "family",
        "government",
        "military",
        "weekend",
        "promotional",
        "rack",
        "corporate",
        "seniorCitizen",
        "tour",
        "travelIndustry",
        "package",
        "convention",
        "netRates",
        "token"
      ]
    },
    "DcResGuarantee-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "required": [
        "guarMethodCode"
      ],
      "properties": {
        "paymentCard": {
          "$ref": "#/definitions/ResPaymentCard-DcRes-1.0.40"
        },
        "deposit": {
          "$ref": "#/definitions/ResDeposit-DcRes-1.0.40"
        },
        "guarMethodCode": {
          "pattern": "^[A-Z0-9]{2}$",
          "description": "Guarantee method code",
          "type": "string"
        }
      }
    },
    "ResPaymentCard-DcRes-1.0.40": {
      "allOf": [
        {
          "$ref": "#/definitions/StayPaymentCard-DcRes-1.0.40"
        },
        {
          "type": "object",
          "properties": {
            "cvv": {
              "pattern": "^[0-9]{1,4}$",
              "description": "Card Verification Value",
              "type": "string"
            }
          }
        }
      ],
      "x-external-lib": "DistModels"
    },
    "ChargeRuleAmountType-DcShop-1.0.32": {
      "description": "The type of Charge rule amount that can be setup.",
      "x-external-lib": "Enumerations",
      "x-model-name": "ChargeRuleAmountType",
      "type": "string",
      "enum": [
        "flat",
        "percent"
      ]
    },
    "DcResCostDetail-DcRes-1.0.40": {
      "allOf": [
        {
          "$ref": "#/definitions/CostDetail-DcRes-1.0.40"
        },
        {
          "type": "object",
          "properties": {
            "chargeTotals": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CategoryTotal-DcRes-1.0.40"
              }
            },
            "rateDetails": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DcStayRateDetail-DcRes-1.0.40"
              }
            },
            "meals": {
              "$ref": "#/definitions/DcResMealsIncluded-DcRes-1.0.40"
            }
          }
        }
      ],
      "x-external-lib": "DistModels"
    },
    "PeriodType-DcShop-1.0.32": {
      "description": "Period Type.",
      "x-external-lib": "Enumerations",
      "x-model-name": "PeriodType",
      "type": "string",
      "enum": [
        "perNight",
        "perStay",
        "perCharge"
      ]
    },
    "DiscountType-DcRes-1.0.40": {
      "x-external-lib": "Enumerations",
      "x-model-name": "DiscountType",
      "type": "string",
      "enum": [
        "percentOff",
        "percentAdd",
        "amountOff",
        "amountAdd"
      ]
    },
    "DcResCancel-DcRes-1.0.40": {
      "x-external-lib": "DistModels",
      "type": "object",
      "properties": {
        "sendConfirmation": {
          "description": "Send confirmation information to the guest.",
          "type": "boolean"
        },
        "languageCode": {
          "pattern": "^[A-Z]{2}$",
          "description": "IETF BCP 47 standard language codes",
          "type": "string"
        }
      }
    },
    "DcShopProperty-DcShop-1.0.32": {
      "x-external-lib": "DistModels",
      "type": "object",
      "required": [
        "propCode"
      ],
      "properties": {
        "propCode": {
          "pattern": "^[A-Z0-9]{2,6}$",
          "description": "Property Code or GDS Property Code",
          "type": "string"
        },
        "gdsChainCode": {
          "pattern": "^[A-Z]{2}$",
          "description": "GDS chain code",
          "type": "string"
        }
      }
    }
  },
  "swagger": "2.0",
  "info": {
    "title": "hospitality-partner",
    "version": "2.0.782"
  }
}