/**
* apaleo Booking API - not safe for work
* Continuously evolving version - use at your own risk! Resources and methods to manage guest journeys.
*
* OpenAPI spec version: v0-nsfw
*
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
import { BookReservationServiceModel } from './bookReservationServiceModel';
import { CommissionModel } from './commissionModel';
import { CreateExternalReferencesModel } from './createExternalReferencesModel';
import { CreateReservationTimeSliceModel } from './createReservationTimeSliceModel';
import { GuestModel } from './guestModel';
import { MonetaryValueModel } from './monetaryValueModel';
/**
* With this request you can create a reservation
*/
import { ClassMetaData } from '@apaleo/angular-api-proxy-common';
export interface CreateChannelReservationModel {
/**
* Date and optional time of arrival
Specify either a pure date or a date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
arrival: string;
/**
* Date and optional time of departure. Cannot be more than 5 years after arrival.
Specify either a pure date or a date and time (without fractional second part) in UTC or with UTC offset as defined in ISO8601:2004
*/
departure: string;
/**
* Number of adults
*/
adults: number;
/**
* The ages of the children
*/
childrenAges?: Array;
/**
* Additional information and comments
*/
comment?: string;
/**
* Additional information and comment by the guest
*/
guestComment?: string;
/**
* Code in some system
*/
externalCode?: string;
/**
* Channel code
*/
channelCode: CreateChannelReservationModel.ChannelCodeEnum;
/**
* Specifies who is responsible for remitting taxes to local authorities for a reservation: - Hotel: The property (hotel) is responsible for remitting all applicable taxes. - OTA: The OTA (Online Travel Agency) remits at least one of the applicable taxes. If the value is not provided, the OTA does not provide any information about tax remittance and the default behavior is assumed.
*/
taxRemittanceResponsibility?: CreateChannelReservationModel.TaxRemittanceResponsibilityEnum;
/**
* Source of the reservation
*/
source?: string;
primaryGuest?: GuestModel;
/**
* Additional guests of the reservation.
*/
additionalGuests?: Array;
/**
* The guarantee that has to be applied for this reservation. It has to be the same or stronger than the minimum guarantee required by the selected rate plan
*/
guaranteeType?: CreateChannelReservationModel.GuaranteeTypeEnum;
/**
* The purpose of the trip, leisure or business
*/
travelPurpose?: CreateChannelReservationModel.TravelPurposeEnum;
/**
* Gross prices including services and taxes for each time slice. They will be applied to the reservation timeslices in the order specified from arrival to departure
*/
timeSlices: Array;
/**
* The type of prices, before taxes, before taxes with VAT or after taxes
*/
pricingType?: CreateChannelReservationModel.PricingTypeEnum;
/**
* Additional services (extras, add-ons) that should be added to the reservation
*/
services?: Array;
/**
* Set this if this reservation belongs to a company
*/
companyId?: string;
/**
* Corporate code provided during creation. Used to find offers during amend.
*/
corporateCode?: string;
prePaymentAmount?: MonetaryValueModel;
commission?: CommissionModel;
/**
* The promo code associated with a certain special offer
*/
promoCode?: string;
externalReferences?: CreateExternalReferencesModel;
}
export declare namespace CreateChannelReservationModel {
type ChannelCodeEnum = 'Direct' | 'BookingCom' | 'Ibe' | 'ChannelManager' | 'Expedia' | 'Homelike' | 'Hrs' | 'AltoVita' | 'DesVu';
const ChannelCodeEnumValues: readonly ChannelCodeEnum[];
type TaxRemittanceResponsibilityEnum = 'Hotel' | 'Ota';
const TaxRemittanceResponsibilityEnumValues: readonly TaxRemittanceResponsibilityEnum[];
type GuaranteeTypeEnum = 'PM6Hold' | 'CreditCard' | 'Prepayment' | 'Company';
const GuaranteeTypeEnumValues: readonly GuaranteeTypeEnum[];
type TravelPurposeEnum = 'Business' | 'Leisure';
const TravelPurposeEnumValues: readonly TravelPurposeEnum[];
type PricingTypeEnum = 'BeforeTaxesWithVat' | 'BeforeTaxes' | 'AfterTaxes';
const PricingTypeEnumValues: readonly PricingTypeEnum[];
}
export declare namespace CreateChannelReservationModel {
const $metaData: ClassMetaData;
}