JABPHAP
Code.gs · 938 บรรทัด
/**
 * ═══════════════════════════════════════════════════════════════════════════
 *  ระบบจองคิวร้านบริการ  ·  Appointment Booking
 *  (ร้านตัดผม · คลินิก · คาร์แคร์ · ร้านนวด · สปา)
 *  ระบบที่ 47/100  —  กลุ่มจองคิว, คลังสินค้า & Asset Management
 * ───────────────────────────────────────────────────────────────────────────
 *  ปัญหาที่แก้ : "ลูกค้าทักมาถามคิวใน LINE ทั้งวัน ตอบไม่ทัน ·
 *                จดคิวในสมุด ช่างคนเดียวถูกจอง 2 คิวเวลาเดียว ·
 *                ลูกค้าไม่มาตามนัด เสียคิวทั้งช่วง ·
 *                บริการแต่ละอย่างใช้เวลาต่างกัน คิดคิวไม่ถูก"
 *
 *  ⭐ จุดเด่นที่สุด = คำนวณช่วงเวลาว่าง**จากระยะเวลาของบริการจริง**
 *     ตัดผม 30 นาที กับ ทำสี 150 นาที ไม่ควรใช้ช่องเวลาแบบเดียวกัน
 *     ระบบไล่หาช่วงที่ "ยาวพอ + ช่างว่าง + ไม่ชนพักเที่ยง + มีเวลาเก็บงาน"
🔒

สั่งซื้อด้านขวาเพื่อรับโค้ดเต็ม

ได้ไฟล์โปรเจกต์ .zip ทันทีหลังชำระเงิน

ติดตั้งยังไง (ประมาณ 10 นาที)

  1. 1 แตกไฟล์ ZIP จะได้ Code.gs · index.html · appsscript.json และคู่มือ README.md
  2. 2 เปิด script.google.comNew project → Project Settings ติ๊ก Show "appsscript.json"
  3. 3 วางเนื้อหา appsscript.json และ Code.gs แล้วกด + → HTML ตั้งชื่อ index วาง index.html
  4. 4 เลือกฟังก์ชัน setup → กด Run → อนุญาตสิทธิ์ ระบบจะสร้าง Google Sheet ให้เอง
  5. 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 ครั้ง) เทียบลูกค้าใหม่ 🚫 วันปิดร้าน / ช่างลา ตั้งได้ทั้งปิดทั้งร้านและช่างคนใดคนหนึ่งลา — ระบบซ่อนเวลาว่างของวันนั้นให้อัตโนมัติ ⚠️ ถ้ามีคิวจองไว้แล้ว ระบบเตือนแต่ไม่ยกเลิกให้อัตโนมัติ เพราะควรมีคนโทรแจ้งลูกค้าก่อนเสมอ — คนควรได้รับการแจ้งจากคน ไม่ใช่จากระบบ 🧑 ประวัติลูกค้าอัตโนมัติ สร้างจากเบอร์โทร — นับจำนวนครั้งที่มา / ไม่มา / มาล่าสุด ร้านเห็นในตารางคิวเลยว่าคนนี้เป็นลูกค้าประจำ (⭐) หรือเคยเบี้ยวบ่อย (⚠️)

ระบบจองคิวร้านบริการ

ร้านตัดผม · คลินิก · คาร์แคร์ · ร้านนวด · สปา ลูกค้าจองเองจากลิงก์เดียว · คำนวณเวลาว่างจากระยะเวลาบริการจริง

฿390 จ่ายครั้งเดียว ใช้ได้ตลอด
  • Web App พร้อมใช้ ข้อมูลเก็บใน Google Sheet ของคุณเอง
  • ได้ครบทุกไฟล์ + คู่มือติดตั้งภาษาไทย (README.md)
  • แก้โค้ดต่อเองได้ ไม่ล็อก ไม่มีค่ารายเดือน

จ่ายผ่าน PromptPay · แนบสลิปแล้วได้ไฟล์ทันที

ใช้หลายระบบ ซื้อทั้งชุดคุ้มกว่า

ชุดจองคิว & คลังสินค้า 15 ระบบ ฿1,707 ฿790 ประหยัด 54%
มีคำถาม ทักแชทได้เลย
โหลดแล้ว 0 ครั้ง 40 KB
LINE