{"version":3,"file":"apaleo-angular-api-proxy-logs.mjs","sources":["../../encoder.ts","../../variables.ts","../../configuration.ts","../../api/auditLogs.service.ts","../../api/bookingLogs.service.ts","../../api/financeLogs.service.ts","../../api/api.ts","../../model/accountingConfigUpdateListModel.ts","../../model/accountingConfigUpdateLogItemModel.ts","../../model/amountModel.ts","../../model/externalReferencesChangeModel.ts","../../model/monetaryValueModel.ts","../../model/folioChangeLogItemModel.ts","../../model/folioChangeLogListModel.ts","../../model/logEntryItemModel.ts","../../model/logEntryListModel.ts","../../model/messageItemCollection.ts","../../model/nightAuditLogItemModel.ts","../../model/nightAuditLogListModel.ts","../../model/reservationCancellationFeeChangeModel.ts","../../model/reservationPaymentAccountChangeModel.ts","../../model/reservationAddressChangeModel.ts","../../model/reservationCompanyChangeModel.ts","../../model/reservationVehicleRegistrationChangeModel.ts","../../model/reservationPersonChangeModel.ts","../../model/reservationAddedChangeModel.ts","../../model/reservationChangeLogItemModel.ts","../../model/reservationChangeLogListModel.ts","../../model/reservationChangedChangeModel.ts","../../model/reservationServiceChangeModel.ts","../../model/reservationTimeSliceChangeModel.ts","../../model/reservationValidationMessageChangeModel.ts","../../model/reservationChangeModel.ts","../../model/transactionsExportLogItemModel.ts","../../model/transactionsExportLogListModel.ts","../../api.module.ts","../../apaleo-angular-api-proxy-logs.ts"],"sourcesContent":["import { HttpUrlEncodingCodec } from '@angular/common/http';\n\n/**\n* CustomHttpUrlEncodingCodec\n* Fix plus sign (+) not encoding, so sent as blank space\n* See: https://github.com/angular/angular/issues/11058#issuecomment-247367318\n*/\nexport class CustomHttpUrlEncodingCodec extends HttpUrlEncodingCodec {\n    encodeKey(k: string): string {\n        k = super.encodeKey(k);\n        return k.replace(/\\+/gi, '%2B');\n    }\n    encodeValue(v: string): string {\n        v = super.encodeValue(v);\n        return v.replace(/\\+/gi, '%2B');\n    }\n}\n\n","import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n    'csv': ',',\n    'tsv': '   ',\n    'ssv': ' ',\n    'pipes': '|'\n}\n","export interface ConfigurationParameters {\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n}\n\nexport class Configuration {\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n\n    constructor(configurationParameters: ConfigurationParameters = {}) {\n        this.apiKeys = configurationParameters.apiKeys;\n        this.username = configurationParameters.username;\n        this.password = configurationParameters.password;\n        this.accessToken = configurationParameters.accessToken;\n        this.basePath = configurationParameters.basePath;\n        this.withCredentials = configurationParameters.withCredentials;\n    }\n\n    /**\n     * Select the correct content-type to use for a request.\n     * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param contentTypes - the array of content types that are available for selection\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderContentType (contentTypes: string[]): string | undefined {\n        if (contentTypes.length == 0) {\n            return undefined;\n        }\n\n        let type = contentTypes.find(x => this.isJsonMime(x));\n        if (type === undefined) {\n            return contentTypes[0];\n        }\n        return type;\n    }\n\n    /**\n     * Select the correct accept content-type to use for a request.\n     * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param accepts - the array of content types that are available for selection.\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderAccept(accepts: string[]): string | undefined {\n        if (accepts.length == 0) {\n            return undefined;\n        }\n\n        let type = accepts.find(x => this.isJsonMime(x));\n        if (type === undefined) {\n            return accepts[0];\n        }\n        return type;\n    }\n\n    /**\n     * Check if the given MIME is a JSON MIME.\n     * JSON MIME examples:\n     *   application/json\n     *   application/json; charset=UTF8\n     *   APPLICATION/JSON\n     *   application/vnd.company+json\n     * @param mime - MIME (Multipurpose Internet Mail Extensions)\n     * @return True if the given MIME is JSON, false otherwise.\n     */\n    public isJsonMime(mime: string): boolean {\n        const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n        return mime != null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n    }\n}\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent } from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\nimport { dateToApaleoIso } from '@apaleo/angular-api-proxy-common';\n\nimport { LogEntryListModel } from '../model/logEntryListModel';\nimport { MessageItemCollection } from '../model/messageItemCollection';\n\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\ntype FormParams = URLSearchParams | FormData | HttpParams;\n\nfunction append(formParams: FormParams, param: string, value: any) {\n    if (formParams instanceof FormData)\n    {\n        formParams.append(param, value);\n        return formParams;\n    }\n    else if (formParams instanceof HttpParams)\n    {\n        return formParams.append(param, value);        \n    }\n    formParams.append(param, value);\n    return formParams;    \n};\n\n\nexport namespace logsAuditLogsGet {\n    export interface Params {\n    \n        /**\n        * The start of the time interval<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n        */\n        from?: Date;\n    \n        /**\n        * The end of the time interval, must be larger than 'from'<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n        */\n        to?: Date;\n    \n        /**\n        * The types of entities being tracked as a group.  Example: If a unit maintenance is created, the AggregateType would be Unit.\n        */\n        aggregateTypes?: Array<string>;\n    \n        /**\n        * A unique identifiers for the groups of related changes.  Example: If a unit maintenance is created, the AggregateId would be the unique ID of that unit.\n        */\n        aggregateIds?: Array<string>;\n    \n        /**\n        * The types of the specific objects that were changed.  Example: If a unit maintenance is created, the EntityType would be Maintenance.\n        */\n        entityTypes?: Array<string>;\n    \n        /**\n        * A unique identifiers for the specific objects that were changed.  Example: If a unit maintenance is created, the EntityId would be the unique ID of that maintenance.\n        */\n        entityIds?: Array<string>;\n    \n        /**\n        * Filter result by requested properties\n        */\n        propertyIds?: Array<string>;\n    \n        /**\n        * Filter result by requested clients\n        */\n        clientIds?: Array<string>;\n    \n        /**\n        * Filter result by requested subjects\n        */\n        subjectIds?: Array<string>;\n    \n        /**\n        * Filter result by requested actions\n        */\n        actions?: Array<ActionsEnum>;\n    \n        /**\n        * Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>.This header will only take effect on development environments.\n        */\n        apaleoCurrentDateTime?: Date;\n    \n        /**\n        * Cursor to get next data page. Results in 204 if there are no items on that page.\n        */\n        cursor?: string;\n    \n        /**\n        * Page size. Default value is 50. Maximal value is 500\n        */\n        pageSize?: number;\n    \n    }\n    \n    export type ActionsEnum = 'Created' | 'Updated' | 'Deleted';\n\n    export const ActionsEnumValues = Object.freeze(\n        ['Created', 'Updated', 'Deleted'] as ActionsEnum[]);\n    \n}\n\n@Injectable()\nexport class AuditLogsService {\n\n    protected basePath = 'https://localhost';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(\n        protected httpClient: HttpClient, \n        @Optional() @Inject(BASE_PATH) basePath: string, \n        @Optional() configuration: Configuration\n    ) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n    /**\n     * Returns a list of audit log entries.\n     * &lt;br&gt;You must have this scope: &#39;logs.read&#39;.\n     * @param $params.from The start of the time interval&lt;br /&gt;A date and time (without fractional second part) in UTC or with UTC offset as defined in &lt;a href&#x3D;\\&quot;https://en.wikipedia.org/wiki/ISO_8601\\&quot;&gt;ISO8601:2004&lt;/a&gt;\n     * @param $params.to The end of the time interval, must be larger than &#39;from&#39;&lt;br /&gt;A date and time (without fractional second part) in UTC or with UTC offset as defined in &lt;a href&#x3D;\\&quot;https://en.wikipedia.org/wiki/ISO_8601\\&quot;&gt;ISO8601:2004&lt;/a&gt;\n     * @param $params.aggregateTypes The types of entities being tracked as a group.  Example: If a unit maintenance is created, the AggregateType would be Unit.\n     * @param $params.aggregateIds A unique identifiers for the groups of related changes.  Example: If a unit maintenance is created, the AggregateId would be the unique ID of that unit.\n     * @param $params.entityTypes The types of the specific objects that were changed.  Example: If a unit maintenance is created, the EntityType would be Maintenance.\n     * @param $params.entityIds A unique identifiers for the specific objects that were changed.  Example: If a unit maintenance is created, the EntityId would be the unique ID of that maintenance.\n     * @param $params.propertyIds Filter result by requested properties\n     * @param $params.clientIds Filter result by requested clients\n     * @param $params.subjectIds Filter result by requested subjects\n     * @param $params.actions Filter result by requested actions\n     * @param $params.apaleoCurrentDateTime Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the &lt;a href&#x3D;\\&quot;https://en.wikipedia.org/wiki/ISO_8601\\&quot;&gt;ISO8601:2004&lt;/a&gt;.This header will only take effect on development environments.\n     * @param $params.cursor Cursor to get next data page. Results in 204 if there are no items on that page.\n     * @param $params.pageSize Page size. Default value is 50. Maximal value is 500\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public logsAuditLogsGet($params: logsAuditLogsGet.Params, observe?: 'body', reportProgress?: boolean): Observable<LogEntryListModel|null>;\n    public logsAuditLogsGet($params: logsAuditLogsGet.Params, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<LogEntryListModel|null>>;\n    public logsAuditLogsGet($params: logsAuditLogsGet.Params, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<LogEntryListModel|null>>;\n    public logsAuditLogsGet($params: logsAuditLogsGet.Params, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {    \n        const from = $params.from;\n        const to = $params.to;\n        const aggregateTypes = $params.aggregateTypes;\n        const aggregateIds = $params.aggregateIds;\n        const entityTypes = $params.entityTypes;\n        const entityIds = $params.entityIds;\n        const propertyIds = $params.propertyIds;\n        const clientIds = $params.clientIds;\n        const subjectIds = $params.subjectIds;\n        const actions = $params.actions;\n        const apaleoCurrentDateTime = $params.apaleoCurrentDateTime;\n        const cursor = $params.cursor;\n        const pageSize = $params.pageSize;\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        \n        if (from !== undefined && from !== null) {\n            queryParameters = queryParameters.set('from', <any>dateToApaleoIso(from));\n        }\n        if (to !== undefined && to !== null) {\n            queryParameters = queryParameters.set('to', <any>dateToApaleoIso(to));\n        }\n        if (aggregateTypes) {\n            queryParameters = queryParameters.set('aggregateTypes', aggregateTypes.join(COLLECTION_FORMATS['csv']));\n        }\n        if (aggregateIds) {\n            queryParameters = queryParameters.set('aggregateIds', aggregateIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (entityTypes) {\n            queryParameters = queryParameters.set('entityTypes', entityTypes.join(COLLECTION_FORMATS['csv']));\n        }\n        if (entityIds) {\n            queryParameters = queryParameters.set('entityIds', entityIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (propertyIds) {\n            queryParameters = queryParameters.set('propertyIds', propertyIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (clientIds) {\n            queryParameters = queryParameters.set('clientIds', clientIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (subjectIds) {\n            queryParameters = queryParameters.set('subjectIds', subjectIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (actions) {\n            queryParameters = queryParameters.set('actions', actions.join(COLLECTION_FORMATS['csv']));\n        }\n        if (cursor !== undefined && cursor !== null) {\n            queryParameters = queryParameters.set('cursor', <any>cursor);\n        }\n        if (pageSize !== undefined && pageSize !== null) {\n            queryParameters = queryParameters.set('pageSize', <any>pageSize);\n        }\n\n        let headers = this.defaultHeaders;\n        if (apaleoCurrentDateTime !== undefined && apaleoCurrentDateTime !== null) {\n            headers = headers.set('Apaleo-Current-DateTime', String(apaleoCurrentDateTime));\n        }\n\n        // authentication (oauth2) required\n        if (this.configuration.accessToken) {\n            const accessToken = typeof this.configuration.accessToken === 'function'\n                ? this.configuration.accessToken()\n                : this.configuration.accessToken;\n            headers = headers.set('Authorization', 'Bearer ' + accessToken);\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<LogEntryListModel|null>(`${this.basePath}/logs/v0-nsfw/audit-logs`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent } from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\nimport { dateToApaleoIso } from '@apaleo/angular-api-proxy-common';\n\nimport { MessageItemCollection } from '../model/messageItemCollection';\nimport { ReservationChangeLogListModel } from '../model/reservationChangeLogListModel';\n\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\ntype FormParams = URLSearchParams | FormData | HttpParams;\n\nfunction append(formParams: FormParams, param: string, value: any) {\n    if (formParams instanceof FormData)\n    {\n        formParams.append(param, value);\n        return formParams;\n    }\n    else if (formParams instanceof HttpParams)\n    {\n        return formParams.append(param, value);        \n    }\n    formParams.append(param, value);\n    return formParams;    \n};\n\n\nexport namespace logsBookingReservationGet {\n    export interface Params {\n    \n        /**\n        * Filter the log entries by reservation IDs\n        */\n        reservationIds?: Array<string>;\n    \n        /**\n        * Filter the log entries by event types.\n        */\n        eventTypes?: Array<EventTypesEnum>;\n    \n        /**\n        * Filter the log entries by client IDs (which application triggered this event)\n        */\n        clientIds?: Array<string>;\n    \n        /**\n        * Filter the log entries by property IDs\n        */\n        propertyIds?: Array<string>;\n    \n        /**\n        * Filter the log entries by subject IDs (which user triggered this event)\n        */\n        subjectIds?: Array<string>;\n    \n        /**\n        * Filter by event date and time<br />You can provide an array of string expressions which all need to apply.<br />Each expression has the form of 'OPERATION_VALUE' where VALUE needs to be of the valid format of the property type and OPERATION can be:<br />'eq' for equals<br />'neq' for not equals<br />'lt' for less than<br />'gt' for greater than<br />'lte' for less than or equals<br />'gte' for greater than or equals<br />For instance<br />'eq_5' would mean the value should equal 5<br />'lte_7' would mean the value should be less than or equal to 7\n        */\n        dateFilter?: Array<string>;\n    \n        /**\n        * Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>.This header will only take effect on development environments.\n        */\n        apaleoCurrentDateTime?: Date;\n    \n        /**\n        * Page number, 1-based. Default value is 1 (if this is not set or not positive). Results in 204 if there are no items on that page.\n        */\n        pageNumber?: number;\n    \n        /**\n        * Page size. If this is not set or not positive, the pageNumber is ignored and all items are returned.\n        */\n        pageSize?: number;\n    \n        /**\n        * List of all embedded resources that should be expanded in the response. Possible values are: changes. All other values will be silently ignored.\n        */\n        expand?: Array<ExpandEnum>;\n    \n    }\n    \n    export type EventTypesEnum = 'Created' | 'Amended' | 'CheckedIn' | 'CheckedOut' | 'Canceled' | 'SetToNoShow' | 'CityTaxAdded' | 'CityTaxRemoved' | 'UnitAssigned' | 'UnitUnassigned' | 'PaymentAccountSet' | 'PaymentAccountRemoved' | 'InvoiceStatusChanged' | 'Changed' | 'CheckInReverted' | 'UnitLocked' | 'UnitUnlocked' | 'PickedUpFromBlock';\n\n    export const EventTypesEnumValues = Object.freeze(\n        ['Created', 'Amended', 'CheckedIn', 'CheckedOut', 'Canceled', 'SetToNoShow', 'CityTaxAdded', 'CityTaxRemoved', 'UnitAssigned', 'UnitUnassigned', 'PaymentAccountSet', 'PaymentAccountRemoved', 'InvoiceStatusChanged', 'Changed', 'CheckInReverted', 'UnitLocked', 'UnitUnlocked', 'PickedUpFromBlock'] as EventTypesEnum[]);\n    \n    export type ExpandEnum = 'changes';\n\n    export const ExpandEnumValues = Object.freeze(\n        ['changes'] as ExpandEnum[]);\n    \n}\n\n@Injectable()\nexport class BookingLogsService {\n\n    protected basePath = 'https://localhost';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(\n        protected httpClient: HttpClient, \n        @Optional() @Inject(BASE_PATH) basePath: string, \n        @Optional() configuration: Configuration\n    ) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n    /**\n     * Returns reservation change log entries sorted by the timestamp.\n     * &lt;br&gt;You must have this scope: &#39;logs.read&#39;.\n     * @param $params.reservationIds Filter the log entries by reservation IDs\n     * @param $params.eventTypes Filter the log entries by event types.\n     * @param $params.clientIds Filter the log entries by client IDs (which application triggered this event)\n     * @param $params.propertyIds Filter the log entries by property IDs\n     * @param $params.subjectIds Filter the log entries by subject IDs (which user triggered this event)\n     * @param $params.dateFilter Filter by event date and time&lt;br /&gt;You can provide an array of string expressions which all need to apply.&lt;br /&gt;Each expression has the form of &#39;OPERATION_VALUE&#39; where VALUE needs to be of the valid format of the property type and OPERATION can be:&lt;br /&gt;&#39;eq&#39; for equals&lt;br /&gt;&#39;neq&#39; for not equals&lt;br /&gt;&#39;lt&#39; for less than&lt;br /&gt;&#39;gt&#39; for greater than&lt;br /&gt;&#39;lte&#39; for less than or equals&lt;br /&gt;&#39;gte&#39; for greater than or equals&lt;br /&gt;For instance&lt;br /&gt;&#39;eq_5&#39; would mean the value should equal 5&lt;br /&gt;&#39;lte_7&#39; would mean the value should be less than or equal to 7\n     * @param $params.apaleoCurrentDateTime Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the &lt;a href&#x3D;\\&quot;https://en.wikipedia.org/wiki/ISO_8601\\&quot;&gt;ISO8601:2004&lt;/a&gt;.This header will only take effect on development environments.\n     * @param $params.pageNumber Page number, 1-based. Default value is 1 (if this is not set or not positive). Results in 204 if there are no items on that page.\n     * @param $params.pageSize Page size. If this is not set or not positive, the pageNumber is ignored and all items are returned.\n     * @param $params.expand List of all embedded resources that should be expanded in the response. Possible values are: changes. All other values will be silently ignored.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public logsBookingReservationGet($params: logsBookingReservationGet.Params, observe?: 'body', reportProgress?: boolean): Observable<ReservationChangeLogListModel|null>;\n    public logsBookingReservationGet($params: logsBookingReservationGet.Params, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ReservationChangeLogListModel|null>>;\n    public logsBookingReservationGet($params: logsBookingReservationGet.Params, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ReservationChangeLogListModel|null>>;\n    public logsBookingReservationGet($params: logsBookingReservationGet.Params, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {    \n        const reservationIds = $params.reservationIds;\n        const eventTypes = $params.eventTypes;\n        const clientIds = $params.clientIds;\n        const propertyIds = $params.propertyIds;\n        const subjectIds = $params.subjectIds;\n        const dateFilter = $params.dateFilter;\n        const apaleoCurrentDateTime = $params.apaleoCurrentDateTime;\n        const pageNumber = $params.pageNumber;\n        const pageSize = $params.pageSize;\n        const expand = $params.expand;\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        \n        if (reservationIds) {\n            queryParameters = queryParameters.set('reservationIds', reservationIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (eventTypes) {\n            queryParameters = queryParameters.set('eventTypes', eventTypes.join(COLLECTION_FORMATS['csv']));\n        }\n        if (clientIds) {\n            queryParameters = queryParameters.set('clientIds', clientIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (propertyIds) {\n            queryParameters = queryParameters.set('propertyIds', propertyIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (subjectIds) {\n            queryParameters = queryParameters.set('subjectIds', subjectIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (dateFilter) {\n            queryParameters = queryParameters.set('dateFilter', dateFilter.join(COLLECTION_FORMATS['csv']));\n        }\n        if (pageNumber !== undefined && pageNumber !== null) {\n            queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\n        }\n        if (pageSize !== undefined && pageSize !== null) {\n            queryParameters = queryParameters.set('pageSize', <any>pageSize);\n        }\n        if (expand) {\n            queryParameters = queryParameters.set('expand', expand.join(COLLECTION_FORMATS['csv']));\n        }\n\n        let headers = this.defaultHeaders;\n        if (apaleoCurrentDateTime !== undefined && apaleoCurrentDateTime !== null) {\n            headers = headers.set('Apaleo-Current-DateTime', String(apaleoCurrentDateTime));\n        }\n\n        // authentication (oauth2) required\n        if (this.configuration.accessToken) {\n            const accessToken = typeof this.configuration.accessToken === 'function'\n                ? this.configuration.accessToken()\n                : this.configuration.accessToken;\n            headers = headers.set('Authorization', 'Bearer ' + accessToken);\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ReservationChangeLogListModel|null>(`${this.basePath}/logs/v0-nsfw/booking/reservation`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent } from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\nimport { dateToApaleoIso } from '@apaleo/angular-api-proxy-common';\n\nimport { AccountingConfigUpdateListModel } from '../model/accountingConfigUpdateListModel';\nimport { FolioChangeLogListModel } from '../model/folioChangeLogListModel';\nimport { MessageItemCollection } from '../model/messageItemCollection';\nimport { NightAuditLogListModel } from '../model/nightAuditLogListModel';\nimport { TransactionsExportLogListModel } from '../model/transactionsExportLogListModel';\n\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\ntype FormParams = URLSearchParams | FormData | HttpParams;\n\nfunction append(formParams: FormParams, param: string, value: any) {\n    if (formParams instanceof FormData)\n    {\n        formParams.append(param, value);\n        return formParams;\n    }\n    else if (formParams instanceof HttpParams)\n    {\n        return formParams.append(param, value);        \n    }\n    formParams.append(param, value);\n    return formParams;    \n};\n\n\nexport namespace logsFinanceAccountingConfigUpdatesGet {\n    export interface Params {\n    \n        /**\n        * Filter the log entries by status.\n        */\n        statuses?: Array<StatusesEnum>;\n    \n        /**\n        * Filter the log entries by property IDs\n        */\n        propertyIds?: Array<string>;\n    \n        /**\n        * Filter the log entries by subject IDs (which user triggered this event)\n        */\n        subjectIds?: Array<string>;\n    \n        /**\n        * Filter by event date and time<br />You can provide an array of string expressions which all need to apply.<br />Each expression has the form of 'OPERATION_VALUE' where VALUE needs to be of the valid format of the property type and OPERATION can be:<br />'eq' for equals<br />'neq' for not equals<br />'lt' for less than<br />'gt' for greater than<br />'lte' for less than or equals<br />'gte' for greater than or equals<br />For instance<br />'eq_5' would mean the value should equal 5<br />'lte_7' would mean the value should be less than or equal to 7\n        */\n        dateFilter?: Array<string>;\n    \n        /**\n        * Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>.This header will only take effect on development environments.\n        */\n        apaleoCurrentDateTime?: Date;\n    \n        /**\n        * Page number, 1-based. Default value is 1 (if this is not set or not positive). Results in 204 if there are no items on that page.\n        */\n        pageNumber?: number;\n    \n        /**\n        * Page size. If this is not set or not positive, the pageNumber is ignored and all items are returned.\n        */\n        pageSize?: number;\n    \n    }\n    \n    export type StatusesEnum = 'InProgress' | 'Success' | 'Failure';\n\n    export const StatusesEnumValues = Object.freeze(\n        ['InProgress', 'Success', 'Failure'] as StatusesEnum[]);\n    \n}\nexport namespace logsFinanceFolioGet {\n    export interface Params {\n    \n        /**\n        * Filter the log entries by folio IDs\n        */\n        folioIds?: Array<string>;\n    \n        /**\n        * Filter the log entries by event types.\n        */\n        eventTypes?: Array<EventTypesEnum>;\n    \n        /**\n        * Filter the log entries by client IDs (which application triggered this event)\n        */\n        clientIds?: Array<string>;\n    \n        /**\n        * Filter the log entries by property IDs\n        */\n        propertyIds?: Array<string>;\n    \n        /**\n        * Filter the log entries by subject IDs (which user triggered this event)\n        */\n        subjectIds?: Array<string>;\n    \n        /**\n        * Filter by event date and time<br />You can provide an array of string expressions which all need to apply.<br />Each expression has the form of 'OPERATION_VALUE' where VALUE needs to be of the valid format of the property type and OPERATION can be:<br />'eq' for equals<br />'neq' for not equals<br />'lt' for less than<br />'gt' for greater than<br />'lte' for less than or equals<br />'gte' for greater than or equals<br />For instance<br />'eq_5' would mean the value should equal 5<br />'lte_7' would mean the value should be less than or equal to 7\n        */\n        dateFilter?: Array<string>;\n    \n        /**\n        * Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>.This header will only take effect on development environments.\n        */\n        apaleoCurrentDateTime?: Date;\n    \n        /**\n        * Page number, 1-based. Default value is 1 (if this is not set or not positive). Results in 204 if there are no items on that page.\n        */\n        pageNumber?: number;\n    \n        /**\n        * Page size. If this is not set or not positive, the pageNumber is ignored and all items are returned.\n        */\n        pageSize?: number;\n    \n    }\n    \n    export type EventTypesEnum = 'Created' | 'ChargePosted' | 'TransitoryChargePosted' | 'AllowancePosted' | 'PaymentPosted' | 'ChargeMovedFromFolio' | 'TransitoryChargeMovedFromFolio' | 'PaymentMovedFromFolio' | 'ChargeMovedToFolio' | 'TransitoryChargeMovedToFolio' | 'PaymentMovedToFolio' | 'Closed' | 'Reopened' | 'Deleted' | 'DebitorChanged' | 'AllowanceMovedFromFolio' | 'AllowanceMovedToFolio' | 'RefundPosted' | 'RefundMovedFromFolio' | 'RefundMovedToFolio' | 'InvoiceCreated' | 'InvoiceCanceled' | 'InvoicePaid' | 'ChargesChanged' | 'PaymentAdded' | 'PaymentFailed' | 'PaymentCanceled' | 'RefundAdded' | 'RefundFailed' | 'InvoiceWrittenOff' | 'DepositItemAdded' | 'DepositItemChanged' | 'DepositItemDeleted';\n\n    export const EventTypesEnumValues = Object.freeze(\n        ['Created', 'ChargePosted', 'TransitoryChargePosted', 'AllowancePosted', 'PaymentPosted', 'ChargeMovedFromFolio', 'TransitoryChargeMovedFromFolio', 'PaymentMovedFromFolio', 'ChargeMovedToFolio', 'TransitoryChargeMovedToFolio', 'PaymentMovedToFolio', 'Closed', 'Reopened', 'Deleted', 'DebitorChanged', 'AllowanceMovedFromFolio', 'AllowanceMovedToFolio', 'RefundPosted', 'RefundMovedFromFolio', 'RefundMovedToFolio', 'InvoiceCreated', 'InvoiceCanceled', 'InvoicePaid', 'ChargesChanged', 'PaymentAdded', 'PaymentFailed', 'PaymentCanceled', 'RefundAdded', 'RefundFailed', 'InvoiceWrittenOff', 'DepositItemAdded', 'DepositItemChanged', 'DepositItemDeleted'] as EventTypesEnum[]);\n    \n}\nexport namespace logsFinanceNightAuditGet {\n    export interface Params {\n    \n        /**\n        * Filter the log entries by status.\n        */\n        statuses?: Array<StatusesEnum>;\n    \n        /**\n        * Filter the log entries by property IDs\n        */\n        propertyIds?: Array<string>;\n    \n        /**\n        * Filter the log entries by subject IDs (which user triggered this event)\n        */\n        subjectIds?: Array<string>;\n    \n        /**\n        * Filter by event date and time<br />You can provide an array of string expressions which all need to apply.<br />Each expression has the form of 'OPERATION_VALUE' where VALUE needs to be of the valid format of the property type and OPERATION can be:<br />'eq' for equals<br />'neq' for not equals<br />'lt' for less than<br />'gt' for greater than<br />'lte' for less than or equals<br />'gte' for greater than or equals<br />For instance<br />'eq_5' would mean the value should equal 5<br />'lte_7' would mean the value should be less than or equal to 7\n        */\n        dateFilter?: Array<string>;\n    \n        /**\n        * Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>.This header will only take effect on development environments.\n        */\n        apaleoCurrentDateTime?: Date;\n    \n        /**\n        * Page number, 1-based. Default value is 1 (if this is not set or not positive). Results in 204 if there are no items on that page.\n        */\n        pageNumber?: number;\n    \n        /**\n        * Page size. If this is not set or not positive, the pageNumber is ignored and all items are returned.\n        */\n        pageSize?: number;\n    \n    }\n    \n    export type StatusesEnum = 'InProgress' | 'Success' | 'Failure';\n\n    export const StatusesEnumValues = Object.freeze(\n        ['InProgress', 'Success', 'Failure'] as StatusesEnum[]);\n    \n}\nexport namespace logsFinanceTransactionsExportGet {\n    export interface Params {\n    \n        /**\n        * Filter the log entries by export log types.\n        */\n        types?: Array<TypesEnum>;\n    \n        /**\n        * Filter the log entries by property IDs\n        */\n        propertyIds?: Array<string>;\n    \n        /**\n        * Filter the log entries by subject IDs (which user triggered this event)\n        */\n        subjectIds?: Array<string>;\n    \n        /**\n        * Filter by event date and time<br />You can provide an array of string expressions which all need to apply.<br />Each expression has the form of 'OPERATION_VALUE' where VALUE needs to be of the valid format of the property type and OPERATION can be:<br />'eq' for equals<br />'neq' for not equals<br />'lt' for less than<br />'gt' for greater than<br />'lte' for less than or equals<br />'gte' for greater than or equals<br />For instance<br />'eq_5' would mean the value should equal 5<br />'lte_7' would mean the value should be less than or equal to 7\n        */\n        dateFilter?: Array<string>;\n    \n        /**\n        * Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>.This header will only take effect on development environments.\n        */\n        apaleoCurrentDateTime?: Date;\n    \n        /**\n        * Page number, 1-based. Default value is 1 (if this is not set or not positive). Results in 204 if there are no items on that page.\n        */\n        pageNumber?: number;\n    \n        /**\n        * Page size. If this is not set or not positive, the pageNumber is ignored and all items are returned.\n        */\n        pageSize?: number;\n    \n    }\n    \n    export type TypesEnum = 'Raw' | 'Aggregate' | 'AggregatePairs';\n\n    export const TypesEnumValues = Object.freeze(\n        ['Raw', 'Aggregate', 'AggregatePairs'] as TypesEnum[]);\n    \n}\n\n@Injectable()\nexport class FinanceLogsService {\n\n    protected basePath = 'https://localhost';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(\n        protected httpClient: HttpClient, \n        @Optional() @Inject(BASE_PATH) basePath: string, \n        @Optional() configuration: Configuration\n    ) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n    /**\n     * Returns the accounting config updates logs.\n     * Returns a log of all accounting config updates  Newest log entries are returned first.&lt;br&gt;You must have this scope: &#39;logs.read&#39;.\n     * @param $params.statuses Filter the log entries by status.\n     * @param $params.propertyIds Filter the log entries by property IDs\n     * @param $params.subjectIds Filter the log entries by subject IDs (which user triggered this event)\n     * @param $params.dateFilter Filter by event date and time&lt;br /&gt;You can provide an array of string expressions which all need to apply.&lt;br /&gt;Each expression has the form of &#39;OPERATION_VALUE&#39; where VALUE needs to be of the valid format of the property type and OPERATION can be:&lt;br /&gt;&#39;eq&#39; for equals&lt;br /&gt;&#39;neq&#39; for not equals&lt;br /&gt;&#39;lt&#39; for less than&lt;br /&gt;&#39;gt&#39; for greater than&lt;br /&gt;&#39;lte&#39; for less than or equals&lt;br /&gt;&#39;gte&#39; for greater than or equals&lt;br /&gt;For instance&lt;br /&gt;&#39;eq_5&#39; would mean the value should equal 5&lt;br /&gt;&#39;lte_7&#39; would mean the value should be less than or equal to 7\n     * @param $params.apaleoCurrentDateTime Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the &lt;a href&#x3D;\\&quot;https://en.wikipedia.org/wiki/ISO_8601\\&quot;&gt;ISO8601:2004&lt;/a&gt;.This header will only take effect on development environments.\n     * @param $params.pageNumber Page number, 1-based. Default value is 1 (if this is not set or not positive). Results in 204 if there are no items on that page.\n     * @param $params.pageSize Page size. If this is not set or not positive, the pageNumber is ignored and all items are returned.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public logsFinanceAccountingConfigUpdatesGet($params: logsFinanceAccountingConfigUpdatesGet.Params, observe?: 'body', reportProgress?: boolean): Observable<AccountingConfigUpdateListModel|null>;\n    public logsFinanceAccountingConfigUpdatesGet($params: logsFinanceAccountingConfigUpdatesGet.Params, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<AccountingConfigUpdateListModel|null>>;\n    public logsFinanceAccountingConfigUpdatesGet($params: logsFinanceAccountingConfigUpdatesGet.Params, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<AccountingConfigUpdateListModel|null>>;\n    public logsFinanceAccountingConfigUpdatesGet($params: logsFinanceAccountingConfigUpdatesGet.Params, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {    \n        const statuses = $params.statuses;\n        const propertyIds = $params.propertyIds;\n        const subjectIds = $params.subjectIds;\n        const dateFilter = $params.dateFilter;\n        const apaleoCurrentDateTime = $params.apaleoCurrentDateTime;\n        const pageNumber = $params.pageNumber;\n        const pageSize = $params.pageSize;\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        \n        if (statuses) {\n            queryParameters = queryParameters.set('statuses', statuses.join(COLLECTION_FORMATS['csv']));\n        }\n        if (propertyIds) {\n            queryParameters = queryParameters.set('propertyIds', propertyIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (subjectIds) {\n            queryParameters = queryParameters.set('subjectIds', subjectIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (dateFilter) {\n            queryParameters = queryParameters.set('dateFilter', dateFilter.join(COLLECTION_FORMATS['csv']));\n        }\n        if (pageNumber !== undefined && pageNumber !== null) {\n            queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\n        }\n        if (pageSize !== undefined && pageSize !== null) {\n            queryParameters = queryParameters.set('pageSize', <any>pageSize);\n        }\n\n        let headers = this.defaultHeaders;\n        if (apaleoCurrentDateTime !== undefined && apaleoCurrentDateTime !== null) {\n            headers = headers.set('Apaleo-Current-DateTime', String(apaleoCurrentDateTime));\n        }\n\n        // authentication (oauth2) required\n        if (this.configuration.accessToken) {\n            const accessToken = typeof this.configuration.accessToken === 'function'\n                ? this.configuration.accessToken()\n                : this.configuration.accessToken;\n            headers = headers.set('Authorization', 'Bearer ' + accessToken);\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<AccountingConfigUpdateListModel|null>(`${this.basePath}/logs/v0-nsfw/finance/accounting-config-updates`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns folio change log entries sorted by the timestamp.\n     * &lt;br&gt;You must have this scope: &#39;logs.read&#39;.\n     * @param $params.folioIds Filter the log entries by folio IDs\n     * @param $params.eventTypes Filter the log entries by event types.\n     * @param $params.clientIds Filter the log entries by client IDs (which application triggered this event)\n     * @param $params.propertyIds Filter the log entries by property IDs\n     * @param $params.subjectIds Filter the log entries by subject IDs (which user triggered this event)\n     * @param $params.dateFilter Filter by event date and time&lt;br /&gt;You can provide an array of string expressions which all need to apply.&lt;br /&gt;Each expression has the form of &#39;OPERATION_VALUE&#39; where VALUE needs to be of the valid format of the property type and OPERATION can be:&lt;br /&gt;&#39;eq&#39; for equals&lt;br /&gt;&#39;neq&#39; for not equals&lt;br /&gt;&#39;lt&#39; for less than&lt;br /&gt;&#39;gt&#39; for greater than&lt;br /&gt;&#39;lte&#39; for less than or equals&lt;br /&gt;&#39;gte&#39; for greater than or equals&lt;br /&gt;For instance&lt;br /&gt;&#39;eq_5&#39; would mean the value should equal 5&lt;br /&gt;&#39;lte_7&#39; would mean the value should be less than or equal to 7\n     * @param $params.apaleoCurrentDateTime Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the &lt;a href&#x3D;\\&quot;https://en.wikipedia.org/wiki/ISO_8601\\&quot;&gt;ISO8601:2004&lt;/a&gt;.This header will only take effect on development environments.\n     * @param $params.pageNumber Page number, 1-based. Default value is 1 (if this is not set or not positive). Results in 204 if there are no items on that page.\n     * @param $params.pageSize Page size. If this is not set or not positive, the pageNumber is ignored and all items are returned.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public logsFinanceFolioGet($params: logsFinanceFolioGet.Params, observe?: 'body', reportProgress?: boolean): Observable<FolioChangeLogListModel|null>;\n    public logsFinanceFolioGet($params: logsFinanceFolioGet.Params, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<FolioChangeLogListModel|null>>;\n    public logsFinanceFolioGet($params: logsFinanceFolioGet.Params, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<FolioChangeLogListModel|null>>;\n    public logsFinanceFolioGet($params: logsFinanceFolioGet.Params, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {    \n        const folioIds = $params.folioIds;\n        const eventTypes = $params.eventTypes;\n        const clientIds = $params.clientIds;\n        const propertyIds = $params.propertyIds;\n        const subjectIds = $params.subjectIds;\n        const dateFilter = $params.dateFilter;\n        const apaleoCurrentDateTime = $params.apaleoCurrentDateTime;\n        const pageNumber = $params.pageNumber;\n        const pageSize = $params.pageSize;\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        \n        if (folioIds) {\n            queryParameters = queryParameters.set('folioIds', folioIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (eventTypes) {\n            queryParameters = queryParameters.set('eventTypes', eventTypes.join(COLLECTION_FORMATS['csv']));\n        }\n        if (clientIds) {\n            queryParameters = queryParameters.set('clientIds', clientIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (propertyIds) {\n            queryParameters = queryParameters.set('propertyIds', propertyIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (subjectIds) {\n            queryParameters = queryParameters.set('subjectIds', subjectIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (dateFilter) {\n            queryParameters = queryParameters.set('dateFilter', dateFilter.join(COLLECTION_FORMATS['csv']));\n        }\n        if (pageNumber !== undefined && pageNumber !== null) {\n            queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\n        }\n        if (pageSize !== undefined && pageSize !== null) {\n            queryParameters = queryParameters.set('pageSize', <any>pageSize);\n        }\n\n        let headers = this.defaultHeaders;\n        if (apaleoCurrentDateTime !== undefined && apaleoCurrentDateTime !== null) {\n            headers = headers.set('Apaleo-Current-DateTime', String(apaleoCurrentDateTime));\n        }\n\n        // authentication (oauth2) required\n        if (this.configuration.accessToken) {\n            const accessToken = typeof this.configuration.accessToken === 'function'\n                ? this.configuration.accessToken()\n                : this.configuration.accessToken;\n            headers = headers.set('Authorization', 'Bearer ' + accessToken);\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<FolioChangeLogListModel|null>(`${this.basePath}/logs/v0-nsfw/finance/folio`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns the night audit logs.\n     * Returns a log of all night audits  Newest log entries are returned first.&lt;br&gt;You must have this scope: &#39;logs.read&#39;.\n     * @param $params.statuses Filter the log entries by status.\n     * @param $params.propertyIds Filter the log entries by property IDs\n     * @param $params.subjectIds Filter the log entries by subject IDs (which user triggered this event)\n     * @param $params.dateFilter Filter by event date and time&lt;br /&gt;You can provide an array of string expressions which all need to apply.&lt;br /&gt;Each expression has the form of &#39;OPERATION_VALUE&#39; where VALUE needs to be of the valid format of the property type and OPERATION can be:&lt;br /&gt;&#39;eq&#39; for equals&lt;br /&gt;&#39;neq&#39; for not equals&lt;br /&gt;&#39;lt&#39; for less than&lt;br /&gt;&#39;gt&#39; for greater than&lt;br /&gt;&#39;lte&#39; for less than or equals&lt;br /&gt;&#39;gte&#39; for greater than or equals&lt;br /&gt;For instance&lt;br /&gt;&#39;eq_5&#39; would mean the value should equal 5&lt;br /&gt;&#39;lte_7&#39; would mean the value should be less than or equal to 7\n     * @param $params.apaleoCurrentDateTime Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the &lt;a href&#x3D;\\&quot;https://en.wikipedia.org/wiki/ISO_8601\\&quot;&gt;ISO8601:2004&lt;/a&gt;.This header will only take effect on development environments.\n     * @param $params.pageNumber Page number, 1-based. Default value is 1 (if this is not set or not positive). Results in 204 if there are no items on that page.\n     * @param $params.pageSize Page size. If this is not set or not positive, the pageNumber is ignored and all items are returned.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public logsFinanceNightAuditGet($params: logsFinanceNightAuditGet.Params, observe?: 'body', reportProgress?: boolean): Observable<NightAuditLogListModel|null>;\n    public logsFinanceNightAuditGet($params: logsFinanceNightAuditGet.Params, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<NightAuditLogListModel|null>>;\n    public logsFinanceNightAuditGet($params: logsFinanceNightAuditGet.Params, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<NightAuditLogListModel|null>>;\n    public logsFinanceNightAuditGet($params: logsFinanceNightAuditGet.Params, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {    \n        const statuses = $params.statuses;\n        const propertyIds = $params.propertyIds;\n        const subjectIds = $params.subjectIds;\n        const dateFilter = $params.dateFilter;\n        const apaleoCurrentDateTime = $params.apaleoCurrentDateTime;\n        const pageNumber = $params.pageNumber;\n        const pageSize = $params.pageSize;\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        \n        if (statuses) {\n            queryParameters = queryParameters.set('statuses', statuses.join(COLLECTION_FORMATS['csv']));\n        }\n        if (propertyIds) {\n            queryParameters = queryParameters.set('propertyIds', propertyIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (subjectIds) {\n            queryParameters = queryParameters.set('subjectIds', subjectIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (dateFilter) {\n            queryParameters = queryParameters.set('dateFilter', dateFilter.join(COLLECTION_FORMATS['csv']));\n        }\n        if (pageNumber !== undefined && pageNumber !== null) {\n            queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\n        }\n        if (pageSize !== undefined && pageSize !== null) {\n            queryParameters = queryParameters.set('pageSize', <any>pageSize);\n        }\n\n        let headers = this.defaultHeaders;\n        if (apaleoCurrentDateTime !== undefined && apaleoCurrentDateTime !== null) {\n            headers = headers.set('Apaleo-Current-DateTime', String(apaleoCurrentDateTime));\n        }\n\n        // authentication (oauth2) required\n        if (this.configuration.accessToken) {\n            const accessToken = typeof this.configuration.accessToken === 'function'\n                ? this.configuration.accessToken()\n                : this.configuration.accessToken;\n            headers = headers.set('Authorization', 'Bearer ' + accessToken);\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<NightAuditLogListModel|null>(`${this.basePath}/logs/v0-nsfw/finance/night-audit`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns the audit log for all accounting exports that have been done.\n     * Returns the audit log for all exports if accounting data that have been done.&lt;br&gt;You must have this scope: &#39;logs.read&#39;.\n     * @param $params.types Filter the log entries by export log types.\n     * @param $params.propertyIds Filter the log entries by property IDs\n     * @param $params.subjectIds Filter the log entries by subject IDs (which user triggered this event)\n     * @param $params.dateFilter Filter by event date and time&lt;br /&gt;You can provide an array of string expressions which all need to apply.&lt;br /&gt;Each expression has the form of &#39;OPERATION_VALUE&#39; where VALUE needs to be of the valid format of the property type and OPERATION can be:&lt;br /&gt;&#39;eq&#39; for equals&lt;br /&gt;&#39;neq&#39; for not equals&lt;br /&gt;&#39;lt&#39; for less than&lt;br /&gt;&#39;gt&#39; for greater than&lt;br /&gt;&#39;lte&#39; for less than or equals&lt;br /&gt;&#39;gte&#39; for greater than or equals&lt;br /&gt;For instance&lt;br /&gt;&#39;eq_5&#39; would mean the value should equal 5&lt;br /&gt;&#39;lte_7&#39; would mean the value should be less than or equal to 7\n     * @param $params.apaleoCurrentDateTime Use this parameter to override the current date and time for the current request. Specify a date and time (without fractional second part) in UTC or with UTC offset as defined in the &lt;a href&#x3D;\\&quot;https://en.wikipedia.org/wiki/ISO_8601\\&quot;&gt;ISO8601:2004&lt;/a&gt;.This header will only take effect on development environments.\n     * @param $params.pageNumber Page number, 1-based. Default value is 1 (if this is not set or not positive). Results in 204 if there are no items on that page.\n     * @param $params.pageSize Page size. If this is not set or not positive, the pageNumber is ignored and all items are returned.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public logsFinanceTransactionsExportGet($params: logsFinanceTransactionsExportGet.Params, observe?: 'body', reportProgress?: boolean): Observable<TransactionsExportLogListModel|null>;\n    public logsFinanceTransactionsExportGet($params: logsFinanceTransactionsExportGet.Params, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<TransactionsExportLogListModel|null>>;\n    public logsFinanceTransactionsExportGet($params: logsFinanceTransactionsExportGet.Params, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<TransactionsExportLogListModel|null>>;\n    public logsFinanceTransactionsExportGet($params: logsFinanceTransactionsExportGet.Params, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {    \n        const types = $params.types;\n        const propertyIds = $params.propertyIds;\n        const subjectIds = $params.subjectIds;\n        const dateFilter = $params.dateFilter;\n        const apaleoCurrentDateTime = $params.apaleoCurrentDateTime;\n        const pageNumber = $params.pageNumber;\n        const pageSize = $params.pageSize;\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        \n        if (types) {\n            queryParameters = queryParameters.set('types', types.join(COLLECTION_FORMATS['csv']));\n        }\n        if (propertyIds) {\n            queryParameters = queryParameters.set('propertyIds', propertyIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (subjectIds) {\n            queryParameters = queryParameters.set('subjectIds', subjectIds.join(COLLECTION_FORMATS['csv']));\n        }\n        if (dateFilter) {\n            queryParameters = queryParameters.set('dateFilter', dateFilter.join(COLLECTION_FORMATS['csv']));\n        }\n        if (pageNumber !== undefined && pageNumber !== null) {\n            queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\n        }\n        if (pageSize !== undefined && pageSize !== null) {\n            queryParameters = queryParameters.set('pageSize', <any>pageSize);\n        }\n\n        let headers = this.defaultHeaders;\n        if (apaleoCurrentDateTime !== undefined && apaleoCurrentDateTime !== null) {\n            headers = headers.set('Apaleo-Current-DateTime', String(apaleoCurrentDateTime));\n        }\n\n        // authentication (oauth2) required\n        if (this.configuration.accessToken) {\n            const accessToken = typeof this.configuration.accessToken === 'function'\n                ? this.configuration.accessToken()\n                : this.configuration.accessToken;\n            headers = headers.set('Authorization', 'Bearer ' + accessToken);\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<TransactionsExportLogListModel|null>(`${this.basePath}/logs/v0-nsfw/finance/transactions-export`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","export * from './auditLogs.service';\nimport { AuditLogsService } from './auditLogs.service';\nexport * from './bookingLogs.service';\nimport { BookingLogsService } from './bookingLogs.service';\nexport * from './financeLogs.service';\nimport { FinanceLogsService } from './financeLogs.service';\nexport const APIS = [AuditLogsService, BookingLogsService, FinanceLogsService];\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AccountingConfigUpdateLogItemModel } from './accountingConfigUpdateLogItemModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface AccountingConfigUpdateListModel { \n    /**\n     * List of the log entries.\n     */\n    logEntries: Array<AccountingConfigUpdateLogItemModel>;\n    /**\n     * Total count of items\n     */\n    count: number;\n}\n\nexport namespace AccountingConfigUpdateListModel {\n    export const $metaData: ClassMetaData<AccountingConfigUpdateListModel> = { \n        logEntries: Object.freeze({ \n            isRequired: true,\n            type: 'Array<AccountingConfigUpdateLogItemModel>',\n            isListContainer: true,\n        }),\n        count: Object.freeze({ \n            isRequired: true,\n            type: 'number',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface AccountingConfigUpdateLogItemModel { \n    /**\n     * Date and time when the night audit ended<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    ended: Date;\n    /**\n     * The status of the update job\n     */\n    status: AccountingConfigUpdateLogItemModel.StatusEnum;\n    /**\n     * Failure code of the job\n     */\n    failureCode?: AccountingConfigUpdateLogItemModel.FailureCodeEnum;\n    /**\n     * Why the job failed\n     */\n    failureReason?: string;\n    /**\n     * The ID of the property\n     */\n    propertyId: string;\n    /**\n     * Date and time when the operation has been executed<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    created: Date;\n    /**\n     * The ID of the user that triggered this event\n     */\n    subjectId?: string;\n}\nexport namespace AccountingConfigUpdateLogItemModel {\n    export type StatusEnum = 'InProgress' | 'Success' | 'Failure';\n    export const StatusEnumValues = Object.freeze(\n        ['InProgress', 'Success', 'Failure'] as StatusEnum[]);\n    export type FailureCodeEnum = 'NotSpecified' | 'Other';\n    export const FailureCodeEnumValues = Object.freeze(\n        ['NotSpecified', 'Other'] as FailureCodeEnum[]);\n}\n\nexport namespace AccountingConfigUpdateLogItemModel {\n    export const $metaData: ClassMetaData<AccountingConfigUpdateLogItemModel> = { \n        ended: Object.freeze({ \n            isRequired: true,\n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        status: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: StatusEnumValues,\n            isPrimitiveType: true,\n        }),\n        failureCode: Object.freeze({ \n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: FailureCodeEnumValues,\n            isPrimitiveType: true,\n        }),\n        failureReason: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        propertyId: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        created: Object.freeze({ \n            isRequired: true,\n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        subjectId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface AmountModel { \n    grossAmount: number;\n    netAmount: number;\n    vatType: AmountModel.VatTypeEnum;\n    vatPercent: number;\n    currency: string;\n}\nexport namespace AmountModel {\n    export type VatTypeEnum = 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed';\n    export const VatTypeEnumValues = Object.freeze(\n        ['Null', 'VeryReduced', 'Reduced', 'Normal', 'Without', 'Special', 'ReducedCovid19', 'NormalCovid19', 'Mixed'] as VatTypeEnum[]);\n}\n\nexport namespace AmountModel {\n    export const $metaData: ClassMetaData<AmountModel> = { \n        grossAmount: Object.freeze({ \n            isRequired: true,\n            type: 'number',\n            isPrimitiveType: true,\n        }),\n        netAmount: Object.freeze({ \n            isRequired: true,\n            type: 'number',\n            isPrimitiveType: true,\n        }),\n        vatType: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: VatTypeEnumValues,\n            isPrimitiveType: true,\n        }),\n        vatPercent: Object.freeze({ \n            isRequired: true,\n            type: 'number',\n            isPrimitiveType: true,\n        }),\n        currency: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ExternalReferencesChangeModel { \n    /**\n     * The ID of the global distribution system.\n     */\n    globalDistributionSystemId?: string;\n    /**\n     * The ID of the online travel agency.\n     */\n    onlineTravelAgencyId?: string;\n    /**\n     * The ID of the online booking tool.\n     */\n    onlineBookingToolId?: string;\n    /**\n     * The ID of the channel manager.\n     */\n    channelManagerId?: string;\n    /**\n     * The Central Reservation System Identifier\n     */\n    centralReservationSystemId?: string;\n}\n\nexport namespace ExternalReferencesChangeModel {\n    export const $metaData: ClassMetaData<ExternalReferencesChangeModel> = { \n        globalDistributionSystemId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        onlineTravelAgencyId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        onlineBookingToolId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        channelManagerId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        centralReservationSystemId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface MonetaryValueModel { \n    amount: number;\n    currency: string;\n}\n\nexport namespace MonetaryValueModel {\n    export const $metaData: ClassMetaData<MonetaryValueModel> = { \n        amount: Object.freeze({ \n            isRequired: true,\n            type: 'number',\n            isPrimitiveType: true,\n        }),\n        currency: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { MonetaryValueModel } from './monetaryValueModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface FolioChangeLogItemModel { \n    /**\n     * The ID of the folio\n     */\n    folioId: string;\n    /**\n     * The type of the operation\n     */\n    eventType: FolioChangeLogItemModel.EventTypeEnum;\n    /**\n     * The ID of related entity, if there is any (e.g. the ID of the charge posted)\n     */\n    relatedEntityId?: string;\n    /**\n     * The description of related entity, if there is any (e.g. the name of the charge posted or the payment method)\n     */\n    relatedEntityDescription?: string;\n    amount?: MonetaryValueModel;\n    /**\n     * The ID of the client that triggered this event\n     */\n    clientId: string;\n    /**\n     * The date the service is expected to be provided\n     */\n    serviceDate?: string;\n    /**\n     * The ID of the property\n     */\n    propertyId: string;\n    /**\n     * Date and time when the operation has been executed<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    created: Date;\n    /**\n     * The ID of the user that triggered this event\n     */\n    subjectId?: string;\n}\nexport namespace FolioChangeLogItemModel {\n    export type EventTypeEnum = 'Created' | 'ChargePosted' | 'TransitoryChargePosted' | 'AllowancePosted' | 'PaymentPosted' | 'ChargeMovedFromFolio' | 'TransitoryChargeMovedFromFolio' | 'PaymentMovedFromFolio' | 'ChargeMovedToFolio' | 'TransitoryChargeMovedToFolio' | 'PaymentMovedToFolio' | 'Closed' | 'Reopened' | 'Deleted' | 'DebitorChanged' | 'AllowanceMovedFromFolio' | 'AllowanceMovedToFolio' | 'RefundPosted' | 'RefundMovedFromFolio' | 'RefundMovedToFolio' | 'InvoiceCreated' | 'InvoiceCanceled' | 'InvoicePaid' | 'ChargesChanged' | 'PaymentAdded' | 'PaymentFailed' | 'PaymentCanceled' | 'RefundAdded' | 'RefundFailed' | 'InvoiceWrittenOff' | 'DepositItemAdded' | 'DepositItemChanged' | 'DepositItemDeleted';\n    export const EventTypeEnumValues = Object.freeze(\n        ['Created', 'ChargePosted', 'TransitoryChargePosted', 'AllowancePosted', 'PaymentPosted', 'ChargeMovedFromFolio', 'TransitoryChargeMovedFromFolio', 'PaymentMovedFromFolio', 'ChargeMovedToFolio', 'TransitoryChargeMovedToFolio', 'PaymentMovedToFolio', 'Closed', 'Reopened', 'Deleted', 'DebitorChanged', 'AllowanceMovedFromFolio', 'AllowanceMovedToFolio', 'RefundPosted', 'RefundMovedFromFolio', 'RefundMovedToFolio', 'InvoiceCreated', 'InvoiceCanceled', 'InvoicePaid', 'ChargesChanged', 'PaymentAdded', 'PaymentFailed', 'PaymentCanceled', 'RefundAdded', 'RefundFailed', 'InvoiceWrittenOff', 'DepositItemAdded', 'DepositItemChanged', 'DepositItemDeleted'] as EventTypeEnum[]);\n}\n\nexport namespace FolioChangeLogItemModel {\n    export const $metaData: ClassMetaData<FolioChangeLogItemModel> = { \n        folioId: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        eventType: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: EventTypeEnumValues,\n            isPrimitiveType: true,\n        }),\n        relatedEntityId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        relatedEntityDescription: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        amount: Object.freeze({ \n            type: 'MonetaryValueModel',\n            metaData: MonetaryValueModel.$metaData\n        }),\n        clientId: Object.freeze({ \n            isRequired: true,\n            minLength: 1,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        serviceDate: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        propertyId: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        created: Object.freeze({ \n            isRequired: true,\n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        subjectId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { FolioChangeLogItemModel } from './folioChangeLogItemModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface FolioChangeLogListModel { \n    /**\n     * List of the log entries.\n     */\n    logEntries: Array<FolioChangeLogItemModel>;\n    /**\n     * Total count of items\n     */\n    count: number;\n}\n\nexport namespace FolioChangeLogListModel {\n    export const $metaData: ClassMetaData<FolioChangeLogListModel> = { \n        logEntries: Object.freeze({ \n            isRequired: true,\n            type: 'Array<FolioChangeLogItemModel>',\n            isListContainer: true,\n        }),\n        count: Object.freeze({ \n            isRequired: true,\n            type: 'number',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface LogEntryItemModel { \n    /**\n     * The id of the log entry\n     */\n    id?: string;\n    /**\n     * The log entry timestamp<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    timestamp?: Date;\n    /**\n     * The client initiated the logged action\n     */\n    clientId?: string;\n    /**\n     * The subject (user) initiated the logged action\n     */\n    subjectId?: string;\n    /**\n     * The logged action type\n     */\n    actionType?: LogEntryItemModel.ActionTypeEnum;\n    /**\n     * The entity property\n     */\n    propertyId?: string;\n    /**\n     * The type of entity being tracked as a group.  Example: If a unit maintenance is created, the AggregateType would be Unit.\n     */\n    aggregateType?: string;\n    /**\n     * A unique identifier for a group of related changes.  Use this to track multiple changes that belong to the same context or process.  Example: If a unit maintenance is created, the AggregateId would be the unique ID of that unit.\n     */\n    aggregateId?: string;\n    /**\n     * The type of the specific object that was changed.  Example: If a unit maintenance is created, the EntityType would be Maintenance.\n     */\n    entityType?: string;\n    /**\n     * A unique identifier for the specific object that was changed.  Use this to track which exact item was updated within a group of changes.  Example: If a unit maintenance is created, the EntityId would be the unique ID of that maintenance.\n     */\n    entityId?: string;\n    /**\n     * The entity data before change\n     */\n    previousData?: { [key: string]: any; };\n    /**\n     * The new entity data after change\n     */\n    currentData?: { [key: string]: any; };\n}\nexport namespace LogEntryItemModel {\n    export type ActionTypeEnum = 'Created' | 'Updated' | 'Deleted';\n    export const ActionTypeEnumValues = Object.freeze(\n        ['Created', 'Updated', 'Deleted'] as ActionTypeEnum[]);\n}\n\nexport namespace LogEntryItemModel {\n    export const $metaData: ClassMetaData<LogEntryItemModel> = { \n        id: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        timestamp: Object.freeze({ \n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        clientId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        subjectId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        actionType: Object.freeze({ \n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: ActionTypeEnumValues,\n            isPrimitiveType: true,\n        }),\n        propertyId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        aggregateType: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        aggregateId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        entityType: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        entityId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        previousData: Object.freeze({ \n            type: '{ [key: string]: any; }',\n            isPrimitiveType: true,\n            isMapContainer: true,\n        }),\n        currentData: Object.freeze({ \n            type: '{ [key: string]: any; }',\n            isPrimitiveType: true,\n            isMapContainer: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { LogEntryItemModel } from './logEntryItemModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface LogEntryListModel { \n    /**\n     * List of log entries\n     */\n    logs: Array<LogEntryItemModel>;\n    /**\n     * Cursor to the next page\n     */\n    nextCursor?: string;\n    /**\n     * Size of the current page\n     */\n    pageSize: number;\n}\n\nexport namespace LogEntryListModel {\n    export const $metaData: ClassMetaData<LogEntryListModel> = { \n        logs: Object.freeze({ \n            isRequired: true,\n            type: 'Array<LogEntryItemModel>',\n            isListContainer: true,\n        }),\n        nextCursor: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        pageSize: Object.freeze({ \n            isRequired: true,\n            type: 'number',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface MessageItemCollection { \n    readonly messages?: Array<string>;\n}\n\nexport namespace MessageItemCollection {\n    export const $metaData: ClassMetaData<MessageItemCollection> = { \n        messages: Object.freeze({ \n            type: 'Array<string>',\n            isPrimitiveType: true,\n            isListContainer: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface NightAuditLogItemModel { \n    /**\n     * Date and time when the night audit ended<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    ended: Date;\n    /**\n     * Night audit settings - whether reservations were set to no-show\n     */\n    setReservationsToNoShow: boolean;\n    /**\n     * The status of the night audit\n     */\n    status: NightAuditLogItemModel.StatusEnum;\n    /**\n     * Failure code of the night audit\n     */\n    failureCode?: NightAuditLogItemModel.FailureCodeEnum;\n    /**\n     * Why the night audit failed\n     */\n    failureReason?: string;\n    /**\n     * List of reservations that were set to no-show\n     */\n    reservationIdsSetToNoShow?: Array<string>;\n    /**\n     * The ID of the property\n     */\n    propertyId: string;\n    /**\n     * Date and time when the operation has been executed<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    created: Date;\n    /**\n     * The ID of the user that triggered this event\n     */\n    subjectId?: string;\n}\nexport namespace NightAuditLogItemModel {\n    export type StatusEnum = 'InProgress' | 'Success' | 'Failure';\n    export const StatusEnumValues = Object.freeze(\n        ['InProgress', 'Success', 'Failure'] as StatusEnum[]);\n    export type FailureCodeEnum = 'None' | 'ProcessNoShowsFailed' | 'ProcessFoliosFailed' | 'ProcessOccupiedUnitsFailed' | 'Unknown';\n    export const FailureCodeEnumValues = Object.freeze(\n        ['None', 'ProcessNoShowsFailed', 'ProcessFoliosFailed', 'ProcessOccupiedUnitsFailed', 'Unknown'] as FailureCodeEnum[]);\n}\n\nexport namespace NightAuditLogItemModel {\n    export const $metaData: ClassMetaData<NightAuditLogItemModel> = { \n        ended: Object.freeze({ \n            isRequired: true,\n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        setReservationsToNoShow: Object.freeze({ \n            isRequired: true,\n            type: 'boolean',\n            isPrimitiveType: true,\n        }),\n        status: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: StatusEnumValues,\n            isPrimitiveType: true,\n        }),\n        failureCode: Object.freeze({ \n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: FailureCodeEnumValues,\n            isPrimitiveType: true,\n        }),\n        failureReason: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        reservationIdsSetToNoShow: Object.freeze({ \n            type: 'Array<string>',\n            isPrimitiveType: true,\n            isListContainer: true,\n        }),\n        propertyId: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        created: Object.freeze({ \n            isRequired: true,\n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        subjectId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { NightAuditLogItemModel } from './nightAuditLogItemModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface NightAuditLogListModel { \n    /**\n     * List of the log entries.\n     */\n    logEntries: Array<NightAuditLogItemModel>;\n    /**\n     * Total count of items\n     */\n    count: number;\n}\n\nexport namespace NightAuditLogListModel {\n    export const $metaData: ClassMetaData<NightAuditLogListModel> = { \n        logEntries: Object.freeze({ \n            isRequired: true,\n            type: 'Array<NightAuditLogItemModel>',\n            isListContainer: true,\n        }),\n        count: Object.freeze({ \n            isRequired: true,\n            type: 'number',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { MonetaryValueModel } from './monetaryValueModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationCancellationFeeChangeModel { \n    /**\n     * The date and time the cancellation fee will be due. After that time this fee will  be charged in case of cancellation<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    dueDateTime?: Date;\n    fee?: MonetaryValueModel;\n}\n\nexport namespace ReservationCancellationFeeChangeModel {\n    export const $metaData: ClassMetaData<ReservationCancellationFeeChangeModel> = { \n        dueDateTime: Object.freeze({ \n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        fee: Object.freeze({ \n            type: 'MonetaryValueModel',\n            metaData: MonetaryValueModel.$metaData\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationPaymentAccountChangeModel { \n    /**\n     * The account number (e.g. masked credit card number or last 4 digits)\n     */\n    accountNumber?: string;\n    /**\n     * The account holder (e.g. card holder)\n     */\n    accountHolder?: string;\n    /**\n     * The credit card's expiration month\n     */\n    expiryMonth?: string;\n    /**\n     * The credit card's expiration year\n     */\n    expiryYear?: string;\n    /**\n     * The payment method (e.g. visa)\n     */\n    paymentMethod?: string;\n    /**\n     * The email address of the shopper / customer\n     */\n    payerEmail?: string;\n    /**\n     * Indicates if the payment account is a virtual credit card\n     */\n    isVirtual?: boolean;\n    /**\n     * Indicates if the payment account can be used for capturing payments. A payment account is active, when it has a valid payer reference set\n     */\n    isActive?: boolean;\n}\n\nexport namespace ReservationPaymentAccountChangeModel {\n    export const $metaData: ClassMetaData<ReservationPaymentAccountChangeModel> = { \n        accountNumber: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        accountHolder: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        expiryMonth: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        expiryYear: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        paymentMethod: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        payerEmail: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        isVirtual: Object.freeze({ \n            type: 'boolean',\n            isPrimitiveType: true,\n        }),\n        isActive: Object.freeze({ \n            type: 'boolean',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationAddressChangeModel { \n    addressLine1?: string;\n    addressLine2?: string;\n    postalCode?: string;\n    city?: string;\n    regionCode?: string;\n    countryCode?: string;\n}\n\nexport namespace ReservationAddressChangeModel {\n    export const $metaData: ClassMetaData<ReservationAddressChangeModel> = { \n        addressLine1: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        addressLine2: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        postalCode: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        city: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        regionCode: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        countryCode: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationCompanyChangeModel { \n    /**\n     * Name of the company\n     */\n    name?: string;\n    /**\n     * Tax or Vat ID of the company\n     */\n    taxId?: string;\n}\n\nexport namespace ReservationCompanyChangeModel {\n    export const $metaData: ClassMetaData<ReservationCompanyChangeModel> = { \n        name: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        taxId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationVehicleRegistrationChangeModel { \n    number?: string;\n    countryCode?: string;\n}\n\nexport namespace ReservationVehicleRegistrationChangeModel {\n    export const $metaData: ClassMetaData<ReservationVehicleRegistrationChangeModel> = { \n        number: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        countryCode: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { ReservationAddressChangeModel } from './reservationAddressChangeModel';\nimport { ReservationCompanyChangeModel } from './reservationCompanyChangeModel';\nimport { ReservationVehicleRegistrationChangeModel } from './reservationVehicleRegistrationChangeModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationPersonChangeModel { \n    /**\n     * Title of the guest\n     */\n    title?: ReservationPersonChangeModel.TitleEnum;\n    /**\n     * Gender of the booker\n     */\n    gender?: ReservationPersonChangeModel.GenderEnum;\n    /**\n     * First name of the guest\n     */\n    firstName?: string;\n    /**\n     * Middle initial of the guest\n     */\n    middleInitial?: string;\n    /**\n     * Last name of the guest\n     */\n    lastName?: string;\n    /**\n     * Second last name of the guest\n     */\n    secondLastName?: string;\n    /**\n     * Email address of the guest\n     */\n    email?: string;\n    /**\n     * Phone number of the guest\n     */\n    phone?: string;\n    address?: ReservationAddressChangeModel;\n    /**\n     * The guest's nationality, in ISO 3166-1 alpha-2 code\n     */\n    nationalityCountryCode?: string;\n    /**\n     * The guest's identification number for the given identificationType.\n     */\n    identificationNumber?: string;\n    /**\n     * The guest's additional identification number for the given identificationType.\n     */\n    identificationAdditionalNumber?: string;\n    /**\n     * The issue date of the guest's identification document.\n     */\n    identificationIssueDate?: string;\n    /**\n     * The expiry date of the guest's identification document.\n     */\n    identificationExpiryDate?: string;\n    /**\n     * The issue place of the guest's identification document.\n     */\n    identificationIssuePlace?: string;\n    /**\n     * The type of the identificationNumber\n     */\n    identificationType?: ReservationPersonChangeModel.IdentificationTypeEnum;\n    /**\n     * The personal tax id of the guest\n     */\n    personalTaxId?: string;\n    /**\n     * Two-letter code (ISO Alpha-2) of a language preferred for contact\n     */\n    preferredLanguage?: string;\n    /**\n     * Guest's birthdate\n     */\n    birthDate?: string;\n    /**\n     * Guest's place of birth\n     */\n    birthPlace?: string;\n    /**\n     * Guest's first name right after birth\n     */\n    birthFirstName?: string;\n    /**\n     * Guest's last name right after birth\n     */\n    birthLastName?: string;\n    /**\n     * Guest's mother's first name\n     */\n    motherFirstName?: string;\n    /**\n     * Guest's mother's last name\n     */\n    motherLastName?: string;\n    /**\n     * The place through which the guest crossed the border\n     */\n    borderCrossingPlace?: string;\n    /**\n     * Date on which the guest crossed the border\n     */\n    borderCrossingDate?: string;\n    company?: ReservationCompanyChangeModel;\n    /**\n     * The relationship of the guest to the primary guest\n     */\n    relationshipToPrimaryGuest?: ReservationPersonChangeModel.RelationshipToPrimaryGuestEnum;\n    vehicleRegistration?: ReservationVehicleRegistrationChangeModel;\n}\nexport namespace ReservationPersonChangeModel {\n    export type TitleEnum = 'Mr' | 'Ms' | 'Dr' | 'Prof' | 'Mrs' | 'Other';\n    export const TitleEnumValues = Object.freeze(\n        ['Mr', 'Ms', 'Dr', 'Prof', 'Mrs', 'Other'] as TitleEnum[]);\n    export type GenderEnum = 'Female' | 'Male' | 'Other' | 'Unknown';\n    export const GenderEnumValues = Object.freeze(\n        ['Female', 'Male', 'Other', 'Unknown'] as GenderEnum[]);\n    export type IdentificationTypeEnum = 'SocialInsuranceNumber' | 'PassportNumber' | 'IdNumber' | 'DriverLicenseNumber' | 'VisaNumber' | 'ForeignerIdentityNumber' | 'TaxIdentificationNumber' | 'Other';\n    export const IdentificationTypeEnumValues = Object.freeze(\n        ['SocialInsuranceNumber', 'PassportNumber', 'IdNumber', 'DriverLicenseNumber', 'VisaNumber', 'ForeignerIdentityNumber', 'TaxIdentificationNumber', 'Other'] as IdentificationTypeEnum[]);\n    export type RelationshipToPrimaryGuestEnum = 'Grandparent' | 'Grandchild' | 'GreatGrandparent' | 'GreatGrandchild' | 'Parent' | 'Child' | 'Sibling' | 'ParentInLaw' | 'ChildInLaw' | 'SiblingInLaw' | 'Spouse' | 'UncleOrAunt' | 'NephewOrNiece' | 'Guardian' | 'Other';\n    export const RelationshipToPrimaryGuestEnumValues = Object.freeze(\n        ['Grandparent', 'Grandchild', 'GreatGrandparent', 'GreatGrandchild', 'Parent', 'Child', 'Sibling', 'ParentInLaw', 'ChildInLaw', 'SiblingInLaw', 'Spouse', 'UncleOrAunt', 'NephewOrNiece', 'Guardian', 'Other'] as RelationshipToPrimaryGuestEnum[]);\n}\n\nexport namespace ReservationPersonChangeModel {\n    export const $metaData: ClassMetaData<ReservationPersonChangeModel> = { \n        title: Object.freeze({ \n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: TitleEnumValues,\n            isPrimitiveType: true,\n        }),\n        gender: Object.freeze({ \n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: GenderEnumValues,\n            isPrimitiveType: true,\n        }),\n        firstName: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        middleInitial: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        lastName: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        secondLastName: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        email: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        phone: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        address: Object.freeze({ \n            type: 'ReservationAddressChangeModel',\n            metaData: ReservationAddressChangeModel.$metaData\n        }),\n        nationalityCountryCode: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        identificationNumber: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        identificationAdditionalNumber: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        identificationIssueDate: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        identificationExpiryDate: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        identificationIssuePlace: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        identificationType: Object.freeze({ \n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: IdentificationTypeEnumValues,\n            isPrimitiveType: true,\n        }),\n        personalTaxId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        preferredLanguage: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        birthDate: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        birthPlace: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        birthFirstName: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        birthLastName: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        motherFirstName: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        motherLastName: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        borderCrossingPlace: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        borderCrossingDate: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        company: Object.freeze({ \n            type: 'ReservationCompanyChangeModel',\n            metaData: ReservationCompanyChangeModel.$metaData\n        }),\n        relationshipToPrimaryGuest: Object.freeze({ \n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: RelationshipToPrimaryGuestEnumValues,\n            isPrimitiveType: true,\n        }),\n        vehicleRegistration: Object.freeze({ \n            type: 'ReservationVehicleRegistrationChangeModel',\n            metaData: ReservationVehicleRegistrationChangeModel.$metaData\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { ExternalReferencesChangeModel } from './externalReferencesChangeModel';\nimport { MonetaryValueModel } from './monetaryValueModel';\nimport { ReservationCancellationFeeChangeModel } from './reservationCancellationFeeChangeModel';\nimport { ReservationPaymentAccountChangeModel } from './reservationPaymentAccountChangeModel';\nimport { ReservationPersonChangeModel } from './reservationPersonChangeModel';\nimport { ReservationServiceChangeModel } from './reservationServiceChangeModel';\nimport { ReservationTimeSliceChangeModel } from './reservationTimeSliceChangeModel';\nimport { ReservationValidationMessageChangeModel } from './reservationValidationMessageChangeModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationAddedChangeModel { \n    externalReferences?: ExternalReferencesChangeModel;\n    /**\n     * Indicates whether the reservation is marked as open-for-charges or not.\n     */\n    isOpenForCharges?: boolean;\n    /**\n     * Date of arrival<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    arrival: Date;\n    /**\n     * Date of departure<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    departure: Date;\n    /**\n     * Status of the reservation\n     */\n    status: ReservationAddedChangeModel.StatusEnum;\n    /**\n     * Block id\n     */\n    blockId?: string;\n    totalGrossAmount: MonetaryValueModel;\n    /**\n     * Number of adults\n     */\n    adults: number;\n    /**\n     * Additional information and comments\n     */\n    comment?: string;\n    /**\n     * Additional information and comment by the guest\n     */\n    guestComment?: string;\n    /**\n     * Code in external system\n     */\n    externalCode?: string;\n    /**\n     * Channel code\n     */\n    channelCode: ReservationAddedChangeModel.ChannelCodeEnum;\n    /**\n     * Source of the reservation (e.g Hotels.com, Orbitz, etc.)\n     */\n    source?: string;\n    primaryGuest?: ReservationPersonChangeModel;\n    /**\n     * The ages of the children\n     */\n    childrenAges?: Array<number>;\n    /**\n     * Additional guests of the reservation.\n     */\n    additionalGuests?: Array<ReservationPersonChangeModel>;\n    paymentAccount?: ReservationPaymentAccountChangeModel;\n    /**\n     * The list of time slices\n     */\n    timeSlices: Array<ReservationTimeSliceChangeModel>;\n    /**\n     * The list of additional services (extras, add-ons) reserved for the stay\n     */\n    extraServices?: Array<ReservationServiceChangeModel>;\n    /**\n     * The strongest guarantee for the rate plans booked in this reservation\n     */\n    guaranteeType: ReservationAddedChangeModel.GuaranteeTypeEnum;\n    cancellationFee: ReservationCancellationFeeChangeModel;\n    noShowFee: MonetaryValueModel;\n    /**\n     * The purpose of the trip, leisure or business\n     */\n    travelPurpose?: ReservationAddedChangeModel.TravelPurposeEnum;\n    prePaymentAmount?: MonetaryValueModel;\n    /**\n     * The list of validation messages\n     */\n    validationMessages?: Array<ReservationValidationMessageChangeModel>;\n    /**\n     * Company id for this reservation\n     */\n    companyId?: string;\n    /**\n     * Whether the city tax has already been added to the reservation. Set to false, if the property does not have city tax configured\n     */\n    hasCityTax: boolean;\n    /**\n     * Market segment id for this reservation\n     */\n    marketSegmentId?: string;\n}\nexport namespace ReservationAddedChangeModel {\n    export type StatusEnum = 'Confirmed' | 'InHouse' | 'CheckedOut' | 'Canceled' | 'NoShow';\n    export const StatusEnumValues = Object.freeze(\n        ['Confirmed', 'InHouse', 'CheckedOut', 'Canceled', 'NoShow'] as StatusEnum[]);\n    export type ChannelCodeEnum = 'Direct' | 'BookingCom' | 'Ibe' | 'ChannelManager' | 'Expedia' | 'Homelike' | 'Hrs' | 'AltoVita' | 'DesVu';\n    export const ChannelCodeEnumValues = Object.freeze(\n        ['Direct', 'BookingCom', 'Ibe', 'ChannelManager', 'Expedia', 'Homelike', 'Hrs', 'AltoVita', 'DesVu'] as ChannelCodeEnum[]);\n    export type GuaranteeTypeEnum = 'PM6Hold' | 'CreditCard' | 'Prepayment' | 'Company' | 'Ota';\n    export const GuaranteeTypeEnumValues = Object.freeze(\n        ['PM6Hold', 'CreditCard', 'Prepayment', 'Company', 'Ota'] as GuaranteeTypeEnum[]);\n    export type TravelPurposeEnum = 'Business' | 'Leisure';\n    export const TravelPurposeEnumValues = Object.freeze(\n        ['Business', 'Leisure'] as TravelPurposeEnum[]);\n}\n\nexport namespace ReservationAddedChangeModel {\n    export const $metaData: ClassMetaData<ReservationAddedChangeModel> = { \n        externalReferences: Object.freeze({ \n            type: 'ExternalReferencesChangeModel',\n            metaData: ExternalReferencesChangeModel.$metaData\n        }),\n        isOpenForCharges: Object.freeze({ \n            type: 'boolean',\n            isPrimitiveType: true,\n        }),\n        arrival: Object.freeze({ \n            isRequired: true,\n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        departure: Object.freeze({ \n            isRequired: true,\n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        status: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: StatusEnumValues,\n            isPrimitiveType: true,\n        }),\n        blockId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        totalGrossAmount: Object.freeze({ \n            isRequired: true,\n            type: 'MonetaryValueModel',\n            metaData: MonetaryValueModel.$metaData\n        }),\n        adults: Object.freeze({ \n            isRequired: true,\n            type: 'number',\n            isPrimitiveType: true,\n        }),\n        comment: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        guestComment: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        externalCode: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        channelCode: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: ChannelCodeEnumValues,\n            isPrimitiveType: true,\n        }),\n        source: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        primaryGuest: Object.freeze({ \n            type: 'ReservationPersonChangeModel',\n            metaData: ReservationPersonChangeModel.$metaData\n        }),\n        childrenAges: Object.freeze({ \n            type: 'Array<number>',\n            isPrimitiveType: true,\n            isListContainer: true,\n        }),\n        additionalGuests: Object.freeze({ \n            type: 'Array<ReservationPersonChangeModel>',\n            isListContainer: true,\n        }),\n        paymentAccount: Object.freeze({ \n            type: 'ReservationPaymentAccountChangeModel',\n            metaData: ReservationPaymentAccountChangeModel.$metaData\n        }),\n        timeSlices: Object.freeze({ \n            isRequired: true,\n            type: 'Array<ReservationTimeSliceChangeModel>',\n            isListContainer: true,\n        }),\n        extraServices: Object.freeze({ \n            type: 'Array<ReservationServiceChangeModel>',\n            isListContainer: true,\n        }),\n        guaranteeType: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: GuaranteeTypeEnumValues,\n            isPrimitiveType: true,\n        }),\n        cancellationFee: Object.freeze({ \n            isRequired: true,\n            type: 'ReservationCancellationFeeChangeModel',\n            metaData: ReservationCancellationFeeChangeModel.$metaData\n        }),\n        noShowFee: Object.freeze({ \n            isRequired: true,\n            type: 'MonetaryValueModel',\n            metaData: MonetaryValueModel.$metaData\n        }),\n        travelPurpose: Object.freeze({ \n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: TravelPurposeEnumValues,\n            isPrimitiveType: true,\n        }),\n        prePaymentAmount: Object.freeze({ \n            type: 'MonetaryValueModel',\n            metaData: MonetaryValueModel.$metaData\n        }),\n        validationMessages: Object.freeze({ \n            type: 'Array<ReservationValidationMessageChangeModel>',\n            isListContainer: true,\n        }),\n        companyId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        hasCityTax: Object.freeze({ \n            isRequired: true,\n            type: 'boolean',\n            isPrimitiveType: true,\n        }),\n        marketSegmentId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { ReservationChangeModel } from './reservationChangeModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationChangeLogItemModel { \n    /**\n     * The ID of the reservation\n     */\n    reservationId: string;\n    /**\n     * The type of the operation\n     */\n    eventType: ReservationChangeLogItemModel.EventTypeEnum;\n    /**\n     * The list of changes\n     */\n    changes?: Array<ReservationChangeModel>;\n    /**\n     * The ID of the client that triggered this event\n     */\n    clientId: string;\n    /**\n     * The ID of the property\n     */\n    propertyId: string;\n    /**\n     * Date and time when the operation has been executed<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    created: Date;\n    /**\n     * The ID of the user that triggered this event\n     */\n    subjectId?: string;\n}\nexport namespace ReservationChangeLogItemModel {\n    export type EventTypeEnum = 'Created' | 'Amended' | 'CheckedIn' | 'CheckedOut' | 'Canceled' | 'SetToNoShow' | 'CityTaxAdded' | 'CityTaxRemoved' | 'UnitAssigned' | 'UnitUnassigned' | 'PaymentAccountSet' | 'PaymentAccountRemoved' | 'InvoiceStatusChanged' | 'Changed' | 'CheckInReverted' | 'UnitLocked' | 'UnitUnlocked' | 'PickedUpFromBlock';\n    export const EventTypeEnumValues = Object.freeze(\n        ['Created', 'Amended', 'CheckedIn', 'CheckedOut', 'Canceled', 'SetToNoShow', 'CityTaxAdded', 'CityTaxRemoved', 'UnitAssigned', 'UnitUnassigned', 'PaymentAccountSet', 'PaymentAccountRemoved', 'InvoiceStatusChanged', 'Changed', 'CheckInReverted', 'UnitLocked', 'UnitUnlocked', 'PickedUpFromBlock'] as EventTypeEnum[]);\n}\n\nexport namespace ReservationChangeLogItemModel {\n    export const $metaData: ClassMetaData<ReservationChangeLogItemModel> = { \n        reservationId: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        eventType: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: EventTypeEnumValues,\n            isPrimitiveType: true,\n        }),\n        changes: Object.freeze({ \n            type: 'Array<ReservationChangeModel>',\n            isListContainer: true,\n        }),\n        clientId: Object.freeze({ \n            isRequired: true,\n            minLength: 1,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        propertyId: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        created: Object.freeze({ \n            isRequired: true,\n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        subjectId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { ReservationChangeLogItemModel } from './reservationChangeLogItemModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationChangeLogListModel { \n    /**\n     * List of the log entries.\n     */\n    logEntries: Array<ReservationChangeLogItemModel>;\n    /**\n     * Total count of items\n     */\n    count: number;\n}\n\nexport namespace ReservationChangeLogListModel {\n    export const $metaData: ClassMetaData<ReservationChangeLogListModel> = { \n        logEntries: Object.freeze({ \n            isRequired: true,\n            type: 'Array<ReservationChangeLogItemModel>',\n            isListContainer: true,\n        }),\n        count: Object.freeze({ \n            isRequired: true,\n            type: 'number',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { ExternalReferencesChangeModel } from './externalReferencesChangeModel';\nimport { MonetaryValueModel } from './monetaryValueModel';\nimport { ReservationCancellationFeeChangeModel } from './reservationCancellationFeeChangeModel';\nimport { ReservationPaymentAccountChangeModel } from './reservationPaymentAccountChangeModel';\nimport { ReservationPersonChangeModel } from './reservationPersonChangeModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationChangedChangeModel { \n    /**\n     * Indicates whether the reservation is marked as open-for-charges or not.\n     */\n    isOpenForCharges?: boolean;\n    /**\n     * Indicates whether the reservation is marked as pre-checked-in or not.\n     */\n    isPreCheckedIn?: boolean;\n    externalReferences?: ExternalReferencesChangeModel;\n    /**\n     * Date of arrival<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    arrival?: Date;\n    /**\n     * Date of departure<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    departure?: Date;\n    /**\n     * Number of adults\n     */\n    adults?: number;\n    /**\n     * Value of ages of the children\n     */\n    childrenAges?: Array<number>;\n    /**\n     * Comment\n     */\n    comment?: string;\n    /**\n     * Guest comment\n     */\n    guestComment?: string;\n    totalGrossAmount?: MonetaryValueModel;\n    primaryGuest?: ReservationPersonChangeModel;\n    paymentAccount?: ReservationPaymentAccountChangeModel;\n    /**\n     * Guarantee type\n     */\n    guaranteeType?: ReservationChangedChangeModel.GuaranteeTypeEnum;\n    /**\n     * Travel purpose\n     */\n    travelPurpose?: ReservationChangedChangeModel.TravelPurposeEnum;\n    /**\n     * Company id for this reservation\n     */\n    companyId?: string;\n    noShowFee?: MonetaryValueModel;\n    cancellationFee?: ReservationCancellationFeeChangeModel;\n    commissionAmount?: MonetaryValueModel;\n    /**\n     * Whether the city tax has already been added to the reservation\n     */\n    hasCityTax?: boolean;\n    /**\n     * Market segment id for this reservation\n     */\n    marketSegmentId?: string;\n}\nexport namespace ReservationChangedChangeModel {\n    export type GuaranteeTypeEnum = 'PM6Hold' | 'CreditCard' | 'Prepayment' | 'Company' | 'Ota';\n    export const GuaranteeTypeEnumValues = Object.freeze(\n        ['PM6Hold', 'CreditCard', 'Prepayment', 'Company', 'Ota'] as GuaranteeTypeEnum[]);\n    export type TravelPurposeEnum = 'Business' | 'Leisure';\n    export const TravelPurposeEnumValues = Object.freeze(\n        ['Business', 'Leisure'] as TravelPurposeEnum[]);\n}\n\nexport namespace ReservationChangedChangeModel {\n    export const $metaData: ClassMetaData<ReservationChangedChangeModel> = { \n        isOpenForCharges: Object.freeze({ \n            type: 'boolean',\n            isPrimitiveType: true,\n        }),\n        isPreCheckedIn: Object.freeze({ \n            type: 'boolean',\n            isPrimitiveType: true,\n        }),\n        externalReferences: Object.freeze({ \n            type: 'ExternalReferencesChangeModel',\n            metaData: ExternalReferencesChangeModel.$metaData\n        }),\n        arrival: Object.freeze({ \n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        departure: Object.freeze({ \n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        adults: Object.freeze({ \n            type: 'number',\n            isPrimitiveType: true,\n        }),\n        childrenAges: Object.freeze({ \n            type: 'Array<number>',\n            isPrimitiveType: true,\n            isListContainer: true,\n        }),\n        comment: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        guestComment: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        totalGrossAmount: Object.freeze({ \n            type: 'MonetaryValueModel',\n            metaData: MonetaryValueModel.$metaData\n        }),\n        primaryGuest: Object.freeze({ \n            type: 'ReservationPersonChangeModel',\n            metaData: ReservationPersonChangeModel.$metaData\n        }),\n        paymentAccount: Object.freeze({ \n            type: 'ReservationPaymentAccountChangeModel',\n            metaData: ReservationPaymentAccountChangeModel.$metaData\n        }),\n        guaranteeType: Object.freeze({ \n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: GuaranteeTypeEnumValues,\n            isPrimitiveType: true,\n        }),\n        travelPurpose: Object.freeze({ \n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: TravelPurposeEnumValues,\n            isPrimitiveType: true,\n        }),\n        companyId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        noShowFee: Object.freeze({ \n            type: 'MonetaryValueModel',\n            metaData: MonetaryValueModel.$metaData\n        }),\n        cancellationFee: Object.freeze({ \n            type: 'ReservationCancellationFeeChangeModel',\n            metaData: ReservationCancellationFeeChangeModel.$metaData\n        }),\n        commissionAmount: Object.freeze({ \n            type: 'MonetaryValueModel',\n            metaData: MonetaryValueModel.$metaData\n        }),\n        hasCityTax: Object.freeze({ \n            type: 'boolean',\n            isPrimitiveType: true,\n        }),\n        marketSegmentId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AmountModel } from './amountModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationServiceChangeModel { \n    /**\n     * The id of the service booked\n     */\n    serviceId: string;\n    /**\n     * The number of services booked for each service date\n     */\n    count?: number;\n    amount?: AmountModel;\n    totalAmount?: AmountModel;\n    /**\n     * The service date\n     */\n    serviceDate: string;\n}\n\nexport namespace ReservationServiceChangeModel {\n    export const $metaData: ClassMetaData<ReservationServiceChangeModel> = { \n        serviceId: Object.freeze({ \n            isRequired: true,\n            minLength: 1,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        count: Object.freeze({ \n            type: 'number',\n            isPrimitiveType: true,\n        }),\n        amount: Object.freeze({ \n            type: 'AmountModel',\n            metaData: AmountModel.$metaData\n        }),\n        totalAmount: Object.freeze({ \n            type: 'AmountModel',\n            metaData: AmountModel.$metaData\n        }),\n        serviceDate: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AmountModel } from './amountModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationTimeSliceChangeModel { \n    /**\n     * The rate plan id for this time slice\n     */\n    ratePlanId?: string;\n    /**\n     * The start date and time for this time slice<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    from: Date;\n    /**\n     * The end date and time for this time slice<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    to: Date;\n    /**\n     * The assigned unit id for this time slice\n     */\n    unitId?: string;\n    amount?: AmountModel;\n}\n\nexport namespace ReservationTimeSliceChangeModel {\n    export const $metaData: ClassMetaData<ReservationTimeSliceChangeModel> = { \n        ratePlanId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        from: Object.freeze({ \n            isRequired: true,\n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        to: Object.freeze({ \n            isRequired: true,\n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        unitId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        amount: Object.freeze({ \n            type: 'AmountModel',\n            metaData: AmountModel.$metaData\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationValidationMessageChangeModel { \n    /**\n     * The message category\n     */\n    category: ReservationValidationMessageChangeModel.CategoryEnum;\n    /**\n     * The message code\n     */\n    code: ReservationValidationMessageChangeModel.CodeEnum;\n    /**\n     * The message description\n     */\n    message: string;\n}\nexport namespace ReservationValidationMessageChangeModel {\n    export type CategoryEnum = 'OfferNotAvailable' | 'AutoUnitAssignment';\n    export const CategoryEnumValues = Object.freeze(\n        ['OfferNotAvailable', 'AutoUnitAssignment'] as CategoryEnum[]);\n    export type CodeEnum = 'UnitGroupFullyBooked' | 'UnitGroupCapacityExceeded' | 'RatePlanRestrictionsViolated' | 'RatePlanSurchargesNotSet' | 'RateRestrictionsViolated' | 'RatePlanChannelNotSet' | 'RatesNotSet' | 'BlockFullyBooked' | 'UnitMoved' | 'IncludedServicesAmountExceededRateAmount' | 'RatePlanCompanyRestrictionsViolated' | 'ServiceFullyBooked';\n    export const CodeEnumValues = Object.freeze(\n        ['UnitGroupFullyBooked', 'UnitGroupCapacityExceeded', 'RatePlanRestrictionsViolated', 'RatePlanSurchargesNotSet', 'RateRestrictionsViolated', 'RatePlanChannelNotSet', 'RatesNotSet', 'BlockFullyBooked', 'UnitMoved', 'IncludedServicesAmountExceededRateAmount', 'RatePlanCompanyRestrictionsViolated', 'ServiceFullyBooked'] as CodeEnum[]);\n}\n\nexport namespace ReservationValidationMessageChangeModel {\n    export const $metaData: ClassMetaData<ReservationValidationMessageChangeModel> = { \n        category: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: CategoryEnumValues,\n            isPrimitiveType: true,\n        }),\n        code: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: CodeEnumValues,\n            isPrimitiveType: true,\n        }),\n        message: Object.freeze({ \n            isRequired: true,\n            minLength: 1,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { ReservationAddedChangeModel } from './reservationAddedChangeModel';\nimport { ReservationChangedChangeModel } from './reservationChangedChangeModel';\nimport { ReservationPersonChangeModel } from './reservationPersonChangeModel';\nimport { ReservationServiceChangeModel } from './reservationServiceChangeModel';\nimport { ReservationTimeSliceChangeModel } from './reservationTimeSliceChangeModel';\nimport { ReservationValidationMessageChangeModel } from './reservationValidationMessageChangeModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface ReservationChangeModel { \n    /**\n     * The type of the change\n     */\n    changeType: ReservationChangeModel.ChangeTypeEnum;\n    reservationAddedValue?: ReservationAddedChangeModel;\n    newReservationChangedValue?: ReservationChangedChangeModel;\n    oldReservationChangedValue?: ReservationChangedChangeModel;\n    newAdditionalGuestValue?: ReservationPersonChangeModel;\n    oldAdditionalGuestValue?: ReservationPersonChangeModel;\n    newTimeSliceValue?: ReservationTimeSliceChangeModel;\n    oldTimeSliceValue?: ReservationTimeSliceChangeModel;\n    newExtraServiceValue?: ReservationServiceChangeModel;\n    oldExtraServiceValue?: ReservationServiceChangeModel;\n    newValidationMessageValue?: ReservationValidationMessageChangeModel;\n    oldValidationMessageValue?: ReservationValidationMessageChangeModel;\n}\nexport namespace ReservationChangeModel {\n    export type ChangeTypeEnum = 'ReservationAdded' | 'ReservationChanged' | 'AdditionalGuestAdded' | 'AdditionalGuestRemoved' | 'AdditionalGuestChanged' | 'TimeSliceAdded' | 'TimeSliceRemoved' | 'TimeSliceChanged' | 'ExtraServiceAdded' | 'ExtraServiceRemoved' | 'ExtraServiceChanged' | 'ValidationMessageAdded' | 'ValidationMessageRemoved';\n    export const ChangeTypeEnumValues = Object.freeze(\n        ['ReservationAdded', 'ReservationChanged', 'AdditionalGuestAdded', 'AdditionalGuestRemoved', 'AdditionalGuestChanged', 'TimeSliceAdded', 'TimeSliceRemoved', 'TimeSliceChanged', 'ExtraServiceAdded', 'ExtraServiceRemoved', 'ExtraServiceChanged', 'ValidationMessageAdded', 'ValidationMessageRemoved'] as ChangeTypeEnum[]);\n}\n\nexport namespace ReservationChangeModel {\n    export const $metaData: ClassMetaData<ReservationChangeModel> = { \n        changeType: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: ChangeTypeEnumValues,\n            isPrimitiveType: true,\n        }),\n        reservationAddedValue: Object.freeze({ \n            type: 'ReservationAddedChangeModel',\n            metaData: ReservationAddedChangeModel.$metaData\n        }),\n        newReservationChangedValue: Object.freeze({ \n            type: 'ReservationChangedChangeModel',\n            metaData: ReservationChangedChangeModel.$metaData\n        }),\n        oldReservationChangedValue: Object.freeze({ \n            type: 'ReservationChangedChangeModel',\n            metaData: ReservationChangedChangeModel.$metaData\n        }),\n        newAdditionalGuestValue: Object.freeze({ \n            type: 'ReservationPersonChangeModel',\n            metaData: ReservationPersonChangeModel.$metaData\n        }),\n        oldAdditionalGuestValue: Object.freeze({ \n            type: 'ReservationPersonChangeModel',\n            metaData: ReservationPersonChangeModel.$metaData\n        }),\n        newTimeSliceValue: Object.freeze({ \n            type: 'ReservationTimeSliceChangeModel',\n            metaData: ReservationTimeSliceChangeModel.$metaData\n        }),\n        oldTimeSliceValue: Object.freeze({ \n            type: 'ReservationTimeSliceChangeModel',\n            metaData: ReservationTimeSliceChangeModel.$metaData\n        }),\n        newExtraServiceValue: Object.freeze({ \n            type: 'ReservationServiceChangeModel',\n            metaData: ReservationServiceChangeModel.$metaData\n        }),\n        oldExtraServiceValue: Object.freeze({ \n            type: 'ReservationServiceChangeModel',\n            metaData: ReservationServiceChangeModel.$metaData\n        }),\n        newValidationMessageValue: Object.freeze({ \n            type: 'ReservationValidationMessageChangeModel',\n            metaData: ReservationValidationMessageChangeModel.$metaData\n        }),\n        oldValidationMessageValue: Object.freeze({ \n            type: 'ReservationValidationMessageChangeModel',\n            metaData: ReservationValidationMessageChangeModel.$metaData\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface TransactionsExportLogItemModel { \n    /**\n     * Export params - period start<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    periodStart: Date;\n    /**\n     * Export params - period end<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    periodEnd: Date;\n    /**\n     * Export params - export type\n     */\n    type: TransactionsExportLogItemModel.TypeEnum;\n    /**\n     * The ID of the property\n     */\n    propertyId: string;\n    /**\n     * Date and time when the operation has been executed<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href=\\\"https://en.wikipedia.org/wiki/ISO_8601\\\">ISO8601:2004</a>\n     */\n    created: Date;\n    /**\n     * The ID of the user that triggered this event\n     */\n    subjectId?: string;\n}\nexport namespace TransactionsExportLogItemModel {\n    export type TypeEnum = 'Raw' | 'Aggregate' | 'AggregatePairs';\n    export const TypeEnumValues = Object.freeze(\n        ['Raw', 'Aggregate', 'AggregatePairs'] as TypeEnum[]);\n}\n\nexport namespace TransactionsExportLogItemModel {\n    export const $metaData: ClassMetaData<TransactionsExportLogItemModel> = { \n        periodStart: Object.freeze({ \n            isRequired: true,\n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        periodEnd: Object.freeze({ \n            isRequired: true,\n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        type: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isEnum: true,\n            allowedEnumValues: TypeEnumValues,\n            isPrimitiveType: true,\n        }),\n        propertyId: Object.freeze({ \n            isRequired: true,\n            type: 'string',\n            isPrimitiveType: true,\n        }),\n        created: Object.freeze({ \n            isRequired: true,\n            type: 'Date',\n            isPrimitiveType: true,\n        }),\n        subjectId: Object.freeze({ \n            type: 'string',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","/**\n * apaleo logs API - not safe for work\n * Continuously evolving version - use at your own risk! Different logs: night audit, transactions export, folio change log\n *\n * OpenAPI spec version: v0-nsfw\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { TransactionsExportLogItemModel } from './transactionsExportLogItemModel';\n\n\nimport { ClassMetaData } from '@apaleo/angular-api-proxy-common';\n\nexport interface TransactionsExportLogListModel { \n    /**\n     * List of the log entries.\n     */\n    logEntries: Array<TransactionsExportLogItemModel>;\n    /**\n     * Total count of items\n     */\n    count: number;\n}\n\nexport namespace TransactionsExportLogListModel {\n    export const $metaData: ClassMetaData<TransactionsExportLogListModel> = { \n        logEntries: Object.freeze({ \n            isRequired: true,\n            type: 'Array<TransactionsExportLogItemModel>',\n            isListContainer: true,\n        }),\n        count: Object.freeze({ \n            isRequired: true,\n            type: 'number',\n            isPrimitiveType: true,\n        }),\n    };\n}\n\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\nimport { AuditLogsService } from './api/auditLogs.service';\nimport { BookingLogsService } from './api/bookingLogs.service';\nimport { FinanceLogsService } from './api/financeLogs.service';\n\n@NgModule({\n  imports:      [],\n  declarations: [],\n  exports:      [],\n  providers: [\n    AuditLogsService,\n    BookingLogsService,\n    FinanceLogsService \n  ]\n})\nexport class ApiModule {\n    public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<ApiModule> {\n        return {\n            ngModule: ApiModule,\n            providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n        };\n    }\n\n    constructor(\n        @Optional() @SkipSelf() parentModule: ApiModule,\n        @Optional() http: HttpClient\n    ) {\n        if (parentModule) {\n            throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\n        }\n        if (!http) {\n            throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n            'See also https://github.com/angular/angular/issues/20575');\n        }\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["append","i2.Configuration"],"mappings":"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"}