{
  "swagger": "2.0",
  "info": {
    "title": "apaleo Reports API - not safe for work",
    "description": "Continuously evolving version - use at your own risk! All reports.",
    "version": "v0-nsfw"
  },
  "paths": {
    "/reports/v0-nsfw/reports/gross-transactions": {
      "post": {
        "tags": [
          "Reports"
        ],
        "summary": "List of gross transactions.",
        "description": "Returns a list of gross transactions with metadata (folio and reservation details).\u003Cbr\u003EYou must have this scope: \u0027reports.read\u0027.",
        "operationId": "ReportsReportsGross-transactionsPost",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "Specifies the property transactions will be filtered by.",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "dateFilter",
            "description": "Filter by business date\u003Cbr /\u003EYou can provide an array of string expressions which all need to apply.\u003Cbr /\u003EEach expression has the form of \u0027OPERATION_VALUE\u0027 where VALUE needs to be of the valid format of the property type and OPERATION can be:\u003Cbr /\u003E\u0027eq\u0027 for equals\u003Cbr /\u003E\u0027neq\u0027 for not equals\u003Cbr /\u003E\u0027lt\u0027 for less than\u003Cbr /\u003E\u0027gt\u0027 for greater than\u003Cbr /\u003E\u0027lte\u0027 for less than or equals\u003Cbr /\u003E\u0027gte\u0027 for greater than or equals\u003Cbr /\u003EFor instance\u003Cbr /\u003E\u0027eq_5\u0027 would mean the value should equal 5\u003Cbr /\u003E\u0027lte_7\u0027 would mean the value should be less than or equal to 7",
            "required": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "reference",
            "description": "Filter transactions by reference (reservation id/booking id/external folio id/property id for house folio).",
            "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"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/TransactionsGrossExportListModel"
            }
          },
          "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": [
              "reports.read",
              "admin"
            ]
          }
        ]
      }
    },
    "/reports/v0-nsfw/reports/ordered-services": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "List of ordered services",
        "description": "Returns a list of ordered services per day with information about the guest and the reservation this service was ordered for.\u003Cbr\u003EYou must have this scope: \u0027reports.read\u0027.",
        "operationId": "ReportsReportsOrdered-servicesGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "Property Id",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "serviceIds",
            "description": "Service ids the report should be generated for",
            "required": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "from",
            "description": "The inclusive start date of the interval.",
            "required": true,
            "type": "string",
            "format": "date"
          },
          {
            "in": "query",
            "name": "to",
            "description": "The exclusive end date of the interval.",
            "required": true,
            "type": "string",
            "format": "date"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/OrderedServicesListModel"
            }
          },
          "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": [
              "reports.read",
              "admin"
            ]
          }
        ]
      }
    },
    "/reports/v0-nsfw/reports/room-nights": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Returns the number of room nights in a month for a property.",
        "description": "Returns room nights for a property for a certain month. Only over-night time slices are considered.\n\nIncludes statistical information on purpose of travel, and nationality.\nThe status considered are: in-house, confirmed, and checked out.\u003Cbr\u003EYou must have this scope: \u0027reports.read\u0027.",
        "operationId": "ReportsReportsRoom-nightsGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "Requested property.",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "month",
            "description": "Requested month for the report.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "year",
            "description": "Requested year for the report.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/GuestReportModel"
            }
          },
          "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": [
              "reports.read",
              "admin"
            ]
          }
        ]
      }
    },
    "/reports/v0-nsfw/reports/bed-nights": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Returns the number of bed nights in a month for a property",
        "description": "Returns bed nights for a property for a certain month. Only over-night time slices are considered.\n\nCounts number of guests.\nIncludes statistical information on purpose of travel, and nationality. The data is taken from the primary guest only.\nThe status considered are: in-house, confirmed, and checked out.\u003Cbr\u003EYou must have this scope: \u0027reports.read\u0027.",
        "operationId": "ReportsReportsBed-nightsGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "Requested property.",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "month",
            "description": "Requested month for the report.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "year",
            "description": "Requested year for the report.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/GuestReportModel"
            }
          },
          "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": [
              "reports.read",
              "admin"
            ]
          }
        ]
      }
    },
    "/reports/v0-nsfw/reports/arrivals": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Returns the number of arrivals in a month for a property",
        "description": "Returns number of arriving guests for a property for a certain month. Only over-night time slices are considered.\n\nIncludes statistical information on purpose of travel, and nationality. The data is taken from the primary guest only.\nThe status considered are: in-house, confirmed, and checked out.\u003Cbr\u003EYou must have this scope: \u0027reports.read\u0027.",
        "operationId": "ReportsReportsArrivalsGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "Requested property.",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "month",
            "description": "Requested month for the report.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "query",
            "name": "year",
            "description": "Requested year for the report.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ArrivalsReportModel"
            }
          },
          "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": [
              "reports.read",
              "admin"
            ]
          }
        ]
      }
    },
    "/reports/v0-nsfw/reports/property-performance": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Returns the property performance report which includes the ADR and the RevPAR for each business day.",
        "description": "The property performance API return you key performance indicator for the selected property like occupancy, ADR and RevPAR.\nIt only considers the originally booked amounts for sold units excluding any additional services or manually posted charges\nor allowances. The results can be filterd to only show you data for a certain part of the business. For example you can exclude\nday-use reservations or complimentary rate plans.\u003Cbr\u003EYou must have this scope: \u0027reports.read\u0027.",
        "operationId": "ReportsReportsProperty-performanceGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "The ID of the property",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "from",
            "description": "The inclusive start date of the interval",
            "required": true,
            "type": "string",
            "format": "date"
          },
          {
            "in": "query",
            "name": "to",
            "description": "The inclusive end date of the interval",
            "required": true,
            "type": "string",
            "format": "date"
          },
          {
            "in": "query",
            "name": "companyIds",
            "description": "The company IDs used to filter the retrieved data",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "ratePlanIds",
            "description": "The rate plan IDs used to filter the retrieved data",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "unitGroupTypes",
            "description": "The unit group types used to filter the retrieved data",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "BedRoom",
                "MeetingRoom",
                "EventSpace",
                "ParkingLot",
                "Other"
              ]
            }
          },
          {
            "in": "query",
            "name": "unitGroupIds",
            "description": "The unit group IDs used to filter the retrieved data",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "timeSliceDefinitionIds",
            "description": "The time slice definition IDs used to filter the retrieved data",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "channelCodes",
            "description": "The channel codes used to filter the retrieved data",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "Direct",
                "BookingCom",
                "Ibe",
                "ChannelManager",
                "Expedia",
                "Homelike",
                "Hrs",
                "AltoVita",
                "DesVu",
                "Gimsi"
              ]
            }
          },
          {
            "in": "query",
            "name": "sources",
            "description": "The sources used to filter the retrieved data",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "marketSegmentIds",
            "description": "The market segment IDs used to filter the retrieved data",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "travelPurpose",
            "description": "The travel purpose to filter the retrieved data",
            "type": "string",
            "enum": [
              "Business",
              "Leisure"
            ]
          },
          {
            "in": "query",
            "name": "expand",
            "description": "List of all embedded resources that should be expanded in the response. Possible values are: businessDays. All other values will be silently ignored.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "businessDays"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/PropertyPerformanceReportModel"
            }
          },
          "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": [
              "reports.read",
              "admin"
            ]
          }
        ]
      }
    },
    "/reports/v0-nsfw/reports/company-invoices-vat": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Returns the list of company invoices with information on the company and the VAT breakdown",
        "description": "\u003Cbr\u003EYou must have this scope: \u0027reports.read\u0027.",
        "operationId": "ReportsReportsCompany-invoices-vatGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "Property ID",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "companyIds",
            "description": "Company IDs the report should be generated for",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "dateFilter",
            "description": "Set a date interval to get the report for. Cannot be more than 1 month.\u003Cbr /\u003EYou can provide an array of string expressions which all need to apply.\u003Cbr /\u003EEach expression has the form of \u0027OPERATION_VALUE\u0027 where VALUE needs to be of the valid format of the property type and OPERATION can be:\u003Cbr /\u003E\u0027eq\u0027 for equals\u003Cbr /\u003E\u0027neq\u0027 for not equals\u003Cbr /\u003E\u0027lt\u0027 for less than\u003Cbr /\u003E\u0027gt\u0027 for greater than\u003Cbr /\u003E\u0027lte\u0027 for less than or equals\u003Cbr /\u003E\u0027gte\u0027 for greater than or equals\u003Cbr /\u003EFor instance\u003Cbr /\u003E\u0027eq_5\u0027 would mean the value should equal 5\u003Cbr /\u003E\u0027lte_7\u0027 would mean the value should be less than or equal to 7",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/CompaniesVatReportListModel"
            }
          },
          "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": [
              "reports.read",
              "admin"
            ]
          }
        ]
      }
    },
    "/reports/v0-nsfw/reports/revenues": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Returns the revenues report for a property",
        "description": "\u003Cbr\u003EYou must have this scope: \u0027reports.read\u0027.",
        "operationId": "ReportsReportsRevenuesGet",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "propertyId",
            "description": "Property ID",
            "required": true,
            "type": "string"
          },
          {
            "in": "query",
            "name": "from",
            "description": "The inclusive start date of the interval.",
            "required": true,
            "type": "string",
            "format": "date"
          },
          {
            "in": "query",
            "name": "to",
            "description": "The exclusive end date of the interval. The interval is limited to one year.",
            "required": true,
            "type": "string",
            "format": "date"
          },
          {
            "in": "query",
            "name": "languageCode",
            "description": "The language for the the report",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/RevenuesReportItemModel"
            }
          },
          "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": [
              "reports.read",
              "admin"
            ]
          }
        ]
      }
    }
  },
  "definitions": {
    "AddressModel": {
      "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
    },
    "ArrivalsReportModel": {
      "type": "object",
      "required": [
        "total",
        "totalAdults",
        "totalChildren"
      ],
      "properties": {
        "total": {
          "type": "integer",
          "description": "Total number for all guests.",
          "format": "int32"
        },
        "totalAdults": {
          "type": "integer",
          "description": "Total number of adults.",
          "format": "int32"
        },
        "totalChildren": {
          "type": "integer",
          "description": "Total number of children.",
          "format": "int32"
        },
        "travelPurposeBreakdown": {
          "type": "array",
          "description": "Breakdown by travel purpose.",
          "items": {
            "$ref": "#/definitions/TravelPurposeEntry"
          },
          "x-nullable": true
        },
        "nationalityBreakdown": {
          "type": "array",
          "description": "Breakdown by nationality.",
          "items": {
            "$ref": "#/definitions/CountryEntry"
          },
          "x-nullable": true
        },
        "countryOfResidenceBreakdown": {
          "type": "array",
          "description": "Breakdown by country of residence.",
          "items": {
            "$ref": "#/definitions/CountryEntry"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false,
      "example": {
        "total": 279,
        "totalAdults": 245,
        "totalChildren": 34,
        "travelPurposeBreakdown": [
          {
            "purpose": "Leisure",
            "number": 274,
            "percent": 98.20,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          },
          {
            "purpose": "Business",
            "number": 2,
            "percent": 0.72,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          },
          {
            "number": 2,
            "percent": 0.72,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          }
        ],
        "nationalityBreakdown": [
          {
            "countryCode": "DE",
            "number": 118,
            "percent": 42.29,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          },
          {
            "countryCode": "GB",
            "number": 18,
            "percent": 6.45,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          },
          {
            "number": 143,
            "percent": 51.26,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          }
        ],
        "countryOfResidenceBreakdown": [
          {
            "countryCode": "DE",
            "number": 132,
            "percent": 47.31,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          },
          {
            "countryCode": "GB",
            "number": 9,
            "percent": 3.23,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          },
          {
            "number": 138,
            "percent": 49.46,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          }
        ]
      }
    },
    "CompaniesVatReportItemModel": {
      "type": "object",
      "required": [
        "company",
        "invoice"
      ],
      "properties": {
        "company": {
          "$ref": "#/definitions/CompanyModel"
        },
        "invoice": {
          "$ref": "#/definitions/InvoiceModel"
        }
      },
      "additionalProperties": false
    },
    "CompaniesVatReportListModel": {
      "type": "object",
      "required": [
        "companyInvoices",
        "count"
      ],
      "properties": {
        "companyInvoices": {
          "type": "array",
          "description": "List of company invoices",
          "items": {
            "$ref": "#/definitions/CompaniesVatReportItemModel"
          }
        },
        "count": {
          "type": "integer",
          "description": "Total count of items",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "example": {
        "companyInvoices": [
          {
            "company": {
              "id": "MUC-APALEO",
              "code": "APALEO",
              "name": "APALEO Company",
              "taxId": "DE311046461",
              "address": {
                "addressLine1": "Dachauerstr. 15 A",
                "postalCode": "80335",
                "city": "Munich",
                "countryCode": "DE"
              }
            },
            "invoice": {
              "number": "2019050000009",
              "date": "2026-10-05",
              "subTotal": {
                "amount": 114.0,
                "currency": "EUR"
              },
              "outstandingPayment": {
                "amount": 50.0,
                "currency": "EUR"
              },
              "taxDetails": [
                {
                  "vatType": "Reduced",
                  "vatPercent": 14.0,
                  "net": {
                    "amount": 100.0,
                    "currency": "EUR"
                  },
                  "tax": {
                    "amount": 14.0,
                    "currency": "EUR"
                  }
                }
              ]
            }
          }
        ],
        "count": 1
      }
    },
    "CompanyModel": {
      "type": "object",
      "required": [
        "address",
        "code",
        "id",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of the company"
        },
        "code": {
          "type": "string",
          "description": "The code for the company"
        },
        "name": {
          "type": "string",
          "description": "The name of the company",
          "minLength": 1
        },
        "taxId": {
          "type": "string",
          "description": "The tax ID of the company",
          "x-nullable": true
        },
        "address": {
          "$ref": "#/definitions/AddressModel"
        }
      },
      "additionalProperties": false
    },
    "CountryEntry": {
      "type": "object",
      "required": [
        "number",
        "percent"
      ],
      "properties": {
        "countryCode": {
          "type": "string",
          "description": "2 letter ISO country code",
          "x-nullable": true
        },
        "number": {
          "type": "integer",
          "format": "int32"
        },
        "percent": {
          "type": "number",
          "format": "double"
        },
        "reservationIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false
    },
    "EmbeddedUnitGroupModel": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The unit group id"
        },
        "code": {
          "type": "string",
          "description": "The code for the unit group that can be shown in reports and table views",
          "x-nullable": true
        },
        "name": {
          "type": "string",
          "description": "The name for the unit group",
          "x-nullable": true
        },
        "description": {
          "type": "string",
          "description": "The description for the unit group",
          "x-nullable": true
        },
        "type": {
          "type": "string",
          "description": "The unit group type",
          "enum": [
            "BedRoom",
            "MeetingRoom",
            "EventSpace",
            "ParkingLot",
            "Other"
          ],
          "x-nullable": true
        }
      },
      "additionalProperties": false
    },
    "ExportAccountModel": {
      "type": "object",
      "required": [
        "name",
        "number",
        "type"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "The account name",
          "minLength": 1
        },
        "number": {
          "type": "string",
          "description": "The account number",
          "minLength": 1
        },
        "parentNumber": {
          "type": "string",
          "description": "The number of the parent account",
          "x-nullable": true
        },
        "type": {
          "type": "string",
          "description": "The account type",
          "enum": [
            "Revenues",
            "Payments",
            "Liabilities",
            "Receivables",
            "Vat",
            "House",
            "AccountsReceivable",
            "CityTaxes",
            "TransitoryItems",
            "VatOnLiabilities",
            "LossOfAccountsReceivable",
            "SecondCityTax",
            "GuestLevies"
          ]
        }
      },
      "additionalProperties": false
    },
    "GuestReportModel": {
      "type": "object",
      "required": [
        "total"
      ],
      "properties": {
        "total": {
          "type": "integer",
          "description": "Total number for all guests.",
          "format": "int32"
        },
        "travelPurposeBreakdown": {
          "type": "array",
          "description": "Breakdown by travel purpose.",
          "items": {
            "$ref": "#/definitions/TravelPurposeEntry"
          },
          "x-nullable": true
        },
        "nationalityBreakdown": {
          "type": "array",
          "description": "Breakdown by nationality.",
          "items": {
            "$ref": "#/definitions/CountryEntry"
          },
          "x-nullable": true
        },
        "countryOfResidenceBreakdown": {
          "type": "array",
          "description": "Breakdown by country of residence.",
          "items": {
            "$ref": "#/definitions/CountryEntry"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false,
      "example": {
        "total": 279,
        "travelPurposeBreakdown": [
          {
            "purpose": "Leisure",
            "number": 274,
            "percent": 98.20,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          },
          {
            "purpose": "Business",
            "number": 2,
            "percent": 0.72,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          },
          {
            "number": 2,
            "percent": 0.72,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          }
        ],
        "nationalityBreakdown": [
          {
            "countryCode": "DE",
            "number": 118,
            "percent": 42.29,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          },
          {
            "countryCode": "GB",
            "number": 18,
            "percent": 6.45,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          },
          {
            "number": 143,
            "percent": 51.26,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          }
        ],
        "countryOfResidenceBreakdown": [
          {
            "countryCode": "DE",
            "number": 132,
            "percent": 47.31,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          },
          {
            "countryCode": "GB",
            "number": 9,
            "percent": 3.23,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          },
          {
            "number": 138,
            "percent": 49.46,
            "reservationIds": [
              "AHSJFHSH-1",
              "HFNDHSKA-2"
            ]
          }
        ]
      }
    },
    "InvoiceModel": {
      "type": "object",
      "required": [
        "date",
        "subTotal"
      ],
      "properties": {
        "number": {
          "type": "string",
          "description": "Invoice number",
          "x-nullable": true
        },
        "date": {
          "type": "string",
          "description": "Date the invoice has been created",
          "format": "date",
          "example": "2020-10-10"
        },
        "subTotal": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "outstandingPayment": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "taxDetails": {
          "type": "array",
          "description": "The subtotal, displaying net and tax amount for each VAT type",
          "items": {
            "$ref": "#/definitions/TaxDetailModel"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false
    },
    "MessageItemCollection": {
      "type": "object",
      "properties": {
        "messages": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "readOnly": true,
          "x-nullable": true
        }
      },
      "additionalProperties": false
    },
    "MonetaryValueModel": {
      "type": "object",
      "required": [
        "amount",
        "currency"
      ],
      "properties": {
        "amount": {
          "type": "number",
          "format": "double"
        },
        "currency": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "OrderedServicesBookingModel": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Booking id"
        }
      },
      "additionalProperties": false
    },
    "OrderedServicesGuestModel": {
      "type": "object",
      "required": [
        "lastName"
      ],
      "properties": {
        "title": {
          "type": "string",
          "description": "Title of the guest",
          "enum": [
            "Mr",
            "Ms",
            "Dr",
            "Prof",
            "Mrs",
            "Other"
          ],
          "x-nullable": true
        },
        "gender": {
          "type": "string",
          "description": "Gender of the guest",
          "enum": [
            "Female",
            "Male",
            "Other",
            "Unknown"
          ],
          "x-nullable": true
        },
        "firstName": {
          "type": "string",
          "description": "First name of the guest",
          "x-nullable": true
        },
        "middleInitial": {
          "type": "string",
          "description": "Middle initial of the guest",
          "x-nullable": true
        },
        "lastName": {
          "type": "string",
          "description": "Last name of the guest",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "OrderedServicesItemModel": {
      "type": "object",
      "required": [
        "code",
        "count",
        "id",
        "name",
        "serviceDate"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The service id"
        },
        "code": {
          "type": "string",
          "description": "The code for the service"
        },
        "name": {
          "type": "string",
          "description": "The name for the service",
          "minLength": 1
        },
        "serviceDate": {
          "type": "string",
          "description": "The date this service is delivered",
          "format": "date",
          "example": "2020-10-10"
        },
        "count": {
          "type": "integer",
          "description": "The count of services ordered",
          "format": "int32"
        },
        "guest": {
          "$ref": "#/definitions/OrderedServicesGuestModel"
        },
        "reservation": {
          "$ref": "#/definitions/OrderedServicesReservationModel"
        },
        "booking": {
          "$ref": "#/definitions/OrderedServicesBookingModel"
        },
        "unit": {
          "$ref": "#/definitions/OrderedServicesUnitModel"
        },
        "unitGroup": {
          "$ref": "#/definitions/OrderedServicesUnitGroupModel"
        },
        "amount": {
          "$ref": "#/definitions/MonetaryValueModel"
        }
      },
      "additionalProperties": false
    },
    "OrderedServicesListModel": {
      "type": "object",
      "required": [
        "count",
        "orderedServices"
      ],
      "properties": {
        "orderedServices": {
          "type": "array",
          "description": "List of ordered services",
          "items": {
            "$ref": "#/definitions/OrderedServicesItemModel"
          }
        },
        "count": {
          "type": "integer",
          "description": "Total count of items",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "example": {
        "orderedServices": [
          {
            "id": "MUC-BRK",
            "code": "BRK",
            "name": "Breakfast",
            "serviceDate": "2026-10-04",
            "count": 1,
            "guest": {
              "title": "Mr",
              "gender": "Male",
              "firstName": "John",
              "middleInitial": "G.",
              "lastName": "Doe"
            },
            "reservation": {
              "id": "XPGMSXGF-1",
              "arrival": "2026-10-03T17:00:00\u002B02:00",
              "departure": "2026-10-05T17:00:00\u002B02:00",
              "persons": 2
            },
            "booking": {
              "id": "XPGMSXGF"
            },
            "unit": {
              "id": "HDHD",
              "name": "A.001"
            },
            "unitGroup": {
              "id": "MUC-SGL",
              "code": "SGL",
              "name": "Single room"
            }
          }
        ],
        "count": 1
      }
    },
    "OrderedServicesReservationModel": {
      "type": "object",
      "required": [
        "arrival",
        "departure",
        "id",
        "persons"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Reservation id"
        },
        "arrival": {
          "type": "string",
          "description": "Date of arrival\u003Cbr /\u003EA date and time (without fractional second part) in UTC or with UTC offset as defined in \u003Ca href=\u0022https://en.wikipedia.org/wiki/ISO_8601\u0022\u003EISO8601:2004\u003C/a\u003E",
          "format": "date-time"
        },
        "departure": {
          "type": "string",
          "description": "Date of departure\u003Cbr /\u003EA date and time (without fractional second part) in UTC or with UTC offset as defined in \u003Ca href=\u0022https://en.wikipedia.org/wiki/ISO_8601\u0022\u003EISO8601:2004\u003C/a\u003E",
          "format": "date-time"
        },
        "persons": {
          "type": "integer",
          "description": "Number of persons",
          "format": "int32"
        }
      },
      "additionalProperties": false
    },
    "OrderedServicesUnitGroupModel": {
      "type": "object",
      "required": [
        "code",
        "id",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The unit group id"
        },
        "code": {
          "type": "string",
          "description": "The code for the unit group"
        },
        "name": {
          "type": "string",
          "description": "The name for the unit group",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "OrderedServicesUnitModel": {
      "type": "object",
      "required": [
        "id",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The unit id"
        },
        "name": {
          "type": "string",
          "description": "The name for the unit",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "PropertyPerformancePerUnitGroupModel": {
      "type": "object",
      "required": [
        "arrivalsCount",
        "cancellationsCount",
        "definitelyBlockedCount",
        "departuresCount",
        "grossAccommodationRevenue",
        "grossAdr",
        "grossFoodAndBeveragesRevenue",
        "grossOtherRevenue",
        "grossUnitRevenue",
        "houseCount",
        "houseItemsCount",
        "netAccommodationRevenue",
        "netAdr",
        "netFoodAndBeveragesRevenue",
        "netOtherRevenue",
        "netUnitRevenue",
        "noShowsCount",
        "occupancyPercentage",
        "optionallyBlockedCount",
        "outOfOrderCount",
        "outOfOrderItemsCount",
        "revPar",
        "soldCount",
        "soldItemsCount",
        "tentativelyBlockedCount",
        "tentativelyBlockedItemsCount",
        "unitGroup",
        "unsoldCount",
        "unsoldItemsCount"
      ],
      "properties": {
        "unitGroup": {
          "$ref": "#/definitions/EmbeddedUnitGroupModel"
        },
        "houseCount": {
          "type": "integer",
          "description": "The number of units physically existing excluding the ones which are out of inventory",
          "format": "int32"
        },
        "houseItemsCount": {
          "type": "integer",
          "description": "The number of items (e.g. beds, seats, etc.) physically existing excluding the ones which are out of inventory",
          "format": "int32"
        },
        "soldCount": {
          "type": "integer",
          "description": "The number of sold units plus definitely blocked units from group bookings",
          "format": "int32"
        },
        "soldItemsCount": {
          "type": "integer",
          "description": "The number of sold items (e.g. beds, seats, etc.) plus definitely blocked items from group bookings",
          "format": "int32"
        },
        "unsoldCount": {
          "type": "integer",
          "description": "The number of unsold units: house count minus sold units and out of order units",
          "format": "int32"
        },
        "unsoldItemsCount": {
          "type": "integer",
          "description": "The number of unsold items (e.g. beds, seats, etc.): house items count minus sold items and out of order items",
          "format": "int32"
        },
        "outOfOrderCount": {
          "type": "integer",
          "description": "The number of units which are out of order",
          "format": "int32"
        },
        "outOfOrderItemsCount": {
          "type": "integer",
          "description": "The number of items (e.g. beds, seats, etc.) which are out of order",
          "format": "int32"
        },
        "tentativelyBlockedCount": {
          "type": "integer",
          "description": "The number of units which are tentatively blocked",
          "format": "int32"
        },
        "tentativelyBlockedItemsCount": {
          "type": "integer",
          "description": "The number of items (beds, seats, etc.) which are tentatively blocked",
          "format": "int32"
        },
        "definitelyBlockedCount": {
          "type": "integer",
          "description": "The number of definitely blocked units from group bookings",
          "format": "int32"
        },
        "optionallyBlockedCount": {
          "type": "integer",
          "description": "The number of optionally blocked units from group bookings",
          "format": "int32"
        },
        "arrivalsCount": {
          "type": "integer",
          "description": "The number of arrivals units",
          "format": "int32"
        },
        "departuresCount": {
          "type": "integer",
          "description": "The number of departures units",
          "format": "int32"
        },
        "noShowsCount": {
          "type": "integer",
          "description": "The number of no-show units",
          "format": "int32"
        },
        "cancellationsCount": {
          "type": "integer",
          "description": "The number of cancelled units",
          "format": "int32"
        },
        "occupancyPercentage": {
          "type": "number",
          "description": "The occupancy in percent, which is the ratio of sold units in relation to house count minus out of order units",
          "format": "double"
        },
        "grossUnitRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netUnitRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "grossAccommodationRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netAccommodationRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "grossFoodAndBeveragesRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netFoodAndBeveragesRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "grossOtherRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netOtherRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "grossAdr": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netAdr": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "revPar": {
          "$ref": "#/definitions/MonetaryValueModel"
        }
      },
      "additionalProperties": false
    },
    "PropertyPerformanceReportItemModel": {
      "type": "object",
      "required": [
        "arrivalsCount",
        "businessDay",
        "cancellationsCount",
        "definitelyBlockedCount",
        "departuresCount",
        "grossAccommodationRevenue",
        "grossAdr",
        "grossFoodAndBeveragesRevenue",
        "grossOtherRevenue",
        "grossUnitRevenue",
        "houseCount",
        "houseItemsCount",
        "netAccommodationRevenue",
        "netAdr",
        "netFoodAndBeveragesRevenue",
        "netOtherRevenue",
        "netUnitRevenue",
        "noShowsCount",
        "occupancyPercentage",
        "optionallyBlockedCount",
        "outOfOrderCount",
        "outOfOrderItemsCount",
        "revPar",
        "soldCount",
        "soldItemsCount",
        "tentativelyBlockedCount",
        "tentativelyBlockedItemsCount",
        "unitGroups",
        "unsoldCount",
        "unsoldItemsCount"
      ],
      "properties": {
        "businessDay": {
          "type": "string",
          "description": "The business day",
          "format": "date",
          "example": "2020-10-10"
        },
        "houseCount": {
          "type": "integer",
          "description": "The number of units physically existing excluding the ones which are out of inventory",
          "format": "int32"
        },
        "houseItemsCount": {
          "type": "integer",
          "description": "The number of items (e.g. beds, seats, etc.) physically existing excluding the ones which are out of inventory",
          "format": "int32"
        },
        "soldCount": {
          "type": "integer",
          "description": "The number of sold units plus definitely blocked units from group bookings",
          "format": "int32"
        },
        "soldItemsCount": {
          "type": "integer",
          "description": "The number of sold items (e.g. beds, seats, etc.) plus definitely blocked items from group bookings",
          "format": "int32"
        },
        "unsoldCount": {
          "type": "integer",
          "description": "The number of unsold units: house count minus sold units and out of order units",
          "format": "int32"
        },
        "unsoldItemsCount": {
          "type": "integer",
          "description": "The number of unsold items (e.g. beds, seats, etc.): house items count minus sold items and out of order items",
          "format": "int32"
        },
        "outOfOrderCount": {
          "type": "integer",
          "description": "The number of units which are out of order",
          "format": "int32"
        },
        "outOfOrderItemsCount": {
          "type": "integer",
          "description": "The number of items (e.g. beds, seats, etc.) which are out of order",
          "format": "int32"
        },
        "tentativelyBlockedCount": {
          "type": "integer",
          "description": "The number of units which are tentatively blocked",
          "format": "int32"
        },
        "tentativelyBlockedItemsCount": {
          "type": "integer",
          "description": "The number of items (beds, seats, etc.) which are tentatively blocked",
          "format": "int32"
        },
        "definitelyBlockedCount": {
          "type": "integer",
          "description": "The number of definitely blocked units from group bookings",
          "format": "int32"
        },
        "optionallyBlockedCount": {
          "type": "integer",
          "description": "The number of optionally blocked units from group bookings",
          "format": "int32"
        },
        "arrivalsCount": {
          "type": "integer",
          "description": "The number of arrivals units",
          "format": "int32"
        },
        "departuresCount": {
          "type": "integer",
          "description": "The number of departures units",
          "format": "int32"
        },
        "noShowsCount": {
          "type": "integer",
          "description": "The number of no-show units",
          "format": "int32"
        },
        "cancellationsCount": {
          "type": "integer",
          "description": "The number of cancelled units",
          "format": "int32"
        },
        "occupancyPercentage": {
          "type": "number",
          "description": "The occupancy in percent, which is the ratio of sold units in relation to house count minus out of order units",
          "format": "double"
        },
        "grossUnitRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netUnitRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "grossAccommodationRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netAccommodationRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "grossFoodAndBeveragesRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netFoodAndBeveragesRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "grossOtherRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netOtherRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "grossAdr": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netAdr": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "revPar": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "unitGroups": {
          "type": "array",
          "description": "The breakdown per unit group",
          "items": {
            "$ref": "#/definitions/PropertyPerformancePerUnitGroupModel"
          }
        }
      },
      "additionalProperties": false
    },
    "PropertyPerformanceReportModel": {
      "type": "object",
      "required": [
        "arrivalsCount",
        "cancellationsCount",
        "definitelyBlockedCount",
        "departuresCount",
        "grossAccommodationRevenue",
        "grossAdr",
        "grossFoodAndBeveragesRevenue",
        "grossOtherRevenue",
        "grossUnitRevenue",
        "houseCount",
        "houseItemsCount",
        "netAccommodationRevenue",
        "netAdr",
        "netFoodAndBeveragesRevenue",
        "netOtherRevenue",
        "netUnitRevenue",
        "noShowsCount",
        "occupancyPercentage",
        "optionallyBlockedCount",
        "outOfOrderCount",
        "outOfOrderItemsCount",
        "revPar",
        "soldCount",
        "soldItemsCount",
        "tentativelyBlockedCount",
        "tentativelyBlockedItemsCount",
        "unsoldCount",
        "unsoldItemsCount"
      ],
      "properties": {
        "houseCount": {
          "type": "integer",
          "description": "The number of units physically existing excluding the ones which are out of inventory",
          "format": "int32"
        },
        "houseItemsCount": {
          "type": "integer",
          "description": "The number of items (e.g. beds, seats, etc.) physically existing excluding the ones which are out of inventory",
          "format": "int32"
        },
        "soldCount": {
          "type": "integer",
          "description": "The number of sold units plus definitely blocked units from group bookings",
          "format": "int32"
        },
        "soldItemsCount": {
          "type": "integer",
          "description": "The number of sold items (e.g. beds, seats, etc.) plus definitely blocked items from group bookings",
          "format": "int32"
        },
        "unsoldCount": {
          "type": "integer",
          "description": "The number of unsold units: house count minus sold units and out of order units",
          "format": "int32"
        },
        "unsoldItemsCount": {
          "type": "integer",
          "description": "The number of unsold items (e.g. beds, seats, etc.): house items count minus sold items and out of order items",
          "format": "int32"
        },
        "outOfOrderCount": {
          "type": "integer",
          "description": "The number of units which are out of order",
          "format": "int32"
        },
        "outOfOrderItemsCount": {
          "type": "integer",
          "description": "The number of items (e.g. beds, seats, etc.) which are out of order",
          "format": "int32"
        },
        "tentativelyBlockedCount": {
          "type": "integer",
          "description": "The number of units which are tentatively blocked",
          "format": "int32"
        },
        "tentativelyBlockedItemsCount": {
          "type": "integer",
          "description": "The number of items (beds, seats, etc.) which are tentatively blocked",
          "format": "int32"
        },
        "definitelyBlockedCount": {
          "type": "integer",
          "description": "The number of units which are definitely blocked",
          "format": "int32"
        },
        "optionallyBlockedCount": {
          "type": "integer",
          "description": "The number of units which are optionally blocked",
          "format": "int32"
        },
        "arrivalsCount": {
          "type": "integer",
          "description": "The number of arrivals units",
          "format": "int32"
        },
        "departuresCount": {
          "type": "integer",
          "description": "The number of departures units",
          "format": "int32"
        },
        "noShowsCount": {
          "type": "integer",
          "description": "The number of no-show units",
          "format": "int32"
        },
        "cancellationsCount": {
          "type": "integer",
          "description": "The number of cancelled units",
          "format": "int32"
        },
        "occupancyPercentage": {
          "type": "number",
          "description": "The occupancy in percent, which is the ratio of sold units in relation to house count minus out of order units",
          "format": "double"
        },
        "grossUnitRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netUnitRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "grossAccommodationRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netAccommodationRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "grossFoodAndBeveragesRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netFoodAndBeveragesRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "grossOtherRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netOtherRevenue": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "grossAdr": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "netAdr": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "revPar": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "businessDays": {
          "type": "array",
          "description": "The breakdown by business day for the specified filter criteria",
          "items": {
            "$ref": "#/definitions/PropertyPerformanceReportItemModel"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false,
      "example": {
        "houseCount": 10,
        "houseItemsCount": 0,
        "soldCount": 6,
        "soldItemsCount": 0,
        "unsoldCount": 2,
        "unsoldItemsCount": 0,
        "outOfOrderCount": 2,
        "outOfOrderItemsCount": 0,
        "tentativelyBlockedCount": 0,
        "tentativelyBlockedItemsCount": 0,
        "definitelyBlockedCount": 0,
        "optionallyBlockedCount": 0,
        "arrivalsCount": 0,
        "departuresCount": 0,
        "noShowsCount": 0,
        "cancellationsCount": 0,
        "occupancyPercentage": 75.00,
        "grossUnitRevenue": {
          "amount": 830.00,
          "currency": "EUR"
        },
        "netUnitRevenue": {
          "amount": 775.70,
          "currency": "EUR"
        },
        "grossAccommodationRevenue": {
          "amount": 26.00,
          "currency": "EUR"
        },
        "netAccommodationRevenue": {
          "amount": 24.00,
          "currency": "EUR"
        },
        "grossFoodAndBeveragesRevenue": {
          "amount": 134.00,
          "currency": "EUR"
        },
        "netFoodAndBeveragesRevenue": {
          "amount": 16.00,
          "currency": "EUR"
        },
        "grossOtherRevenue": {
          "amount": 194.00,
          "currency": "EUR"
        },
        "netOtherRevenue": {
          "amount": 126.00,
          "currency": "EUR"
        },
        "grossAdr": {
          "amount": 138.33,
          "currency": "EUR"
        },
        "netAdr": {
          "amount": 129.28,
          "currency": "EUR"
        },
        "revPar": {
          "amount": 96.96,
          "currency": "EUR"
        },
        "businessDays": [
          {
            "businessDay": "2026-10-01",
            "houseCount": 5,
            "houseItemsCount": 0,
            "soldCount": 3,
            "soldItemsCount": 0,
            "unsoldCount": 1,
            "unsoldItemsCount": 0,
            "outOfOrderCount": 1,
            "outOfOrderItemsCount": 0,
            "tentativelyBlockedCount": 0,
            "tentativelyBlockedItemsCount": 0,
            "definitelyBlockedCount": 0,
            "optionallyBlockedCount": 0,
            "arrivalsCount": 0,
            "departuresCount": 0,
            "noShowsCount": 0,
            "cancellationsCount": 0,
            "occupancyPercentage": 75.0,
            "grossUnitRevenue": {
              "amount": 350.00,
              "currency": "EUR"
            },
            "netUnitRevenue": {
              "amount": 327.10,
              "currency": "EUR"
            },
            "grossAccommodationRevenue": {
              "amount": 8.00,
              "currency": "EUR"
            },
            "netAccommodationRevenue": {
              "amount": 7.00,
              "currency": "EUR"
            },
            "grossFoodAndBeveragesRevenue": {
              "amount": 17.00,
              "currency": "EUR"
            },
            "netFoodAndBeveragesRevenue": {
              "amount": 3.00,
              "currency": "EUR"
            },
            "grossOtherRevenue": {
              "amount": 47.00,
              "currency": "EUR"
            },
            "netOtherRevenue": {
              "amount": 13.00,
              "currency": "EUR"
            },
            "grossAdr": {
              "amount": 116.67,
              "currency": "EUR"
            },
            "netAdr": {
              "amount": 109.03,
              "currency": "EUR"
            },
            "revPar": {
              "amount": 81.78,
              "currency": "EUR"
            },
            "unitGroups": [
              {
                "unitGroup": {
                  "id": "MUC-DBL",
                  "code": "DBL",
                  "name": "Double",
                  "description": "Double",
                  "type": "BedRoom"
                },
                "houseCount": 4,
                "houseItemsCount": 0,
                "soldCount": 2,
                "soldItemsCount": 0,
                "unsoldCount": 1,
                "unsoldItemsCount": 0,
                "outOfOrderCount": 1,
                "outOfOrderItemsCount": 0,
                "tentativelyBlockedCount": 0,
                "tentativelyBlockedItemsCount": 0,
                "definitelyBlockedCount": 0,
                "optionallyBlockedCount": 0,
                "arrivalsCount": 0,
                "departuresCount": 0,
                "noShowsCount": 0,
                "cancellationsCount": 0,
                "occupancyPercentage": 66.67,
                "grossUnitRevenue": {
                  "amount": 230.00,
                  "currency": "EUR"
                },
                "netUnitRevenue": {
                  "amount": 214.95,
                  "currency": "EUR"
                },
                "grossAccommodationRevenue": {
                  "amount": 4.00,
                  "currency": "EUR"
                },
                "netAccommodationRevenue": {
                  "amount": 3.50,
                  "currency": "EUR"
                },
                "grossFoodAndBeveragesRevenue": {
                  "amount": 8.50,
                  "currency": "EUR"
                },
                "netFoodAndBeveragesRevenue": {
                  "amount": 1.50,
                  "currency": "EUR"
                },
                "grossOtherRevenue": {
                  "amount": 23.50,
                  "currency": "EUR"
                },
                "netOtherRevenue": {
                  "amount": 6.50,
                  "currency": "EUR"
                },
                "grossAdr": {
                  "amount": 115.00,
                  "currency": "EUR"
                },
                "netAdr": {
                  "amount": 107.48,
                  "currency": "EUR"
                },
                "revPar": {
                  "amount": 71.65,
                  "currency": "EUR"
                }
              },
              {
                "unitGroup": {
                  "id": "MUC-SGL",
                  "code": "SGL",
                  "name": "Single",
                  "description": "Single",
                  "type": "BedRoom"
                },
                "houseCount": 1,
                "houseItemsCount": 0,
                "soldCount": 1,
                "soldItemsCount": 0,
                "unsoldCount": 0,
                "unsoldItemsCount": 0,
                "outOfOrderCount": 0,
                "outOfOrderItemsCount": 0,
                "tentativelyBlockedCount": 0,
                "tentativelyBlockedItemsCount": 0,
                "definitelyBlockedCount": 0,
                "optionallyBlockedCount": 0,
                "arrivalsCount": 0,
                "departuresCount": 0,
                "noShowsCount": 0,
                "cancellationsCount": 0,
                "occupancyPercentage": 100.00,
                "grossUnitRevenue": {
                  "amount": 120.00,
                  "currency": "EUR"
                },
                "netUnitRevenue": {
                  "amount": 112.15,
                  "currency": "EUR"
                },
                "grossAccommodationRevenue": {
                  "amount": 4.00,
                  "currency": "EUR"
                },
                "netAccommodationRevenue": {
                  "amount": 3.50,
                  "currency": "EUR"
                },
                "grossFoodAndBeveragesRevenue": {
                  "amount": 8.50,
                  "currency": "EUR"
                },
                "netFoodAndBeveragesRevenue": {
                  "amount": 1.50,
                  "currency": "EUR"
                },
                "grossOtherRevenue": {
                  "amount": 23.50,
                  "currency": "EUR"
                },
                "netOtherRevenue": {
                  "amount": 6.50,
                  "currency": "EUR"
                },
                "grossAdr": {
                  "amount": 120.00,
                  "currency": "EUR"
                },
                "netAdr": {
                  "amount": 112.15,
                  "currency": "EUR"
                },
                "revPar": {
                  "amount": 112.15,
                  "currency": "EUR"
                }
              }
            ]
          },
          {
            "businessDay": "2026-10-02",
            "houseCount": 5,
            "houseItemsCount": 0,
            "soldCount": 3,
            "soldItemsCount": 0,
            "unsoldCount": 1,
            "unsoldItemsCount": 0,
            "outOfOrderCount": 1,
            "outOfOrderItemsCount": 0,
            "tentativelyBlockedCount": 0,
            "tentativelyBlockedItemsCount": 0,
            "definitelyBlockedCount": 0,
            "optionallyBlockedCount": 0,
            "arrivalsCount": 0,
            "departuresCount": 0,
            "noShowsCount": 0,
            "cancellationsCount": 0,
            "occupancyPercentage": 75.00,
            "grossUnitRevenue": {
              "amount": 480.00,
              "currency": "EUR"
            },
            "netUnitRevenue": {
              "amount": 448.60,
              "currency": "EUR"
            },
            "grossAccommodationRevenue": {
              "amount": 18.00,
              "currency": "EUR"
            },
            "netAccommodationRevenue": {
              "amount": 17.00,
              "currency": "EUR"
            },
            "grossFoodAndBeveragesRevenue": {
              "amount": 117.00,
              "currency": "EUR"
            },
            "netFoodAndBeveragesRevenue": {
              "amount": 13.00,
              "currency": "EUR"
            },
            "grossOtherRevenue": {
              "amount": 147.00,
              "currency": "EUR"
            },
            "netOtherRevenue": {
              "amount": 113.00,
              "currency": "EUR"
            },
            "grossAdr": {
              "amount": 160.00,
              "currency": "EUR"
            },
            "netAdr": {
              "amount": 149.53,
              "currency": "EUR"
            },
            "revPar": {
              "amount": 112.15,
              "currency": "EUR"
            },
            "unitGroups": [
              {
                "unitGroup": {
                  "id": "MUC-DBL",
                  "code": "DBL",
                  "name": "Double",
                  "description": "Double",
                  "type": "BedRoom"
                },
                "houseCount": 4,
                "houseItemsCount": 0,
                "soldCount": 3,
                "soldItemsCount": 0,
                "unsoldCount": 0,
                "unsoldItemsCount": 0,
                "outOfOrderCount": 1,
                "outOfOrderItemsCount": 0,
                "tentativelyBlockedCount": 0,
                "tentativelyBlockedItemsCount": 0,
                "definitelyBlockedCount": 0,
                "optionallyBlockedCount": 0,
                "arrivalsCount": 0,
                "departuresCount": 0,
                "noShowsCount": 0,
                "cancellationsCount": 0,
                "occupancyPercentage": 100.00,
                "grossUnitRevenue": {
                  "amount": 370.00,
                  "currency": "EUR"
                },
                "netUnitRevenue": {
                  "amount": 345.79,
                  "currency": "EUR"
                },
                "grossAccommodationRevenue": {
                  "amount": 9.00,
                  "currency": "EUR"
                },
                "netAccommodationRevenue": {
                  "amount": 8.50,
                  "currency": "EUR"
                },
                "grossFoodAndBeveragesRevenue": {
                  "amount": 56.50,
                  "currency": "EUR"
                },
                "netFoodAndBeveragesRevenue": {
                  "amount": 7.50,
                  "currency": "EUR"
                },
                "grossOtherRevenue": {
                  "amount": 73.50,
                  "currency": "EUR"
                },
                "netOtherRevenue": {
                  "amount": 56.50,
                  "currency": "EUR"
                },
                "grossAdr": {
                  "amount": 123.33,
                  "currency": "EUR"
                },
                "netAdr": {
                  "amount": 115.26,
                  "currency": "EUR"
                },
                "revPar": {
                  "amount": 215.26,
                  "currency": "EUR"
                }
              },
              {
                "unitGroup": {
                  "id": "MUC-SGL",
                  "code": "SGL",
                  "name": "Single",
                  "description": "Single",
                  "type": "BedRoom"
                },
                "houseCount": 1,
                "houseItemsCount": 0,
                "soldCount": 1,
                "soldItemsCount": 0,
                "unsoldCount": 0,
                "unsoldItemsCount": 0,
                "outOfOrderCount": 0,
                "outOfOrderItemsCount": 0,
                "tentativelyBlockedCount": 0,
                "tentativelyBlockedItemsCount": 0,
                "definitelyBlockedCount": 0,
                "optionallyBlockedCount": 0,
                "arrivalsCount": 0,
                "departuresCount": 0,
                "noShowsCount": 0,
                "cancellationsCount": 0,
                "occupancyPercentage": 100.00,
                "grossUnitRevenue": {
                  "amount": 110.00,
                  "currency": "EUR"
                },
                "netUnitRevenue": {
                  "amount": 102.80,
                  "currency": "EUR"
                },
                "grossAccommodationRevenue": {
                  "amount": 9.00,
                  "currency": "EUR"
                },
                "netAccommodationRevenue": {
                  "amount": 8.50,
                  "currency": "EUR"
                },
                "grossFoodAndBeveragesRevenue": {
                  "amount": 56.50,
                  "currency": "EUR"
                },
                "netFoodAndBeveragesRevenue": {
                  "amount": 7.50,
                  "currency": "EUR"
                },
                "grossOtherRevenue": {
                  "amount": 73.50,
                  "currency": "EUR"
                },
                "netOtherRevenue": {
                  "amount": 56.50,
                  "currency": "EUR"
                },
                "grossAdr": {
                  "amount": 110.00,
                  "currency": "EUR"
                },
                "netAdr": {
                  "amount": 102.80,
                  "currency": "EUR"
                },
                "revPar": {
                  "amount": 102.80,
                  "currency": "EUR"
                }
              }
            ]
          }
        ]
      }
    },
    "ReceiptModel": {
      "type": "object",
      "required": [
        "number"
      ],
      "properties": {
        "type": {
          "type": "string",
          "description": "The type of receipt.",
          "enum": [
            "Custom",
            "Reservation",
            "Invoice",
            "PspReference"
          ]
        },
        "number": {
          "type": "string",
          "description": "The receipt number.",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "RevenuesReportItemModel": {
      "type": "object",
      "required": [
        "account",
        "grossAmount",
        "netAmount"
      ],
      "properties": {
        "account": {
          "$ref": "#/definitions/ExportAccountModel"
        },
        "netAmount": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "grossAmount": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "children": {
          "type": "array",
          "description": "Child accounts of this account",
          "items": {
            "$ref": "#/definitions/RevenuesReportItemModel"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false,
      "example": {
        "account": {
          "name": "Revenues",
          "number": "5000",
          "type": "Revenues"
        },
        "netAmount": {
          "amount": 8000.0,
          "currency": "EUR"
        },
        "grossAmount": {
          "amount": 10000.0,
          "currency": "EUR"
        },
        "children": [
          {
            "account": {
              "name": "Revenues Accommodation",
              "number": "RevenueAccommodation",
              "type": "Revenues"
            },
            "netAmount": {
              "amount": 5000.0,
              "currency": "EUR"
            },
            "grossAmount": {
              "amount": 6000.0,
              "currency": "EUR"
            },
            "children": [
              {
                "account": {
                  "name": "Revenues Accommodation (7%)",
                  "number": "RevenuesAccommodation_Reduced",
                  "type": "Revenues"
                },
                "netAmount": {
                  "amount": 5000.0,
                  "currency": "EUR"
                },
                "grossAmount": {
                  "amount": 6000.0,
                  "currency": "EUR"
                }
              }
            ]
          },
          {
            "account": {
              "name": "Revenues F\u0026B",
              "number": "RevenueFoodAndBeverages",
              "type": "Revenues"
            },
            "netAmount": {
              "amount": 3000.0,
              "currency": "EUR"
            },
            "grossAmount": {
              "amount": 4000.0,
              "currency": "EUR"
            }
          }
        ]
      }
    },
    "TaxAmountModel": {
      "type": "object",
      "required": [
        "amount",
        "percent",
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "description": "The VAT type",
          "enum": [
            "Null",
            "VeryReduced",
            "Reduced",
            "Normal",
            "Without",
            "Special",
            "Special1",
            "Special2",
            "ReducedCovid19",
            "NormalCovid19",
            "Mixed"
          ]
        },
        "percent": {
          "type": "number",
          "description": "The currently valid percent to calculate the VAT",
          "format": "double"
        },
        "amount": {
          "type": "number",
          "description": "The tax amount",
          "format": "double"
        }
      },
      "additionalProperties": false
    },
    "TaxDetailModel": {
      "type": "object",
      "required": [
        "net",
        "tax",
        "vatPercent",
        "vatType"
      ],
      "properties": {
        "vatType": {
          "type": "string",
          "enum": [
            "Null",
            "VeryReduced",
            "Reduced",
            "Normal",
            "Without",
            "Special",
            "Special1",
            "Special2",
            "ReducedCovid19",
            "NormalCovid19",
            "Mixed"
          ]
        },
        "vatPercent": {
          "type": "number",
          "format": "double"
        },
        "net": {
          "$ref": "#/definitions/MonetaryValueModel"
        },
        "tax": {
          "$ref": "#/definitions/MonetaryValueModel"
        }
      },
      "additionalProperties": false
    },
    "TransactionsGrossExportListItemModel": {
      "type": "object",
      "required": [
        "command",
        "creditedAccount",
        "currency",
        "date",
        "debitedAccount",
        "grossAmount",
        "netAmount",
        "receipt",
        "reference",
        "referenceType",
        "sourceEntryNumber",
        "timestamp"
      ],
      "properties": {
        "reservation": {
          "$ref": "#/definitions/TransactionsGrossExportReservationModel"
        },
        "timestamp": {
          "type": "string",
          "description": "Timestamp with time zone information, when the booking was done\u003Cbr /\u003EA date and time (without fractional second part) in UTC or with UTC offset as defined in \u003Ca href=\u0022https://en.wikipedia.org/wiki/ISO_8601\u0022\u003EISO8601:2004\u003C/a\u003E",
          "format": "date-time"
        },
        "date": {
          "type": "string",
          "description": "The business date when the booking was done",
          "format": "date",
          "example": "2020-10-10"
        },
        "debitedAccount": {
          "$ref": "#/definitions/ExportAccountModel"
        },
        "creditedAccount": {
          "$ref": "#/definitions/ExportAccountModel"
        },
        "command": {
          "type": "string",
          "description": "The type of business transaction which triggered the booking",
          "enum": [
            "PostCharge",
            "PostPayment",
            "MoveLineItem",
            "PostPrepayment",
            "PostToAccountsReceivables",
            "PostPrepaymentVat",
            "PostToLossOfAccountsReceivables",
            "System"
          ]
        },
        "currency": {
          "type": "string",
          "description": "The currency of the transaction"
        },
        "grossAmount": {
          "type": "number",
          "description": "The gross amount being booked",
          "format": "double"
        },
        "netAmount": {
          "type": "number",
          "description": "The net amount being booked",
          "format": "double"
        },
        "taxes": {
          "type": "array",
          "description": "The taxes which make up the difference between net and gross amount",
          "items": {
            "$ref": "#/definitions/TaxAmountModel"
          },
          "x-nullable": true
        },
        "receipt": {
          "$ref": "#/definitions/ReceiptModel"
        },
        "sourceEntryNumber": {
          "type": "string",
          "description": "The original raw transaction entry number which got converted to these one or 2 lines.",
          "minLength": 1
        },
        "reference": {
          "type": "string",
          "description": "The reference for the transactions, reservation id for guest folios, booking id for booking folio, folio id for external folios, property code for the house folio"
        },
        "referenceType": {
          "type": "string",
          "description": "Does this transaction belong to a reservation, a house or an external folio",
          "enum": [
            "House",
            "Guest",
            "External",
            "Booking"
          ]
        }
      },
      "additionalProperties": false
    },
    "TransactionsGrossExportListModel": {
      "type": "object",
      "required": [
        "count",
        "transactions"
      ],
      "properties": {
        "transactions": {
          "type": "array",
          "description": "The list of gross transactions with additional metadata",
          "items": {
            "$ref": "#/definitions/TransactionsGrossExportListItemModel"
          }
        },
        "count": {
          "type": "integer",
          "description": "Total count of items",
          "format": "int64"
        }
      },
      "additionalProperties": false,
      "example": {
        "transactions": [
          {
            "reservation": {
              "id": "QPMZZTUK-1",
              "status": "CheckedOut",
              "arrival": "2020-10-10T11:11:00Z",
              "departure": "2020-10-12T11:11:00Z"
            },
            "timestamp": "2026-10-05T02:04:58.3385101Z",
            "date": "2026-10-01",
            "debitedAccount": {
              "name": "Cash Payment",
              "number": "1600",
              "type": "Revenues"
            },
            "creditedAccount": {
              "name": "Receivables for Reservation QPMZZTUK-1",
              "number": "QPMZZTUK-1_Receivables",
              "type": "Revenues"
            },
            "command": "PostCharge",
            "currency": "EUR",
            "grossAmount": 100.0,
            "netAmount": 100.0,
            "receipt": {
              "type": "Reservation",
              "number": "QPMZZTUK-1-V3"
            },
            "sourceEntryNumber": "SourceEntryNumber",
            "reference": "REFERENCE",
            "referenceType": "Guest"
          },
          {
            "timestamp": "2026-10-05T02:04:58.3385153Z",
            "date": "2026-10-01",
            "debitedAccount": {
              "name": "Revenues Accommodation",
              "number": "5001",
              "type": "Revenues"
            },
            "creditedAccount": {
              "name": "House Account",
              "number": "HOUSE_HCF",
              "type": "Revenues"
            },
            "command": "PostCharge",
            "currency": "EUR",
            "grossAmount": 214.0,
            "netAmount": 200.0,
            "taxes": [
              {
                "type": "Reduced",
                "percent": 7.0,
                "amount": 14.0
              }
            ],
            "receipt": {
              "type": "Reservation",
              "number": "QPMZZTUK-1-V3"
            },
            "sourceEntryNumber": "SourceEntryNumber",
            "reference": "REFERENCE",
            "referenceType": "House"
          }
        ],
        "count": 2
      }
    },
    "TransactionsGrossExportReservationModel": {
      "type": "object",
      "required": [
        "arrival",
        "departure",
        "id",
        "status"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Reservation id"
        },
        "status": {
          "type": "string",
          "description": "Status of the reservation",
          "enum": [
            "Confirmed",
            "InHouse",
            "CheckedOut",
            "Canceled",
            "NoShow"
          ]
        },
        "arrival": {
          "type": "string",
          "description": "Date of arrival\u003Cbr /\u003EA date and time (without fractional second part) in UTC or with UTC offset as defined in \u003Ca href=\u0022https://en.wikipedia.org/wiki/ISO_8601\u0022\u003EISO8601:2004\u003C/a\u003E",
          "format": "date-time"
        },
        "departure": {
          "type": "string",
          "description": "Date of departure\u003Cbr /\u003EA date and time (without fractional second part) in UTC or with UTC offset as defined in \u003Ca href=\u0022https://en.wikipedia.org/wiki/ISO_8601\u0022\u003EISO8601:2004\u003C/a\u003E",
          "format": "date-time"
        }
      },
      "additionalProperties": false
    },
    "TravelPurposeEntry": {
      "type": "object",
      "required": [
        "number",
        "percent"
      ],
      "properties": {
        "purpose": {
          "type": "string",
          "enum": [
            "Business",
            "Leisure"
          ],
          "x-nullable": true
        },
        "number": {
          "type": "integer",
          "format": "int32"
        },
        "percent": {
          "type": "number",
          "format": "double"
        },
        "reservationIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "x-nullable": true
        }
      },
      "additionalProperties": false
    }
  },
  "securityDefinitions": {
    "oauth2": {
      "type": "oauth2",
      "flow": "implicit",
      "authorizationUrl": "https://identity.apaleo.com/connect/authorize",
      "scopes": {
        "admin": "Full access",
        "reservations.import": "Import reservations"
      }
    }
  },
  "tags": [
    {
      "name": "Reports"
    }
  ]
}