Files
conference-room-booking-system/frontend/src/types.ts

42 lines
1.2 KiB
TypeScript

/**
* types.ts
* Centralized TypeScript types for frontend application.
* @module
*/
// ...no imports in this file...
/**
* Represents a booking event for display in the calendar.
* @property originalBooking - Optional reference to the original booking object
* @property id - Unique event identifier
* @property title - Event title
* @property start - Start time (Date or ISO string)
* @property end - End time (Date or ISO string)
* @property color - Optional color for event display
* @property room_id - Room identifier
* @property room_name - Room name
* @property invitees - List of invitee names/emails
* @property extendedProps - Additional custom properties
*/
export type BookingEvent = {
originalBooking?: import("./interfaces").Booking;
id: string | number;
title: string;
start: Date | string;
end: Date | string;
color?: string;
room_id?: string | number;
room_name?: string;
invitees?: string[];
extendedProps?: {
room_id?: string | number;
room_name?: string;
invitees?: string[];
[key: string]: unknown;
};
};
/**
* Alias for the Booking interface, used for shared booking logic.
*/
export type BookingType = import("./interfaces").Booking;