# Phase 12.3 — Table Service & Reservations

| Field | Value |
| --- | --- |
| Status | Complete |
| Module | hospitality |
| Commercial Product | Torbat Food |
| Version | 0.12.3.0 |
| Database | `hospitality_db` |
| API Port | 8009 |
| ADR | ADR-001, ADR-003, ADR-006, ADR-017 |
| Prior phase | [12.2 QR Menu & QR Ordering](hospitality-phase-12-2.md) |

## Goal

Add dine-in Table Service & Reservation workflows — guest reservations, table assignments, in-service
requests (call waiter / water / bill), and walk-in waitlist — without POS, kitchen, or payment engines.

## Scope (In)

- Aggregates: Reservation, TableAssignment, ServiceRequest, WaitlistEntry
- APIs under `/api/v1/reservations|table-assignments|service-requests|waitlist`
- Status transition endpoints (`/status`, `/release`) with terminal-state guards
- Permissions + publish-only events
- Alembic `0004_phase_123_table_service_reservations`
- Capabilities `table_service`, `reservation`; version `0.12.3.0`

## Out of Scope

- POS Lite / POS Pro, Kitchen tickets, Payment posting

## Quality Gates

Passed (architecture, dependency, migration, tenant, API, permissions, docs). See handover.

## Related Documents

- [Hospitality Roadmap](hospitality-roadmap.md)
- [Phase Handover 12.3](phase-handover/phase-12-3.md)
- [ADR-017](architecture/adr/ADR-017.md)
- [Module Registry](module-registry.md#hospitality)
- [Service Snapshot](service-snapshots/hospitality.yaml)
