import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { CountModel } from '../model/countModel';
import { CreateGroupModel } from '../model/createGroupModel';
import { GroupCreatedModel } from '../model/groupCreatedModel';
import { GroupListModel } from '../model/groupListModel';
import { GroupModel } from '../model/groupModel';
import { Operation } from '../model/operation';
import { PickUpReservationsModel } from '../model/pickUpReservationsModel';
import { ReservationsCreatedModel } from '../model/reservationsCreatedModel';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare namespace bookingGroupsByIdDelete {
interface Params {
/**
* Id of the group booking to be deleted.
*/
id: string;
/**
* 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 ISO8601:2004.This header will only take effect on development environments.
*/
apaleoCurrentDateTime?: Date;
}
}
export declare namespace bookingGroupsByIdGet {
interface Params {
/**
* Id of the group booking to be retrieved.
*/
id: string;
/**
* 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 ISO8601:2004.This header will only take effect on development environments.
*/
apaleoCurrentDateTime?: Date;
/**
* List of all embedded resources that should be expanded in the response. Possible values are: blocks, actions. All other values will be silently ignored.
*/
expand?: Array;
}
type ExpandEnum = 'blocks' | 'actions';
const ExpandEnumValues: readonly ExpandEnum[];
}
export declare namespace bookingGroupsByIdHead {
interface Params {
/**
* Id of the group booking to be checked for existence.
*/
id: string;
/**
* 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 ISO8601:2004.This header will only take effect on development environments.
*/
apaleoCurrentDateTime?: Date;
}
}
export declare namespace bookingGroupsByIdPatch {
interface Params {
/**
* Id of the group booking to be modified.
*/
id: string;
/**
* Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.
*/
body: Array;
/**
* 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 ISO8601:2004.This header will only take effect on development environments.
*/
apaleoCurrentDateTime?: Date;
}
}
export declare namespace bookingGroupsByIdReservationsPost {
interface Params {
/**
* Id of the group booking the reservations should be attached to.
*/
id: string;
/**
* The list of reservations you want to create.
*/
body: PickUpReservationsModel;
/**
* 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 ISO8601:2004.This header will only take effect on development environments.
*/
apaleoCurrentDateTime?: Date;
/**
* Unique key for safely retrying requests without accidentally performing the same operation twice. We'll always send back the same response for requests made with the same key, and keys can't be reused with different request parameters. Keys expire after 24 hours.
*/
idempotencyKey?: string;
}
}
export declare namespace bookingGroupsGet {
interface Params {
/**
* This will filter all group bookings for the provided free text. Currently it only looks up if either the group name, lastname, firstname, email or company name of the booker contains one of the provided values
*/
textSearch?: string;
/**
* Filter result by requested properties
*/
propertyIds?: Array;
/**
* The start of the time range. All groups that have blocks overlapping with the interval specified by from and to will be returned
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
from?: Date;
/**
* The end of the time range. All groups that have blocks overlapping with the interval specified by from and to will be returned
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
to?: Date;
/**
* Filter result by requested block status
*/
statuses?: Array;
/**
* 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 ISO8601:2004.This header will only take effect on development environments.
*/
apaleoCurrentDateTime?: Date;
/**
* 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.
*/
pageNumber?: number;
/**
* Page size. If this is not set or not positive, the pageNumber is ignored and all items are returned.
*/
pageSize?: number;
/**
* List of all fields that can be used to sort the results. Possible values are: created:asc, created:desc, modified:asc, modified:desc, from:asc, from:desc, to:asc, to:desc. All other values will be silently ignored.
*/
sort?: Array;
/**
* List of all embedded resources that should be expanded in the response. Possible values are: blocks, actions. All other values will be silently ignored.
*/
expand?: Array;
}
type StatusesEnum = 'Tentative' | 'Definite' | 'Canceled';
const StatusesEnumValues: readonly StatusesEnum[];
type SortEnum = 'created:asc' | 'created:desc' | 'modified:asc' | 'modified:desc' | 'from:asc' | 'from:desc' | 'to:asc' | 'to:desc';
const SortEnumValues: readonly SortEnum[];
type ExpandEnum = 'blocks' | 'actions';
const ExpandEnumValues: readonly ExpandEnum[];
}
export declare namespace bookingGroupsPost {
interface Params {
/**
* The details of the group that should be created.
*/
body: CreateGroupModel;
/**
* 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 ISO8601:2004.This header will only take effect on development environments.
*/
apaleoCurrentDateTime?: Date;
/**
* Unique key for safely retrying requests without accidentally performing the same operation twice. We'll always send back the same response for requests made with the same key, and keys can't be reused with different request parameters. Keys expire after 24 hours.
*/
idempotencyKey?: string;
}
}
export declare namespace bookingGroupscountGet {
interface Params {
/**
* This will filter all group bookings for the provided free text. Currently it only looks up if either the group name, lastname, firstname, email or company name of the booker contains one of the provided values
*/
textSearch?: string;
/**
* Filter result by requested properties
*/
propertyIds?: Array;
/**
* The start of the time range. All groups that have blocks overlapping with the interval specified by from and to will be returned
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
from?: Date;
/**
* The end of the time range. All groups that have blocks overlapping with the interval specified by from and to will be returned
A date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
to?: Date;
/**
* Filter result by requested block status
*/
statuses?: Array;
/**
* 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 ISO8601:2004.This header will only take effect on development environments.
*/
apaleoCurrentDateTime?: Date;
}
type StatusesEnum = 'Tentative' | 'Definite' | 'Canceled';
const StatusesEnumValues: readonly StatusesEnum[];
}
export declare class GroupService {
protected httpClient: HttpClient;
protected basePath: string;
defaultHeaders: HttpHeaders;
configuration: Configuration;
constructor(httpClient: HttpClient, basePath: string, configuration: Configuration);
/**
* @param consumes string[] mime-types
* @return true: consumes contains 'multipart/form-data', false: otherwise
*/
private canConsumeForm;
/**
* Delete a certain group booking
* Use this call to delete a group booking. This is only possible as long as no blocks exist that are linked to this group booking<br>You must have at least one of these scopes: 'groups.manage, reservations.manage'.
* @param $params.id Id of the group booking to be deleted.
* @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 <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO8601:2004</a>.This header will only take effect on development environments.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
bookingGroupsByIdDelete($params: bookingGroupsByIdDelete.Params, observe?: 'body', reportProgress?: boolean): Observable;
bookingGroupsByIdDelete($params: bookingGroupsByIdDelete.Params, observe?: 'response', reportProgress?: boolean): Observable>;
bookingGroupsByIdDelete($params: bookingGroupsByIdDelete.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Returns a specific group booking.
* Retrieves a specific group booking with all its related blocks<br>You must have at least one of these scopes: 'groups.read, reservations.read, reservations.manage'.
* @param $params.id Id of the group booking to be retrieved.
* @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 <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO8601:2004</a>.This header will only take effect on development environments.
* @param $params.expand List of all embedded resources that should be expanded in the response. Possible values are: blocks, actions. All other values will be silently ignored.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
bookingGroupsByIdGet($params: bookingGroupsByIdGet.Params, observe?: 'body', reportProgress?: boolean): Observable;
bookingGroupsByIdGet($params: bookingGroupsByIdGet.Params, observe?: 'response', reportProgress?: boolean): Observable>;
bookingGroupsByIdGet($params: bookingGroupsByIdGet.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Check if a certain group booking exists
* Check if a group booking exists by id<br>You must have at least one of these scopes: 'groups.read, reservations.read, reservations.manage'.
* @param $params.id Id of the group booking to be checked for existence.
* @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 <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO8601:2004</a>.This header will only take effect on development environments.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
bookingGroupsByIdHead($params: bookingGroupsByIdHead.Params, observe?: 'body', reportProgress?: boolean): Observable;
bookingGroupsByIdHead($params: bookingGroupsByIdHead.Params, observe?: 'response', reportProgress?: boolean): Observable>;
bookingGroupsByIdHead($params: bookingGroupsByIdHead.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Allows to modify certain group booking properties
* Here is the list of operations that are currently allowed: - Add and replace Name - Add, replace and remove Comment - Add, replace and remove BookerComment - Add, replace and remove PaymentAccount - Add, replace and remove PropertyIds - Replace Booker<br>You must have at least one of these scopes: 'groups.manage, reservations.manage'.
* @param $params.id Id of the group booking to be modified.
* @param $params.body Define the list of operations to be applied to the resource. Learn more about JSON Patch here: http://jsonpatch.com/.
* @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 <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO8601:2004</a>.This header will only take effect on development environments.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
bookingGroupsByIdPatch($params: bookingGroupsByIdPatch.Params, observe?: 'body', reportProgress?: boolean): Observable;
bookingGroupsByIdPatch($params: bookingGroupsByIdPatch.Params, observe?: 'response', reportProgress?: boolean): Observable>;
bookingGroupsByIdPatch($params: bookingGroupsByIdPatch.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Add one or multiple reservations to an existing group booking using blocked inventory.
* Creates new reservations and adds them to an existing group booking taking a list of reservations as input<br>You must have at least one of these scopes: 'groups.manage, reservations.manage'.
* @param $params.id Id of the group booking the reservations should be attached to.
* @param $params.body The list of reservations you want to create.
* @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 <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO8601:2004</a>.This header will only take effect on development environments.
* @param $params.idempotencyKey Unique key for safely retrying requests without accidentally performing the same operation twice. We'll always send back the same response for requests made with the same key, and keys can't be reused with different request parameters. Keys expire after 24 hours.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
bookingGroupsByIdReservationsPost($params: bookingGroupsByIdReservationsPost.Params, observe?: 'body', reportProgress?: boolean): Observable;
bookingGroupsByIdReservationsPost($params: bookingGroupsByIdReservationsPost.Params, observe?: 'response', reportProgress?: boolean): Observable>;
bookingGroupsByIdReservationsPost($params: bookingGroupsByIdReservationsPost.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Returns a list of all group bookings, filtered by the specified parameters.
* Returns a list of all group bookings, filtered by the specified parameters. If no parameters are set, returns the entire list<br>You must have at least one of these scopes: 'groups.read, reservations.read, reservations.manage'.
* @param $params.textSearch This will filter all group bookings for the provided free text. Currently it only looks up if either the group name, lastname, firstname, email or company name of the booker contains one of the provided values
* @param $params.propertyIds Filter result by requested properties
* @param $params.from The start of the time range. All groups that have blocks overlapping with the interval specified by from and to will be returned<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>
* @param $params.to The end of the time range. All groups that have blocks overlapping with the interval specified by from and to will be returned<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>
* @param $params.statuses Filter result by requested block status
* @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 <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO8601:2004</a>.This header will only take effect on development environments.
* @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.
* @param $params.pageSize Page size. If this is not set or not positive, the pageNumber is ignored and all items are returned.
* @param $params.sort List of all fields that can be used to sort the results. Possible values are: created:asc, created:desc, modified:asc, modified:desc, from:asc, from:desc, to:asc, to:desc. All other values will be silently ignored.
* @param $params.expand List of all embedded resources that should be expanded in the response. Possible values are: blocks, actions. All other values will be silently ignored.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
bookingGroupsGet($params: bookingGroupsGet.Params, observe?: 'body', reportProgress?: boolean): Observable;
bookingGroupsGet($params: bookingGroupsGet.Params, observe?: 'response', reportProgress?: boolean): Observable>;
bookingGroupsGet($params: bookingGroupsGet.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Creates a group booking.
* <br>You must have at least one of these scopes: 'groups.create, reservations.manage'.
* @param $params.body The details of the group that should be created.
* @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 <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO8601:2004</a>.This header will only take effect on development environments.
* @param $params.idempotencyKey Unique key for safely retrying requests without accidentally performing the same operation twice. We'll always send back the same response for requests made with the same key, and keys can't be reused with different request parameters. Keys expire after 24 hours.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
bookingGroupsPost($params: bookingGroupsPost.Params, observe?: 'body', reportProgress?: boolean): Observable;
bookingGroupsPost($params: bookingGroupsPost.Params, observe?: 'response', reportProgress?: boolean): Observable>;
bookingGroupsPost($params: bookingGroupsPost.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Returns number of group bookings
* Returns number of group bookings matching the filter criteria<br>You must have at least one of these scopes: 'groups.read, reservations.read, reservations.manage'.
* @param $params.textSearch This will filter all group bookings for the provided free text. Currently it only looks up if either the group name, lastname, firstname, email or company name of the booker contains one of the provided values
* @param $params.propertyIds Filter result by requested properties
* @param $params.from The start of the time range. All groups that have blocks overlapping with the interval specified by from and to will be returned<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>
* @param $params.to The end of the time range. All groups that have blocks overlapping with the interval specified by from and to will be returned<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>
* @param $params.statuses Filter result by requested block status
* @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 <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO8601:2004</a>.This header will only take effect on development environments.
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
* @param reportProgress flag to report request and response progress.
*/
bookingGroupscountGet($params: bookingGroupscountGet.Params, observe?: 'body', reportProgress?: boolean): Observable;
bookingGroupscountGet($params: bookingGroupscountGet.Params, observe?: 'response', reportProgress?: boolean): Observable>;
bookingGroupscountGet($params: bookingGroupscountGet.Params, observe?: 'events', reportProgress?: boolean): Observable>;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵprov: i0.ɵɵInjectableDeclaration;
}