import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { CountModel } from '../model/countModel';
import { CreateServiceModel } from '../model/createServiceModel';
import { Operation } from '../model/operation';
import { ServiceCreatedModel } from '../model/serviceCreatedModel';
import { ServiceListModel } from '../model/serviceListModel';
import { ServiceModel } from '../model/serviceModel';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare namespace rateplanServicesByIdDelete {
interface Params {
/**
* The id of the service.
*/
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 rateplanServicesByIdGet {
interface Params {
/**
* The id of the service.
*/
id: string;
/**
* 'all' or comma separated list of two-letter language codes (ISO Alpha-2)
*/
languages?: 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;
/**
* List of all embedded resources that should be expanded in the response. Possible values are: property. All other values will be silently ignored.
*/
expand?: Array;
}
type ExpandEnum = 'property';
const ExpandEnumValues: readonly "property"[];
}
export declare namespace rateplanServicesByIdHead {
interface Params {
/**
* The id of the service.
*/
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 rateplanServicesByIdPatch {
interface Params {
/**
* The id of the service.
*/
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 rateplanServicesGet {
interface Params {
/**
* Filter services by the specified property
*/
propertyId?: string;
/**
* This will filter all services for the provided free text. Currently it only looks up if the service name contains one of the provided values.
*/
textSearch?: string;
/**
* If set to true, return only services that can be sold as extras. Otherwise, it returns both, extras, and include-only.
*/
onlySoldAsExtras?: boolean;
/**
* The channel codes the service is sold through
*/
channelCodes?: Array;
/**
* The service types offered
*/
serviceTypes?: 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 embedded resources that should be expanded in the response. Possible values are: property. All other values will be silently ignored.
*/
expand?: Array;
}
type ChannelCodesEnum = 'Direct' | 'BookingCom' | 'Ibe' | 'ChannelManager' | 'Expedia' | 'Homelike' | 'Hrs' | 'AltoVita' | 'DesVu';
const ChannelCodesEnumValues: readonly ChannelCodesEnum[];
type ServiceTypesEnum = 'Other' | 'Accommodation' | 'FoodAndBeverages';
const ServiceTypesEnumValues: readonly ServiceTypesEnum[];
type ExpandEnum = 'property';
const ExpandEnumValues: readonly "property"[];
}
export declare namespace rateplanServicesPost {
interface Params {
/**
* The definition of the service.
*/
body: CreateServiceModel;
/**
* 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 rateplanServicescountGet {
interface Params {
/**
* Filter services by the specified property
*/
propertyId?: string;
/**
* This will filter all services for the provided free text. Currently it only looks up if the service name contains one of the provided values.
*/
textSearch?: string;
/**
* If set to true, return only services that can be sold as extras. Otherwise, it returns both, extras, and include-only.
*/
onlySoldAsExtras?: boolean;
/**
* The channel codes the service is sold through
*/
channelCodes?: Array;
/**
* The service types offered
*/
serviceTypes?: 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 ChannelCodesEnum = 'Direct' | 'BookingCom' | 'Ibe' | 'ChannelManager' | 'Expedia' | 'Homelike' | 'Hrs' | 'AltoVita' | 'DesVu';
const ChannelCodesEnumValues: readonly ChannelCodesEnum[];
type ServiceTypesEnum = 'Other' | 'Accommodation' | 'FoodAndBeverages';
const ServiceTypesEnumValues: readonly ServiceTypesEnum[];
}
export declare class ServiceService {
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 service
* Use this call to delete a service.<br>You must have at least one of these scopes: 'services.create, setup.manage'.
* @param $params.id The id of the service.
* @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.
*/
rateplanServicesByIdDelete($params: rateplanServicesByIdDelete.Params, observe?: 'body', reportProgress?: boolean): Observable;
rateplanServicesByIdDelete($params: rateplanServicesByIdDelete.Params, observe?: 'response', reportProgress?: boolean): Observable>;
rateplanServicesByIdDelete($params: rateplanServicesByIdDelete.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Get a specific service.
* Get a specific service.<br>You must have at least one of these scopes: 'services.read, setup.read, setup.manage'.
* @param $params.id The id of the service.
* @param $params.languages 'all' or comma separated list of two-letter language codes (ISO Alpha-2)
* @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: property. 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.
*/
rateplanServicesByIdGet($params: rateplanServicesByIdGet.Params, observe?: 'body', reportProgress?: boolean): Observable;
rateplanServicesByIdGet($params: rateplanServicesByIdGet.Params, observe?: 'response', reportProgress?: boolean): Observable>;
rateplanServicesByIdGet($params: rateplanServicesByIdGet.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Check if a service exists
* Check if a service exists by id.<br>You must have at least one of these scopes: 'services.read, setup.read, setup.manage'.
* @param $params.id The id of the service.
* @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.
*/
rateplanServicesByIdHead($params: rateplanServicesByIdHead.Params, observe?: 'body', reportProgress?: boolean): Observable;
rateplanServicesByIdHead($params: rateplanServicesByIdHead.Params, observe?: 'response', reportProgress?: boolean): Observable>;
rateplanServicesByIdHead($params: rateplanServicesByIdHead.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Modify a service.
* Here is the list of operations that are currently allowed: - Replace Name - Replace Description - Replace DefaultGrossPrice - Replace PricingUnit - Replace PostNextDay - Replace Availability - Add/Replace/Remove/Update AccountingConfigs - Replace ChannelCodes - Replace AgeCategoryId<br>You must have at least one of these scopes: 'services.manage, setup.manage'.
* @param $params.id The id of the service.
* @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.
*/
rateplanServicesByIdPatch($params: rateplanServicesByIdPatch.Params, observe?: 'body', reportProgress?: boolean): Observable;
rateplanServicesByIdPatch($params: rateplanServicesByIdPatch.Params, observe?: 'response', reportProgress?: boolean): Observable>;
rateplanServicesByIdPatch($params: rateplanServicesByIdPatch.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Get all services.
* Get the list of services.<br>You must have at least one of these scopes: 'services.read, setup.read, setup.manage'.
* @param $params.propertyId Filter services by the specified property
* @param $params.textSearch This will filter all services for the provided free text. Currently it only looks up if the service name contains one of the provided values.
* @param $params.onlySoldAsExtras If set to true, return only services that can be sold as extras. Otherwise, it returns both, extras, and include-only.
* @param $params.channelCodes The channel codes the service is sold through
* @param $params.serviceTypes The service types offered
* @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.expand List of all embedded resources that should be expanded in the response. Possible values are: property. 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.
*/
rateplanServicesGet($params: rateplanServicesGet.Params, observe?: 'body', reportProgress?: boolean): Observable;
rateplanServicesGet($params: rateplanServicesGet.Params, observe?: 'response', reportProgress?: boolean): Observable>;
rateplanServicesGet($params: rateplanServicesGet.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Create a service.
* Create a service.<br>You must have at least one of these scopes: 'services.create, setup.manage'.
* @param $params.body The definition of the service.
* @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.
*/
rateplanServicesPost($params: rateplanServicesPost.Params, observe?: 'body', reportProgress?: boolean): Observable;
rateplanServicesPost($params: rateplanServicesPost.Params, observe?: 'response', reportProgress?: boolean): Observable>;
rateplanServicesPost($params: rateplanServicesPost.Params, observe?: 'events', reportProgress?: boolean): Observable>;
/**
* Returns number of services.
* Returns number of services<br>You must have at least one of these scopes: 'services.read, setup.read, setup.manage'.
* @param $params.propertyId Filter services by the specified property
* @param $params.textSearch This will filter all services for the provided free text. Currently it only looks up if the service name contains one of the provided values.
* @param $params.onlySoldAsExtras If set to true, return only services that can be sold as extras. Otherwise, it returns both, extras, and include-only.
* @param $params.channelCodes The channel codes the service is sold through
* @param $params.serviceTypes The service types offered
* @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.
*/
rateplanServicescountGet($params: rateplanServicescountGet.Params, observe?: 'body', reportProgress?: boolean): Observable;
rateplanServicescountGet($params: rateplanServicescountGet.Params, observe?: 'response', reportProgress?: boolean): Observable>;
rateplanServicescountGet($params: rateplanServicescountGet.Params, observe?: 'events', reportProgress?: boolean): Observable>;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵprov: i0.ɵɵInjectableDeclaration;
}