📑 สารบัญ
ติดตั้งบน Google
ทำครั้งเดียวบนคอมพิวเตอร์ ประมาณ 10 นาที
เริ่มต้น
สร้างไฟล์ Google Sheets ใหม่
ไฟล์นี้คือ “ฐานข้อมูล” ของระบบ เก็บบริการ การจองคิว วันหยุด และการตั้งค่าเวลาทำการ
- เข้า sheets.new ด้วยบัญชี Google ที่ต้องการให้เป็นเจ้าของระบบ
- คลิกชื่อไฟล์มุมซ้ายบน แล้วตั้งชื่อ เช่น QueueBook จองคิว
อีเมลยืนยันคิวจะส่งจากบัญชีนี้ แนะนำบัญชี Gmail ของร้าน
ใส่ระบบ
วางไฟล์ทั้ง 3 ไฟล์ใน Apps Script
| ไฟล์ที่ได้รับ | หน้าที่ |
|---|---|
Code.gs | โค้ดฝั่งเซิร์ฟเวอร์ (คำนวณเวลาว่าง กันจองซ้อน ส่งอีเมล) |
Index.html | หน้าเว็บทั้งหมด — หน้าจองคิว ดูการจอง และหน้าร้าน |
appsscript.json | ตั้งค่าโปรเจกต์ (เขตเวลา สิทธิ์ เว็บแอป) |
- ในไฟล์ชีต ไปที่เมนู ส่วนขยาย›Apps Script
- เปลี่ยนชื่อโปรเจกต์ (มุมซ้ายบน) เป็น Jabphap QueueBook
- เปิดไฟล์ Code.gs กด Ctrl+A ลบโค้ดเดิม แล้ววางเนื้อหาจากไฟล์ Code.gs ที่ได้รับทั้งไฟล์
- กดปุ่ม + ข้างคำว่า “ไฟล์” › HTML ตั้งชื่อว่า
Index(ไม่ต้องพิมพ์ .html) ลบเนื้อหาเดิม แล้ววางเนื้อหาจาก Index.html - ไปที่ ⚙ การตั้งค่าโปรเจกต์ ติ๊ก “แสดงไฟล์ Manifest ‘appsscript.json’ ในเครื่องมือแก้ไข” กลับมาหน้า เครื่องมือแก้ไข เปิด
appsscript.jsonแล้ววางทับด้วยไฟล์ที่ได้รับ - กด Ctrl+S บันทึกทุกไฟล์
Index ตัว I ใหญ่ถ้าตั้งชื่อผิด เปิดเว็บแอปแล้วจะขึ้นข้อความ “ไม่พบไฟล์ HTML ที่ชื่อ Index”
สร้างฐานข้อมูล
รันฟังก์ชัน setup (ครั้งเดียว)
- ในแถบเครื่องมือด้านบน เลือกฟังก์ชัน setup จากรายการ แล้วกด ▶ เรียกใช้
- ครั้งแรก Google จะขอสิทธิ์ ทำตามขั้นตอนถัดไป (ข้อ 4) แล้วระบบจะรันต่อเอง
- ดูที่ บันทึกการดำเนินการ ด้านล่าง จะมีข้อความติดตั้งสำเร็จ และ รหัสผู้ดูแล (PIN) 6 หลัก — จดไว้
กลับไปดูไฟล์ชีต จะมีชีตใหม่: Services Bookings Holidays Settings Logs พร้อมข้อมูลตัวอย่าง
รัน setupWithoutSampleData แทน setup (ทำก่อนครั้งแรกเท่านั้น) หรือลบแถวตัวอย่างในชีตทิ้งภายหลังได้
รันฟังก์ชัน resetAdminPin แล้วดูรหัสใหม่ในบันทึกการดำเนินการ
ความปลอดภัย
อนุญาตสิทธิ์ให้สคริปต์
สคริปต์ทำงานในบัญชีของคุณเอง Google จึงให้ยืนยันสิทธิ์ก่อนใช้งานครั้งแรก
- หน้าต่าง “ต้องมีการให้สิทธิ์” กด ตรวจสอบสิทธิ์ แล้วเลือกบัญชี Google ของคุณ
- ถ้าเจอ “Google ยังไม่ได้ยืนยันแอปนี้” กด ขั้นสูง › ไปที่ Jabphap QueueBook (ไม่ปลอดภัย) — เป็นปกติของสคริปต์ที่เขียนใช้เอง
- ติ๊ก เลือกทั้งหมด แล้วกด ดำเนินการต่อ


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




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


?page=admin)ก่อนเริ่มใช้จริง
เช็กลิสต์ก่อนเปิดใช้งาน
ติ๊กไว้ได้ ระบบจะจำในเบราว์เซอร์นี้
ดูแลระบบ
อัปเดตเป็นเวอร์ชันใหม่
- วางทับไฟล์ Code.gs และ Index ด้วยไฟล์เวอร์ชันใหม่ แล้วบันทึก
- รัน setup อีกครั้ง — ระบบจะเพิ่มคอลัมน์/ชีตที่ขาด โดยไม่ลบข้อมูลเดิม และไม่เปลี่ยนรหัสผู้ดูแล
- ไปที่ ทำให้ใช้งานได้›จัดการการทำให้ใช้งานได้ กดดินสอ ✏ เลือก เวอร์ชัน: เวอร์ชันใหม่ แล้วกด ทำให้ใช้งานได้ — URL เดิมใช้ต่อได้
ทำสำเนาไฟล์ชีตได้ทุกเมื่อที่ ไฟล์›ทำสำเนา หรือดาวน์โหลดเป็น Excel
อ้างอิง
โครงสร้างชีตในฐานข้อมูล
| ชีต | เก็บข้อมูล |
|---|---|
Services | บริการ: ชื่อ ระยะเวลา (นาที) ราคา รายละเอียด สี เปิด/ปิด ลำดับ |
Bookings | การจอง: รหัส บริการ วันที่ เวลาเริ่ม-สิ้นสุด ชื่อ เบอร์ อีเมล หมายเหตุ สถานะ ช่องทาง |
Holidays | วันหยุดพิเศษ (ลูกค้าจองไม่ได้) |
Settings | เวลาทำการ จำนวนที่รับพร้อมกัน และข้อมูลร้าน (แก้ในหน้าเว็บ) |
Logs | บันทึกเหตุการณ์ |
แก้ไขข้อมูลในแถวได้ตามปกติ แต่ชื่อชีตและหัวคอลัมน์ระบบใช้อ้างอิง (สลับลำดับคอลัมน์ได้ เพิ่มคอลัมน์ของตัวเองต่อท้ายได้)