export type Booking = { id: number; date: number; blockNum: number; totalBlocks: number; treatmentID: number; name: string; emailAddress: string; phoneNumber: string; orderID: number; } export type Treatment = { id: number; name: string; group: string; price: number; description: string; duration: number; } export type Voucher = { id: number; code: string; name: string; expiry: number; isValue: boolean; value: number; valid: boolean; orderUsed: number; } export type OrderResponse = { orderID: number; bookings: number[]; vouchers: [number, string][]; } export type RPCType = { setHeaderFooter: (header: string, footer: string) => Promise; listTreatments: () => Promise; addTreatment: (name: string, group: string, price: number, description: string, duration: number) => Promise; setTreatment: (id: number, name: string, group: string, price: number, description: string, duration: number) => Promise; removeTreatment: (id: number) => Promise; getOrderTime: (id: number) => Promise; addOrder: (name: string, price: number, bookings: Omit[], vouchers: Omit[], usedVouchers: number[]) => Promise; removeOrder: (id: number) => Promise; listBookings: (start: number, end: number) => Promise; updateBooking: (booking: Booking) => Promise; removeBooking: (id: number) => Promise; getVoucher: (id: number) => Promise; getVoucherByCode: (code: string) => Promise; updateVoucher: (id: number, name: string, expiry: number) => Promise; removeVoucher: (id: number) => Promise; setVoucherValid: (id: number, valid: boolean) => Promise; }