Skip to content

Instantly share code, notes, and snippets.

@enisinanaj
Created January 31, 2025 22:23
Show Gist options
  • Save enisinanaj/aed9128bea5c1f7245ebe0f1aae29af9 to your computer and use it in GitHub Desktop.
Save enisinanaj/aed9128bea5c1f7245ebe0f1aae29af9 to your computer and use it in GitHub Desktop.
Reservation Payload Type
interface StayIdentifier {
hotelId: string | uuid | number,
reservationNumbe": string,
externalReservationNumber: string,
roomNumber: string
};
interface StayTime {
arrivalDate: string | Date,
arrivalTime: string, // "15:30"
depatureDate: string | Date,
depatureTime: string // "11:00"
}
interface Address {
address1: string,
postalCode: string,
city: string,
country: string,
type: 'GUEST' | 'BILLING';
}
interface GuerstProfile {
profileType: 'GUEST' | 'PAYER',
salutation?: string, // salutation from external system
firstName: string,
lastName: string,
email?: string,
addresses?: Address[],
phone?: number,
language: string | ISO6391.getAllCodes(),
guestNumber: string
}
interface ReservationProfile = {
stayIdentifier: StayIdentifier,
stayTime: StayTime,
guest: GuestProfile,
status: 'OPEN' | 'CANCELLED' | 'CHECKED_IN' | 'EXPECTED' | 'NO_SHOW' | 'CHECKED_OUT',
allowOnlineCheckIn: boolean,
allowOnlineCheckOut: boolean,
sourceSystem: string,
roomAvailable: boolean
}
export default ReservationProfile;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment