Skip to main content

EP-008: Banquet & Events Management

FieldValue
Epic IDEP-008
Epic NameBanquet & Events Management
OwnerBanquet Module Lead
Created2026-03-05
Last Updated2026-03-05
StatusIn Progress
PriorityP1 - High

1. Business Objective​

Deliver end-to-end event management for weddings, conferences, and MICE (Meetings, Incentives, Conferences, Exhibitions) -- a major revenue stream for Indian hotels contributing 30-40% of total revenue in many properties. Indian weddings alone are a USD 50 billion industry, with multi-day celebrations (mehndi, sangeet, wedding, reception) requiring simultaneous venue bookings, elaborate catering (500-2000 pax), decor, AV, and phased payment collection. The system must handle the full event lifecycle from initial inquiry to post-event P&L analysis, generate professional proposals and BEOs (Banquet Event Orders), and coordinate across departments via function sheets. Real-time calendar visibility prevents double-booking and enables the sales team to respond instantly to inquiries -- critical when venues are booked 6-18 months in advance.


2. Audience​

RoleInteraction
Banquet ManagerEvent lifecycle management, venue scheduling, BEO approval, P&L review
Sales CoordinatorInquiry handling, quotation creation, client follow-up, proposal generation
Chef / F&B ManagerMenu planning, function sheet review, dietary requirements, kitchen coordination
AV TechnicianEquipment assignment, setup requirements, technical riders

3. Scope​

3.1 In Scope​

  • Event lifecycle management (7 statuses: INQUIRY -> QUOTATION -> TENTATIVE -> CONFIRMED -> IN_PROGRESS -> COMPLETED -> CANCELLED)
  • Venue management with 6 setup types (Theatre, Classroom, U-Shape, Boardroom, Banquet, Reception)
  • Function sheets (per-event operational instructions for each department)
  • Event items management (venue rental, food packages, beverages, AV equipment, decor, miscellaneous)
  • Payment milestone tracking (advance, pre-event, post-event settlement)
  • Calendar view for venue availability and event scheduling
  • BEO (Banquet Event Order) PDF generation
  • Proposal / quotation PDF generation with terms
  • Event P&L (estimated vs actual revenue and costs)
  • Floor plan editor for venue layout design
  • Multi-day event support (e.g., 3-day wedding)
  • Event cloning for recurring conferences

3.2 Out of Scope​

  • Full catering / kitchen production management (covered in EP-007 POS & F&B)
  • Guest room block management for event attendees (covered in EP-003 Reservations)
  • Marketing and lead generation (covered in EP-010 CRM)
  • Spa/wellness packages bundled with events (covered in EP-016)

4. Current Implementation Status​

4.1 Backend (01-hmp-backend - Banquet Service)​

ComponentStatusNotes
Event CRUDBuiltFull lifecycle with 7 status transitions
Venue ManagementBuiltCRUD with capacity, setup types, amenities
Function SheetsBuiltPer-department sheets with task assignments
Event ItemsBuiltVenue, food, beverage, AV, decor item types
Payment MilestonesBuiltCreate, track, mark paid with payment reference
Event P&LBuiltRevenue vs cost calculation at event level
BEO PDF GenerationNot StartedEndpoint defined, PDF template not implemented
Proposal PDF GenerationNot StartedEndpoint defined, PDF template not implemented
Multi-Venue EventsPartialSchema supports it, API logic for conflict check incomplete
Staffing AssignmentPartialSchema exists, not connected to HR/staff roster

4.2 Dashboard (02-hmp-web-dashboard)​

ComponentStatusNotes
Event List & SearchBuiltFilterable by status, date range, venue
Event Create FormBuiltMulti-step wizard with all event details
Event Detail ViewBuiltTimeline, items, payments, function sheets
Event P&L ViewBuiltEstimated revenue, costs, and margin
Venue List & ManagementBuiltCRUD with capacity and amenities
Floor Plan EditorBuiltKonva.js-based drag-and-drop layout designer
Calendar ViewPartialBasic monthly view, lacks drag-to-reschedule
BEO PreviewNot StartedNo PDF preview or download in UI
Proposal PreviewNot StartedNo client-facing quotation document
Multi-Day Event ViewPartialWorks but timeline visualization needs improvement

5. Gap Analysis​

#GapImpactEffortPriority
1BEO PDF not implementedHigh - operations depend on printed BEOs for each departmentMP1
2Proposal/quotation PDF not implementedHigh - sales team cannot send professional proposals to clientsMP1
3Calendar view basic (no drag-reschedule)Medium - venue scheduling less efficientMP2
4Multi-venue conflict check incompleteHigh - risk of double-booking for large weddingsSP1
5Staffing assignment not connectedMedium - manual staff coordination continuesLP2
6P&L lacks actuals vs estimated comparisonMedium - post-event analysis incompleteSP1
7Event cloning not implementedLow - convenience feature for recurring eventsSP3

6. User Stories Summary​

Story IDTitlePriorityPointsSprintStatus
US-008-01Event Inquiry & CreationP081Built
US-008-02Quotation & Proposal GenerationP182Not Started
US-008-03Event Confirmation & Status FlowP051Built
US-008-04Venue Management & Setup TypesP051Built
US-008-05Event Items & PricingP082Built
US-008-06Payment Milestone TrackingP052Built
US-008-07Function Sheet GenerationP183Built
US-008-08BEO PDF GenerationP183Not Started
US-008-09Event Calendar & SchedulingP183Partial
US-008-10Floor Plan EditorP2134Built
US-008-11Event P&L (Estimated vs Actual)P154Partial
US-008-12Multi-Day / Multi-Venue EventsP184Partial
US-008-13Event CloningP335Not Started

7. Dependencies​

DependencyTypeEpic/ServiceStatus
Property service (venue inventory)UpstreamEP-002 / propertyAvailable
Auth service (RBAC roles)UpstreamEP-001 / authAvailable
POS / F&B service (catering)PeerEP-007 / posPartial
Guest/CRM service (client contacts)UpstreamEP-004 / guestAvailable
Reservation service (room blocks)PeerEP-003 / reservationAvailable
Notification service (confirmations)DownstreamEP-014 / notificationPartial
Kafka event busInfraDocker / KafkaAvailable
PDF generation libraryInfraBackend / pdfkitAvailable

8. Epic-Level Acceptance Criteria​

  1. AC-EP-008-01: A sales coordinator can create an event inquiry and advance it through all 7 lifecycle stages with proper validation at each transition.
  2. AC-EP-008-02: The system prevents double-booking of venues, including partial time-slot overlaps for multi-venue events.
  3. AC-EP-008-03: A professional BEO document can be generated as PDF with all event details, menu, AV requirements, and setup instructions for each department.
  4. AC-EP-008-04: Payment milestones are tracked with amounts in INR, due dates, and GST breakup; overdue payments trigger alerts.
  5. AC-EP-008-05: Event P&L shows estimated vs actual comparison for revenue and costs with variance percentage.
  6. AC-EP-008-06: The calendar view shows all venues with booked/tentative/available slots and supports date-range filtering.

9. KPIs​

KPITargetMeasurement Method
Inquiry to confirmation time< 48 hoursTimestamp: inquiry to confirmed
Venue utilization rate> 65%Booked days / available days
Event revenue per sqft/month> INR 150Total event revenue / total sqft
Proposal acceptance rate> 40%Confirmed / quotations sent
Payment collection on time> 90%On-time milestones / total
Event P&L accuracy< 5% varianceActual vs estimated deviation
BEO generation time< 2 minutesCreate to PDF download

10. Detailed User Stories​


US-008-01: Event Inquiry & Creation​

As a Sales Coordinator, I want to capture event inquiries with client details, event type, preferred dates, and estimated guest count, So that I can track leads and convert them into confirmed bookings.

Priority: P0 | Points: 8 | Sprint: 1 | Status: Built

Implementation Status​

Event creation API supports all fields: client info, event type (WEDDING, CONFERENCE, BIRTHDAY, CORPORATE, SOCIAL, OTHER), date/time, expected pax, venue preference, budget range in INR. Dashboard wizard guides through multi-step creation. Kafka event banquet.inquiry_created published.

