# F&B Engine > Quản lý bàn, phiên ăn uống và hiển thị bếp cho ngành thực phẩm và đồ uống. ## Tổng Quan F&B Engine xử lý các yêu cầu đặc thù của nhà hàng và quán cafe: bố trí bàn, phiên khách hàng, và hệ thống hiển thị bếp (KDS) để chuẩn bị đơn hàng. ### Tính Năng Chính - **Quản lý Bàn** - Sơ đồ, trạng thái bàn, sức chứa - **Theo dõi Phiên** - Phiên khách hàng theo bàn - **Hệ thống Hiển thị Bếp** - Phiếu đơn hàng tới các trạm bếp - **Thao tác Bàn** - Gộp, tách, chuyển bàn ## Bối Cảnh Kiến Trúc ```mermaid graph LR ORDER["📝 Order Service"] --> FNB["🍳 F&B Engine"] FNB --> INVENTORY["🏭 Inventory Service"] POS["POS"] --> FNB KDS["Màn Hình Bếp"] --> FNB style FNB fill:#f39c12,stroke:#d68910,color:#fff ``` ## Bắt Đầu Nhanh ```bash cd services/fnb-engine-net cp .env.example .env dotnet run --project src/FnbEngine.API ``` ## API Endpoints ### Quản Lý Bàn | Method | Endpoint | Mô tả | |--------|----------|-------| | `GET` | `/api/v1/tables` | Danh sách bàn theo shop | | `POST` | `/api/v1/tables` | Tạo bàn | | `PUT` | `/api/v1/tables/{id}` | Cập nhật bàn | | `PATCH` | `/api/v1/tables/{id}/status` | Đổi trạng thái | | `POST` | `/api/v1/tables/merge` | Gộp bàn | | `POST` | `/api/v1/tables/split` | Tách bàn | ### Phiên | Method | Endpoint | Mô tả | |--------|----------|-------| | `POST` | `/api/v1/sessions` | Mở phiên | | `GET` | `/api/v1/sessions/{id}` | Chi tiết phiên | | `POST` | `/api/v1/sessions/{id}/close` | Đóng phiên | | `POST` | `/api/v1/sessions/{id}/transfer` | Chuyển bàn | ### Hiển Thị Bếp | Method | Endpoint | Mô tả | |--------|----------|-------| | `GET` | `/api/v1/kitchen/tickets` | Danh sách phiếu chờ | | `PATCH` | `/api/v1/kitchen/tickets/{id}/status` | Cập nhật trạng thái phiếu | | `GET` | `/api/v1/kitchen/stations` | Danh sách trạm bếp | ## Domain Model ### Table ```csharp public class Table : Entity, IAggregateRoot { public Guid ShopId { get; private set; } public string TableNumber { get; private set; } public int Capacity { get; private set; } public string Zone { get; private set; } public TableStatus Status { get; private set; } // Available, Occupied, Reserved } ``` ### Session ```csharp public class Session : Entity, IAggregateRoot { public Guid TableId { get; private set; } public DateTime StartedAt { get; private set; } public DateTime? ClosedAt { get; private set; } public int GuestCount { get; private set; } public SessionStatus Status { get; private set; } } ``` ### KitchenTicket ```csharp public class KitchenTicket : Entity { public Guid SessionId { get; private set; } public Guid OrderItemId { get; private set; } public string Station { get; private set; } // Bar, Kitchen, Grill public int Priority { get; private set; } public TicketStatus Status { get; private set; } // Pending, InProgress, Done } ``` ## Services Liên Quan - [Order Service](../../order-service-net/docs/vi/README.md) - Sử dụng FnbStrategy - [Inventory Service](../../inventory-service-net/docs/vi/README.md) - Trừ nguyên liệu - [Catalog Service](../../catalog-service-net/docs/vi/README.md) - Mặt hàng menu ## License Proprietary - GoodGo Platform