Case study · งานลูกค้า
เคสจริง: รับช่วงต่อแพลตฟอร์มงานวิ่ง ที่มีผู้ใช้กว่า 38,000 คน
แพลตฟอร์มลงทะเบียนงานวิ่งที่ผู้จัดงานใช้รับสมัครและรับเงินจริงทุกสัปดาห์ เราเข้ามารับช่วงต่อจากทีมพัฒนาเดิม ทำให้ระบบรับเงินตรวจสอบได้ครบ แล้วต่อยอดระบบหน้างานทีละส่วน ตั้งแต่จับเวลา RFID รับ BIB ไปจนถึงติดตามนักวิ่งเทรลด้วย GPS ปัจจุบันระบบอยู่ในสัญญาดูแลรายเดือนกับเรา
- ประเภทงาน
- แพลตฟอร์มลงทะเบียน รับเงิน และจัดการหน้างานวิ่ง
- บทบาทของเรา
- รับช่วงต่อจากทีมเดิม พัฒนาต่อยอด และดูแลรายเดือน
- ผู้ใช้ในระบบ
- 38,000+ คน
- การชำระเงิน
- บัตรเครดิต · PromptPay · TrueMoney · ผ่อนชำระ · เงินสด

ปิดชื่อลูกค้าตามข้อตกลงความลับ
โจทย์: ระบบที่มีเงินไหลผ่านทุกวัน แต่ทีมเดิมไม่อยู่แล้ว
ระบบเขียนด้วย PHP แบบไม่มีเฟรมเวิร์ก แต่ละไฟล์คือหนึ่งหน้า มีทั้งฝั่งนักวิ่ง ฝั่งผู้จัดงาน และงานเบื้องหลังที่ตั้งเวลาไว้ เมื่อทีมเดิมไม่อยู่ ความรู้ว่าอะไรต่อกับอะไรก็หายไปด้วย
ข้อจำกัดสำคัญคือระบบต้องรับสมัครและรับเงินต่อได้ตลอด เพราะงานวิ่งเปิดรับสมัครต่อเนื่องทั้งปี เราจึงเริ่มจากอ่านโค้ดและฐานข้อมูลจริง เขียนเอกสารระบบ แล้วค่อยแก้ทีละจุดบนเครื่องทดสอบ (staging) ก่อนขึ้นระบบจริงทุกครั้ง
ต่อยอดทีละส่วน จากเรื่องเงิน ไปถึงหน้างาน
ระบบรับเงินออนไลน์ที่ตรวจสอบย้อนหลังได้
จุดที่เสี่ยงที่สุดของแพลตฟอร์มคือเงิน เราจัดลำดับการชำระเงินใหม่ให้ทุกออเดอร์มีสถานะที่ตรวจได้ และไม่มีเงินค้างหรือยืนยันซ้ำ
- รับสถานะจากผู้ให้บริการชำระเงินผ่าน webhook และกันการประมวลผลซ้ำ
- งานตั้งเวลาเทียบสถานะรายการค้างทุก 30 นาที
- ออเดอร์ที่ไม่ชำระหมดอายุอัตโนมัติใน 72 ชั่วโมง
- อีเมลยืนยันส่งครั้งเดียวต่อออเดอร์ และส่งซ้ำได้จากหลังบ้านเมื่อจำเป็น
- ผู้จัดงานยืนยันเงินสดหรือโอนเองได้ พร้อมส่งออกรายงานเป็น Excel
Runner Pass และระบบรับ BIB หน้างาน
วันรับเสื้อและ BIB คือวันที่คนเยอะที่สุด ทีมงานหน้างานต้องรู้ทันทีว่าใครรับไปแล้ว ใครยังไม่มา และเคสไหนน่าสงสัย
- นักวิ่งยืนยันตัวตนผ่านบัตร Runner Pass บนมือถือก่อนวันงาน
- ทีมหน้างานสแกนรับ BIB แยกตามจุดรับ และตามระยะ
- แดชบอร์ดนับสดทุก 15 วินาที เห็นจำนวนที่รับแล้ว ยังไม่รับ และเคสที่ถูก flag ให้ตรวจ
- ใช้คู่กับระบบเฝ้าระวังการขอเงินคืนผ่านธนาคาร (chargeback)

จับเวลาด้วย RFID และผลการแข่งขันสด
ข้อมูลจากเครื่องอ่าน RFID ตามจุด checkpoint ถูกรวมเป็นผลการแข่งขันที่นักวิ่งเปิดดูได้เอง แยกตามระยะและช่วงอายุ
- รับเวลาจาก checkpoint หลายจุด และเลือกเวลาที่ถูกต้องของแต่ละนักวิ่ง
- จัดกลุ่มรุ่นอายุและระยะ ออกผลและอันดับอัตโนมัติ
- มี API ผลการแข่งขันให้ระบบพาร์ตเนอร์ดึงไปใช้
ติดตามนักวิ่งเทรลด้วย GPS และปุ่มขอความช่วยเหลือ
งานวิ่งเทรลผ่านป่าและภูเขา ความปลอดภัยของนักวิ่งสำคัญที่สุด ทีมผู้จัดต้องรู้ตำแหน่งและรู้ทันทีเมื่อมีคนต้องการความช่วยเหลือ
- นักวิ่งตั้งค่าติดตามตำแหน่งผ่าน Runner Pass
- ปุ่ม SOS ส่งตำแหน่งให้ทีมผู้จัดทันที
- หน้าจอเฝ้าระวังสำหรับทีมผู้จัด พร้อมงานตั้งเวลาตรวจความปลอดภัย

ระบบถัดไป ที่อยู่ระหว่างพัฒนา
ระบบขายภาพงานวิ่ง ค้นหาด้วยใบหน้า
กำลังพัฒนานักวิ่งอัปโหลดเซลฟี่แล้วระบบหาภาพของตัวเองจากช่างภาพทั้งงาน
ระบบ Email Marketing
กำลังพัฒนาส่งข่าวงานวิ่งเป็นแคมเปญ แยกโควต้าจากอีเมลยืนยันการสมัคร เพื่อไม่ให้อีเมลสำคัญส่งไม่ออก