/**
* ═══════════════════════════════════════════════════════════════════════════
* ระบบจองคิวร้านบริการ · Appointment Booking
* (ร้านตัดผม · คลินิก · คาร์แคร์ · ร้านนวด · สปา)
* ระบบที่ 47/100 — กลุ่มจองคิว, คลังสินค้า & Asset Management
* ───────────────────────────────────────────────────────────────────────────
* ปัญหาที่แก้ : "ลูกค้าทักมาถามคิวใน LINE ทั้งวัน ตอบไม่ทัน ·
* จดคิวในสมุด ช่างคนเดียวถูกจอง 2 คิวเวลาเดียว ·
* ลูกค้าไม่มาตามนัด เสียคิวทั้งช่วง ·
* บริการแต่ละอย่างใช้เวลาต่างกัน คิดคิวไม่ถูก"
*
* ⭐ จุดเด่นที่สุด = คำนวณช่วงเวลาว่าง**จากระยะเวลาของบริการจริง**
* ตัดผม 30 นาที กับ ทำสี 150 นาที ไม่ควรใช้ช่องเวลาแบบเดียวกัน
* ระบบไล่หาช่วงที่ "ยาวพอ + ช่างว่าง + ไม่ชนพักเที่ยง + มีเวลาเก็บงาน"
สั่งซื้อด้านขวาเพื่อรับโค้ดเต็ม
ได้ไฟล์โปรเจกต์ .zip ทันทีหลังชำระเงิน
ติดตั้งยังไง (ประมาณ 10 นาที)
- 1 แตกไฟล์ ZIP จะได้ Code.gs · index.html · appsscript.json และคู่มือ README.md
- 2 เปิด script.google.com → New project → Project Settings ติ๊ก Show "appsscript.json"
- 3 วางเนื้อหา appsscript.json และ Code.gs แล้วกด + → HTML ตั้งชื่อ index วาง index.html
- 4 เลือกฟังก์ชัน setup → กด Run → อนุญาตสิทธิ์ ระบบจะสร้าง Google Sheet ให้เอง
- 5 Deploy → New deployment → Web app แล้วเปิดลิงก์ที่ได้ใช้งานได้เลย
📘 ขั้นตอนละเอียด การตั้งค่า (เช่น LINE Token ใน Script Properties) โครงสร้างชีต และคำถามที่พบบ่อย อยู่ในไฟล์ README.md ที่แนบใน ZIP — เปิดด้วย Notepad หรือ VS Code ได้เลย
⚠️ ตอนกด Run ครั้งแรก Google จะขึ้นเตือนว่า “แอปนี้ยังไม่ได้รับการยืนยัน” เป็นเรื่องปกติของสคริปต์ที่เราเขียนเอง กด Advanced → Go to (ชื่อโปรเจกต์) เพื่อไปต่อ · สคริปต์ทำงานในบัญชี Google ของคุณเอง เราไม่เห็นไฟล์ของคุณ
ติดตั้งไม่เป็น? ให้เราติดตั้งให้
฿590 / ระบบ
- ติดตั้งในบัญชี Google ของคุณ พร้อมสร้างชีตฐานข้อมูลให้
- ตั้งค่าที่จำเป็นให้ (เช่น LINE Token · อีเมลแจ้งเตือน) แล้วสอนใช้ผ่านแชท
- ได้ลิงก์ใช้งานจริงกลับไป ไม่ต้องแตะโค้ดเลย
เกี่ยวกับเครื่องมือนี้
ปัญหาที่เจอกันจริง • ลูกค้าทักถามคิวใน LINE ทั้งวัน — ช่างตัดผมไปตอบแชทไป งานช้า ลูกค้าหน้าร้านรอ • จดคิวในสมุด — ช่างคนเดียวถูกจอง 2 คิวเวลาเดียว · ลูกค้าเสียความรู้สึก • ลูกค้าไม่มาตามนัด — เสียคิวทั้งช่วง ไม่รู้ล่วงหน้า จะรับวอล์กอินแทนก็ไม่ทัน • บริการใช้เวลาต่างกัน — คิดคิวไม่ถูก จองทำสีตอนใกล้ปิดร้าน ทำไม่ทัน • ไม่รู้ว่าช่วงไหนคนเยอะ — จ้างช่างเพิ่มผิดกะ จุดเด่นที่สุด — คำนวณช่วงเวลาว่างจากระยะเวลาของบริการจริง ระบบจองคิวส่วนใหญ่ให้ลูกค้าเลือก "ช่องเวลา" ตายตัวทุก 30 นาที แต่ ตัดผม 30 นาที กับ ทำสี 150 นาที ไม่ควรใช้ช่องเวลาแบบเดียวกัน ระบบนี้ทำกลับกัน — เลือกบริการก่อน แล้วค่อยคำนวณว่าช่วงไหนยาวพอ need = ระยะเวลาบริการ + เวลาเก็บงาน // เช่น 150 + 20 = 170 นาที for (t = เวลาเริ่มงานของช่าง; t + need <= เวลาเลิกงาน; t += slotMin) { ถ้า t เร็วเกินกติกาจองล่วงหน้า → ข้าม ถ้า [t, t+need) ทับคิวเดิม/พักเที่ยง → ข้าม ✅ ช่วงนี้จองได้ } ผลคือลูกค้าที่จะทำสี จะไม่เห็นช่อง 16:30 ถ้าช่างเลิกงาน 19:00 (เพราะทำไม่ทัน) แต่ลูกค้าที่จะตัดผมยังเห็นอยู่ ⏱️ เวลาเก็บงาน (buffer) — จุดที่ระบบจองคิวส่วนใหญ่ลืม ตั้งได้ต่อบริการ เช่น ทำสี 150 นาที + เก็บงาน 20 นาที ระบบจะไม่ให้จองติดกันเป๊ะ — ช่างมีเวลาเก็บอุปกรณ์ ล้างชาม เช็ดเก้าอี้ ก่อนคิวถัดไป ลูกค้ายังเห็นว่าคิวจบ 12:30 (ไม่เห็น 20 นาทีที่กันไว้) แต่คิวถัดไปเริ่มได้เร็วสุด 12:50 👤 ช่างแต่ละคนทำบริการได้ไม่เหมือนกัน ตั้งได้ว่าบริการไหนเฉพาะช่างคนไหน (เช่น ดัดผม → ช่างบีเท่านั้น) ลูกค้าเลือกบริการ → เห็นเฉพาะช่างที่ทำได้ → เห็นเวลาว่างของช่างกลุ่มนั้น เลือก "ใครก็ได้" ระบบรวมเวลาว่างของทุกช่างมาให้เลือก ความสามารถอื่น ๆ 🔒 กันจองซ้อนระดับ LockService if (!lock.tryLock(30000)) throw new Error('ระบบกำลังมีคนจองพร้อมกัน กรุณาลองใหม่'); // ► ตรวจซ้ำอีกครั้งว่าเวลานี้ยังว่างจริง (อ่านสดจากชีต) if (free.indexOf(start) < 0) throw new Error('ขออภัย เวลานี้เพิ่งถูกจองไปแล้ว 😅\nกรุณาเลือกเวลาอื่น'); 2 คนกดจองเวลาเดียวกันพร้อมกัน — ได้แค่คนเดียว อีกคนเห็นข้อความทันทีและระบบโหลดเวลาว่างใหม่ให้เลย 📊 สถิติที่ตอบคำถามของเจ้าของร้าน • บริการไหนทำเงินจริง? — รายได้ตามบริการ (นับเฉพาะที่ "มาแล้ว") • ควรเพิ่มช่างช่วงไหน? — กราฟช่วงเวลาที่คนจองเยอะ + วันที่คนมาเยอะ • ไม่มาตามนัดเสียเงินเท่าไร? — อัตรา no-show + ยอดเงินที่เสียโอกาสไป • ลูกค้ากลับมาซ้ำไหม? — ลูกค้าประจำ (มา ≥2 ครั้ง) เทียบลูกค้าใหม่ 🚫 วันปิดร้าน / ช่างลา ตั้งได้ทั้งปิดทั้งร้านและช่างคนใดคนหนึ่งลา — ระบบซ่อนเวลาว่างของวันนั้นให้อัตโนมัติ ⚠️ ถ้ามีคิวจองไว้แล้ว ระบบเตือนแต่ไม่ยกเลิกให้อัตโนมัติ เพราะควรมีคนโทรแจ้งลูกค้าก่อนเสมอ — คนควรได้รับการแจ้งจากคน ไม่ใช่จากระบบ 🧑 ประวัติลูกค้าอัตโนมัติ สร้างจากเบอร์โทร — นับจำนวนครั้งที่มา / ไม่มา / มาล่าสุด ร้านเห็นในตารางคิวเลยว่าคนนี้เป็นลูกค้าประจำ (⭐) หรือเคยเบี้ยวบ่อย (⚠️)
ระบบจองคิวร้านบริการ
ร้านตัดผม · คลินิก · คาร์แคร์ · ร้านนวด · สปา ลูกค้าจองเองจากลิงก์เดียว · คำนวณเวลาว่างจากระยะเวลาบริการจริง
- Web App พร้อมใช้ ข้อมูลเก็บใน Google Sheet ของคุณเอง
- ได้ครบทุกไฟล์ + คู่มือติดตั้งภาษาไทย (README.md)
- แก้โค้ดต่อเองได้ ไม่ล็อก ไม่มีค่ารายเดือน
ใช้หลายระบบ ซื้อทั้งชุดคุ้มกว่า
ชุดจองคิว & คลังสินค้า 15 ระบบ ฿1,707 ฿790 ประหยัด 54%