import { EventType } from '../eventType'; import { ISeat } from '../reservation'; import { ReservationType } from '../reservationType'; export interface ISubReservation { typeOf: ReservationType.EventReservation; id: string; reservedTicket?: { ticketedSeat?: Pick; }; } export interface IReservationPackage { typeOf: ReservationType.ReservationPackage; reservationNumber: string; subReservation: ISubReservation[]; } export interface IAggregateReservation { typeOf: 'AggregateReservation'; reservationCount: number; reservationFor: { id: string; typeOf: EventType.ScreeningEvent; }; reservations: IReservationPackage[]; }