Acceptance Criteria​

Scenario: Create wedding inquiry
Given a client "Mr. Agarwal" calls to inquire about a wedding reception
When the sales coordinator creates an event inquiry with:
| Field | Value |
| Event Type | WEDDING |
| Client Name | Agarwal Family |
| Contact | +91 98765 43210 |
| Date | 2026-12-15 |
| Expected Pax | 800 |
| Budget | INR 25,00,000 |
| Venue Pref | Grand Ballroom |
Then the event is created with status "INQUIRY"
And an event reference number is generated (e.g., EVT-2026-0042)
And the inquiry appears in the sales pipeline dashboard
And a Kafka event "banquet.inquiry_created" is published

Scenario: Check venue availability during inquiry
Given the Grand Ballroom is booked on 2026-12-15 for another event
When the sales coordinator selects 2026-12-15 for the new inquiry
Then the system shows "Grand Ballroom: Not Available" with a conflict indicator
And suggests alternative dates (2026-12-14, 2026-12-16) where the venue is free
And suggests alternative venues (Sapphire Hall, Terrace Garden) available on 2026-12-15

Scenario: Capture multi-day wedding inquiry
Given the Agarwal family wants a 3-day wedding celebration
When the coordinator creates the inquiry with dates 2026-12-14 to 2026-12-16
And adds sub-events: Mehndi (Day 1), Wedding (Day 2), Reception (Day 3)
Then a parent event is created with 3 linked sub-events
And each sub-event can have different venue, pax count, and menu preferences

US-008-02: Quotation & Proposal Generation​

As a Sales Coordinator, I want to generate a professional quotation/proposal document with itemized pricing, terms, and venue photos, So that clients can review and approve the event package.

Priority: P1 | Points: 8 | Sprint: 2 | Status: Not Started

Implementation Status​

Not started. The endpoint is defined in the banquet controller but the PDF template, content aggregation, and rendering logic are not implemented. Sales team currently creates proposals manually in Word/Excel.

Acceptance Criteria​

Scenario: Generate wedding proposal PDF
Given event "EVT-2026-0042" has been quoted with:
| Item | Amount (INR) |
| Grand Ballroom (1 day) | 3,00,000 |
| Veg Menu (800 pax) | 12,00,000 |
| Bar Package (800 pax) | 4,00,000 |
| Decor - Premium | 2,50,000 |
| AV & Lighting | 1,50,000 |
| Total (excl GST) | 23,00,000 |
When the sales coordinator clicks "Generate Proposal"
Then a PDF is generated with hotel branding, venue photos, and floor plan
And includes itemized pricing with GST breakup (18% on venue, 5% on food)
And includes payment milestone schedule (30% advance, 40% pre-event, 30% post-event)
And includes terms and conditions (cancellation policy, minimum guarantee)
And the PDF can be emailed directly to the client from the system

Scenario: Revise quotation after client negotiation
Given the client requests a 10% discount on the venue rental
When the sales coordinator updates the venue rate to INR 2,70,000
And regenerates the proposal (Version 2)
Then the new proposal shows the revised total with discount noted
And both versions are stored in the event history for audit
And the version number and date are printed on the proposal

US-008-03: Event Confirmation & Status Flow​

As a Banquet Manager, I want to advance events through lifecycle stages with proper validation and approvals, So that operations are coordinated and resources are committed only for confirmed events.

Priority: P0 | Points: 5 | Sprint: 1 | Status: Built

Implementation Status​

Status transitions implemented with validation rules: INQUIRY->QUOTATION (requires items added), QUOTATION->TENTATIVE (requires proposal sent), TENTATIVE->CONFIRMED (requires advance payment), CONFIRMED->IN_PROGRESS (event date reached), IN_PROGRESS->COMPLETED (event ended), any->CANCELLED (with cancellation charges if confirmed).

Acceptance Criteria​

Scenario: Confirm event after advance payment
Given event "EVT-2026-0042" is in "TENTATIVE" status
And the advance payment milestone is INR 6,90,000 (30% of total)
When the client makes a payment of INR 6,90,000 via NEFT
And the banquet manager records the payment with bank reference
Then the event status can be advanced to "CONFIRMED"
And the venue is firmly blocked (no longer tentative)
And function sheets are auto-generated for each department
And a Kafka event "banquet.event_confirmed" is published

