Ma trận vận hành: gọi xe · giao đồ · hàng · đưa học sinh
WP-DOC-MOBILITY-MATRIX-01 · D-RIDES / D-FNB / D-GROCERY / D-DELIVERY / D-SCHOOL Nguồn báo cáo. Chỉnh sửa file này khi đổi ranh giới domain — không nhét đồ ăn vào
Ride.
1. Một ý định → một entity
| Ý định người dùng | Domain | Entity | Driver hôm nay | Giai đoạn |
|---|---|---|---|---|
| Chở người A→B (cả đặt hộ) | D-RIDES | Ride + RideQuote |
Matching + GPS WS | 1 IMP |
| Đồ ăn / siêu thị | D-FNB / D-GROCERY | Order + Merchant |
Matching GPS shipper (8 km) | 2 IMP (courier) |
| Bưu kiện A→B | D-DELIVERY | DeliveryOrder |
Matching GPS + nhận/lấy/giao | 2 IMP (match) |
| Tư vấn trường | D-SCHOOL | SchoolConsultation |
PAR HV+HP | IMP (không phải đưa đón) |
| Đưa rước học sinh | D-SCHOOL | SchoolTrip (đề xuất) |
Chưa có | 2 + design JPG |
Shared: Auth · Wallet/PaymentPurpose · Notif · Chat · geocode D-ROUTE · sổ Address.
flowchart TB
intent{Y_dinh}
intent -->|cho_nguoi| Ride
intent -->|do_an_sieu_thi| Order
intent -->|buu_kien_AB| DeliveryOrder
intent -->|dua_ruoc_HS| SchoolTrip
intent -->|tu_van_truong| SchoolConsultation
Ride --> DriverMatch[matching_GPS_WS]
DeliveryOrder --> DriverMatch
SchoolTrip -.-> DriverMatch
Order --> Kitchen[bep_PAR]
Order --> Courier[shipper_giai_doan_2]
2. Vị trí: Booker ≠ On-ground ≠ Pin
- SELF: Booker = người chờ. Pin A mặc định GPS máy. Auto 50 m: GPS khách nếu ≤250 m pin, không thì pin.
- FOR_OTHER: Pin A = ghim/tìm/sổ. Cấm GPS máy booker. Auto 50 m chỉ pin A. Tài xế gọi
riderPhone. - Kill app: BE giữ trip/đơn. Không tự hủy. Home banner
liveRide. Timeout 45/120s chỉ FE.
3. Gọi xe — trạng thái
stateDiagram-v2
[*] --> Compose
Compose --> Quote
Quote --> Requested
Requested --> Confirmed
Confirmed --> Arrived
Arrived --> InTrip
InTrip --> Completed
Requested --> Cancelled
Confirmed --> Cancelled
Arrived --> Cancelled
InTrip --> Cancelled
Hủy tường minh POST cancel. Background/kill không đổi status.
4. Giai đoạn 1 — đã chốt (IMP)
Gọi xe chỉ người. Đổi chiều A↔B. SELF = GPS người đặt. FOR_OTHER = ghim/tìm + tên/SĐT; 50 m đo pin đón. Kill app không hủy BE.
Không làm trên màn Gọi xe: tile đồ ăn / hàng / đưa học sinh.
5. Giai đoạn 2
- FNB/grocery: gán shipper + GPS lên
Order(khôngRide.vehicleType=FOOD) — WP-FNB-COURIER-01 IMP (auto 8 km lúc PAR nhận đơn · CON track shipper · DRV lấy/giao). Chưa GPS WS live. - Delivery: clone matching Ride — WP-DELIVERY-MATCH-01 + WP-DELIVERY-VEHICLE-01 IMP (5 loại xe · tải trọng · km đầu/tiếp · tuyến cố định). GPS WS
/deliveryIMP. - School-trips: schema + mockup trước code — chưa IMP.