Skip to content

Đặt chỗ

1. Tổng quan

Thuộc tínhGiá trị
IDFEAT-SALE-RES
Trạng tháiStable
Ownersale-team
Phụ thuộcAllocationUnit, AllocationUsage, SaleOrder (sau check-in), Customer (tùy chọn)

Đặt chỗ ghi nhận một lượt đặt trong tương lai kèm thông tin khách, số khách và khung giờ. Việc tạo một đặt chỗ cũng tạo một hoặc nhiều dòng AllocationUsage (trạng thái ACTIVE) giữ chỗ các unit cho đến khi check-in hoặc huỷ. Khi check-in, sale sinh một SaleOrder và trỏ lại các dòng usage sang order đó.

2. Mô hình thực thể

Chi tiết trường - xem Mô hình miền §3.6.

3. Vòng đời

TừSự kiệnĐếnTác dụng phụ
PENDINGconfirmCONFIRMEDthông báo tuỳ chọn
CONFIRMEDcheck-inCHECKED_INtạo SaleOrder, trỏ lại AllocationUsage sang usageType=SALE_ORDER
* (chưa kết thúc)cancelCANCELLEDhuỷ đồng loạt AllocationUsage
CONFIRMEDreservedTo đã qua(thủ công)job quét đánh dấu AllocationUsage.EXPIRED

4. Vận hành

ReservationService (reservation.service.ts - 686 dòng).

Phương thứcChữ kýMục đích
create{ context, data: TCreateReservationRequest } (dòng 112)Reservation + các dòng AllocationUsage trong cùng một transaction
checkIn{ id, ... } (dòng 423)CONFIRMED → CHECKED_IN; sinh SaleOrder
cancel{ id, cancellationReason? } (dòng 340)chưa kết thúc → CANCELLED + huỷ đồng loạt

Hiện chưa có method service confirm riêng hay REST endpoint riêng. Chuyển trạng thái PENDING → CONFIRMED được thực hiện qua CRUD updateById với status: CONFIRMED (xử lý nhờ kế thừa MerchantScopedService).

5. REST Endpoints

VerbPathAuthPermissionHandler
6× CRUD/reservationsJWT/BASICReservation.<crud>merchant-scoped (bao gồm create + cập nhật trạng thái)
POST/reservationsJWT/BASICReservation.createReservationService.create (với allocation trong cùng transaction)
POST/reservations/:id/check-inJWT/BASICReservation.checkIncheckIn
POST/reservations/:id/cancelJWT/BASICReservation.cancelcancel

Không có endpoint /confirm - xác nhận qua CRUD PATCH /reservations/:id với { status: 'CONFIRMED' }.

OpenAPI live: /v1/api/sale/doc/openapi.json.

6. Sự kiện

Outbound (WebSocket):

TopicKhi nàoAction enum
observation/sale/reservationcreateRESERVATION_CREATED
sameconfirmRESERVATION_CONFIRMED
samecancelRESERVATION_CANCELLED
samecheck-inRESERVATION_CHECKED_IN
observation/allocation/allocation-usagecreate/cancel/check-inUSAGE_CREATED / USAGE_CANCELLED

Rooms qua getReservationRooms (merchant + reservation + cây phân cấp allocation unit/zone).

7. Trang liên quan

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.