User, Auth & Backoffice Requirements (ข้อกำหนดระบบผู้ใช้งานและระบบหลังบ้าน)
หน้านี้รวบรวม Functional Requirements, Acceptance Criteria และ Business Rules ของระบบการจัดการผู้ใช้ ระบบยืนยันตัวตน และระบบหลังบ้าน (Back-office) โดยอิงตามเอกสารความต้องการทางธุรกิจ (BRD V.1.1)
1. การลงทะเบียนและการเข้าสู่ระบบ (Registration & Authentication)
ระบบต้องรองรับการลงทะเบียนและเข้าสู่ระบบของลูกค้า (Member) และจำกัดสิทธิ์ผู้ดูแลระบบ (Back-office Staff) ตามสิทธิ์ที่ระบุไว้ในระบบควบคุมการเข้าถึง (RBAC)
ช่องทางการลงทะเบียนและล็อกอิน (In-Scope Phase 1)
- Mobile Number + OTP: ยืนยันตัวตนด้วยรหัสผ่านครั้งเดียวผ่าน SMS (Twilio)
- Email + OTP: ยืนยันตัวตนผ่านรหัส OTP ที่ส่งไปยังอีเมลของผู้ใช้
- SSO (Social Login): รองรับการเข้าสู่ระบบผ่านผู้ให้บริการดังนี้:
- LINE (Social API)
- Facebook (OAuth)
- WeChat / WhatsApp (กรณีไม่มี OIDC/OAuth2 อย่างเป็นทางการ จะใช้วิธีรับรหัส OTP ผ่านเบอร์โทรศัพท์ที่ผูกกับบัญชี หรือพิจารณาตาม Solution ที่เหมาะสม)
- Forgot Password: สำหรับผู้ใช้ที่ลงทะเบียนด้วยอีเมล (กรณีมีระบบรหัสผ่านคู่ขนานกับ OTP) ระบบต้องมีระบบส่งลิงก์ตั้งค่ารหัสผ่านใหม่ไปยังอีเมลหลัก
📸 ขั้นตอนการตรวจสอบบัญชีซ้ำและรวมบัญชี (Duplicate Checking & Account Linking)
เมื่อลูกค้าพยายามลงทะเบียน ระบบต้องตรวจสอบข้อมูลเบอร์โทรศัพท์ (Mobile Number) หรืออีเมล (Email) หากพบว่ามีข้อมูลซ้ำซ้อนในระบบ ลูกค้าสามารถทำเรื่อง "รวมบัญชี (Merge Accounts)" เพื่อให้ข้อมูลการจองและสิทธิประโยชน์ไปอยู่ในบัญชีหลักเดียวได้
2. การจัดการข้อมูลส่วนตัวและประวัติการเช่า (Profile & Rent History)
การจัดการโปรไฟล์ (Profile Management)
- สมาชิก (Member) สามารถเรียกดูและแก้ไขข้อมูลของตนเองได้แก่: ชื่อ-นามสกุล, เบอร์โทรศัพท์, อีเมล, ที่อยู่
- การแนบสำเนาใบขับขี่ (Upload Driver’s License): รองรับการอัปโหลดไฟล์ภาพ หรือไฟล์ PDF
- Data Validation: ระบบต้องตรวจสอบความถูกต้องของข้อมูลเบอร์โทรศัพท์ รูปแบบอีเมล และจำกัดประเภท/ขนาดไฟล์อัปโหลดไม่ให้เกินขีดจำกัดความปลอดภัย
ประวัติการเช่ารถ (Rent History)
ลูกค้าสมาชิกสามารถค้นหา คัดกรอง และดูรายละเอียดประวัติการเช่ารถทั้งหมดในระบบ โดยมีเงื่อนไขดังนี้:
- Filter สถานะประวัติการเช่า:
Completed: ส่งคืนรถเช่าเรียบร้อยแล้วCanceled: รายการจองถูกยกเลิกOngoing: อยู่ระหว่างการรับรถใช้งานจริง
- Filter ช่วงเวลา: สามารถเลือกดูย้อนหลัง 3 เดือน หรือระบุช่วงวันที่จองเองได้ (Custom Date Range)
3. ระบบหลังบ้าน (Back-Office / Admin Portal)
ระบบหลังบ้านใช้สำหรับเจ้าหน้าที่ (Staff) และผู้ดูแลระบบ (Admin) ในการตั้งค่าข้อมูลระบบ จัดการรถเช่า และจัดการคำขอคืนเงิน
การบริหารจัดการข้อมูลรถเช่า (Car Allotment & Promotion)
เจ้าหน้าที่หลังบ้านสามารถ เพิ่ม แก้ไข ลบ ข้อมูลรถยนต์ (ประเภทรถ, รุ่นรถ, เกียร์, เลขทะเบียนรถ, ราคาหลัก, ส่วนลด, โปรโมชั่น, อัปโหลดภาพรถ) ผ่าน 3 ช่องทางหลัก:
- Manual Input: กรอกข้อมูลรายละเอียดทีละคันผ่านหน้าเว็บฟอร์ม
- Upload Excel File: นำเข้าข้อมูลรถเช่าครั้งละหลายคัน (Bulk Upload) โดยระบบจะมีไฟล์เทมเพลต Excel สำหรับกรอกโครงสร้างข้อมูล
- CarPro API Sync: อัปเดตข้อมูลจำนวนรถ (Stock), ราคา, หรือข้อมูลโปรโมชั่นจาก CarPro อัตโนมัติ
[!WARNING] ระบบป้องกันทะเบียนรถซ้ำ (Plate Number Validation): ระบบต้องสกัดกั้นไม่ให้อนุญาตบันทึกหมายเลขทะเบียนรถที่ซ้ำกันลงในฐานข้อมูลเด็ดขาด โดยต้องแจ้งเตือนข้อผิดพลาดทันที
การจัดการสถานะเงินคืนและสิทธิ์ (Refund & OWR Management)
- ไม่มีระบบคืนเงินอัตโนมัติ (No Auto Refund): การจองที่ชำระเงินแล้วและถูกยกเลิก ระบบจะไม่โอนเงินคืนธนาคารแบบอัตโนมัติ เจ้าหน้าที่ฝ่ายปฏิบัติการ (Operation User) จะต้องเข้ามาตรวจสอบข้อมูลในหน้าระบบหลังบ้าน และทำการอัปเดตสถานะเป็น
Refundedด้วยตนเอง (Manual Update) - One-Way Rental (OWR) Fee: มีเมนูหน้าจอให้ผู้ดูแลระบบเข้าไปจัดการอัตราค่าธรรมเนียมการคืนรถต่างสาขา เพื่อนำไปคำนวณราคารวมในส่วนการจอง
ระบบสิทธิ์การเข้าใช้งาน (Role-Based Access Control)
ควบคุมการเห็นเมนูและการทำงานตามโครงสร้าง Role และ Permission:
| Module | Permission Key | คำอธิบายสิทธิ์การใช้งาน |
|---|---|---|
| Booking | operation:booking:view | เข้าเมนู Booking Management และดูรายละเอียดใบจอง |
| Booking | operation:booking:edit | แก้ไขข้อมูลใบจอง |
| Booking | operation:booking:cancel | ยกเลิกรายการจองรถ |
| Refund | operation:refund:update-sale-checked | บันทึกการตรวจสอบยอดขายเบื้องต้น |
| Refund | operation:refund:update-refunded | อัปเดตสถานะคืนเงินสำเร็จ (Manual Update) |
| Car Setup | setting:car:manage | เพิ่ม แก้ไข ลบ ข้อมูลรถยนต์ และ Bulk Upload ด้วย Excel |
| OWR Setup | setting:owr:manage | จัดการค่าธรรมเนียม OWR (One-way rental fee) |
4. ระบบรายงานและประวัติการทำงาน (Report & Audit Log)
โมดูลรายงาน (Add-On Report Module)
ระบบหลังบ้านต้องมีรายงานสรุปการทำงานอย่างน้อย 3 รายงาน สำหรับผู้บริหารหรือเจ้าหน้าที่สิทธิ์ Admin ได้แก่:
- รายงานยอดการจอง (Booking Summary Report)
- รายงานยอดการยกเลิกการจอง (Cancellation Report)
- รายงานสถิติผู้ใช้งาน (User Statistics Report)
- ช่องทางการส่งออก (Export formats):
- สามารถดูข้อมูลบนหน้าเว็บเพจได้โดยตรง
- ดาวน์โหลดรายงานเป็นเอกสารไฟล์ PDF
- ส่งออกข้อมูลดิบในรูปแบบไฟล์ CSV หรือ Excel เพื่อนำไปใช้วิเคราะห์ผลต่อ
ระบบบันทึกประวัติการแก้ไข (Audit Trail)
- ระบบหลังบ้านต้องบันทึกประวัติการเพิ่ม แก้ไข ลบข้อมูลรถ ข้อมูลผู้ใช้งาน และการผูกบัญชี (Merge Accounts) โดยระบุชื่อผู้ดำเนินการ วันเวลา และข้อมูลก่อน/หลังเปลี่ยน
- ระบบบันทึก Log การเข้าใช้งาน (Audit Log): เก็บล็อกข้อมูลระบบความปลอดภัยผ่านแอปพลิเคชันภายนอก (3rd Party Application) เช่น Grafana โดยระบบหลักของเว็บแอปพลิเคชันจะไม่มีหน้าจอ UI ให้ดึงหรือตรวจสอบล็อกเหล่านี้โดยตรง
5. ขอบเขตงานนอกเหนือบริการเฟส 1 (Out-of-Scope Phase 1)
ตามเอกสาร BRD V.1.1 ระบบในเฟส 1 จะไม่ครอบคลุมฟังก์ชันดังต่อไปนี้:
- ระบบ Mobile Application (iOS/Android)
- ระบบ Loyalty Program (สะสมคะแนน/แต้มแลกของรางวัล)
- การเชื่อมต่อระบบ Call Center
- ระบบโอนเงินคืนลูกค้าอัตโนมัติผ่าน Gateway (Auto Refund)
- ระบบ AI Chatbot / บริการ AI อัจฉริยะอื่นๆ
- ระบบคำนวณราคาตาม Demand แบบเรียลไทม์ (Dynamic Pricing)
- ระบบ Affiliate และตัวแทนขาย
- ระบบจัดการเนื้อหาเว็บไซต์ผ่านหน้าจอแอดมิน (CMS UI) โดยจะใช้วิธีอัปเดตไฟล์ Static เช่น หน้า Contact us, About us, Terms & Conditions, Privacy Policy, Our service, Testimonial ผ่านการอัปโหลดเข้า Infrastructure ตรง