/**
* 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 CreateReservationModel {
/**
* 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;
/**
* Ages of the children
*/
childrenAges?: Array;
/**
* Additional information and comments
*/
comment?: string;
/**
* Additional information and comments by the guest
*/
guestComment?: string;
/**
* Code in some system
*/
externalCode?: string;
/**
* Channel code
*/
channelCode: CreateReservationModel.ChannelCodeEnum;
/**
* 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?: CreateReservationModel.GuaranteeTypeEnum;
/**
* Purpose of the trip, leisure or business
*/
travelPurpose?: CreateReservationModel.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;
/**
* 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 CreateReservationModel {
type ChannelCodeEnum = 'Direct' | 'BookingCom' | 'Ibe' | 'ChannelManager' | 'Expedia' | 'Homelike' | 'Hrs' | 'AltoVita' | 'DesVu';
const ChannelCodeEnumValues: readonly ChannelCodeEnum[];
type GuaranteeTypeEnum = 'PM6Hold' | 'CreditCard' | 'Prepayment' | 'Company';
const GuaranteeTypeEnumValues: readonly GuaranteeTypeEnum[];
type TravelPurposeEnum = 'Business' | 'Leisure';
const TravelPurposeEnumValues: readonly TravelPurposeEnum[];
}
export declare namespace CreateReservationModel {
const $metaData: ClassMetaData;
}