{
  "swagger": "2.0",
  "info": {
    "title": "apaleo Settings API - not safe for work",
    "description": "Continuously evolving version - use at your own risk! Set up and change global account and property settings.",
    "version": "v0-nsfw"
  },
  "paths": {
    "/settings/v0-nsfw/account": {
      "get": {
        "tags": [
          "AccountSettings"
        ],
        "summary": "Returns the account-level settings.",
        "description": "Returns the account-level settings, such as whether commercial status is enabled for the account.\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.account_settings.read\u0027.",
        "operationId": "SettingsAccountGet",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "schema": {
              "$ref": "#/definitions/AccountSettingsModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "AccountSettings"
        ],
        "summary": "Modify the account-level settings.",
        "description": "\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.account_settings.modify\u0027.",
        "operationId": "SettingsAccountPatch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Operation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/capture-policies": {
      "get": {
        "tags": [
          "CapturePolicies"
        ],
        "summary": "Get all capture policies.",
        "description": "Get the list of capture policies.\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.capture_policies.read\u0027.",
        "operationId": "SettingsCapture-policiesGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "Filter capture policies by the specified property",
            "type": "string"
          },
          {
            "in": "query",
            "name": "pageNumber",
            "description": "Page number to retrieve. Default: 1. If the page has no items, the API returns 204 No Content.",
            "type": "integer",
            "default": 1
          },
          {
            "in": "query",
            "name": "pageSize",
            "description": "Items per page. Default: 500. Maximum: 500.",
            "type": "integer",
            "default": 500
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "schema": {
              "$ref": "#/definitions/CapturePolicyListModel"
            }
          },
          "204": {
            "description": "No capture policies could be found."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/capture-policies/{id}": {
      "get": {
        "tags": [
          "CapturePolicies"
        ],
        "summary": "Get a specific capture policy.",
        "description": "Get a specific capture policy.\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.capture_policies.read\u0027.",
        "operationId": "SettingsCapture-policiesByIdGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The ID of the capture policy.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "schema": {
              "$ref": "#/definitions/CapturePolicyModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "CapturePolicies"
        ],
        "summary": "Allows to modify properties of a capture policy.",
        "description": "Here is the list of operations that are currently allowed:\n- Replace captureNoShowFee flag\n- Replace captureCancellationFee flag\n- Replace capturePrepayment flag\n- Replace PostOtaBankTransferOnCheckOut flag\n- Replace capturePayment configuration\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.capture_policies.modify\u0027.",
        "operationId": "SettingsCapture-policiesByIdPatch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the capture policy to be modified.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Operation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/city-tax/{id}": {
      "delete": {
        "tags": [
          "CityTax"
        ],
        "summary": "Delete a city tax",
        "description": "Use this call to delete a city tax.\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.city_taxes.delete\u0027.",
        "operationId": "SettingsCity-taxByIdDelete",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The ID of the city tax to remove.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Success."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "get": {
        "tags": [
          "CityTax"
        ],
        "summary": "Get a specific city tax.",
        "description": "Get a specific city tax.\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.city_taxes.read\u0027.",
        "operationId": "SettingsCity-taxByIdGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The ID of the city tax.",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "languages",
            "description": "\u0027all\u0027 or comma separated list of two-letter language codes (ISO Alpha-2)",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "schema": {
              "$ref": "#/definitions/CityTaxModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "CityTax"
        ],
        "summary": "Allows to modify city tax",
        "description": "Here is the list of operations that are currently allowed:\n- Replace name and description\n- Replace type\n- Replace taxHandlingType\n- Replace value (deprecated, use Rules.Configuration.DefaultValue instead)\n- Replace limit (deprecated, use Rules.Configuration.MaxNights instead)\n- Replace, add, or remove subcategories (deprecated, use Rules.Configuration.AgeCategories instead)\n- Replace, add, or remove pricingRules (deprecated, use Rules.Configuration.PriceGroups instead)\n- Replace vatType\n- Replace priority\n- Replace includeCityTaxInRateAmount\n- Replace, add, or remove appliedTo\n- Replace, add, or remove ignoredFor\n- Replace, add, or remove rules\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.city_taxes.modify\u0027.",
        "operationId": "SettingsCity-taxByIdPatch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the city tax to be modified.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Operation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/city-tax": {
      "post": {
        "tags": [
          "CityTax"
        ],
        "summary": "Create a city tax.",
        "description": "\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.city_taxes.create\u0027.",
        "operationId": "SettingsCity-taxPost",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "description": "Unique key for safely retrying requests without accidentally performing the same operation twice. \nWe\u0027ll always send back the same response for requests made with the same key, \nand keys can\u0027t be reused with different request parameters. Keys expire after 24 hours.",
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The definition of the city tax.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateCityTaxModel"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "City tax successfully created.",
            "schema": {
              "$ref": "#/definitions/CityTaxCreatedModel"
            },
            "headers": {
              "Location": {
                "description": "The location of the created resource.",
                "type": "string"
              }
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "get": {
        "tags": [
          "CityTax"
        ],
        "summary": "Get all city taxes.",
        "description": "Get the list of all city taxes.\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.city_taxes.read\u0027.",
        "operationId": "SettingsCity-taxGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "Filter by the specified property",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "schema": {
              "$ref": "#/definitions/CityTaxListModel"
            }
          },
          "204": {
            "description": "No city taxes found."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/commercial-statuses": {
      "get": {
        "tags": [
          "CommercialStatus"
        ],
        "summary": "Returns a list of all commercial statuses, filtered by the specified parameters.",
        "description": "\u003Cbr\u003EYou must have at least one of these scopes: \u0027setup.read, settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.commercial_statuses.read\u0027.",
        "operationId": "SettingsCommercial-statusesGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "includeArchived",
            "description": "Return archived commercial statuses too",
            "type": "boolean"
          },
          {
            "in": "query",
            "name": "sort",
            "description": "List of all fields that can be used to sort the results. Possible values are: code:asc, code:desc, label:asc, label:desc, description:asc, description:desc, isdefault:asc, isdefault:desc, isarchived:asc, isarchived:desc, created:asc, created:desc, modified:asc, modified:desc. All other values will be silently ignored.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "code:asc",
                "code:desc",
                "label:asc",
                "label:desc",
                "description:asc",
                "description:desc",
                "isdefault:asc",
                "isdefault:desc",
                "isarchived:asc",
                "isarchived:desc",
                "created:asc",
                "created:desc",
                "modified:asc",
                "modified:desc"
              ]
            },
            "collectionFormat": "multi"
          }
        ],
        "responses": {
          "200": {
            "description": "Return commercial statuses.",
            "schema": {
              "$ref": "#/definitions/CommercialStatusListModel"
            }
          },
          "204": {
            "description": "No commercial statuses exist for the account."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "setup.read",
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "CommercialStatus"
        ],
        "summary": "Create a commercial status.",
        "description": "\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.commercial_statuses.create\u0027.",
        "operationId": "SettingsCommercial-statusesPost",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "description": "Unique key for safely retrying requests without accidentally performing the same operation twice. \nWe\u0027ll always send back the same response for requests made with the same key, \nand keys can\u0027t be reused with different request parameters. Keys expire after 24 hours.",
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The definition of the commercial status.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateCommercialStatusModel"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Commercial status successfully created.",
            "schema": {
              "$ref": "#/definitions/CommercialStatusCreatedModel"
            },
            "headers": {
              "Location": {
                "description": "The location of the created resource.",
                "type": "string"
              }
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/commercial-statuses/{id}": {
      "patch": {
        "tags": [
          "CommercialStatus"
        ],
        "summary": "Allows to modify a commercial status.",
        "description": "Here is the list of operations that are currently allowed:\n- Replace label\n- Replace isDefault\n- Replace isArchived\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.commercial_statuses.modify\u0027.",
        "operationId": "SettingsCommercial-statusesByIdPatch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the commercial status to be modified.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Operation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "CommercialStatus"
        ],
        "summary": "Delete a commercial status.",
        "description": "\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.commercial_statuses.delete\u0027.",
        "operationId": "SettingsCommercial-statusesByIdDelete",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the commercial status.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Deletion of the commercial status was successful."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/custom-fees": {
      "post": {
        "tags": [
          "CustomFee"
        ],
        "summary": "Create a fee.",
        "description": "Create a fee.\u003Cbr\u003EYou must have at least one of these scopes: \u0027fees.create, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.custom_fees.create\u0027.",
        "operationId": "SettingsCustom-feesPost",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "description": "Unique key for safely retrying requests without accidentally performing the same operation twice. \nWe\u0027ll always send back the same response for requests made with the same key, \nand keys can\u0027t be reused with different request parameters. Keys expire after 24 hours.",
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The definition of the fee.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateCustomFeeModel"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Fee successfully created.",
            "schema": {
              "$ref": "#/definitions/CustomFeeCreatedModel"
            },
            "headers": {
              "Location": {
                "description": "The location of the created resource.",
                "type": "string"
              }
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "fees.create",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "get": {
        "tags": [
          "CustomFee"
        ],
        "summary": "Get all fees.",
        "description": "Get the list of fees.\u003Cbr\u003EYou must have at least one of these scopes: \u0027fees.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.custom_fees.read\u0027.",
        "operationId": "SettingsCustom-feesGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "Filter fees by the specified property",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "schema": {
              "$ref": "#/definitions/CustomFeeListModel"
            }
          },
          "204": {
            "description": "No fees could be found."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "fees.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/custom-fees/{id}": {
      "get": {
        "tags": [
          "CustomFee"
        ],
        "summary": "Get a specific fee.",
        "description": "Get a specific fee.\u003Cbr\u003EYou must have at least one of these scopes: \u0027fees.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.custom_fees.read\u0027.",
        "operationId": "SettingsCustom-feesByIdGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the fee.",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "languages",
            "description": "\u0027all\u0027 or comma separated list of two-letter language codes (ISO Alpha-2)",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "schema": {
              "$ref": "#/definitions/CustomFeeModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "fees.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "CustomFee"
        ],
        "summary": "Allows to modify properties of a fee.",
        "description": "Here is the list of operations that are currently allowed:\n- Replace name\n- Replace percentValue\n- Add, replace and remove subAccountId\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.custom_fees.modify\u0027.",
        "operationId": "SettingsCustom-feesByIdPatch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the fee to be modified.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Operation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "CustomFee"
        ],
        "summary": "Delete a fee.",
        "description": "Use this call to delete a fee.\u003Cbr\u003EYou must have at least one of these scopes: \u0027fees.delete, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.custom_fees.delete\u0027.",
        "operationId": "SettingsCustom-feesByIdDelete",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the fee.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Deletion of the fee was successful."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "fees.delete",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/sub-accounts": {
      "get": {
        "tags": [
          "CustomSubAccounts"
        ],
        "summary": "Returns a list of all sub-accounts.",
        "description": "Returns a list of all sub-accounts.\u003Cbr\u003EYou must have at least one of these scopes: \u0027subledger.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.sub_accounts.read\u0027.",
        "operationId": "SettingsSub-accountsGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "ID of the property",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "pageNumber",
            "description": "Page number to retrieve. Default: 1. If the page has no items, the API returns 204 No Content.",
            "type": "integer",
            "default": 1
          },
          {
            "in": "query",
            "name": "pageSize",
            "description": "Items per page. Default: 500. Maximum: 500.",
            "type": "integer",
            "default": 500
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "schema": {
              "$ref": "#/definitions/CustomSubAccountsListModel"
            }
          },
          "204": {
            "description": "No sub-accounts found."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "subledger.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "CustomSubAccounts"
        ],
        "summary": "Create a sub-account.",
        "description": "Create a sub-account.\u003Cbr\u003EYou must have at least one of these scopes: \u0027subledger.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.sub_accounts.create\u0027.",
        "operationId": "SettingsSub-accountsPost",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "description": "Unique key for safely retrying requests without accidentally performing the same operation twice. \nWe\u0027ll always send back the same response for requests made with the same key, \nand keys can\u0027t be reused with different request parameters. Keys expire after 24 hours.",
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The definition of the sub-account.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateCustomSubAccountModel"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Creation of the new sub-account was successful.",
            "schema": {
              "$ref": "#/definitions/CustomSubAccountCreatedModel"
            },
            "headers": {
              "Location": {
                "description": "The location of the created resource.",
                "type": "string"
              }
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "subledger.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/sub-accounts/$count": {
      "get": {
        "tags": [
          "CustomSubAccounts"
        ],
        "summary": "Returns number of sub-accounts.",
        "description": "Returns number of sub-account.\u003Cbr\u003EYou must have at least one of these scopes: \u0027subledger.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.sub_accounts.read\u0027.",
        "operationId": "SettingsSub-accounts$countGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "ID of the property",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "schema": {
              "$ref": "#/definitions/CountModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "subledger.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/sub-accounts/{id}": {
      "get": {
        "tags": [
          "CustomSubAccounts"
        ],
        "summary": "Returns one sub-account.",
        "description": "Get a sub-account by ID.\u003Cbr\u003EYou must have at least one of these scopes: \u0027subledger.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.sub_accounts.read\u0027.",
        "operationId": "SettingsSub-accountsByIdGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The ID of the sub-account.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "schema": {
              "$ref": "#/definitions/CustomSubAccountModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "subledger.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "CustomSubAccounts"
        ],
        "summary": "Allows to modify the name of the sub-account.",
        "description": "Allows to modify the name of the sub-account.\u003Cbr\u003EYou must have at least one of these scopes: \u0027subledger.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.sub_accounts.modify\u0027.",
        "operationId": "SettingsSub-accountsByIdPatch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The ID of the sub-account.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Operation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The sub-account was successfully modified."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "subledger.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "head": {
        "tags": [
          "CustomSubAccounts"
        ],
        "summary": "Check if the sub-account exists.",
        "description": "Check if the sub-account exists.\u003Cbr\u003EYou must have at least one of these scopes: \u0027subledger.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.sub_accounts.read\u0027.",
        "operationId": "SettingsSub-accountsByIdHead",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The ID of the sub-account.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The sub-account exists."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          }
        },
        "security": [
          {
            "oauth2": [
              "subledger.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "CustomSubAccounts"
        ],
        "summary": "Delete a custom sub-account",
        "description": "Use this call to delete a custom sub-accounts.\nWhen you delete a custom sub-account, the corresponding accounting accounts are either archived (if there are some transactions posted),\nor deleted (if no transactions were posted).\u003Cbr\u003EYou must have at least one of these scopes: \u0027subledger.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.sub_accounts.delete\u0027.",
        "operationId": "SettingsSub-accountsByIdDelete",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The ID of the sub-accounts.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Deletion of the sub-account was successful."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "subledger.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/features/{propertyId}": {
      "get": {
        "tags": [
          "FeatureSettings"
        ],
        "summary": "Get feature settings for a property.",
        "description": "Get feature settings for a property.\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.features.read\u0027.",
        "operationId": "SettingsFeaturesByPropertyIdGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "propertyId",
            "description": "The ID of the property.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns feature settings.",
            "schema": {
              "$ref": "#/definitions/FeatureSettingsModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "FeatureSettings"
        ],
        "summary": "Allows to modify feature settings",
        "description": "Here is the list of operations that are currently allowed:\n- Replace areCustomRevenueSubAccountsEnabled flag\n- Replace performAccountingForOpenInvoiceActions flag\n- Replace showRecipientForEachLineItemOnTheInvoice flag\n- Replace addCityTaxOnReservationCreation flag\n- Replace maxAmountForMinimalInvoices value\n- Replace invoiceNumberPattern value\n- Replace advanceInvoiceNumberPattern value\u003Cbr\u003EYou must have at least one of these scopes: \u0027features.toggle, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.features.modify\u0027.",
        "operationId": "SettingsFeaturesByPropertyIdPatch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "propertyId",
            "description": "The ID of the property you want to toggle features for.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Operation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "features.toggle",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/invoice-address": {
      "get": {
        "tags": [
          "InvoiceAddress"
        ],
        "summary": "Get invoice addresses",
        "description": "Get the list of all invoice addresses.\u003Cbr\u003EYou must have at least one of these scopes: \u0027setup.read, setup.manage, settings.read, settings.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.invoice_addresses.read\u0027.",
        "operationId": "SettingsInvoice-addressGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyIds",
            "description": "",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "schema": {
              "$ref": "#/definitions/InvoiceAddressListModel"
            }
          },
          "204": {
            "description": "No content."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "admin",
              "setup.read",
              "setup.manage",
              "settings.read",
              "settings.manage"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "InvoiceAddress"
        ],
        "summary": "Create or update invoice addresses for one or more properties.",
        "description": "If the address does not exist for one of the specified properties, it is created. If it exists, it is completely replaced.\u003Cbr\u003EYou must have at least one of these scopes: \u0027setup.manage, settings.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have at least one of these permissions: \u0027core.invoice_addresses.create, core.invoice_addresses.modify\u0027.",
        "operationId": "SettingsInvoice-addressPut",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyIds",
            "required": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "in": "body",
            "name": "body",
            "description": "Address displayed on invoices.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InvoiceAddressCreateOrReplaceModel"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No content."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "admin",
              "setup.manage",
              "settings.manage"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "InvoiceAddress"
        ],
        "summary": "Change fields in the invoice address of one or more properties.",
        "description": "Here is the list of operations that are currently allowed:\n- Replace AddressLine1\n- Add, replace or delete AddressLine2\n- Replace PostalCode\n- Replace City\n- Replace CountryCode\u003Cbr\u003EYou must have at least one of these scopes: \u0027setup.manage, settings.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.invoice_addresses.modify\u0027.",
        "operationId": "SettingsInvoice-addressPatch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyIds",
            "required": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "in": "body",
            "name": "body",
            "description": "",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Operation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No content."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "admin",
              "setup.manage",
              "settings.manage"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/properties/{propertyId}/invoice-line-item-grouping": {
      "get": {
        "tags": [
          "InvoiceLineItemGrouping"
        ],
        "summary": "Get invoice line item grouping configuration.",
        "description": "Retrieves the current invoice grouping settings for the specified property.\u003Cbr\u003EYou must have this scope: \u0027admin\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.invoice_line_item_groupings.read\u0027.",
        "operationId": "SettingsPropertiesByPropertyIdInvoice-line-item-groupingGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "propertyId",
            "description": "The id of the property.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns invoice line items grouping configuration.",
            "schema": {
              "$ref": "#/definitions/InvoiceLineItemGroupingModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "admin"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "InvoiceLineItemGrouping"
        ],
        "summary": "Modify invoice line item grouping configuration.",
        "description": "Updates the invoice grouping settings for the specified property.\nHere\u0027s a list of allowed operations:\n- Add or replace \u0027enabled\u0027 grouping types - Choose which grouping options to be available for this property\n- Replace \u0027default\u0027 grouping type - Choose the default grouping option to be used for invoice generation\u003Cbr\u003EYou must have this scope: \u0027admin\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.invoice_line_item_groupings.modify\u0027.",
        "operationId": "SettingsPropertiesByPropertyIdInvoice-line-item-groupingPatch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "propertyId",
            "description": "The id of the property.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Operation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "501": {
            "description": "Not Implemented"
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/properties/{propertyId}/invoice-series": {
      "get": {
        "tags": [
          "InvoiceSeries"
        ],
        "summary": "Get invoice series configuration.",
        "description": "Retrieves the current invoice series settings for the specified property.\u003Cbr\u003EYou must have this scope: \u0027admin\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.invoice_series.read\u0027.",
        "operationId": "SettingsPropertiesByPropertyIdInvoice-seriesGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "propertyId",
            "description": "The id of the property.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns invoice series configuration.",
            "schema": {
              "$ref": "#/definitions/InvoiceSeriesModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "admin"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "InvoiceSeries"
        ],
        "summary": "Replace invoice series configuration.",
        "description": "Replaces the full invoice series configuration for the specified property.\u003Cbr\u003EYou must have this scope: \u0027admin\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.invoice_series.modify\u0027.",
        "operationId": "SettingsPropertiesByPropertyIdInvoice-seriesPut",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "propertyId",
            "description": "The id of the property.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The invoice series configuration.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InvoiceSeriesModel"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "admin"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "InvoiceSeries"
        ],
        "summary": "Modify invoice series configuration.",
        "description": "Updates the invoice series settings for the specified property.\nHere\u0027s a list of allowed operations:\n- Replace \u0027standardInvoiceSeries\u0027\n- Replace \u0027proformaInvoiceSeries\u0027\n- Replace \u0027depositInvoiceSeries\u0027\n- Replace \u0027creditNoteSeries\u0027\n- Replace \u0027depositCreditNoteSeries\u0027\n- Replace \u0027arInvoiceSeries\u0027\u003Cbr\u003EYou must have this scope: \u0027admin\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.invoice_series.modify\u0027.",
        "operationId": "SettingsPropertiesByPropertyIdInvoice-seriesPatch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "propertyId",
            "description": "The id of the property.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Operation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/languages": {
      "get": {
        "tags": [
          "Languages"
        ],
        "summary": "Get the language settings for the account",
        "description": "Get the language settings\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.languages.read\u0027.",
        "operationId": "SettingsLanguagesGet",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Returns all the account languages.",
            "schema": {
              "$ref": "#/definitions/LanguagesModel"
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Languages"
        ],
        "summary": "Replaces the language settings for the account",
        "description": "Use this call to modify the language settings of the account.\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.languages.modify\u0027.",
        "operationId": "SettingsLanguagesPut",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "The definition of the language settings.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ReplaceLanguagesModel"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Replace of the language settings was successful."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/market-segments/{id}": {
      "get": {
        "tags": [
          "MarketSegment"
        ],
        "summary": "Get a market segment.",
        "description": "Get a market segment by id.\u003Cbr\u003EYou must have at least one of these scopes: \u0027setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.market_segments.read\u0027.",
        "operationId": "SettingsMarket-segmentsByIdGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the market segment.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return market segment.",
            "schema": {
              "$ref": "#/definitions/MarketSegmentModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "head": {
        "tags": [
          "MarketSegment"
        ],
        "summary": "Check if a market segment exists.",
        "description": "Check if a market segment exists by id.\u003Cbr\u003EYou must have at least one of these scopes: \u0027setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.market_segments.read\u0027.",
        "operationId": "SettingsMarket-segmentsByIdHead",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the market segment.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The market segment exists."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          }
        },
        "security": [
          {
            "oauth2": [
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "MarketSegment"
        ],
        "summary": "Allows to modify market segment.",
        "description": "Here is the list of operations that are currently allowed:\n- Replace name\n- Add, replace and remove description\n- Add, replace and remove propertyIds\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.market_segments.modify\u0027.",
        "operationId": "SettingsMarket-segmentsByIdPatch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the market segment to be modified.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Operation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "MarketSegment"
        ],
        "summary": "Delete a market segment.",
        "description": "Use this call to delete a market segment.\u003Cbr\u003EYou must have this scope: \u0027setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.market_segments.delete\u0027.",
        "operationId": "SettingsMarket-segmentsByIdDelete",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the market segment.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Deletion of the market segment was successful."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/market-segments": {
      "get": {
        "tags": [
          "MarketSegment"
        ],
        "summary": "Returns a list of all market segments, filtered by the specified parameters.",
        "description": "\u003Cbr\u003EYou must have at least one of these scopes: \u0027setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.market_segments.read\u0027.",
        "operationId": "SettingsMarket-segmentsGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyIds",
            "description": "Return market segments with any of the specified property ids",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pageNumber",
            "description": "Page number to retrieve. Default: 1. If the page has no items, the API returns 204 No Content.",
            "type": "integer",
            "default": 1
          },
          {
            "in": "query",
            "name": "pageSize",
            "description": "Items per page. Default: 500. Maximum: 500.",
            "type": "integer",
            "default": 500
          }
        ],
        "responses": {
          "200": {
            "description": "Return market segments.",
            "schema": {
              "$ref": "#/definitions/MarketSegmentListModel"
            }
          },
          "204": {
            "description": "No market segments could be found."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "MarketSegment"
        ],
        "summary": "Create a market segment",
        "description": "\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.market_segments.create\u0027.",
        "operationId": "SettingsMarket-segmentsPost",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "description": "Unique key for safely retrying requests without accidentally performing the same operation twice. \nWe\u0027ll always send back the same response for requests made with the same key, \nand keys can\u0027t be reused with different request parameters. Keys expire after 24 hours.",
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The definition of the market segment.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateMarketSegmentModel"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Market segment successfully created.",
            "schema": {
              "$ref": "#/definitions/MarketSegmentCreatedModel"
            },
            "headers": {
              "Location": {
                "description": "The location of the created resource.",
                "type": "string"
              }
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/market-segments/$count": {
      "get": {
        "tags": [
          "MarketSegment"
        ],
        "summary": "Returns number of market segments.",
        "description": "Returns number of market segments.\u003Cbr\u003EYou must have at least one of these scopes: \u0027setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.market_segments.read\u0027.",
        "operationId": "SettingsMarket-segments$countGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyIds",
            "description": "Return market segments with any of the specified property ids",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/CountModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/properties/{id}": {
      "get": {
        "tags": [
          "PropertySettings"
        ],
        "summary": "Get property settings",
        "description": "Get base settings for a property.\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.property_settings.read\u0027.",
        "operationId": "SettingsPropertiesByIdGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the property.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns property settings.",
            "schema": {
              "$ref": "#/definitions/PropertySettingsModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/properties/{id}/payment-methods": {
      "get": {
        "tags": [
          "PropertySettings"
        ],
        "summary": "Get property payment methods settings",
        "description": "\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.property_settings.read\u0027.",
        "operationId": "SettingsPropertiesByIdPayment-methodsGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the property.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns property payment methods.",
            "schema": {
              "$ref": "#/definitions/PaymentMethodListModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "PropertySettings"
        ],
        "summary": "Update property payment methods settings",
        "description": "\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.property_settings.modify\u0027.",
        "operationId": "SettingsPropertiesByIdPayment-methodsPut",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the property.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "request body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ModifyPaymentMethodListRequest"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Returns empty response."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/taxes": {
      "post": {
        "tags": [
          "Tax"
        ],
        "summary": "Create a tax.",
        "description": "Create a tax.\u003Cbr\u003EYou must have this scope: \u0027setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.taxes.create\u0027.",
        "operationId": "SettingsTaxesPost",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "description": "Unique key for safely retrying requests without accidentally performing the same operation twice. \nWe\u0027ll always send back the same response for requests made with the same key, \nand keys can\u0027t be reused with different request parameters. Keys expire after 24 hours.",
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The definition of the tax.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateTaxModel"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Tax successfully created.",
            "schema": {
              "$ref": "#/definitions/TaxCreatedModel"
            },
            "headers": {
              "Location": {
                "description": "The location of the created resource.",
                "type": "string"
              }
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "get": {
        "tags": [
          "Tax"
        ],
        "summary": "Get all taxes.",
        "description": "Get the list of taxes.\u003Cbr\u003EYou must have this scope: \u0027setup.read\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.taxes.read\u0027.",
        "operationId": "SettingsTaxesGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "Filter taxes by the specified property",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "schema": {
              "$ref": "#/definitions/TaxListModel"
            }
          },
          "204": {
            "description": "No taxes could be found."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "setup.read",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/taxes/{id}": {
      "get": {
        "tags": [
          "Tax"
        ],
        "summary": "Get a specific tax.",
        "description": "Get a specific tax.\u003Cbr\u003EYou must have this scope: \u0027setup.read\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.taxes.read\u0027.",
        "operationId": "SettingsTaxesByIdGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the tax.",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "languages",
            "description": "\u0027all\u0027 or comma separated list of two-letter language codes (ISO Alpha-2)",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "schema": {
              "$ref": "#/definitions/TaxModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "setup.read",
              "admin"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Tax"
        ],
        "summary": "Allows to modify properties of a tax.",
        "description": "Here is the list of operations that are currently allowed:\n- Replace name\n- Replace percentValue\n- Add, replace and remove subAccountId\n\n\u003Cbr\u003EYou must have this scope: \u0027setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.taxes.modify\u0027.",
        "operationId": "SettingsTaxesByIdPatch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the tax to be modified.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Operation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Tax"
        ],
        "summary": "Delete a tax.",
        "description": "Use this call to delete a tax.\u003Cbr\u003EYou must have this scope: \u0027setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.taxes.delete\u0027.",
        "operationId": "SettingsTaxesByIdDelete",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The id of the tax.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Deletion of the tax was successful."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/properties/{propertyId}/time-slice-definitions/{id}": {
      "get": {
        "tags": [
          "TimeSliceDefinitions"
        ],
        "summary": "Get a specific time slice definition",
        "description": "Get a specific time slice definition for a property. A time slice definition specifies\nthe pattern for recurring time slots. The time slots define when reservations\nin the property can start or end.\nIt is used in the rate plans when managing prices for renting out the units.\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.time_slice_definitions.read\u0027.",
        "operationId": "SettingsPropertiesByPropertyIdTime-slice-definitionsByIdGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "propertyId",
            "description": "The id of the property.",
            "required": true,
            "type": "string"
          },
          {
            "in": "path",
            "name": "id",
            "description": "The id of the time slice definition.",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "expand",
            "description": "List of all embedded resources that should be expanded in the response. Possible values are: actions. All other values will be silently ignored.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "actions"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the time slice definition.",
            "schema": {
              "$ref": "#/definitions/TimeSliceDefinitionModel"
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "TimeSliceDefinitions"
        ],
        "summary": "Modifies a specific time slice definition for the property",
        "description": "Use this call to modify a time slice definition of the property.\nHere is the list of operations that are currently allowed:\n- Replace Name\n- Replace CheckInTime (only possible if the time slice definition is not in-use)\n- Replace CheckOutTime (only possible if the time slice definition is not in-use)\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.time_slice_definitions.modify\u0027.",
        "operationId": "SettingsPropertiesByPropertyIdTime-slice-definitionsByIdPatch",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "propertyId",
            "description": "The id of the property.",
            "required": true,
            "type": "string"
          },
          {
            "in": "path",
            "name": "id",
            "description": "The id of the time slice definition.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Operation"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Time slice definition was successfully modified."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "TimeSliceDefinitions"
        ],
        "summary": "Delete a certain time slice definition",
        "description": "Use this call to delete a time slice definition. This is only possible if a time slice definition is not in-use\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.time_slice_definitions.delete\u0027.",
        "operationId": "SettingsPropertiesByPropertyIdTime-slice-definitionsByIdDelete",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "propertyId",
            "description": "The id of the property.",
            "required": true,
            "type": "string"
          },
          {
            "in": "path",
            "name": "id",
            "description": "The id of the time slice definition.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Deletion of the time slice definition was successful."
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    },
    "/settings/v0-nsfw/properties/{propertyId}/time-slice-definitions": {
      "get": {
        "tags": [
          "TimeSliceDefinitions"
        ],
        "summary": "Get time slice definitions",
        "description": "Get all time slice definitions for a property. A time slice definition specifies\nthe pattern for recurring time slots. The time slots define when reservations\nin the property can start or end.\nThey are used in the rate plans when managing prices for renting out the units.\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.read, setup.read, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.time_slice_definitions.read\u0027.",
        "operationId": "SettingsPropertiesByPropertyIdTime-slice-definitionsGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "propertyId",
            "description": "The id of the property.",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "expand",
            "description": "List of all embedded resources that should be expanded in the response. Possible values are: actions. All other values will be silently ignored.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "actions"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the time slice definitions.",
            "schema": {
              "$ref": "#/definitions/TimeSliceDefinitionListModel"
            }
          },
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.read",
              "setup.read",
              "setup.manage",
              "admin"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "TimeSliceDefinitions"
        ],
        "summary": "Creates a time slice definition",
        "description": "Use this call to create a time slice definition.\u003Cbr\u003EYou must have at least one of these scopes: \u0027settings.manage, setup.manage\u0027.\u003Cbr\u003EFor fine-grained clients, you must have this permission: \u0027core.time_slice_definitions.create\u0027.",
        "operationId": "SettingsPropertiesByPropertyIdTime-slice-definitionsPost",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "propertyId",
            "description": "The id of the property.",
            "required": true,
            "type": "string"
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "description": "Unique key for safely retrying requests without accidentally performing the same operation twice. \nWe\u0027ll always send back the same response for requests made with the same key, \nand keys can\u0027t be reused with different request parameters. Keys expire after 24 hours.",
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "description": "The payload of the time slice definition.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateTimeSliceDefinitionModel"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Creation of a new time slice definition was successful.",
            "schema": {
              "$ref": "#/definitions/TimeSliceDefinitionCreatedModel"
            },
            "headers": {
              "Location": {
                "description": "The location of the created resource.",
                "type": "string"
              }
            }
          },
          "404": {
            "description": "The Request-URI could not be found."
          },
          "415": {
            "description": "Unsupported media type."
          },
          "400": {
            "description": "Bad request."
          },
          "401": {
            "description": "You are unauthorized."
          },
          "403": {
            "description": "Forbidden."
          },
          "499": {
            "description": "Client closed request."
          },
          "500": {
            "description": "An unexpected error occurred."
          },
          "503": {
            "description": "The server is currently unavailable. Please try later."
          },
          "422": {
            "description": "Validation errors in the request body or query params.",
            "schema": {
              "$ref": "#/definitions/MessageItemCollection"
            }
          }
        },
        "security": [
          {
            "oauth2": [
              "settings.manage",
              "setup.manage",
              "admin"
            ]
          }
        ]
      }
    }
  },
  "definitions": {
    "AccountSettingsModel": {
      "type": "object",
      "required": [
        "isCommercialStatusEnabled"
      ],
      "properties": {
        "isCommercialStatusEnabled": {
          "type": "boolean",
          "description": "Whether commercial status is enabled for the account."
        }
      },
      "additionalProperties": false,
      "example": {
        "isCommercialStatusEnabled": true
      }
    },
    "ActionModel[TimeSliceDefinitionAction,NotAllowedTimeSliceDefinitionActionReason]": {
      "type": "object",
      "required": [
        "action",
        "isAllowed"
      ],
      "properties": {
        "action": {
          "type": "string",
          "enum": [
            "ModifyCheckInCheckOutTime",
            "Delete"
          ]
        },
        "isAllowed": {
          "type": "boolean"
        },
        "reasons": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ActionReasonModel[NotAllowedTimeSliceDefinitionActionReason]"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false
    },
    "ActionReasonModel[NotAllowedTimeSliceDefinitionActionReason]": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "ModifyCheckInCheckOutTimeNotAllowedForUsedTimeSliceDefinition",
            "DeleteIsNotAllowedForUsedTimeSliceDefinition"
          ]
        },
        "message": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "CapturePolicyItemModel": {
      "type": "object",
      "required": [
        "captureCancellationFee",
        "captureNoShowFee",
        "capturePayment",
        "capturePrepayment",
        "code",
        "id",
        "postOtaBankTransferOnCheckOut",
        "propertyId"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of the capture policy"
        },
        "code": {
          "type": "string",
          "description": "The code of the capture policy"
        },
        "captureNoShowFee": {
          "type": "boolean",
          "description": "Specify whether the no-show fee should be captured automatically, when a reservation is set to no-show"
        },
        "captureCancellationFee": {
          "type": "boolean",
          "description": "Specify whether the cancellation fee should be captured automatically, when a reservation is cancelled"
        },
        "capturePrepayment": {
          "type": "boolean",
          "description": "Specify if prepayments should be captured automatically, when a reservation is created or its payment account changed"
        },
        "postOtaBankTransferOnCheckOut": {
          "type": "boolean",
          "description": "Specify if reservations coming from source or channel Booking.com will be automatically marked as paid on check-out. Caution: only select this, if you configured Booking.com \u003E Finance to be \u0027Payments by Booking.com\u0027"
        },
        "capturePayment": {
          "type": "string",
          "description": "Specify if and when payments should be captured automatically.",
          "enum": [
            "Manual",
            "CheckIn",
            "CheckOut"
          ]
        },
        "propertyId": {
          "type": "string",
          "description": "The property this capture policy is valid for"
        }
      },
      "additionalProperties": false
    },
    "CapturePolicyListModel": {
      "type": "object",
      "required": [
        "capturePolicies",
        "count"
      ],
      "properties": {
        "capturePolicies": {
          "type": "array",
          "description": "List of capture policies",
          "items": {
            "$ref": "#/definitions/CapturePolicyItemModel"
          }
        },
        "count": {
          "type": "integer",
          "description": "Total count of items",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "example": {
        "capturePolicies": [
          {
            "id": "MUC-CAP",
            "code": "CAP",
            "captureNoShowFee": false,
            "captureCancellationFee": false,
            "capturePrepayment": true,
            "postOtaBankTransferOnCheckOut": false,
            "capturePayment": "CheckOut",
            "propertyId": "MUC"
          }
        ],
        "count": 1
      }
    },
    "CapturePolicyModel": {
      "type": "object",
      "required": [
        "captureCancellationFee",
        "captureNoShowFee",
        "capturePayment",
        "capturePrepayment",
        "id",
        "postOtaBankTransferOnCheckOut",
        "propertyId"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of the capture policy"
        },
        "code": {
          "type": "string",
          "description": "The code of the capture policy",
          "x-nullable": true
        },
        "captureNoShowFee": {
          "type": "boolean",
          "description": "Specify whether the no-show fee should be captured automatically, when a reservation is set to no-show"
        },
        "captureCancellationFee": {
          "type": "boolean",
          "description": "Specify whether the cancellation fee should be captured automatically, when a reservation is cancelled"
        },
        "capturePrepayment": {
          "type": "boolean",
          "description": "Specify if prepayments should be captured automatically, when a reservation is created or its payment account changed"
        },
        "postOtaBankTransferOnCheckOut": {
          "type": "boolean",
          "description": "Specify if reservations coming from source or channel Booking.com will be automatically marked as paid on check-out. Caution: only select this, if you configured Booking.com \u003E Finance to be \u0027Payments by Booking.com\u0027"
        },
        "capturePayment": {
          "type": "string",
          "description": "Specify if and when payments should be captured automatically.",
          "enum": [
            "Manual",
            "CheckIn",
            "CheckOut"
          ]
        },
        "propertyId": {
          "type": "string",
          "description": "The property this capture policy is valid for"
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "MUC-CAP",
        "code": "CAP",
        "captureNoShowFee": false,
        "captureCancellationFee": false,
        "capturePrepayment": true,
        "postOtaBankTransferOnCheckOut": false,
        "capturePayment": "CheckOut",
        "propertyId": "MUC"
      }
    },
    "CityTaxAppliedToModel": {
      "type": "object",
      "description": "Defines which services are subject to city tax.\nRoom price (Accommodation) is always subject to city tax by default.",
      "properties": {
        "services": {
          "type": "array",
          "description": "List of additional service types subject to city tax.",
          "items": {
            "$ref": "#/definitions/CityTaxServiceFilterModel"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false
    },
    "CityTaxConfigModel": {
      "type": "object",
      "properties": {
        "distributionChannel": {
          "$ref": "#/definitions/DistributionChannelTaxConfigModel"
        }
      },
      "additionalProperties": false
    },
    "CityTaxCreatedModel": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The city tax ID"
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "MUC-FLE"
      }
    },
    "CityTaxItemModel": {
      "type": "object",
      "required": [
        "code",
        "description",
        "id",
        "includeCityTaxInRateAmount",
        "name",
        "priority",
        "propertyId",
        "serviceType",
        "taxHandlingType",
        "type",
        "value",
        "vatType"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of this city tax"
        },
        "code": {
          "type": "string",
          "description": "The code for the city tax"
        },
        "name": {
          "type": "string",
          "description": "The name of the city tax",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "description": "The description of the city tax",
          "minLength": 1
        },
        "propertyId": {
          "type": "string",
          "description": "The ID of the property for which the city tax was created"
        },
        "serviceType": {
          "type": "string",
          "description": "The service type assigned to charges generated for this city tax. Assigned automatically when the city tax is created. Cannot be changed.",
          "enum": [
            "CityTax",
            "SecondCityTax"
          ]
        },
        "type": {
          "type": "string",
          "description": "The base on which the city tax is calculated",
          "enum": [
            "PercentOfGross",
            "PercentOfNet",
            "PerRoomPerNight",
            "PerPersonPerNight",
            "PerPersonPerNightBasedOnNetPrice",
            "PerPersonPerNightBasedOnGrossPrice"
          ]
        },
        "taxHandlingType": {
          "type": "string",
          "description": "How to treat the calculated city tax: as before tax or after tax",
          "enum": [
            "BeforeTax",
            "AfterTax"
          ]
        },
        "value": {
          "type": "number",
          "description": "Depending on the type, the percent or multiplier used to calculate city tax",
          "format": "double"
        },
        "vatType": {
          "type": "string",
          "description": "Specifies which VAT applies.",
          "enum": [
            "Null",
            "VeryReduced",
            "Reduced",
            "Normal",
            "Without",
            "Special",
            "Special1",
            "Special2",
            "ReducedCovid19",
            "NormalCovid19",
            "Mixed"
          ]
        },
        "priority": {
          "type": "integer",
          "description": "Order in which city taxes should be applied. Lower numbers are applied first",
          "format": "int32"
        },
        "includeCityTaxInRateAmount": {
          "type": "boolean",
          "description": "Whether city tax is included in the rate, or added on top of it. Default is \u0060false\u0060"
        }
      },
      "additionalProperties": false
    },
    "CityTaxListModel": {
      "type": "object",
      "required": [
        "cityTaxes",
        "count"
      ],
      "properties": {
        "cityTaxes": {
          "type": "array",
          "description": "List of city taxes",
          "items": {
            "$ref": "#/definitions/CityTaxItemModel"
          }
        },
        "count": {
          "type": "integer",
          "description": "Total count of items",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "example": {
        "cityTaxes": [
          {
            "id": "BER-TAX",
            "code": "TAX",
            "name": "Bettensteuer",
            "description": "5 Euro per person per night",
            "propertyId": "BER",
            "serviceType": "CityTax",
            "type": "PerPersonPerNight",
            "taxHandlingType": "AfterTax",
            "value": 1.0,
            "vatType": "Without",
            "priority": 1,
            "includeCityTaxInRateAmount": false
          }
        ],
        "count": 1
      }
    },
    "CityTaxModel": {
      "type": "object",
      "required": [
        "code",
        "description",
        "id",
        "includeCityTaxInRateAmount",
        "name",
        "priority",
        "propertyId",
        "serviceType",
        "taxHandlingType",
        "type",
        "value",
        "vatType"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of this city tax"
        },
        "code": {
          "type": "string",
          "description": "The code for the city tax"
        },
        "name": {
          "type": "object",
          "description": "The name of the city tax, as displayed to guests on invoice, offer, etc.",
          "additionalProperties": {
            "type": "string",
            "x-nullable": true
          }
        },
        "description": {
          "type": "object",
          "description": "The description of the city tax, as displayed to guests.",
          "additionalProperties": {
            "type": "string",
            "x-nullable": true
          }
        },
        "propertyId": {
          "type": "string",
          "description": "The ID of the property for which the city tax was created"
        },
        "serviceType": {
          "type": "string",
          "description": "The service type assigned to charges generated for this city tax. Assigned automatically when the city tax is created. Cannot be changed.",
          "enum": [
            "CityTax",
            "SecondCityTax"
          ]
        },
        "type": {
          "type": "string",
          "description": "The base on which the city tax is calculated.",
          "enum": [
            "PercentOfGross",
            "PercentOfNet",
            "PerRoomPerNight",
            "PerPersonPerNight",
            "PerPersonPerNightBasedOnNetPrice",
            "PerPersonPerNightBasedOnGrossPrice"
          ]
        },
        "taxHandlingType": {
          "type": "string",
          "description": "How to treat the calculated city tax: as before tax or after tax",
          "enum": [
            "BeforeTax",
            "AfterTax"
          ]
        },
        "value": {
          "type": "number",
          "description": "Depending on the type, the percent or multiplier used to calculate city tax - \u003Cb\u003EDEPRECATED: Value is deprecated, use Rules.Configuration.DefaultValue instead\u003C/b\u003E",
          "format": "double"
        },
        "limit": {
          "type": "integer",
          "description": "If set, limits the calculation of the city tax to the specified number of time slices, starting from the beginning.\n\nIf not set, the city tax will be calculated for the whole stay. - \u003Cb\u003EDEPRECATED: Limit is deprecated, use Rules.Configuration.MaxNights instead\u003C/b\u003E",
          "format": "int32",
          "x-nullable": true
        },
        "subcategories": {
          "type": "array",
          "description": "Additional subcategories for different age groups that are eligible for a reduced city tax.  Only set if the type is \u0027PerPersonPerNight\u0027, \u0027PercentOfGross\u0027 or \u0027PerPersonPerNightBasedOnNetPrice\u0027 - \u003Cb\u003EDEPRECATED: Subcategories is deprecated, use Rules.Configuration.AgeCategories instead\u003C/b\u003E",
          "items": {
            "$ref": "#/definitions/CityTaxSubcategoryModel"
          },
          "x-nullable": true
        },
        "pricingRules": {
          "type": "array",
          "description": "Additional set of rules where you can set a fixed city tax value based on the net accommodation cost. Only set if the type is \u0027PerPersonPerNightBasedOnNetPrice\u0027 or \u0027PerPersonPerNightBasedOnGrossPrice\u0027 - \u003Cb\u003EDEPRECATED: PricingRules is deprecated, use Rules.Configuration.PriceGroups instead\u003C/b\u003E",
          "items": {
            "$ref": "#/definitions/CityTaxPricingRuleModel"
          },
          "x-nullable": true
        },
        "vatType": {
          "type": "string",
          "description": "Specifies which VAT applies.",
          "enum": [
            "Null",
            "VeryReduced",
            "Reduced",
            "Normal",
            "Without",
            "Special",
            "Special1",
            "Special2",
            "ReducedCovid19",
            "NormalCovid19",
            "Mixed"
          ]
        },
        "priority": {
          "type": "integer",
          "description": "Order in which city taxes should be applied. Lower numbers are applied first",
          "format": "int32",
          "maximum": 2147483647,
          "minimum": 1
        },
        "includeCityTaxInRateAmount": {
          "type": "boolean",
          "description": "Whether city tax is included in the rate, or added on top of it. Default is \u0060false\u0060"
        },
        "appliedTo": {
          "$ref": "#/definitions/CityTaxAppliedToModel"
        },
        "ignoredFor": {
          "type": "array",
          "description": "The list of rules to define which charges this tax is ignored for",
          "items": {
            "$ref": "#/definitions/CityTaxConfigModel"
          },
          "x-nullable": true
        },
        "rules": {
          "type": "array",
          "description": "List of rules defining the value of the city tax charge according to priority and the filter",
          "items": {
            "$ref": "#/definitions/CityTaxRuleModel"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "MUC-TAX",
        "code": "TAX",
        "name": {
          "en": "City tax",
          "de": "City-Tax"
        },
        "description": {
          "en": "2 Euro per person and night. Business travellers and close family members of citizens do not have to pay city tax.",
          "de": "2 Euro pro Person und Nacht. Gesch\u00E4ftsreisende und nahe Familienmitglieder von Anwohnern m\u00FCssen keine City-Tax bezahlen."
        },
        "propertyId": "MUC",
        "serviceType": "CityTax",
        "type": "PerPersonPerNight",
        "taxHandlingType": "BeforeTax",
        "value": 0.0,
        "vatType": "Without",
        "priority": 1,
        "includeCityTaxInRateAmount": true,
        "appliedTo": {
          "services": [
            {
              "type": "FoodAndBeverages"
            }
          ]
        },
        "ignoredFor": [
          {
            "distributionChannel": {
              "channelCode": "ChannelManager",
              "sources": [
                "bookingcom"
              ]
            }
          }
        ],
        "rules": [
          {
            "name": {
              "en": "Default rate",
              "de": "Standardrate"
            },
            "priority": 10,
            "filter": {
              "stayPeriod": {}
            },
            "configuration": {
              "defaultValue": 2.0,
              "ageCategories": [
                {
                  "minAge": 1,
                  "maxAge": 18,
                  "value": 1.0
                }
              ],
              "maxNights": 5
            }
          },
          {
            "name": {
              "en": "Summer rate",
              "de": "Sommerrate"
            },
            "priority": 1,
            "filter": {
              "stayPeriod": {
                "validFrom": "2025-06-01",
                "validTo": "2025-08-31"
              }
            },
            "configuration": {
              "defaultValue": 3.5,
              "priceGroups": [
                {
                  "value": 0.0,
                  "maxPrice": 10.0
                },
                {
                  "value": 0.5,
                  "maxPrice": 25.0
                },
                {
                  "value": 1.0,
                  "maxPrice": 50.0
                }
              ]
            }
          }
        ]
      }
    },
    "CityTaxPricingRuleModel": {
      "type": "object",
      "required": [
        "maxPrice",
        "value"
      ],
      "properties": {
        "value": {
          "type": "number",
          "description": "Fixed value of the tax for the price of up to the MaxPrice",
          "format": "double"
        },
        "maxPrice": {
          "type": "number",
          "description": "The maximum price this rule applies to (inclusive)",
          "format": "double"
        }
      },
      "additionalProperties": false
    },
    "CityTaxRuleAgeCategoryModel": {
      "type": "object",
      "required": [
        "maxAge",
        "minAge",
        "value"
      ],
      "properties": {
        "minAge": {
          "type": "integer",
          "description": "The minimum age for the age category. The specified value is included in the age range",
          "format": "int32",
          "maximum": 2147483647,
          "minimum": 0
        },
        "maxAge": {
          "type": "integer",
          "description": "The maximum age for the age category. The specified value is included in the age range",
          "format": "int32",
          "maximum": 2147483647,
          "minimum": 0
        },
        "value": {
          "type": "number",
          "description": "The value of city tax charge for this age category",
          "format": "double",
          "maximum": 2147483647,
          "minimum": 0
        }
      },
      "additionalProperties": false
    },
    "CityTaxRuleConfigurationModel": {
      "type": "object",
      "required": [
        "defaultValue"
      ],
      "properties": {
        "defaultValue": {
          "type": "number",
          "description": "The base value applied by this rule.\nDepending on the city tax type, this represents a percent or a fixed amount used to calculate the charge.\nIs overridden by the AgeCategories or PriceGroups if set.",
          "format": "double",
          "maximum": 2147483647,
          "minimum": 0
        },
        "ageCategories": {
          "type": "array",
          "description": "Age-based values for this rule.\nIf set, the value for a matching age category is applied for guests whose age falls within the category.",
          "items": {
            "$ref": "#/definitions/CityTaxRuleAgeCategoryModel"
          },
          "x-nullable": true
        },
        "priceGroups": {
          "type": "array",
          "description": "Price-based values for this rule.\nIf set, a fixed amount is applied based on the accommodation price per person falling into a defined price group.\nOnly set if the type is \u0027PerPersonPerNightBasedOnNetPrice\u0027 or \u0027PerPersonPerNightBasedOnGrossPrice\u0027",
          "items": {
            "$ref": "#/definitions/CityTaxRulePriceGroupModel"
          },
          "x-nullable": true
        },
        "maxNights": {
          "type": "integer",
          "description": "If set, limits the calculation of this rule to the specified number of nights (time slices), starting from the beginning of the stay (inclusive).\nIf not set, the rule is applied for the whole stay.",
          "format": "int32",
          "maximum": 2147483647,
          "minimum": 0,
          "x-nullable": true
        }
      },
      "additionalProperties": false
    },
    "CityTaxRuleFilterModel": {
      "type": "object",
      "properties": {
        "stayPeriod": {
          "$ref": "#/definitions/CityTaxRulePeriodModel"
        }
      },
      "additionalProperties": false
    },
    "CityTaxRuleModel": {
      "type": "object",
      "required": [
        "configuration",
        "priority"
      ],
      "properties": {
        "name": {
          "type": "object",
          "description": "The name of the rule",
          "additionalProperties": {
            "type": "string",
            "x-nullable": true
          },
          "x-nullable": true
        },
        "priority": {
          "type": "integer",
          "description": "Order in which rules should be considered. The lowest number rule with a matching filter is applied.",
          "format": "int32",
          "maximum": 2147483647,
          "minimum": 1
        },
        "filter": {
          "$ref": "#/definitions/CityTaxRuleFilterModel"
        },
        "configuration": {
          "$ref": "#/definitions/CityTaxRuleConfigurationModel"
        }
      },
      "additionalProperties": false
    },
    "CityTaxRulePeriodModel": {
      "type": "object",
      "properties": {
        "validFrom": {
          "type": "string",
          "description": "The date from which the rule is valid (inclusive)",
          "format": "date",
          "example": "2020-10-10",
          "x-nullable": true
        },
        "validTo": {
          "type": "string",
          "description": "The date until which the rule is valid (inclusive)",
          "format": "date",
          "example": "2020-10-10",
          "x-nullable": true
        }
      },
      "additionalProperties": false
    },
    "CityTaxRulePriceGroupModel": {
      "type": "object",
      "required": [
        "maxPrice",
        "value"
      ],
      "properties": {
        "value": {
          "type": "number",
          "description": "Fixed value of the tax for the price of up to the MaxPrice",
          "format": "double",
          "maximum": 2147483647,
          "minimum": 0
        },
        "maxPrice": {
          "type": "number",
          "description": "The maximum price this rule applies to (inclusive)",
          "format": "double",
          "maximum": 2147483647,
          "minimum": 0
        }
      },
      "additionalProperties": false
    },
    "CityTaxServiceFilterModel": {
      "type": "object",
      "description": "Defines a service type filter for city tax application.",
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "description": "The type of service subject to city tax.",
          "enum": [
            "Other",
            "Accommodation",
            "FoodAndBeverages",
            "NoShow"
          ]
        }
      },
      "additionalProperties": false
    },
    "CityTaxSubcategoryAgeModel": {
      "type": "object",
      "required": [
        "max",
        "min"
      ],
      "properties": {
        "min": {
          "type": "integer",
          "description": "The minimum age for the age category. The specified value is included in the age range",
          "format": "int32",
          "maximum": 2147483647,
          "minimum": 0
        },
        "max": {
          "type": "integer",
          "description": "The maximum age for the age category. The specified value is included in the age range",
          "format": "int32",
          "maximum": 2147483647,
          "minimum": 0
        }
      },
      "additionalProperties": false
    },
    "CityTaxSubcategoryModel": {
      "type": "object",
      "required": [
        "age",
        "name",
        "value"
      ],
      "properties": {
        "name": {
          "type": "object",
          "description": "The name of the city tax subcategory",
          "additionalProperties": {
            "type": "string",
            "x-nullable": true
          }
        },
        "value": {
          "type": "number",
          "description": "Fixed value of the tax for this age category",
          "format": "double"
        },
        "age": {
          "$ref": "#/definitions/CityTaxSubcategoryAgeModel"
        }
      },
      "additionalProperties": false
    },
    "CommercialStatusCreatedModel": {
      "type": "object",
      "required": [
        "code",
        "id",
        "isArchived",
        "isDefault",
        "label"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The id of the commercial status",
          "minLength": 1
        },
        "code": {
          "type": "string",
          "description": "The code of the commercial status",
          "minLength": 1
        },
        "label": {
          "type": "string",
          "description": "The label of the commercial status",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "description": "The description of the commercial status",
          "x-nullable": true
        },
        "isDefault": {
          "type": "boolean",
          "description": "Whether this is the account\u0027s default commercial status"
        },
        "isArchived": {
          "type": "boolean",
          "description": "Whether this commercial status is archived"
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "INVSENT",
        "code": "INVSENT",
        "label": "Invoice Sent",
        "description": "Invoice has been sent to the customer",
        "isDefault": false,
        "isArchived": false
      }
    },
    "CommercialStatusListModel": {
      "type": "object",
      "required": [
        "commercialStatuses",
        "count"
      ],
      "properties": {
        "commercialStatuses": {
          "type": "array",
          "description": "The commercial statuses for the account.",
          "items": {
            "$ref": "#/definitions/CommercialStatusModel"
          }
        },
        "count": {
          "type": "integer",
          "description": "Total count of items",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "example": {
        "commercialStatuses": [
          {
            "id": "CONFIRMED",
            "code": "CONFIRMED",
            "label": "Confirmed",
            "isDefault": true,
            "isArchived": false
          },
          {
            "id": "INVSENT",
            "code": "INVSENT",
            "label": "Invoice Sent",
            "isDefault": false,
            "isArchived": false
          }
        ],
        "count": 2
      }
    },
    "CommercialStatusModel": {
      "type": "object",
      "required": [
        "code",
        "id",
        "isArchived",
        "isDefault",
        "label"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The id of the commercial status",
          "minLength": 1
        },
        "code": {
          "type": "string",
          "description": "The code of the commercial status",
          "minLength": 1
        },
        "label": {
          "type": "string",
          "description": "The label of the commercial status",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "description": "The description of the commercial status",
          "x-nullable": true
        },
        "isDefault": {
          "type": "boolean",
          "description": "Whether this is the account\u0027s default commercial status"
        },
        "isArchived": {
          "type": "boolean",
          "description": "Whether this commercial status is archived"
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "INVSENT",
        "code": "INVSENT",
        "label": "Invoice Sent",
        "description": "Invoice has been sent to the customer",
        "isDefault": false,
        "isArchived": false
      }
    },
    "CountModel": {
      "type": "object",
      "required": [
        "count"
      ],
      "properties": {
        "count": {
          "type": "integer",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "example": {
        "count": 50
      }
    },
    "CreateCityTaxModel": {
      "type": "object",
      "required": [
        "description",
        "name",
        "propertyId",
        "taxHandlingType",
        "type",
        "value",
        "vatType"
      ],
      "properties": {
        "name": {
          "type": "object",
          "description": "The name of the city tax, as displayed to guests on invoice, offer, etc.\n\nTypical names are city tax or tourist tax.",
          "additionalProperties": {
            "type": "string",
            "x-nullable": true
          }
        },
        "description": {
          "type": "object",
          "description": "The description of the city tax, as displayed to guests. Add information on when it applies, and how it is calculated.",
          "additionalProperties": {
            "type": "string",
            "x-nullable": true
          }
        },
        "propertyId": {
          "type": "string",
          "description": "The ID of the property for which the city tax is created"
        },
        "type": {
          "type": "string",
          "description": "The base on which the city tax is calculated.",
          "enum": [
            "PercentOfGross",
            "PercentOfNet",
            "PerRoomPerNight",
            "PerPersonPerNight",
            "PerPersonPerNightBasedOnNetPrice",
            "PerPersonPerNightBasedOnGrossPrice"
          ]
        },
        "taxHandlingType": {
          "type": "string",
          "description": "How to treat the calculated city tax: as before tax or after tax",
          "enum": [
            "BeforeTax",
            "AfterTax"
          ]
        },
        "value": {
          "type": "number",
          "description": "Depending on the type, the percent or multiplier used to calculate city tax - \u003Cb\u003EDEPRECATED: Value is deprecated, use Rules.Configuration.DefaultValue instead\u003C/b\u003E",
          "format": "double",
          "maximum": 2147483647,
          "minimum": 0
        },
        "vatType": {
          "type": "string",
          "description": "If the city tax is subject to VAT, specify which VAT applies. If not, specify \u0027Without\u0027.",
          "enum": [
            "Null",
            "VeryReduced",
            "Reduced",
            "Normal",
            "Without",
            "Special",
            "Special1",
            "Special2",
            "ReducedCovid19",
            "NormalCovid19",
            "Mixed"
          ]
        },
        "code": {
          "type": "string",
          "description": "The code for the city tax",
          "x-nullable": true
        },
        "priority": {
          "type": "integer",
          "description": "Order in which city taxes should be applied. Lower numbers are applied first.\nIf not provided tax receives priority of existing tax priority \u002B 1, or 1 if no other city tax for this property exists.",
          "format": "int32",
          "x-nullable": true
        },
        "includeCityTaxInRateAmount": {
          "type": "boolean",
          "description": "Whether city tax is included in the rate, or added on top of it. Default is \u0060false\u0060",
          "x-nullable": true
        },
        "limit": {
          "type": "integer",
          "description": "If set, limits the calculation of the city tax to the specified number of time slices, starting from the beginning.\n\nIf not set, the city tax will be calculated for the whole stay. - \u003Cb\u003EDEPRECATED: Limit is deprecated, use Rules.Configuration.MaxNights instead\u003C/b\u003E",
          "format": "int32",
          "x-nullable": true
        },
        "subcategories": {
          "type": "array",
          "description": "Additional subcategories for different age groups that are eligible for a reduced city tax. Can only be set if the type is \u0027PerPersonPerNight\u0027, \u0027PercentOfGross\u0027 or \u0027PerPersonPerNightBasedOnNetPrice\u0027 - \u003Cb\u003EDEPRECATED: Subcategories is deprecated, use Rules.Configuration.AgeCategories instead\u003C/b\u003E",
          "items": {
            "$ref": "#/definitions/CityTaxSubcategoryModel"
          },
          "x-nullable": true
        },
        "pricingRules": {
          "type": "array",
          "description": "Additional set of rules where you can set a fixed city tax value based on the accommodation cost. Only set if the type is \u0027PerPersonPerNightBasedOnNetPrice\u0027 or \u0027PerPersonPerNightBasedOnGrossPrice\u0027 - \u003Cb\u003EDEPRECATED: PricingRules is deprecated, use Rules.Configuration.PriceGroups instead\u003C/b\u003E",
          "items": {
            "$ref": "#/definitions/CityTaxPricingRuleModel"
          },
          "x-nullable": true
        },
        "ignoredFor": {
          "type": "array",
          "description": "The list of rules to define which charges this tax is ignored for",
          "items": {
            "$ref": "#/definitions/CityTaxConfigModel"
          },
          "x-nullable": true
        },
        "appliedTo": {
          "$ref": "#/definitions/CityTaxAppliedToModel"
        },
        "rules": {
          "type": "array",
          "description": "List of rules defining the value of the city tax charge according to priority and the filter",
          "items": {
            "$ref": "#/definitions/CityTaxRuleModel"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false,
      "example": {
        "name": {
          "en": "City tax",
          "de": "City-Tax"
        },
        "description": {
          "en": "2 Euro per person and night. Business travellers and close family members of citizens do not have to pay city tax.",
          "de": "2 Euro pro Person und Nacht. Gesch\u00E4ftsreisende und nahe Familienmitglieder von Anwohnern m\u00FCssen keine City-Tax bezahlen."
        },
        "propertyId": "MUC",
        "type": "PerPersonPerNight",
        "taxHandlingType": "BeforeTax",
        "value": 0.0,
        "vatType": "Normal",
        "code": "TAX",
        "priority": 1,
        "includeCityTaxInRateAmount": false,
        "ignoredFor": [
          {
            "distributionChannel": {
              "channelCode": "ChannelManager",
              "sources": [
                "bookingcom"
              ]
            }
          }
        ],
        "appliedTo": {
          "services": [
            {
              "type": "Accommodation"
            }
          ]
        },
        "rules": [
          {
            "name": {
              "en": "Default rate",
              "de": "Standardrate"
            },
            "priority": 10,
            "filter": {
              "stayPeriod": {}
            },
            "configuration": {
              "defaultValue": 2.0,
              "ageCategories": [
                {
                  "minAge": 1,
                  "maxAge": 18,
                  "value": 1.0
                }
              ],
              "maxNights": 5
            }
          },
          {
            "name": {
              "en": "Summer rate",
              "de": "Sommerrate"
            },
            "priority": 1,
            "filter": {
              "stayPeriod": {
                "validFrom": "2025-06-01",
                "validTo": "2025-08-31"
              }
            },
            "configuration": {
              "defaultValue": 3.5,
              "priceGroups": [
                {
                  "value": 0.0,
                  "maxPrice": 10.0
                },
                {
                  "value": 0.5,
                  "maxPrice": 25.0
                },
                {
                  "value": 1.0,
                  "maxPrice": 50.0
                }
              ]
            }
          }
        ]
      }
    },
    "CreateCommercialStatusModel": {
      "type": "object",
      "required": [
        "code",
        "label"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "The code of the commercial status",
          "maxLength": 10,
          "minLength": 3,
          "pattern": "^[a-zA-Z0-9_]*$"
        },
        "label": {
          "type": "string",
          "description": "The label of the commercial status",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "description": "The description of the commercial status",
          "x-nullable": true
        },
        "isDefault": {
          "type": "boolean",
          "description": "Whether this is the account\u0027s default commercial status. The first commercial status created for an account is always forced to be the default, regardless of this value."
        }
      },
      "additionalProperties": false,
      "example": {
        "code": "INVSENT",
        "label": "Invoice Sent",
        "description": "Invoice has been sent to the customer",
        "isDefault": false
      }
    },
    "CreateCustomFeeModel": {
      "type": "object",
      "required": [
        "code",
        "name",
        "percentValue",
        "propertyId",
        "serviceType",
        "vatType"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "The code for the fee, used to assemble its id",
          "maxLength": 10,
          "minLength": 3,
          "pattern": "^[a-zA-Z0-9_]*$"
        },
        "name": {
          "type": "object",
          "description": "The name for the fee",
          "additionalProperties": {
            "type": "string",
            "x-nullable": true
          }
        },
        "propertyId": {
          "type": "string",
          "description": "The id of the property where the fee will be created"
        },
        "percentValue": {
          "type": "number",
          "description": "The percentage used to calculate the fee amount",
          "format": "double"
        },
        "serviceType": {
          "type": "string",
          "description": "The service type, used by accounting and determining account and VAT",
          "enum": [
            "Other",
            "Accommodation",
            "FoodAndBeverages"
          ]
        },
        "vatType": {
          "type": "string",
          "description": "The VAT type, used by accounting to determine the correct VAT amount and account",
          "enum": [
            "Null",
            "VeryReduced",
            "Reduced",
            "Normal",
            "Without",
            "Special",
            "Special1",
            "Special2",
            "ReducedCovid19",
            "NormalCovid19",
            "Mixed"
          ]
        },
        "subAccountId": {
          "type": "string",
          "description": "ID of the custom sub-account, used by accounting to determine the correct revenue account",
          "x-nullable": true
        }
      },
      "additionalProperties": false,
      "example": {
        "code": "SERVICE",
        "name": {
          "en": "Service fee",
          "de": "Servicegeb\u00FChr"
        },
        "propertyId": "MUC",
        "percentValue": 10.0,
        "serviceType": "Other",
        "vatType": "Without"
      }
    },
    "CreateCustomSubAccountModel": {
      "type": "object",
      "required": [
        "code",
        "name",
        "propertyId",
        "type"
      ],
      "properties": {
        "propertyId": {
          "type": "string",
          "description": "ID of the property"
        },
        "code": {
          "type": "string",
          "description": "Code of the sub-account. Has to be unique per property, and must not be one of the reserved codes:\n- Unspecified\n- System\n- Normal\n- Reduced\n- VeryReduced\n- Special\n- Null\n- Without",
          "pattern": "^[a-zA-Z0-9]\u002B$"
        },
        "name": {
          "type": "string",
          "description": "Name of the sub-account",
          "minLength": 1
        },
        "type": {
          "type": "string",
          "description": "Service type of the sub-account",
          "enum": [
            "Other",
            "Accommodation",
            "FoodAndBeverages"
          ]
        }
      },
      "additionalProperties": false,
      "example": {
        "propertyId": "MUC",
        "code": "TEA",
        "name": "Finest green tea",
        "type": "FoodAndBeverages"
      }
    },
    "CreateMarketSegmentModel": {
      "type": "object",
      "required": [
        "code",
        "name"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "The code of the market segment",
          "maxLength": 10,
          "minLength": 3,
          "pattern": "^[a-zA-Z0-9_]*$"
        },
        "name": {
          "type": "string",
          "description": "The name of the market segment",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "description": "The description of the market segment",
          "x-nullable": true
        },
        "propertyIds": {
          "type": "array",
          "description": "The list of property ids this market segment belongs to",
          "items": {
            "type": "string"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false,
      "example": {
        "code": "BUSR",
        "name": "Business Groups",
        "description": "Social groups (Weddings etc.)",
        "propertyIds": [
          "MUC",
          "BER"
        ]
      }
    },
    "CreateTaxModel": {
      "type": "object",
      "required": [
        "code",
        "name",
        "propertyId",
        "serviceType",
        "subAccountId",
        "taxPeriods"
      ],
      "properties": {
        "code": {
          "type": "string",
          "description": "The code for the tax, used to assemble its id",
          "maxLength": 10,
          "minLength": 3,
          "pattern": "^[a-zA-Z0-9_]*$"
        },
        "name": {
          "type": "object",
          "description": "The name for the tax",
          "additionalProperties": {
            "type": "string",
            "x-nullable": true
          }
        },
        "propertyId": {
          "type": "string",
          "description": "The id of the property where the tax will be created"
        },
        "serviceType": {
          "type": "string",
          "description": "The service type, used by accounting and determining account and VAT",
          "enum": [
            "Other",
            "Accommodation",
            "FoodAndBeverages"
          ]
        },
        "isSubjectToTax": {
          "type": "boolean",
          "description": "Whether this tax can be subject to other taxes. Default value is \u0022false\u0022"
        },
        "subAccountId": {
          "type": "string",
          "description": "ID of the custom sub-account, used by accounting to determine the correct revenue account"
        },
        "appliedTo": {
          "type": "array",
          "description": "The list of rules to define which charges this tax is applied to",
          "items": {
            "$ref": "#/definitions/TaxConfigModel"
          },
          "x-nullable": true
        },
        "ignoredFor": {
          "type": "array",
          "description": "The list of rules to define which charges this tax is ignored for",
          "items": {
            "$ref": "#/definitions/TaxConfigModel"
          },
          "x-nullable": true
        },
        "taxPeriods": {
          "type": "array",
          "description": "Tax periods with percents valid for the specified periods",
          "items": {
            "$ref": "#/definitions/TaxPeriodModel"
          }
        }
      },
      "additionalProperties": false,
      "example": {
        "code": "SERVICE",
        "name": {
          "en": "Service tax"
        },
        "propertyId": "MUC",
        "serviceType": "Other",
        "isSubjectToTax": false,
        "subAccountId": "SUB",
        "appliedTo": [
          {
            "serviceType": "Accommodation",
            "subAccountId": "WHYMIAMI-LONGSTAY"
          }
        ],
        "ignoredFor": [
          {
            "serviceType": "Other"
          }
        ],
        "taxPeriods": [
          {
            "percent": 5.0,
            "validFrom": "1776-07-04"
          },
          {
            "percent": 10.0,
            "validFrom": "1970-01-01"
          }
        ]
      }
    },
    "CreateTimeSliceDefinitionModel": {
      "type": "object",
      "required": [
        "checkInTime",
        "checkOutTime",
        "name",
        "template"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the time slice definition",
          "minLength": 1
        },
        "template": {
          "type": "string",
          "description": "The choice between over-night, which will be from check-in to check-out time, or day-use, which is from check-out to check-in time",
          "enum": [
            "DayUse",
            "OverNight"
          ]
        },
        "checkInTime": {
          "type": "string",
          "description": "The check-in time for the time slice definition\u003Cbr /\u003EA time as defined in the \u003Ca href=\u0022https://en.wikipedia.org/wiki/ISO_8601\u0022\u003EISO8601:2004\u003C/a\u003E"
        },
        "checkOutTime": {
          "type": "string",
          "description": "The check-out time for the time slice definition\u003Cbr /\u003EA time as defined in the \u003Ca href=\u0022https://en.wikipedia.org/wiki/ISO_8601\u0022\u003EISO8601:2004\u003C/a\u003E"
        }
      },
      "additionalProperties": false,
      "example": {
        "name": "Over Night",
        "template": "OverNight",
        "checkInTime": "17:00:00",
        "checkOutTime": "11:00:00"
      }
    },
    "CustomFeeCreatedModel": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The fee id"
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "MUC-SERVICE"
      }
    },
    "CustomFeeItemModel": {
      "type": "object",
      "required": [
        "code",
        "id",
        "name",
        "percentValue",
        "propertyId",
        "serviceType",
        "vatType"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The fee id"
        },
        "code": {
          "type": "string",
          "description": "The code for the fee"
        },
        "name": {
          "type": "string",
          "description": "The name for the fee",
          "minLength": 1
        },
        "propertyId": {
          "type": "string",
          "description": "The id of the property where the fee was created"
        },
        "percentValue": {
          "type": "number",
          "description": "The percentage used to calculate the fee amount",
          "format": "double"
        },
        "serviceType": {
          "type": "string",
          "description": "The service type, used by accounting and determining account and VAT",
          "enum": [
            "Other",
            "Accommodation",
            "FoodAndBeverages"
          ]
        },
        "vatType": {
          "type": "string",
          "description": "The VAT type, used by accounting to determine the correct VAT amount and account",
          "enum": [
            "Null",
            "VeryReduced",
            "Reduced",
            "Normal",
            "Without",
            "Special",
            "Special1",
            "Special2",
            "ReducedCovid19",
            "NormalCovid19",
            "Mixed"
          ]
        },
        "subAccountId": {
          "type": "string",
          "description": "ID of the custom sub-account, used by accounting to determine the correct revenue account",
          "x-nullable": true
        }
      },
      "additionalProperties": false
    },
    "CustomFeeListModel": {
      "type": "object",
      "required": [
        "count",
        "fees"
      ],
      "properties": {
        "fees": {
          "type": "array",
          "description": "List of fees",
          "items": {
            "$ref": "#/definitions/CustomFeeItemModel"
          }
        },
        "count": {
          "type": "integer",
          "description": "Total count of items",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "example": {
        "fees": [
          {
            "id": "MUC-SERVICE",
            "code": "SERVICE",
            "name": "Service fee",
            "propertyId": "MUC",
            "percentValue": 10.0,
            "serviceType": "Other",
            "vatType": "Without"
          }
        ],
        "count": 1
      }
    },
    "CustomFeeModel": {
      "type": "object",
      "required": [
        "code",
        "id",
        "name",
        "percentValue",
        "propertyId",
        "serviceType",
        "vatType"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The fee id"
        },
        "code": {
          "type": "string",
          "description": "The code for the fee"
        },
        "name": {
          "type": "object",
          "description": "The name for the fee",
          "additionalProperties": {
            "type": "string",
            "x-nullable": true
          }
        },
        "propertyId": {
          "type": "string",
          "description": "The id of the property where the fee was created"
        },
        "percentValue": {
          "type": "number",
          "description": "The percentage used to calculate the fee amount",
          "format": "double"
        },
        "serviceType": {
          "type": "string",
          "description": "The service type, used by accounting and determining account and VAT",
          "enum": [
            "Other",
            "Accommodation",
            "FoodAndBeverages"
          ]
        },
        "vatType": {
          "type": "string",
          "description": "The VAT type, used by accounting to determine the correct VAT amount and account",
          "enum": [
            "Null",
            "VeryReduced",
            "Reduced",
            "Normal",
            "Without",
            "Special",
            "Special1",
            "Special2",
            "ReducedCovid19",
            "NormalCovid19",
            "Mixed"
          ]
        },
        "subAccountId": {
          "type": "string",
          "description": "ID of the custom sub-account, used by accounting to determine the correct revenue account",
          "x-nullable": true
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "UNIQUE",
        "code": "MUC-SERVICE",
        "name": {
          "en": "Service fee",
          "de": "Servicegeb\u00FChr"
        },
        "propertyId": "MUC",
        "percentValue": 10.0,
        "serviceType": "Other",
        "vatType": "Without"
      }
    },
    "CustomSubAccountCreatedModel": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of the sub-account",
          "minLength": 1
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "MUC-Tea"
      }
    },
    "CustomSubAccountModel": {
      "type": "object",
      "required": [
        "code",
        "id",
        "name",
        "propertyId",
        "type"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of the sub-account"
        },
        "propertyId": {
          "type": "string",
          "description": "ID of the property"
        },
        "code": {
          "type": "string",
          "description": "Code of the sub-account.",
          "minLength": 1
        },
        "name": {
          "type": "string",
          "description": "Name of the sub-account",
          "minLength": 1
        },
        "type": {
          "type": "string",
          "description": "Service type of the sub-account",
          "enum": [
            "Other",
            "Accommodation",
            "FoodAndBeverages"
          ]
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "MUC-TEA",
        "propertyId": "MUC",
        "code": "Tea",
        "name": "Finest green tea",
        "type": "FoodAndBeverages"
      }
    },
    "CustomSubAccountsListModel": {
      "type": "object",
      "required": [
        "count",
        "subAccounts"
      ],
      "properties": {
        "subAccounts": {
          "type": "array",
          "description": "List of sub-accounts.",
          "items": {
            "$ref": "#/definitions/CustomSubAccountModel"
          }
        },
        "count": {
          "type": "integer",
          "description": "Total count of items",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "example": {
        "subAccounts": [
          {
            "id": "MUC-TEA",
            "propertyId": "MUC",
            "code": "Tea",
            "name": "Finest green tea",
            "type": "FoodAndBeverages"
          }
        ],
        "count": 1
      }
    },
    "DepositFlowConfigModel": {
      "type": "object",
      "properties": {
        "isDepositFlowEnabled": {
          "type": "boolean"
        },
        "prepaymentVatDistributionMode": {
          "type": "string",
          "description": "How prepayment liabilities are split across VAT brackets when posting prepayments.\nIt will be set to Apaleo.Common.Enums.PrepaymentVatDistributionMode.ProRata\nwhen enabling the deposit flow for the first time unless an explicit value is provided.",
          "enum": [
            "Unknown",
            "ProRata",
            "TopRateDescending"
          ]
        }
      },
      "additionalProperties": false
    },
    "DistributionChannelTaxConfigModel": {
      "type": "object",
      "required": [
        "channelCode"
      ],
      "properties": {
        "channelCode": {
          "type": "string",
          "enum": [
            "Direct",
            "BookingCom",
            "Ibe",
            "ChannelManager",
            "Expedia",
            "Homelike",
            "Hrs",
            "AltoVita",
            "DesVu",
            "Gimsi"
          ]
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-nullable": true
        },
        "remittanceResponsibility": {
          "type": "string",
          "enum": [
            "Hotel",
            "Ota"
          ],
          "x-nullable": true
        }
      },
      "additionalProperties": false
    },
    "FeatureSettingsModel": {
      "type": "object",
      "required": [
        "advanceInvoiceNumberPattern",
        "areCustomRevenueSubAccountsEnabled",
        "invoiceNumberPattern",
        "performAccountingForOpenInvoiceActions",
        "showRecipientForEachLineItemOnTheInvoice"
      ],
      "properties": {
        "invoiceLineItemGroupingType": {
          "type": "string",
          "description": "How to group line items on the invoice - \u003Cb\u003EDEPRECATED: This feature is experimental and subject to change at any time. Avoid using this feature\u003C/b\u003E",
          "enum": [
            "ShowIncludedServices",
            "DoNotShowIncludedServices",
            "NoGrouping"
          ]
        },
        "fiscalizationConfigured": {
          "type": "boolean",
          "description": " - \u003Cb\u003EDEPRECATED: This feature is experimental and subject to change at any time. Avoid using this feature\u003C/b\u003E"
        },
        "fiscalInvoicesConfigured": {
          "type": "boolean",
          "description": " - \u003Cb\u003EDEPRECATED: This feature is experimental and subject to change at any time. Avoid using this feature\u003C/b\u003E"
        },
        "areTaxesEnabled": {
          "type": "boolean",
          "description": "Are sales taxes enabled. Available only for US and AE properties, requires the setting \u0060AreCustomRevenueSubAccountsEnabled\u0060 to be enabled - \u003Cb\u003EDEPRECATED: This feature is experimental and subject to change at any time. Avoid using this feature\u003C/b\u003E"
        },
        "depositFlowConfig": {
          "$ref": "#/definitions/DepositFlowConfigModel"
        },
        "areCustomRevenueSubAccountsEnabled": {
          "type": "boolean",
          "description": "Are custom sub-accounts for revenue enabled."
        },
        "performAccountingForOpenInvoiceActions": {
          "type": "boolean",
          "description": "Whether marking an AR invoice as written off/paid leads to accounting or not."
        },
        "showRecipientForEachLineItemOnTheInvoice": {
          "type": "boolean",
          "description": "Whether to display the main guest\u0027s name for each charge on the invoice if the invoice contains charges from several reservations."
        },
        "maxAmountForMinimalInvoices": {
          "type": "number",
          "description": "If the amount for the invoice is lower than this value, allow creating invoices with the name only.",
          "format": "double",
          "x-nullable": true
        },
        "invoiceNumberPattern": {
          "type": "string",
          "description": "Pattern to generate the invoice number.\nConsists of three parts: custom prefix (optional),\ndate template (optional),\nand number template (required).\nuse \u00270\u0027 for numbers;\n\u0027d\u0027 or \u0027dd\u0027 for days;\n\u0027M\u0027 or \u0027MM\u0027 for months;\n\u0027yy\u0027 or \u0027yyyy\u0027 for years.\nTo set a custom prefix, enclose it in quotation marks (\u0022).\nAllowed symbols in the prefix: digits, uppercase letters, .,_,-.\nExample: pattern \u0022MUC-\u0022yyyy0000 will produce invoice numbers like MUC-20190001.",
          "minLength": 1
        },
        "advanceInvoiceNumberPattern": {
          "type": "string",
          "description": "Pattern to generate the advance invoice number.\nConsists of three parts: custom prefix (optional),\ndate template (optional),\nand number template (required).\nuse \u00270\u0027 for numbers;\n\u0027d\u0027 or \u0027dd\u0027 for days;\n\u0027M\u0027 or \u0027MM\u0027 for months;\n\u0027yy\u0027 or \u0027yyyy\u0027 for years.\nTo set a custom prefix, enclose it in quotation marks (\u0022).\nAllowed symbols in the prefix: digits, uppercase letters, .,_,-.\nExample: pattern \u0022MUC-\u0022yyyy0000 will produce invoice numbers like MUC-20190001.",
          "minLength": 1
        }
      },
      "additionalProperties": false,
      "example": {
        "areCustomRevenueSubAccountsEnabled": true,
        "performAccountingForOpenInvoiceActions": true,
        "showRecipientForEachLineItemOnTheInvoice": true,
        "maxAmountForMinimalInvoices": 100.50,
        "invoiceNumberPattern": "yyMM00000",
        "advanceInvoiceNumberPattern": "\u0022A-\u0022yyMM00000"
      }
    },
    "InvoiceAddressCreateOrReplaceModel": {
      "type": "object",
      "required": [
        "addressLine1",
        "city",
        "countryCode",
        "postalCode"
      ],
      "properties": {
        "addressLine1": {
          "type": "string",
          "minLength": 1
        },
        "addressLine2": {
          "type": "string",
          "x-nullable": true
        },
        "postalCode": {
          "type": "string",
          "minLength": 1
        },
        "city": {
          "type": "string",
          "minLength": 1
        },
        "regionCode": {
          "type": "string",
          "x-nullable": true
        },
        "countryCode": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "example": {
        "addressLine1": "Marienplatz 1",
        "postalCode": "80331",
        "city": "M\u00FCnchen",
        "regionCode": "DE-BY",
        "countryCode": "DE"
      }
    },
    "InvoiceAddressListModel": {
      "type": "object",
      "required": [
        "addresses",
        "count"
      ],
      "properties": {
        "addresses": {
          "type": "array",
          "description": "List of invoice addresses",
          "items": {
            "$ref": "#/definitions/InvoiceAddressModel"
          }
        },
        "count": {
          "type": "integer",
          "description": "Total count of items",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "example": {
        "addresses": [
          {
            "addressLine1": "Marienplatz 1",
            "postalCode": "80331",
            "city": "M\u00FCnchen",
            "regionCode": "DE-BY",
            "countryCode": "DE",
            "propertyId": "MUC"
          }
        ],
        "count": 1
      }
    },
    "InvoiceAddressModel": {
      "type": "object",
      "required": [
        "addressLine1",
        "city",
        "countryCode",
        "postalCode",
        "propertyId"
      ],
      "properties": {
        "addressLine1": {
          "type": "string",
          "minLength": 1
        },
        "addressLine2": {
          "type": "string",
          "x-nullable": true
        },
        "postalCode": {
          "type": "string",
          "minLength": 1
        },
        "city": {
          "type": "string",
          "minLength": 1
        },
        "regionCode": {
          "type": "string",
          "x-nullable": true
        },
        "countryCode": {
          "type": "string"
        },
        "propertyId": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "example": {
        "addressLine1": "Marienplatz 1",
        "postalCode": "80331",
        "city": "M\u00FCnchen",
        "regionCode": "DE-BY",
        "countryCode": "DE",
        "propertyId": "MUC"
      }
    },
    "InvoiceLineItemGroupingModel": {
      "type": "object",
      "required": [
        "default",
        "enabled"
      ],
      "properties": {
        "enabled": {
          "type": "array",
          "description": "List of grouping options to be enabled for this property",
          "items": {
            "type": "string",
            "enum": [
              "NoGrouping",
              "ByCharge",
              "ByRatePlanDetailed",
              "ByRatePlanSimplified",
              "ByReceipt"
            ]
          }
        },
        "default": {
          "type": "string",
          "description": "The default grouping option to be used for invoice generation",
          "enum": [
            "NoGrouping",
            "ByCharge",
            "ByRatePlanDetailed",
            "ByRatePlanSimplified",
            "ByReceipt"
          ]
        }
      },
      "additionalProperties": false,
      "example": {
        "enabled": [
          "NoGrouping",
          "ByCharge",
          "ByRatePlanDetailed",
          "ByRatePlanSimplified"
        ],
        "default": "NoGrouping"
      }
    },
    "InvoiceSeriesModel": {
      "type": "object",
      "properties": {
        "standardInvoiceSeries": {
          "type": "string",
          "description": "Series for Standard invoices.\nApplies to InvoiceType: Initial, Correction.",
          "x-nullable": true
        },
        "proformaInvoiceSeries": {
          "type": "string",
          "description": "Series for Proforma invoices.\nApplies to InvoiceType: Proforma.",
          "x-nullable": true
        },
        "depositInvoiceSeries": {
          "type": "string",
          "description": "Series for Pre-Arrival and Deposit invoices.\nApplies to InvoiceType: Advance, AdvanceCorrection, Deposit, DepositCorrection.",
          "x-nullable": true
        },
        "creditNoteSeries": {
          "type": "string",
          "description": "Series for Credit Notes of Standard invoices.\nApplies to InvoiceType: Cancellation.",
          "x-nullable": true
        },
        "depositCreditNoteSeries": {
          "type": "string",
          "description": "Series for Credit Notes of Deposit invoices.\nApplies to InvoiceType: AdvanceCancellation, DepositCancellation.",
          "x-nullable": true
        },
        "arInvoiceSeries": {
          "type": "string",
          "description": "Series for AR (Accounts Receivable) invoices.\nApplies to Initial or Correction invoices with open outstanding balance.",
          "x-nullable": true
        }
      },
      "additionalProperties": false
    },
    "LanguageModel": {
      "type": "object",
      "required": [
        "code",
        "default",
        "mandatory"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "default": {
          "type": "boolean"
        },
        "mandatory": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "LanguagesModel": {
      "type": "object",
      "description": "With this request you can modify the language settings for the account",
      "required": [
        "languages"
      ],
      "properties": {
        "languages": {
          "type": "array",
          "description": "The languages for the account",
          "items": {
            "$ref": "#/definitions/LanguageModel"
          }
        }
      },
      "additionalProperties": false,
      "example": {
        "languages": [
          {
            "code": "en",
            "default": true,
            "mandatory": true
          },
          {
            "code": "de",
            "default": false,
            "mandatory": false
          }
        ]
      }
    },
    "MarketSegmentCreatedModel": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The market segment ID"
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "BGTF"
      }
    },
    "MarketSegmentListModel": {
      "type": "object",
      "required": [
        "count",
        "marketSegments"
      ],
      "properties": {
        "marketSegments": {
          "type": "array",
          "description": "List of market segments",
          "items": {
            "$ref": "#/definitions/MarketSegmentModel"
          }
        },
        "count": {
          "type": "integer",
          "description": "Total count of items",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "example": {
        "marketSegments": [
          {
            "id": "BUSR",
            "code": "BUSR",
            "name": "Business Groups",
            "description": "Social groups (Weddings etc.)",
            "propertyIds": [
              "MUC",
              "BER"
            ]
          },
          {
            "id": "BPCK",
            "code": "BPCK",
            "name": "Backpackers",
            "description": "Backpackers aged 18-30",
            "propertyIds": [
              "MUC"
            ]
          }
        ],
        "count": 2
      }
    },
    "MarketSegmentModel": {
      "type": "object",
      "required": [
        "code",
        "id",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The id of the market segment",
          "minLength": 1
        },
        "code": {
          "type": "string",
          "description": "The code of the market segment",
          "minLength": 1
        },
        "name": {
          "type": "string",
          "description": "The name of the market segment",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "description": "The description of the market segment",
          "x-nullable": true
        },
        "propertyIds": {
          "type": "array",
          "description": "The list of property ids this market segment belongs to",
          "items": {
            "type": "string"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "BUSR",
        "code": "BUSR",
        "name": "Business Groups",
        "description": "Social groups (Weddings etc.)",
        "propertyIds": [
          "MUC",
          "BER"
        ]
      }
    },
    "MessageItemCollection": {
      "type": "object",
      "properties": {
        "messages": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "readOnly": true,
          "x-nullable": true
        }
      },
      "additionalProperties": false
    },
    "ModifyPaymentMethodListRequest": {
      "type": "object",
      "required": [
        "paymentMethods"
      ],
      "properties": {
        "paymentMethods": {
          "type": "array",
          "description": "List of supported payment methods.",
          "items": {
            "type": "string",
            "enum": [
              "Cash",
              "BankTransfer",
              "CreditCard",
              "Amex",
              "VisaCredit",
              "VisaDebit",
              "MasterCard",
              "MasterCardDebit",
              "Maestro",
              "GiroCard",
              "DiscoverCard",
              "Diners",
              "Jcb",
              "BookingCom",
              "VPay",
              "PayPal",
              "Postcard",
              "Reka",
              "Twint",
              "Lunchcheck",
              "Voucher",
              "ChinaUnionPay",
              "Other",
              "Cheque",
              "Airbnb",
              "HolidayCheck",
              "Representation",
              "IDeal"
            ]
          }
        }
      },
      "additionalProperties": false,
      "example": {
        "paymentMethods": [
          "Cash",
          "BankTransfer",
          "CreditCard",
          "Amex",
          "VisaCredit"
        ]
      }
    },
    "Operation": {
      "type": "object",
      "properties": {
        "value": {
          "x-nullable": true
        },
        "path": {
          "type": "string",
          "x-nullable": true
        },
        "op": {
          "type": "string",
          "x-nullable": true
        },
        "from": {
          "type": "string",
          "x-nullable": true
        }
      },
      "additionalProperties": false
    },
    "PaymentMethodListModel": {
      "type": "object",
      "required": [
        "paymentMethods"
      ],
      "properties": {
        "paymentMethods": {
          "type": "array",
          "description": "List of supported payment methods.",
          "items": {
            "type": "string",
            "enum": [
              "Cash",
              "BankTransfer",
              "CreditCard",
              "Amex",
              "VisaCredit",
              "VisaDebit",
              "MasterCard",
              "MasterCardDebit",
              "Maestro",
              "GiroCard",
              "DiscoverCard",
              "Diners",
              "Jcb",
              "BookingCom",
              "VPay",
              "PayPal",
              "Postcard",
              "Reka",
              "Twint",
              "Lunchcheck",
              "Voucher",
              "ChinaUnionPay",
              "Other",
              "Cheque",
              "Airbnb",
              "HolidayCheck",
              "Representation",
              "IDeal"
            ]
          }
        }
      },
      "additionalProperties": false,
      "example": {
        "paymentMethods": [
          "Cash",
          "BankTransfer",
          "CreditCard",
          "Amex",
          "VisaCredit",
          "VisaDebit",
          "MasterCard",
          "MasterCardDebit",
          "Maestro",
          "GiroCard",
          "DiscoverCard",
          "Diners",
          "Jcb",
          "BookingCom",
          "VPay",
          "PayPal",
          "Postcard",
          "Reka",
          "Twint",
          "Lunchcheck",
          "Voucher",
          "ChinaUnionPay",
          "Other",
          "Cheque",
          "Airbnb",
          "HolidayCheck",
          "Representation",
          "IDeal"
        ]
      }
    },
    "PropertySettingsModel": {
      "type": "object",
      "required": [
        "currency",
        "timeZone"
      ],
      "properties": {
        "timeZone": {
          "type": "string",
          "description": "The time zone",
          "minLength": 1
        },
        "currency": {
          "type": "string",
          "description": "The currency a property works with."
        }
      },
      "additionalProperties": false,
      "example": {
        "timeZone": "Europe/Berlin",
        "currency": "EUR"
      }
    },
    "ReplaceLanguageModel": {
      "type": "object",
      "required": [
        "code",
        "mandatory"
      ],
      "properties": {
        "code": {
          "type": "string",
          "maxLength": 2,
          "minLength": 2
        },
        "mandatory": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "ReplaceLanguagesModel": {
      "type": "object",
      "description": "With this request you can modify the language settings for the account",
      "required": [
        "languages"
      ],
      "properties": {
        "languages": {
          "type": "array",
          "description": "The languages for the account",
          "items": {
            "$ref": "#/definitions/ReplaceLanguageModel"
          }
        }
      },
      "additionalProperties": false,
      "example": {
        "languages": [
          {
            "code": "en",
            "mandatory": true
          },
          {
            "code": "de",
            "mandatory": false
          }
        ]
      }
    },
    "TaxConfigModel": {
      "type": "object",
      "required": [
        "serviceType"
      ],
      "properties": {
        "serviceType": {
          "type": "string",
          "description": "The service type which the tax should by applied to/ignored for",
          "enum": [
            "Other",
            "Accommodation",
            "FoodAndBeverages",
            "CancellationFees",
            "NoShow",
            "CityTax",
            "SecondCityTax",
            "LocalTax",
            "ConsumptionTax"
          ]
        },
        "subAccountId": {
          "type": "string",
          "description": "The custom sub-account id which the tax should by applied to/ignored for",
          "x-nullable": true
        },
        "distributionChannel": {
          "$ref": "#/definitions/DistributionChannelTaxConfigModel"
        }
      },
      "additionalProperties": false
    },
    "TaxCreatedModel": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The tax id"
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "MUC-SERVICE"
      }
    },
    "TaxItemModel": {
      "type": "object",
      "required": [
        "code",
        "id",
        "name",
        "propertyId",
        "serviceType",
        "subAccountId",
        "taxPeriods"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The tax id"
        },
        "code": {
          "type": "string",
          "description": "The code for the tax"
        },
        "name": {
          "type": "string",
          "description": "The name for the tax",
          "minLength": 1
        },
        "propertyId": {
          "type": "string",
          "description": "The id of the property where the tax was created"
        },
        "serviceType": {
          "type": "string",
          "description": "The service type, used by accounting and determining account and VAT",
          "enum": [
            "Other",
            "Accommodation",
            "FoodAndBeverages"
          ]
        },
        "isSubjectToTax": {
          "type": "boolean",
          "description": "Whether this tax can be subject to other taxes. Default value is \u0022false\u0022"
        },
        "subAccountId": {
          "type": "string",
          "description": "ID of the custom sub-account, used by accounting to determine the correct revenue account"
        },
        "appliedTo": {
          "type": "array",
          "description": "The list of rules to define which charges this tax is applied to",
          "items": {
            "$ref": "#/definitions/TaxConfigModel"
          },
          "x-nullable": true
        },
        "ignoredFor": {
          "type": "array",
          "description": "The list of rules to define which charges this tax is ignored for",
          "items": {
            "$ref": "#/definitions/TaxConfigModel"
          },
          "x-nullable": true
        },
        "taxPeriods": {
          "type": "array",
          "description": "Tax periods with percents valid for the specified periods",
          "items": {
            "$ref": "#/definitions/TaxPeriodModel"
          }
        }
      },
      "additionalProperties": false
    },
    "TaxListModel": {
      "type": "object",
      "required": [
        "count",
        "taxes"
      ],
      "properties": {
        "taxes": {
          "type": "array",
          "description": "List of taxes",
          "items": {
            "$ref": "#/definitions/TaxItemModel"
          }
        },
        "count": {
          "type": "integer",
          "description": "Total count of items",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "example": {
        "taxes": [
          {
            "id": "MUC-SERVICE",
            "code": "SERVICE",
            "name": "Service tax",
            "propertyId": "MUC",
            "serviceType": "Other",
            "isSubjectToTax": true,
            "subAccountId": "SUB",
            "appliedTo": [
              {
                "serviceType": "Accommodation",
                "subAccountId": "WHYMIAMI-LONGSTAY"
              }
            ],
            "ignoredFor": [
              {
                "serviceType": "Other"
              }
            ],
            "taxPeriods": [
              {
                "percent": 5.0,
                "validFrom": "1776-07-04"
              },
              {
                "percent": 10.0,
                "validFrom": "1970-01-01"
              }
            ]
          }
        ],
        "count": 1
      }
    },
    "TaxModel": {
      "type": "object",
      "required": [
        "code",
        "id",
        "name",
        "propertyId",
        "serviceType",
        "subAccountId",
        "taxPeriods"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The tax id"
        },
        "code": {
          "type": "string",
          "description": "The code for the tax"
        },
        "name": {
          "type": "object",
          "description": "The name for the tax",
          "additionalProperties": {
            "type": "string",
            "x-nullable": true
          }
        },
        "propertyId": {
          "type": "string",
          "description": "The id of the property where the tax was created"
        },
        "serviceType": {
          "type": "string",
          "description": "The service type, used by accounting and determining account and VAT",
          "enum": [
            "Other",
            "Accommodation",
            "FoodAndBeverages"
          ]
        },
        "isSubjectToTax": {
          "type": "boolean",
          "description": "Whether this tax can be subject to other taxes. Default value is \u0022false\u0022"
        },
        "subAccountId": {
          "type": "string",
          "description": "ID of the custom sub-account, used by accounting to determine the correct revenue account"
        },
        "appliedTo": {
          "type": "array",
          "description": "The list of rules to define which charges this tax is applied to",
          "items": {
            "$ref": "#/definitions/TaxConfigModel"
          },
          "x-nullable": true
        },
        "ignoredFor": {
          "type": "array",
          "description": "The list of rules to define which charges this tax is ignored for",
          "items": {
            "$ref": "#/definitions/TaxConfigModel"
          },
          "x-nullable": true
        },
        "taxPeriods": {
          "type": "array",
          "description": "Tax periods with percents valid for the specified periods",
          "items": {
            "$ref": "#/definitions/TaxPeriodModel"
          }
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "TAX",
        "code": "MUC-SERVICE",
        "name": {
          "en": "Service tax"
        },
        "propertyId": "MUC",
        "serviceType": "Other",
        "isSubjectToTax": false,
        "subAccountId": "SUB",
        "appliedTo": [
          {
            "serviceType": "Accommodation",
            "subAccountId": "WHYMIAMI-LONGSTAY"
          }
        ],
        "ignoredFor": [
          {
            "serviceType": "Other",
            "distributionChannel": {
              "channelCode": "ChannelManager",
              "sources": [
                "bookingcom"
              ]
            }
          }
        ],
        "taxPeriods": [
          {
            "percent": 5.0,
            "validFrom": "1776-07-04"
          },
          {
            "percent": 10.0,
            "validFrom": "1970-01-01"
          }
        ]
      }
    },
    "TaxPeriodModel": {
      "type": "object",
      "required": [
        "percent",
        "validFrom"
      ],
      "properties": {
        "percent": {
          "type": "number",
          "description": "The percent for the tax, valid from the ValidFrom date and until the start date of an optional next TaxPeriod",
          "format": "double"
        },
        "validFrom": {
          "type": "string",
          "description": "The date when the specified percent become effective",
          "format": "date",
          "example": "2020-10-10"
        }
      },
      "additionalProperties": false
    },
    "TimeSliceDefinitionCreatedModel": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "MUC-NIGHT"
      }
    },
    "TimeSliceDefinitionListModel": {
      "type": "object",
      "required": [
        "count",
        "timeSliceDefinitions"
      ],
      "properties": {
        "timeSliceDefinitions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TimeSliceDefinitionModel"
          }
        },
        "count": {
          "type": "integer",
          "description": "Total count of items",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "example": {
        "timeSliceDefinitions": [
          {
            "id": "MUC-DAY",
            "name": "Day Use Full Day",
            "template": "DayUse",
            "checkInTime": "11:00:00",
            "checkOutTime": "17:00:00",
            "isUsed": true
          },
          {
            "id": "MUC-DAY1",
            "name": "Day Use First Flight",
            "template": "DayUse",
            "checkInTime": "11:00:00",
            "checkOutTime": "13:30:00",
            "isUsed": true
          },
          {
            "id": "MUC-DAY2",
            "name": "Day Use Second Flight",
            "template": "DayUse",
            "checkInTime": "13:30:00",
            "checkOutTime": "17:00:00",
            "isUsed": false
          },
          {
            "id": "MUC-NIGHT",
            "name": "Over Night",
            "template": "OverNight",
            "checkInTime": "17:00:00",
            "checkOutTime": "11:00:00",
            "isUsed": false
          }
        ],
        "count": 4
      }
    },
    "TimeSliceDefinitionModel": {
      "type": "object",
      "required": [
        "checkInTime",
        "checkOutTime",
        "id",
        "isUsed",
        "name",
        "template"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string",
          "minLength": 1
        },
        "template": {
          "type": "string",
          "enum": [
            "DayUse",
            "OverNight"
          ]
        },
        "checkInTime": {
          "type": "string",
          "description": "\u003Cbr /\u003EA time as defined in the \u003Ca href=\u0022https://en.wikipedia.org/wiki/ISO_8601\u0022\u003EISO8601:2004\u003C/a\u003E"
        },
        "checkOutTime": {
          "type": "string",
          "description": "\u003Cbr /\u003EA time as defined in the \u003Ca href=\u0022https://en.wikipedia.org/wiki/ISO_8601\u0022\u003EISO8601:2004\u003C/a\u003E"
        },
        "isUsed": {
          "type": "boolean"
        },
        "actions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ActionModel[TimeSliceDefinitionAction,NotAllowedTimeSliceDefinitionActionReason]"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false,
      "example": {
        "id": "MUC-NIGHT",
        "name": "Over Night",
        "template": "OverNight",
        "checkInTime": "17:00:00",
        "checkOutTime": "11:00:00",
        "isUsed": true
      }
    }
  },
  "securityDefinitions": {
    "oauth2": {
      "type": "oauth2",
      "flow": "implicit",
      "authorizationUrl": "https://identity.apaleo.com/connect/authorize",
      "scopes": {
        "admin": "Full access",
        "reservations.import": "Import reservations"
      }
    }
  },
  "tags": [
    {
      "name": "AccountSettings"
    },
    {
      "name": "CapturePolicies"
    },
    {
      "name": "CityTax"
    },
    {
      "name": "CommercialStatus"
    },
    {
      "name": "CustomFee"
    },
    {
      "name": "CustomSubAccounts"
    },
    {
      "name": "FeatureSettings"
    },
    {
      "name": "InvoiceAddress"
    },
    {
      "name": "InvoiceLineItemGrouping"
    },
    {
      "name": "InvoiceSeries"
    },
    {
      "name": "Languages"
    },
    {
      "name": "MarketSegment"
    },
    {
      "name": "PropertySettings"
    },
    {
      "name": "Tax"
    },
    {
      "name": "TimeSliceDefinitions"
    }
  ]
}