🚌 เส้นทาง / สถานี / รถ
จัดการข้อมูล Master — สถานี ประเภทรถ รถ และเส้นทาง
สถานี / จุดจอด
เมนู: สถานี — สถานีคือจุดที่รถจอดให้ขึ้น/ลง
เพิ่ม/แก้สถานี (ผ่าน Modal)
- กด "+ เพิ่มสถานี" → modal เปิดขึ้น
- กรอกข้อมูล:
- รหัสสถานี * — สั้นๆ 3-5 ตัวอักษร เช่น BKK, NMA, CMI (จะใช้ในฉลากพัสดุ)
- ชื่อสถานี * — เต็มๆ เช่น "สถานีขนส่งกรุงเทพ (หมอชิต)"
- จังหวัด
- ที่อยู่
- Latitude / Longitude — สำคัญ! ใช้คำนวณ ETA กับ GPS tracking
- เปิดใช้งาน ✓
- กดบันทึก → modal ปิด + reload หน้า
💡 หาพิกัด Lat/Lng: เปิด Google Maps คลิกขวาที่ตำแหน่ง → คัดลอกตัวเลข lat,lng → เอามาใส่
ลบสถานี
คลิกถังขยะ → confirm
เตือน: ลบไม่ได้ถ้าสถานีนี้ถูกใช้ในเส้นทางหรือการจอง (FK constraint) — ต้องลบเส้นทางที่อ้างอิงก่อน
ประเภทรถ
เมนู: ประเภทรถ — กำหนดประเภทรถพร้อมราคาและผังที่นั่ง
เพิ่ม/แก้ประเภทรถ (Modal)
| ฟิลด์ | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| ชื่อประเภท * | ชื่อเต็มของประเภท | "รถ ม.1 พิเศษ VIP 24 ที่นั่ง" |
| คำอธิบาย | รายละเอียดเพิ่ม | "พร้อมห้องน้ำ ที่นั่งกว้าง" |
| จำนวนที่นั่ง * | รวมทั้งหมด | 24, 40, 50 |
| ผังที่นั่ง | รูปแบบที่นั่ง | 2-2 (รถปกติ) / 1-2 (VIP) / 2-1 |
| ราคาต่อ กม. * | คำนวณค่าตั๋ว | 1.50, 1.80, 2.50 |
| ราคาเริ่มต้น * | ขั้นต่ำ (ระยะสั้นใช้ตัวนี้) | 50, 80, 100 |
สูตรคำนวณราคาตั๋ว
ราคาตั๋ว = max(ราคาเริ่มต้น, ระยะทาง × ราคา/กม.)
= round(ราคา / 5) × 5 ← ปัดเศษเป็นทวีคูณ 5 บาท
ตัวอย่าง: รถ VIP (฿2.50/กม., min ฿100), ระยะ 565 km
= max(100, 565 × 2.50) = max(100, 1412.5) = 1412.5 → ปัด = ฿1,410
ผังที่นั่ง
| Layout | หมายถึง | ใช้กับ |
|---|---|---|
2-2 | 2 ที่นั่ง · ทางเดิน · 2 ที่นั่ง | รถบัสมาตรฐาน |
1-2 | 1 ที่นั่ง · ทางเดิน · 2 ที่นั่ง | รถ VIP (24 ที่นั่ง) |
2-1 | 2 ที่นั่ง · ทางเดิน · 1 ที่นั่ง | VIP บางรุ่น |
รถโดยสาร
เมนู: รถโดยสาร — ทะเบียนรถจริงแต่ละคัน
เพิ่ม/แก้รถ
- ประเภทรถ * — เลือกจากที่สร้างใน "ประเภทรถ" (auto-fill จำนวนที่นั่งให้)
- ทะเบียนรถ * — เช่น 10-1234
- เลขที่รถ — เลขรถภายในบริษัท (BUS-001)
- ยี่ห้อ + รุ่น — Scania K410, Volvo B11R
- ที่นั่งจริง — ปกติ = ของประเภทรถ แต่ปรับเองได้
- สถานะ:
- active — พร้อมใช้งาน (เห็นในตอนสร้างเที่ยว)
- maintenance — ซ่อมบำรุง
- inactive — ปิดใช้งาน
เส้นทาง + จุดจอด
เมนู: เส้นทาง — กำหนดเส้นทางการเดินรถ พร้อมจุดจอดระหว่างทาง
สร้างเส้นทางใหม่
- กด "+ เพิ่มเส้นทาง"
-
ข้อมูลเส้นทาง:
- รหัสเส้นทาง * (R001, R002)
- ชื่อเส้นทางเต็ม (เช่น "กรุงเทพ - นครราชสีมา - ขอนแก่น - อุดรธานี - หนองคาย")
- สถานีต้นทาง *
- สถานีปลายทาง *
- ระยะทางรวม (กม.)
- เวลาเดินทางทั้งสิ้น (นาที)
-
เพิ่มจุดจอด (สำคัญมาก!) — ส่วน "จุดจอดในเส้นทาง"
- กด "+ เพิ่มจุดจอด" สำหรับแต่ละสถานี
- ลำดับ 1 = ต้นทาง / ลำดับสุดท้าย = ปลายทาง
- ใส่ ระยะทางจากต้นทาง (กม.)
- ใส่ เวลาจากต้นทาง (นาที) — เช่น 90 = รถถึงจุดนี้หลังออก 90 นาที
- บันทึก
ทำไมต้องใส่ระยะทางและเวลาของแต่ละจุดจอด?
- คำนวณราคาตั๋ว: ลูกค้านั่ง BKK → โคราช (259 กม.) ไม่ใช่ตลอด BKK → หนองคาย (615 กม.) — จ่ายแค่ระยะที่นั่งจริง
- แสดงเวลาขึ้น/ลง: รถออก BKK 08:00 → ถึงโคราช 12:00 (off + 240 นาที) — แสดงให้ลูกค้าเห็นตอนค้นหา
- ค้นหาข้ามเส้นทาง: ลูกค้าจะ BKK → ขอนแก่น เจอรถสาย R001 ที่ผ่านขอนแก่นเป็นจุดที่ 4
ตัวอย่างจุดจอดเส้นทาง R001
| ลำดับ | สถานี | ระยะจากต้นทาง | เวลาจากต้นทาง |
|---|---|---|---|
| 1 | กรุงเทพ (หมอชิต) | 0 กม. | 0 นาที |
| 2 | สระบุรี | 108 กม. | 90 นาที |
| 3 | นครราชสีมา | 259 กม. | 240 นาที |
| 4 | ขอนแก่น | 449 กม. | 420 นาที |
| 5 | อุดรธานี | 565 กม. | 510 นาที |
| 6 | หนองคาย | 615 กม. | 540 นาที |
ลูกค้าจะ BKK → ขอนแก่น = ระยะ 449 - 0 = 449 กม. → ราคา = 449 × ราคา/กม.
สัมภาระ
เมนู: สัมภาระ — ลงทะเบียนกระเป๋าของผู้โดยสาร (แยกจากพัสดุ — เป็นกระเป๋าเดินทางที่ผู้โดยสารพาไปกับตัว)
ลงทะเบียนสัมภาระ
- เข้าหน้าการจอง (booking_view.php) → กด "ลงทะเบียนสัมภาระ"
- กรอก:
- ชื่อเจ้าของ (default = ชื่อลูกค้า)
- น้ำหนัก (กก.)
- คำอธิบาย (เช่น "กระเป๋าใหญ่ สีน้ำเงิน")
- บันทึก → ระบบสร้าง
LG + YYMMDD + 5 chars+ ปุ่มพิมพ์ใบปะติด
ใบปะติดสัมภาระ
พิมพ์ใบปะติดติดกับกระเป๋า — มี:
- รหัสปลายทางใหญ่ๆ (เช่น CMI สำหรับเชียงใหม่)
- ชื่อเจ้าของ + เบอร์ติดต่อ
- น้ำหนัก + รายละเอียด
- QR code สำหรับสแกนตรวจสอบ
- Barcode รหัสด้านล่าง