Scenario: Cancel confirmed event with charges
Given event "EVT-2026-0055" is in "CONFIRMED" status
And the cancellation policy specifies: >30 days = 25% charge, <30 days = 50% charge
And the event is 45 days away
When the banquet manager processes cancellation
Then a cancellation charge of 25% of the total event value is calculated
And the charge is adjusted against the advance payment received
And the refund amount (advance minus cancellation charge) is computed in INR
And the venue is released back to available inventory

US-008-04: Venue Management & Setup Types​

As a Banquet Manager, I want to manage venue inventory with multiple setup configurations and capacities, So that I can offer clients appropriate options and maximize venue utilization.

Priority: P0 | Points: 5 | Sprint: 1 | Status: Built

Implementation Status​

Venue management supports CRUD with: name, area (sqft), ceiling height, floor, amenities (built-in AV, stage, dance floor, kitchen access), and 6 setup types each with different capacity. Venue photos and floor plan images can be uploaded.

Acceptance Criteria​

Scenario: Create venue with multiple setup types
Given the hotel is adding a new "Sapphire Hall" venue
When the banquet manager creates the venue with:
| Field | Value |
| Name | Sapphire Hall |
| Area | 5,000 sqft |
| Floor | Ground Floor |
| Amenities | Stage, AV, Kitchen Access|
And configures setup types:
| Setup Type | Capacity |
| Theatre | 500 |
| Classroom | 250 |
| U-Shape | 80 |
| Boardroom | 50 |
| Banquet | 350 |
| Reception | 600 |
Then the venue is created with all 6 setup options
And appears in venue search and event booking flows
And the rental rates can be set per setup type and time slot

Scenario: Check venue capacity against event pax
Given event "EVT-2026-0042" expects 800 guests for a reception
When the sales coordinator searches for venues
Then only venues with reception capacity >= 800 are shown
And "Grand Ballroom" (capacity 1000) is suggested
And "Sapphire Hall" (capacity 600) is flagged as insufficient

US-008-05: Event Items & Pricing​

As a Sales Coordinator, I want to add and price event items (venue, food, beverages, AV, decor) with quantities and rates, So that the total event cost is accurately calculated for the client.

Priority: P0 | Points: 8 | Sprint: 2 | Status: Built

Implementation Status​

Event items support 6 categories: VENUE, FOOD, BEVERAGE, AV_EQUIPMENT, DECOR, MISCELLANEOUS. Each item has quantity, unit rate (INR), tax rate, and total. Food items support per-plate pricing with pax count. GST rates applied automatically: 18% for venue/AV/decor, 5% for food (in-house restaurant), 18% for beverages.

Acceptance Criteria​

Scenario: Add food package to wedding event
Given event "EVT-2026-0042" for 800 guests
When the sales coordinator adds a food package:
| Item | Rate/Plate (INR) | Pax | Total (INR) |
| Veg Dinner | 1,500 | 800 | 12,00,000 |
Then the item is added with GST at 5% (INR 60,000)
And the event total is updated to reflect the new item
And the per-plate rate is stored for BEO and kitchen reference

Scenario: Add AV equipment with custom pricing
Given a corporate conference event "EVT-2026-0060"
When the coordinator adds AV items:
| Item | Qty | Rate (INR) | Total (INR) |
| LCD Projector | 2 | 5,000 | 10,000 |
| Wireless Mic | 4 | 1,500 | 6,000 |
| LED Screen (10ft) | 1 | 25,000 | 25,000 |
Then GST at 18% is calculated on each AV item
And the total AV cost of INR 41,000 + GST is reflected in the event summary

US-008-06: Payment Milestone Tracking​

As a Banquet Manager, I want to define and track payment milestones (advance, pre-event, final settlement), So that the hotel's cash flow is managed and clients have clear payment schedules.

Priority: P0 | Points: 5 | Sprint: 2 | Status: Built

Implementation Status​

