รัศมี Geofence สำหรับ off-site check-in
รัศมี Geofence สำหรับ off-site check-in
สิ่งที่ลูกค้าต้องการ
Off-site Mobile Online Check-In ถูกควบคุมด้วย geofence: คนขับจะเริ่ม check-in (CI1) จากนอกโรงงานได้ ก็ต่อเมื่อตำแหน่ง GPS บนมือถืออยู่ภายในรัศมีที่ยอมรับได้จากโรงงาน SRB (Saraburi) เท่านั้น นี่เป็นเงื่อนไขเบื้องต้นที่บังคับของทั้งฟีเจอร์ — หากการตรวจรัศมีไม่ผ่าน การ check-in นอกพื้นที่ก็จะใช้งานไม่ได้
- precondition ของ use-case ระบุว่าฟีเจอร์จะเปิดใช้งาน "when drivers is surrounded at SRB plant (Validate the geofencing of mobile GPS)" (RFP p16)
- functional matrix กำหนดให้แอปต้อง "capture the current geofencing of the user's location & validate the distance from SRB plant. Offsite check-in should enable if the user is within the allowed area" (RFP p23 row 28)
- flow แบบ To-Be กำหนดให้รัศมีเป็น decision gate แรก: "Radius valid? NO → Feature not available" (SUM p12) และ "The System will validate the current location of driver using GPS from their mobile device to determine if they are within the accepted radius" (SUM p11)
- นอกเหนือจากการเป็น gate แล้ว รัศมียังใช้เพื่อ ประเมินเวลาที่คนขับจะมาถึงโรงงานหลังจากถูกเรียกคิว ด้วย — SUM p18 นิยาม logic ของ "Radius" ว่า "To defined available distance to enable offsite mobile Check-In and estimated time to arrive at plant after queue calling" ดู Threshold เวลา tolerance / window / overdue เพิ่มเติมด้วย (logic เรื่อง delayed-GI / window ขึ้นอยู่กับการประเมินเวลามาถึงนี้)
ค่านี้ยังไม่ถูกกำหนดตายตัว (ต้องปรับได้โดย admin)
รัศมีถูกกำหนดอย่างชัดเจนว่าต้องปรับค่าได้ และ ไม่มีค่าตัวเลขที่ยืนยันแล้ว ในเอกสารต้นทางเลย — ทุกการอ้างอิงเป็นเพียง placeholder หรือตัวอย่าง:
- RFP p23 row 28 — "(Within defined radius e.g. 10-30 km. from the SRB plant)" พิมพ์เป็น ตัวเอียงสีแดง (สไตล์ placeholder/เน้น) สังเกตว่านี่เป็น ช่วงที่มี "e.g." กล่าวคือเป็นตัวอย่างประกอบ ไม่ใช่ค่าที่ยืนยันแล้ว
- RFP p32 (Additional notes) — "flexible configuration of booking conditions, such as defined radius and time window … (e.g., within XX km radius …)" คำว่า "XX km" เป็น placeholder ที่ยังไม่ได้เติมค่า
- RFP p20 row 1 (FR1) — แอปต้องเปิดให้ "configurability, such as setting the radius and tolerance time" ซึ่งยืนยันว่ารัศมีเป็นพารามิเตอร์ที่ admin ตั้งค่าได้ ไม่ใช่ค่า hard-code
- SUM p18 — เซลล์ค่า/ด้านขวาของแถว "Radius" ว่างเปล่า (ยังไม่ระบุค่าบนสไลด์)
- MIN (line 20) — "คนขับสามารถเช็คอินผ่านมือถือเมื่ออยู่ภายในรัศมีที่กำหนด (เช่น 30 กิโลเมตร)" = check-in ผ่านมือถือเมื่ออยู่ภายในรัศมีที่กำหนด เช่น 30 km — อีกครั้งที่เป็นเพียงตัวอย่าง ไม่ใช่ requirement ที่กำหนดตายตัว
ดังนั้นตัวเลขที่กระจายอยู่ตามเอกสารต่างๆ จึงไม่สอดคล้องกัน: ช่วงตัวอย่าง "10–30 km" (RFP p23), "XX km" ที่ยังไม่นิยาม (RFP p32), ค่าว่าง (SUM p18), และตัวอย่าง "30 km" (MIN) ทั้งหมดเป็นเพียงตัวอย่างประกอบ; ค่าที่ใช้จริงใน production ยังไม่ได้ข้อสรุปและ SCCC ต้องการให้ admin ปรับค่าได้ ช่องว่างเชิงตัวเลขที่ยังเปิดอยู่นี้ติดตามไว้ใน ค่า threshold เชิงตัวเลขที่ยังไม่ได้กำหนด — geofence radius และ tolerance/window time
ภาพประกอบสนับสนุน
SUM p18 วาง screenshot Google Maps ของพื้นที่สระบุรี ไว้ใต้แถว logic ของ Radius พร้อม pin ที่มีป้ายภาษาไทยระบุจุดรับสินค้า/ปั๊มน้ำมันใกล้เคียงรอบโรงงาน (ปูนนครหลวง, PTT Station ปั๊มปตท.ทับกวาง, การสุวรรณ, เสริมสินไพบูลย์, บุญญฤทธิ์, ลิ้มยงเส็ง, มีนา, ฯลฯ) แผนที่นี้ เป็นเพียงภาพประกอบ — ไม่มีการวาดวงรัศมีหรือ scale bar [INFERRED purpose: convey the geofence concept and the spread of driver origin/rest points] จึงไม่ได้ระบุค่ากิโลเมตรเช่นกัน
หมายเหตุของผู้วิเคราะห์
- รัศมีมีสองวัตถุประสงค์: (1) เป็น eligibility gate สำหรับ off-site CI1 และ (2) เป็น input ของ การประเมินเวลามาถึง ที่ป้อนเข้า logic เรื่อง delayed-Gate-In / window-time ใน Threshold เวลา tolerance / window / overdue การเปลี่ยนรัศมีจึงส่งผลทั้งต่อว่าใครจะ check-in ได้ และต่อพฤติกรรมของ threshold การมาถึงเร็ว/ช้า
- เนื่องจากค่านี้เป็นตัวกำหนด trade-off ด้านความปลอดภัย/throughput (เล็กเกินไป = แทบไม่ได้ประโยชน์จากการล่วงหน้า; ใหญ่เกินไป = การประเมินเวลามาถึงไม่น่าเชื่อถือ) SCCC จึงต้องสรุปค่าเริ่มต้นก่อนเริ่ม build — flag ไว้ใน ค่า threshold เชิงตัวเลขที่ยังไม่ได้กำหนด — geofence radius และ tolerance/window time