Risk & Troubleshooting
ความเสี่ยงหลัก
| Area | Risk | แนวทางลดความเสี่ยง |
|---|---|---|
| Booking | ข้อมูล master data เปลี่ยนหลังจอง | เก็บ snapshot ใน booking info |
| Payment | Webhook มาช้าหรือซ้ำ | ใช้ transaction status/idempotency guard |
| Refund | เปลี่ยนสถานะผิดลำดับ | จำกัด permission และ validate transition |
| Auth | Permission ไม่ตรง role | ตรวจ RolePermissions และ menu config |
| Search | รถไม่พร้อมหลัง user เลือก | Re-check availability ก่อนสร้าง booking/payment |
| Image | Signed URL หมดอายุ | ขอ signed URL ใหม่เมื่อต้องแสดงรูป |
Troubleshooting quick map
| อาการ | เริ่มตรวจที่ |
|---|---|
| ค้นหารถไม่เจอ | Catalog PublicController, branch/car availability, CarPro sync |
| สร้าง booking ไม่สำเร็จ | Booking PublicController, validator, required contact/driver/add-on |
| Payment ไม่สำเร็จ | PaymentController, Omise response, webhook log |
| Backoffice เห็นเมนูไม่ครบ | User Service role permission และ menu.config.tsx |
| Refund ไปต่อไม่ได้ | refund status transition และ permission |
| รูปไม่ขึ้น | signed URL endpoint และ object storage path |