ใช้งานเวิร์กโฟลว์การจองบริการแบบรวม
/hotel, /grooming และ /pet-taxi อาจดูเหมือนผลิตภัณฑ์แยกกัน แต่ทั้งสามใช้ booking modal และตรรกะการจองหลักชุดเดียวกัน การเลือกลูกค้า การเลือกสัตว์เลี้ยง รายละเอียดการจอง บริการเสริม การสรุป และการเช็กเอาต์ใช้โครงสร้างเดียวกัน
บริการที่ใช้ลำดับงานนี้
HOTELGROOMINGPET_TAXI
ป้ายชื่อจะแตกต่างกันตามบริการ แต่สถานะหลักของการจองและขั้นตอนใน modal ใช้ร่วมกัน
วิธีอ่านสถานะหลักของ Reservation
BOOKED
มีการจองแล้ว แต่บริการจริงยังไม่เริ่ม
CHECKED_IN
บริการเริ่มแล้ว
- Hotel: การเข้าพักจริงกำลังดำเนินอยู่
- Grooming: กำลังให้บริการ
- Pet Taxi: การเดินทางกำลังเกิดขึ้น
CHECKED_OUT
กระบวนการจบบริการเสร็จสมบูรณ์ ควรทบทวนบริการเสริมและการเรียกเก็บเงินในขั้นถัดไปช่วงจังหวะนี้
CANCELLED
การจองถูกยกเลิก โดยส่วนใหญ่ หากต้องใช้บริการอีกครั้งในภายหลัง การสร้างการจองใหม่มักปลอดภัยกว่าการพยายามกู้รายการเดิมแบบหลวม ๆ
Warning: เมื่อการจองอยู่ใน
CHECKED_OUTหรือCANCELLEDการเปลี่ยนแปลงภายหลังอาจกระทบการชำระเงิน ประวัติใบเสร็จ และความสามารถในการตรวจสอบย้อนหลัง
ขั้นตอนของ Shared Modal
ขั้นตอนที่ 1. select-customer
เลือกลูกค้าก่อน หากเลือกลูกค้าผิด บริบทของการจองและการเรียกเก็บเงินที่เหลือจะผิดทั้งหมด
ขั้นตอนที่ 2. select-pet
เลือกสัตว์เลี้ยงภายใต้ลูกค้านั้น หากลูกค้ามีหลายตัว ควรยืนยันทั้งชื่อและ HN ทุกครั้ง
ขั้นตอนที่ 3. booking-details
รายละเอียดการจองทั่วไป ได้แก่
- start datetime
- end datetime หรือ checkout datetime
- ทรัพยากรที่มอบหมาย
- Hotel: room
- Grooming: station
- Pet Taxi: vehicle / dispatch resource
- พนักงานหรือ groomer ที่มอบหมาย
- comment
- pickup และ dropoff address สำหรับ Pet Taxi
ขั้นตอนที่ 4. add-on-services
เพิ่มบริการเสริม ขั้นตอนนี้ใช้ branch service master data ดังนั้นชื่อและราคาจะมาจากการตั้งค่าบริการจริง
ขั้นตอนที่ 5. summary
ทบทวนสรุปการจอง
- Hotel: เช็กอิน เช็กเอาต์ ระยะเวลาการพัก และห้อง
- Grooming: เวลาจอง สถานี และผู้รับผิดชอบ
- Pet Taxi: เวลาจอง, vehicle, pickup / dropoff
ขั้นตอนที่ 6. view / edit
การจองที่สร้างแล้วสามารถเปิดกลับมาในโหมดดู และแก้ไขผ่านตระกูล modal เดียวกันได้
ขั้นตอนที่ 7. เช็กเอาต์
เมื่อบริการเสร็จ ให้ทบทวนรายการที่คิดเงินได้เพิ่มเติมอีกครั้งก่อนยืนยัน เช็กเอาต์
ความต่างของข้อมูลตามประเภทบริการ
Hotel
- สร้างบนพื้นฐานการจองตามระยะเวลา
- ใช้ทั้งเช็กอินและเช็กเอาต์เป็นเวลาการพักจริง
- ต้องทบทวน room conflict ก่อนยืนยัน
Grooming
- ความแม่นของช่วงเวลาสำคัญกว่าระยะเวลา
- ฟิลด์สำคัญคือสถานีและ groomer
- ในโค้ดยังมี photo-upload step อยู่ แต่ในเส้นทางเช็กเอาต์หลักปัจจุบันยังไม่บังคับ
Pet Taxi
- pickup และ dropoff address คือข้อมูลหลักของการปฏิบัติงาน
- ทรัพยากรของรถถูกจัดการคล้ายทรัพยากรแบบห้องบนบอร์ด
กฎการใช้งานร่วมกัน
- ยืนยัน mapping ของลูกค้าและสัตว์เลี้ยงก่อน
- ทบทวน add-on services อีกครั้งหลังจากขอบเขตบริการชัดขึ้น
- ถ้าเป็นไปได้ ให้ยกเลิกการจองก่อนเริ่มบริการ
- เมื่อแก้ไขรายละเอียด ควรทบทวนเวลา ทรัพยากร และ assignee พร้อมกันเพื่อลด conflict
หมายเหตุของ implementation ปัจจุบัน
- ปุ่ม new-booking จะเปิด modal การจองร่วม
- view และ edit อยู่ในตระกูล modal เดียวกัน
- grooming photo-upload ยังอยู่ในโค้ด แต่ไม่ได้เป็นขั้นตอนที่บังคับในเส้นทางหลักปัจจุบัน