Jabphap QueueBookคู่มือการติดตั้ง
⏱ ติดตั้งประมาณ 10 นาที · ไม่ต้องเขียนโค้ด

ติดตั้ง Jabphap QueueBook

ระบบจองคิวออนไลน์ ลูกค้าเลือกบริการ วัน และเวลาเอง ระบบกันจองซ้อนอัตโนมัติ ยืนยันทางอีเมล พร้อมหน้าจัดการคิวสำหรับร้าน ทำงานบน Google Sheets + Google Apps Script ในบัญชี Google ของคุณเอง ข้อมูลอยู่ใน Drive ของคุณ ไม่มีค่ารายเดือน

👤บัญชี GoogleGmail หรือ Google Workspace
💻คอมพิวเตอร์ใช้ตอนติดตั้งครั้งแรก
📄3 ไฟล์Code.gs · Index.html · appsscript.json
📱ใช้งานได้ทุกจอมือถือ แท็บเล็ต คอม
📑 สารบัญ
ส่วนที่ 1

ติดตั้งบน Google

ทำครั้งเดียวบนคอมพิวเตอร์ ประมาณ 10 นาที

1

เริ่มต้น

สร้างไฟล์ Google Sheets ใหม่

ไฟล์นี้คือ “ฐานข้อมูล” ของระบบ เก็บบริการ การจองคิว วันหยุด และการตั้งค่าเวลาทำการ

  1. เข้า sheets.new ด้วยบัญชี Google ที่ต้องการให้เป็นเจ้าของระบบ
  2. คลิกชื่อไฟล์มุมซ้ายบน แล้วตั้งชื่อ เช่น QueueBook จองคิว
💡 บัญชีไหนติดตั้ง บัญชีนั้นเป็นเจ้าของ

อีเมลยืนยันคิวจะส่งจากบัญชีนี้ แนะนำบัญชี Gmail ของร้าน

2

ใส่ระบบ

วางไฟล์ทั้ง 3 ไฟล์ใน Apps Script

ไฟล์ที่ได้รับหน้าที่
Code.gsโค้ดฝั่งเซิร์ฟเวอร์ (คำนวณเวลาว่าง กันจองซ้อน ส่งอีเมล)
Index.htmlหน้าเว็บทั้งหมด — หน้าจองคิว ดูการจอง และหน้าร้าน
appsscript.jsonตั้งค่าโปรเจกต์ (เขตเวลา สิทธิ์ เว็บแอป)
  1. ในไฟล์ชีต ไปที่เมนู ส่วนขยาย›Apps Script
  2. เปลี่ยนชื่อโปรเจกต์ (มุมซ้ายบน) เป็น Jabphap QueueBook
  3. เปิดไฟล์ Code.gs กด Ctrl+A ลบโค้ดเดิม แล้ววางเนื้อหาจากไฟล์ Code.gs ที่ได้รับทั้งไฟล์
  4. กดปุ่ม + ข้างคำว่า “ไฟล์” › HTML ตั้งชื่อว่า Index (ไม่ต้องพิมพ์ .html) ลบเนื้อหาเดิม แล้ววางเนื้อหาจาก Index.html
  5. ไปที่ ⚙ การตั้งค่าโปรเจกต์ ติ๊ก “แสดงไฟล์ Manifest ‘appsscript.json’ ในเครื่องมือแก้ไข” กลับมาหน้า เครื่องมือแก้ไข เปิด appsscript.json แล้ววางทับด้วยไฟล์ที่ได้รับ
  6. กด Ctrl+S บันทึกทุกไฟล์
⚠ ชื่อไฟล์ HTML ต้องเป็น Index ตัว I ใหญ่

ถ้าตั้งชื่อผิด เปิดเว็บแอปแล้วจะขึ้นข้อความ “ไม่พบไฟล์ HTML ที่ชื่อ Index”

3

สร้างฐานข้อมูล

รันฟังก์ชัน setup (ครั้งเดียว)

  1. ในแถบเครื่องมือด้านบน เลือกฟังก์ชัน setup จากรายการ แล้วกด ▶ เรียกใช้
  2. ครั้งแรก Google จะขอสิทธิ์ ทำตามขั้นตอนถัดไป (ข้อ 4) แล้วระบบจะรันต่อเอง
  3. ดูที่ บันทึกการดำเนินการ ด้านล่าง จะมีข้อความติดตั้งสำเร็จ และ รหัสผู้ดูแล (PIN) 6 หลัก — จดไว้
✅ ติดตั้ง จองคิวออนไลน์ เรียบร้อย รหัสผู้ดูแล (PIN) เริ่มต้น: 4xxxxx ← จดไว้ แล้วเปลี่ยนได้ที่หน้า ตั้งค่า ขั้นต่อไป: ทำให้ใช้งานได้ › การทำให้ใช้งานได้รายการใหม่ › เว็บแอป

