Banqueting Quotes
Banqueting quotes are the club/event quote lifecycle for venues, catering, menus, deposits, and POS bar-limit operations.
CRM Admin currently exposes draft quote creation, Banqueting menu maintenance, the operator pipeline, status funnel, stale follow-ups, recent quote list, quote detail with an operator workbench, and profitability report for tenants with the BANQUETING quote type enabled. Quote operations remain vertical-scoped under the Banqueting workspace; generic CRM quote routes must not expose Banqueting actions to tenants without the BANQUETING quote type.
Public quote links remain customer-facing acceptance pages. They are separate from the operator workspace.
Lifecycle workspace
Use the Banqueting Quotes workspace to create a draft quote, review quote counts by status, stale follow-ups, overdue tasks, and recent quote activity for a club tenant. Drill into a quote to edit draft details, reprice a draft, submit and approve the lifecycle, send a customer link, record staff accept or reject actions, request a reservation hold, convert an accepted quote, request deposit/final invoices, request hosted payment collection, and inspect the linked POS tab when one exists.
Menu builder
Use the Banqueting Menus workspace to maintain reusable Banqueting menu packages for the active tenant. Operators can create or update fixed and seasonal menus, mark them active or inactive, set availability dates, capture a default service type, set the target gross profit, define included bar categories, and build the menu sections and items that make up the package. Item rows capture per-guest cost, a price override, and an item-level gross profit override. Those item costs are the only menu cost basis used for recommendation and profitability calculations.
Recommended menu pricing is calculated net of VAT from captured costs. The default target gross profit is 65%, and the recommended per-guest price is calculated as cost / (1 - target gross profit) unless an item price override is supplied.
Quote creation uses only active reusable menus that match the selected service type and are valid for the selected event date. The selected menu is stored on the quote as both the canonical selectedMenuId and the display menuSelection snapshot.
Create quote
The New quote action creates a DRAFT Banqueting quote for the active tenant. The form uses CRM customer search for the client, captures the event date/time, guest count, resolves venue options through the CRM-backed Facilities function-room lookup, captures Banqueting service type, selected active menu, event-level allowed bar categories, governed deposit collection terms, and one initial per-guest quote line so the backend receives a valid quote core payload. Deposit collection terms project to the existing quote depositAmountCents and depositDueAt contract; deposit invoices and hosted payment requests still derive the payable amount server-side from the quote and invoice events. When the selected menu has captured cost or recommended pricing, the initial quote line stores unitCostCents, quotedCostCents, pricingSource, and a pricing snapshot so the profitability report can distinguish real captured cost from revenue-only drafts.
Draft edits and repricing are available only while a quote is DRAFT or PRICE_CALCULATED; later lifecycle statuses are controlled by the backend workflow. Repricing still requires the operator to provide the club ID until CRM exposes a server-side venue or club picker facade.
Quote detail
Quote detail is the operational drill-through from lifecycle rows and newly created quotes. It shows the quote status, client/event context, totals, line items, Banqueting requirements, recent lifecycle events, open tasks, and the operator workbench for lifecycle commands.
Profitability report
The profitability report is a read-only Banqueting view for quoted and realized margin analysis. It is mounted separately from the lifecycle workspace so operators can review pipeline health without mixing it with reporting actions. Operators can filter it by period, searchable CRM client, searchable Facilities venue, and event-date range; the UI resolves the selected client and venue to the backend ID filters. Current quoted cost comes from captured menu item cost. Event cost variance and POS/bar values still require backend reconciliation into quote-line realized cost and revenue fields before the report can claim full event values.
Remaining governed slices
- Venue selection now uses a CRM-owned Facilities facade, but club-aware resource filtering and automatic hold/reservation creation from quote conversion remain governed follow-on slices.
- POS/bar action parity still needs operator-grade create, settle, and extension flows beyond read-only POS tab inspection.
- Profitability needs automatic actual cost, POS, and bar reconciliation into realized quote-line fields.
- Menu governance needs durable menu revisions, approval state, and effective-date version selection for pricing audits.
Vertical scope
Banqueting quotes apply only to tenants that explicitly enable the BANQUETING quote type. Other CRM verticals must add their own quote type and workflow before routes are exposed.