Payment milestones support: name, due date, amount (INR), percentage of total, status (PENDING/PAID/OVERDUE), payment reference, and payment method. Auto-calculation of milestone amounts based on percentage splits. Overdue detection via scheduled job.

Acceptance Criteria​

Scenario: Define payment milestones for wedding
Given event "EVT-2026-0042" has a total value of INR 23,00,000 (excl GST)
When the banquet manager sets up milestones:
| Milestone | Percentage | Amount (INR) | Due Date |
| Booking Advance | 30% | 6,90,000 | 2026-06-15 |
| Pre-Event | 40% | 9,20,000 | 2026-12-01 |
| Final Settlement| 30% | 6,90,000 | 2026-12-20 |
Then the milestones are created and linked to the event
And the payment schedule appears on the proposal and BEO

Scenario: Track overdue payment
Given the "Pre-Event" milestone of INR 9,20,000 was due on 2026-12-01
And today is 2026-12-03 and payment has not been received
When the overdue detection job runs
Then the milestone status changes to "OVERDUE"
And the banquet manager receives a dashboard alert
And a notification is sent to the sales coordinator for follow-up
And the event is flagged with a payment warning indicator

US-008-07: Function Sheet Generation​

As a Banquet Manager, I want to generate function sheets that communicate event requirements to each department (kitchen, housekeeping, engineering, AV), So that all teams are aligned on event setup and execution.

Priority: P1 | Points: 8 | Sprint: 3 | Status: Built

Implementation Status​

Function sheets generated per department with event-specific instructions. Kitchen sheet includes menu details, dietary requirements, serving timeline, and pax count. Housekeeping sheet includes setup/teardown times. AV sheet includes equipment list and technical requirements. Sheets are viewable in dashboard and printable.

Acceptance Criteria​

Scenario: Generate kitchen function sheet for wedding reception
Given event "EVT-2026-0042" is confirmed with:
| Detail | Value |
| Menu | Veg Dinner - North Indian + South Indian |
| Pax | 800 (guaranteed minimum) |
| Dietary | 50 Jain meals, 20 gluten-free |
| Serving Time | 8:00 PM - 11:00 PM IST |
| Live Counters | Chaat, Dosa, Pasta |
When the function sheet is generated for the Kitchen department
Then it includes the full menu with item-wise quantities
And highlights special dietary requirements (Jain, gluten-free) separately
And includes the serving timeline and live counter setup instructions
And is accessible to the Chef via the kitchen dashboard

Scenario: Generate AV function sheet for conference
Given event "EVT-2026-0060" is a 2-day corporate conference
When the AV function sheet is generated
Then it includes equipment list, setup diagram, and technical rider
And specifies setup time (2 hours before event), teardown time (1 hour after)
And includes contact details of the client's AV coordinator
And notes any special requirements (e.g., live streaming, recording)

US-008-08: BEO PDF Generation​

As a Banquet Manager, I want to generate a Banquet Event Order (BEO) document as a PDF, So that all departments have a standardized reference for event execution.

Priority: P1 | Points: 8 | Sprint: 3 | Status: Not Started

Implementation Status​

Not started. The BEO endpoint exists in the banquet controller but returns a placeholder response. The BEO must aggregate: event details, venue setup, menu, AV requirements, decor, timeline, contact information, and special instructions into a single printable document. Currently, banquet operations rely on viewing the event detail page on screen.

Acceptance Criteria​

Scenario: Generate BEO for confirmed wedding
Given event "EVT-2026-0042" is in "CONFIRMED" status
When the banquet manager clicks "Generate BEO"
Then a PDF document is generated containing:
| Section | Content |
| Event Header | Event name, date, time, venue, BEO number |
| Client Details | Name, contact, billing address, GSTIN |
| Venue Setup | Setup type, seating plan, stage requirements |
| Menu | Full menu with course sequence and pax count |
| Beverages | Bar setup, brands, service hours |
| AV & Decor | Equipment list, theme, flower requirements |
| Timeline | Hour-by-hour schedule from setup to teardown |
| Special Instructions| Dietary needs, VIP arrangements, parking |
And the BEO has a unique number (BEO-2026-0042-R1) with revision tracking
And can be printed on A4 paper with hotel branding