กลับไปดูไฟล์ชีต จะมีชีตใหม่: Services Bookings Holidays Settings Logs พร้อมข้อมูลตัวอย่าง

ไม่อยากได้ข้อมูลตัวอย่าง?

รัน setupWithoutSampleData แทน setup (ทำก่อนครั้งแรกเท่านั้น) หรือลบแถวตัวอย่างในชีตทิ้งภายหลังได้

ลืมรหัสผู้ดูแล?

รันฟังก์ชัน resetAdminPin แล้วดูรหัสใหม่ในบันทึกการดำเนินการ

4

ความปลอดภัย

อนุญาตสิทธิ์ให้สคริปต์

สคริปต์ทำงานในบัญชีของคุณเอง Google จึงให้ยืนยันสิทธิ์ก่อนใช้งานครั้งแรก

  1. หน้าต่าง “ต้องมีการให้สิทธิ์” กด ตรวจสอบสิทธิ์ แล้วเลือกบัญชี Google ของคุณ
  2. ถ้าเจอ “Google ยังไม่ได้ยืนยันแอปนี้” กด ขั้นสูง › ไปที่ Jabphap QueueBook (ไม่ปลอดภัย) — เป็นปกติของสคริปต์ที่เขียนใช้เอง
  3. ติ๊ก เลือกทั้งหมด แล้วกด ดำเนินการต่อ
หน้าต่างขอสิทธิ์ กด ตรวจสอบสิทธิ์
หน้าต่างขอสิทธิ์ กด ตรวจสอบสิทธิ์
กด ขั้นสูง แล้วเลือก ไปที่โปรเจกต์ (ไม่ปลอดภัย)
กด ขั้นสูง แล้วเลือก ไปที่โปรเจกต์ (ไม่ปลอดภัย)

สิทธิ์ที่ระบบขอ และเหตุผล

สิทธิ์ใช้ทำอะไร
ดู แก้ไข สร้าง ลบ สเปรดชีตบันทึกบริการ คิว และวันหยุด
ส่งอีเมลในนามของคุณส่งอีเมลยืนยัน/เลื่อน/ยกเลิกคิวให้ลูกค้า และแจ้งร้านเมื่อมีคิวใหม่
5

เปิดให้ใช้งาน

เผยแพร่เป็นเว็บแอป

  1. มุมขวาบน กด ทำให้ใช้งานได้›การทำให้ใช้งานได้รายการใหม่
  2. กดรูปเฟือง ⚙ ข้าง “เลือกประเภท” แล้วเลือก เว็บแอป
  3. ตั้งค่า เรียกใช้ในฐานะ: ฉัน และ ผู้ที่มีสิทธิ์เข้าถึง: ทุกคน — เพื่อให้ลูกค้าจองได้โดยไม่ต้องล็อกอิน (หน้าร้านยังต้องใช้รหัส PIN)
  4. กด ทำให้ใช้งานได้ แล้วคัดลอก URL ของเว็บแอป (ลงท้ายด้วย /exec)
เมนู ทำให้ใช้งานได้ › การทำให้ใช้งานได้รายการใหม่
เมนู ทำให้ใช้งานได้ › การทำให้ใช้งานได้รายการใหม่
เลือกประเภท เว็บแอป
เลือกประเภท เว็บแอป
ตั้งค่า เรียกใช้ในฐานะ: ฉัน · ผู้มีสิทธิ์เข้าถึง: ทุกคน
ตั้งค่า เรียกใช้ในฐานะ: ฉัน · ผู้มีสิทธิ์เข้าถึง: ทุกคน
คัดลอก URL ของเว็บแอป ไว้ใช้งาน
คัดลอก URL ของเว็บแอป ไว้ใช้งาน
⚠ เลือก “ทุกคน” ไม่ใช่ “ทุกคนที่มีบัญชี Google”

ถ้าเลือก “ทุกคนที่มีบัญชี Google” ลูกค้าต้องล็อกอิน Google ก่อนจอง

6

พร้อมใช้งาน

ตั้งเวลาทำการ แล้วเปิดลิงก์ให้ลูกค้า

  1. เปิด URL?page=admin ใส่รหัสผู้ดูแล
  2. ไปที่ ตั้งค่า เลือก วันเปิด เวลาเปิด-ปิด พักกลางวัน และ จำนวนลูกค้าที่รับได้พร้อมกัน (เช่น มีช่าง 2 คน = 2)
  3. ไปที่ บริการ แก้ไขบริการตัวอย่างให้ตรงกับร้าน (ชื่อ ระยะเวลา ราคา)
  4. ส่ง URL /exec ให้ลูกค้าทาง LINE OA, Facebook, Google Maps หรือทำ QR ติดหน้าร้าน
หน้าจองคิวที่ลูกค้าเห็น
หน้าจองคิวที่ลูกค้าเห็น
หน้าเข้าสู่ระบบร้าน (?page=admin)
หน้าเข้าสู่ระบบร้าน (?page=admin)
7

