Type 1 : Collective Booking for staff groups
Type 2 : Multiple stacked Group sequential booking like service calendar
---
  1. Staff Grouping
  • Create Groups of Staff for calendar assignment.
- Example:
- Group A → Doctor 1, Doctor 2
- Group B → Nurse 1, Nurse 2, Nurse 3, Nurse 4, Nurse 5
  • Each staff member retains their individual calendar but inherits group rules.
---
  1. Group Booking Types
a. Parallel Booking
  • Booking logic checks availability across groups.
  • Free slots are shown when:
- At least 1 member from Group A AND
- At least 1 member from Group B
- are available in the same time slot.
Use case:
Doctor + Nurse required for same appointment.
b. Sequential Booking
  • Booking logic chains slots across groups in sequence.
  • Example:
- Step 1: Group A slot → 30 minutes
- Step 2: Group B slot → 15 minutes
- Total: 45 minutes continuous booking
  • System automatically allocates back-to-back slots across groups.
Use case:
Doctor consult followed by Nurse procedure.
---
  1. Calendar Handling
  • Multiple calendars (across individuals and groups) integrated into a single booking flow.
  • System ensures no double-booking within the same group or member.
---
  1. Cancellations & Reschedules
  • Each booking assigned a group event_id.
  • When a booking is cancelled or rescheduled:
- All linked staff calendars update automatically.
- Changes propagate to the group event_id and all related participants.
---
  1. Technical Implementation Notes
  • Extend GHL’s native calendar assignment with:
- Grouping logic (many-to-one mapping of users → group).
- Custom booking flow rules (parallel vs sequential).
  • Use event_id linking to track and update bookings across multiple calendars.
  • Support for both manual booking (staff use) and self-booking (client use via widget).