Scenario: Revise BEO after menu change
Given BEO-2026-0042-R1 has been generated
When the client changes the menu from Veg to Veg + Non-Veg
And the banquet manager updates the event items and regenerates the BEO
Then BEO-2026-0042-R2 is generated with the updated menu
And the revision history shows changes between R1 and R2
And the previous version R1 is archived but accessible

US-008-09: Event Calendar & Scheduling​

As a Sales Coordinator, I want to view a calendar showing all venue bookings (confirmed, tentative, inquiry) across all venues, So that I can quickly check availability and schedule events without conflicts.

Priority: P1 | Points: 8 | Sprint: 3 | Status: Partial

Implementation Status​

Basic monthly calendar view implemented showing events color-coded by status (red=confirmed, yellow=tentative, blue=inquiry). Filtering by venue works. Missing: drag-to-reschedule, week/day views, time-slot granularity (currently date-level only), and conflict detection for overlapping time slots on the same day.

Acceptance Criteria​

Scenario: View monthly calendar with venue availability
Given the hotel has 5 banquet venues
And December 2026 has 12 confirmed events, 5 tentative, and 3 inquiries
When the sales coordinator opens the event calendar for December 2026
Then all 20 events are displayed on their respective dates
And events are color-coded: red (confirmed), yellow (tentative), blue (inquiry)
And each venue row shows its availability at a glance
And clicking an event opens the event detail view

Scenario: Detect time-slot conflict on same-day booking
Given "Grand Ballroom" is booked from 10:00 AM to 4:00 PM for a conference
When the sales coordinator tries to book the same venue from 2:00 PM to 10:00 PM
Then the system detects a 2-hour overlap (2:00 PM - 4:00 PM)
And displays a conflict warning with the existing booking details
And suggests adjusting the time to 5:00 PM - 11:00 PM (with 1-hour turnover gap)
And does not allow saving without conflict resolution

US-008-10: Floor Plan Editor​

As a Banquet Manager, I want to design venue floor plans using a drag-and-drop editor, So that I can create setup layouts for different event configurations and share them with clients.

Priority: P2 | Points: 13 | Sprint: 4 | Status: Built

Implementation Status​

Konva.js-based floor plan editor built in the dashboard. Supports drag-and-drop placement of tables (round, rectangular, square), chairs, stage, dance floor, buffet stations, and AV equipment. Floor plans are saved as JSON and can be linked to specific events. Export to PNG for client presentations.

Acceptance Criteria​

Scenario: Create banquet layout for wedding reception
Given the Banquet Manager is designing a layout for the Grand Ballroom
When they open the floor plan editor and select the Grand Ballroom template
And place 80 round tables (10-seater), 1 stage, 2 buffet stations, and a dance floor
Then the editor validates that all items fit within the venue dimensions
And shows the total seated capacity (800) matching the event requirements
And the floor plan is saved and linked to event "EVT-2026-0042"
And can be exported as PNG and included in the proposal

Scenario: Reuse floor plan template
Given a "Theatre 500" template exists for Sapphire Hall
When the banquet manager selects this template for a new conference event
Then the template is loaded with pre-arranged rows of chairs facing the stage
And the manager can customize (add podium, adjust rows) without modifying the original template
And save the customized version linked to the specific event

US-008-11: Event P&L (Estimated vs Actual)​

As a Banquet Manager, I want to view profit & loss analysis for each event comparing estimated vs actual revenue and costs, So that I can assess event profitability and improve future pricing.

Priority: P1 | Points: 5 | Sprint: 4 | Status: Partial

Implementation Status​

P&L calculation shows estimated revenue (from event items) and estimated costs (from internal cost rates). Actual revenue tracked from payments received. Actual costs not yet connected to purchasing/inventory systems, so actuals must be entered manually. Variance calculation and percentage display implemented.

Acceptance Criteria​