ก่อนเริ่มใช้จริง

เช็กลิสต์ก่อนเปิดใช้งาน

ติ๊กไว้ได้ ระบบจะจำในเบราว์เซอร์นี้

0/6
8

ดูแลระบบ

อัปเดตเป็นเวอร์ชันใหม่

  1. วางทับไฟล์ Code.gs และ Index ด้วยไฟล์เวอร์ชันใหม่ แล้วบันทึก
  2. รัน setup อีกครั้ง — ระบบจะเพิ่มคอลัมน์/ชีตที่ขาด โดยไม่ลบข้อมูลเดิม และไม่เปลี่ยนรหัสผู้ดูแล
  3. ไปที่ ทำให้ใช้งานได้›จัดการการทำให้ใช้งานได้ กดดินสอ ✏ เลือก เวอร์ชัน: เวอร์ชันใหม่ แล้วกด ทำให้ใช้งานได้ — URL เดิมใช้ต่อได้
สำรองข้อมูล

ทำสำเนาไฟล์ชีตได้ทุกเมื่อที่ ไฟล์›ทำสำเนา หรือดาวน์โหลดเป็น Excel

DB

อ้างอิง

โครงสร้างชีตในฐานข้อมูล

ชีตเก็บข้อมูล
Servicesบริการ: ชื่อ ระยะเวลา (นาที) ราคา รายละเอียด สี เปิด/ปิด ลำดับ
Bookingsการจอง: รหัส บริการ วันที่ เวลาเริ่ม-สิ้นสุด ชื่อ เบอร์ อีเมล หมายเหตุ สถานะ ช่องทาง
Holidaysวันหยุดพิเศษ (ลูกค้าจองไม่ได้)
Settingsเวลาทำการ จำนวนที่รับพร้อมกัน และข้อมูลร้าน (แก้ในหน้าเว็บ)
Logsบันทึกเหตุการณ์
⚠ อย่าเปลี่ยนชื่อชีตหรือหัวคอลัมน์แถวแรก

แก้ไขข้อมูลในแถวได้ตามปกติ แต่ชื่อชีตและหัวคอลัมน์ระบบใช้อ้างอิง (สลับลำดับคอลัมน์ได้ เพิ่มคอลัมน์ของตัวเองต่อท้ายได้)

ช่วยเหลือ

คำถามที่พบบ่อย (การติดตั้ง)

ลูกค้าเห็นเวลาว่างไม่ตรงกับที่ตั้ง
ตรวจ เวลาปิด (คิวสุดท้ายต้องจบก่อนเวลาปิด) พักกลางวัน และ ต้องจองก่อนอย่างน้อย (นาที) ในหน้าตั้งค่า · เวลาทั้งหมดเป็นเวลาประเทศไทย (appsscript.json ตั้ง Asia/Bangkok)
เปิดเว็บแอปแล้วขึ้น “ยังไม่ได้ติดตั้งระบบ”
ยังไม่ได้รันฟังก์ชัน setup หรือรันแล้วแต่ไม่สำเร็จ — กลับไปที่ Apps Script เลือก setup แล้วกด ▶ เรียกใช้ จากนั้นรีเฟรชหน้าเว็บ
แก้โค้ด/อัปเดตแล้ว แต่หน้าเว็บยังเหมือนเดิม
ต้อง ทำให้ใช้งานได้เวอร์ชันใหม่ ทุกครั้ง (จัดการการทำให้ใช้งานได้ › ✏ › เวอร์ชันใหม่) ลิงก์ /exec จะแสดงเวอร์ชันล่าสุดที่ deploy เท่านั้น
ขึ้น “Google ยังไม่ได้ยืนยันแอปนี้” อันตรายไหม
ไม่อันตราย เป็นข้อความปกติของสคริปต์ที่สร้างใช้เองในบัญชีของคุณ โค้ดทั้งหมดอยู่ในโปรเจกต์ของคุณและเปิดอ่านได้ทุกบรรทัด
ส่งอีเมลได้วันละกี่ฉบับ
บัญชี Gmail ทั่วไปประมาณ 100 ฉบับ/วัน · Google Workspace ประมาณ 1,500 ฉบับ/วัน (นับรวมทุกสคริปต์ในบัญชี) ถ้าโควตาหมด ระบบยังบันทึกข้อมูลได้ปกติแต่จะไม่ส่งอีเมล
ข้อมูลเก็บที่ไหน ปลอดภัยไหม
ข้อมูลทั้งหมดอยู่ใน Google Sheets ของคุณเท่านั้น ผู้ขายไม่สามารถเข้าถึงได้ หน้าผู้ดูแลป้องกันด้วยรหัส PIN และหมดอายุการเข้าสู่ระบบใน 6 ชั่วโมง