Scenario: Review P&L for completed wedding event
Given event "EVT-2026-0042" has been completed
When the banquet manager opens the P&L report
Then the report shows:
| Category | Estimated (INR) | Actual (INR) | Variance |
| Revenue - Venue | 3,00,000 | 3,00,000 | 0% |
| Revenue - Food | 12,00,000 | 12,60,000 | +5% |
| Revenue - Bar | 4,00,000 | 4,50,000 | +12.5% |
| Revenue - Decor | 2,50,000 | 2,50,000 | 0% |
| Revenue - AV | 1,50,000 | 1,50,000 | 0% |
| Total Revenue | 23,00,000 | 24,10,000 | +4.8% |
| Total Costs | 14,00,000 | 14,80,000 | +5.7% |
| Net Profit | 9,00,000 | 9,30,000 | +3.3% |
And the profit margin is displayed (38.6%)
And food revenue exceeded estimate due to additional 50 pax over guaranteed minimum

Scenario: Flag low-margin event
Given a corporate conference has a profit margin below 20%
When the P&L is calculated
Then the event is flagged as "Low Margin" with a warning indicator
And the banquet manager can add notes explaining the variance
And the event contributes to aggregate margin analytics on the dashboard

US-008-12: Multi-Day / Multi-Venue Events​

As a Sales Coordinator, I want to manage events spanning multiple days and multiple venues simultaneously, So that large celebrations like Indian weddings can be handled as a single coordinated booking.

Priority: P1 | Points: 8 | Sprint: 4 | Status: Partial

Implementation Status​

Schema supports parent-child event relationships for multi-day events. Each sub-event can have a different venue, time, and configuration. Multi-venue booking on the same day (e.g., ceremony in garden + reception in ballroom) partially implemented -- conflict checking across simultaneous venue bookings needs completion.

Acceptance Criteria​

Scenario: Book 3-day wedding across multiple venues
Given the Agarwal family wedding spans December 14-16, 2026
When the sales coordinator creates a master event with sub-events:
| Day | Sub-Event | Venue | Time | Pax |
| 1 | Mehndi | Terrace Garden | 4:00 PM-10:00 PM | 300 |
| 2 | Wedding | Grand Ballroom | 10:00 AM-4:00 PM | 800 |
| 2 | Reception | Grand Ballroom | 7:00 PM-12:00 AM | 1000|
| 3 | Vidaai | Terrace Garden | 8:00 AM-12:00 PM | 200 |
Then all 4 sub-events are linked under a single master event
And the total event value aggregates across all sub-events
And the calendar shows all sub-events with the master event label
And payment milestones apply to the master event total

Scenario: Detect venue conflict in multi-venue event
Given Day 2 has both Wedding (10 AM-4 PM) and Reception (7 PM-midnight) in Grand Ballroom
And the system requires a 2-hour turnover gap between events
When the coordinator checks the schedule
Then a 1-hour gap is flagged as insufficient (4 PM to 7 PM = 3 hours, but 2 hours needed for teardown + setup = OK)
And the schedule is validated as feasible with the 3-hour gap

US-008-13: Event Cloning​

As a Sales Coordinator, I want to clone a previous event's configuration for a recurring client or similar event type, So that I can quickly set up new events without re-entering all details.

Priority: P3 | Points: 3 | Sprint: 5 | Status: Not Started

Implementation Status​

Not started. The feature would copy all event items, venue configuration, menu, AV requirements, and decor from a source event to a new event with updated dates. Useful for recurring corporate conferences (quarterly town halls) or similar wedding packages.

Acceptance Criteria​

Scenario: Clone quarterly conference event
Given event "EVT-2026-0060" (Q1 Corporate Town Hall) was successfully completed
When the sales coordinator clicks "Clone Event" and sets new date to 2026-06-15
Then a new event "EVT-2026-0085" is created with all items from the source event
And the venue, AV, catering, and setup details are copied
And the status is set to "INQUIRY" (not auto-confirmed)
And the coordinator can modify any copied details before advancing to quotation

Scenario: Clone with price adjustment
Given the source event had food at INR 1,200/plate
And food costs have increased by 10%
When the coordinator clones and applies a 10% markup on food items
Then all food items in the cloned event reflect the updated rate (INR 1,320/plate)
And other items (venue, AV) retain their original rates

Document generated: 2026-03-05 | Epic Owner: Banquet Module Lead | Review Cycle: Bi-weekly