Built in public · Bangkokสร้างต่อสาธารณะ · กรุงเทพ

Bookku ships every day.Bookku ปล่อยอัปเดต ทุกวัน

We publish every customer-facing change here — features, fixes, infra, marketing. No buried release notes, no quarterly mega-launches. Just what landed this week.เราเผยแพร่ทุกการเปลี่ยนแปลงที่ลูกค้าเห็น — ฟีเจอร์ การแก้ไข โครงสร้าง การตลาด ไม่มีรีลีสโน้ตซ่อน ไม่มีอัปเดตใหญ่ต่อไตรมาส แค่สิ่งที่ปล่อยสัปดาห์นี้

🚀 50+ commits this weekcommit 50+ ครั้งสัปดาห์นี้ 👥 3 parallel engineersวิศวกร 3 คนทำคู่ขนาน 🇹🇭 Bangkok-builtสร้างที่กรุงเทพ
2026-05-28 · Wednesdayพุธ

Landing-page mood polish + Tailwind uprooted + F-Bundle-C shipsหน้า landing แต่งใหม่ + ถอนต้นราก Tailwind + F-Bundle-C ครบชุด

  • MarketingการตลาดLanding-page mood polish — tech-startup energetic vibe. Industry gradient stripes on banner choices (booking blue / store purple-pink), hero typography bumped to font-weight 900, ALL-CAPS tech-eyebrow, subtle gradient-mesh background, and staggered fade-in reveal when the chooser appears.ปรับ mood หน้า landing ใหม่ — tech-startup energetic. แถบไล่สีของแต่ละ industry บนการ์ดเลือก (น้ำเงิน booking / ม่วงชมพู store) · h1 หนาขึ้นเป็น 900 · eyebrow ตัวพิมพ์ใหญ่ tech-startup · พื้นหลังไล่สีเบาๆ · animation ทยอยเด้งเข้ามาตอนเปิดหน้า
  • Infraโครงสร้างTailwind CDN uprooted (ถอนต้นราก) from booking.html + store.html. The runtime ~80KB blocking JS is gone; CSS is now inline plain-CSS in each page. Faster cold loads + full visual control.ถอนต้นราก Tailwind CDN ออกจาก booking.html + store.html. JS ~80KB ที่ block หน้าออกหมด · CSS ตอนนี้เป็น plain-CSS อยู่ในหน้า · cold load เร็วขึ้น + ควบคุมหน้าตาได้เต็มที่
  • Featureฟีเจอร์F-Bundle-C ships in 5 commits — quick wishlist heart, one-thumb manual-address checkout, recently-viewed strip on storefront, reorder lying-toast fix, F-13 empty-state illustrations, F-14 haptic feedback, F-15 AI bottom-sheet, with F-7 pull-to-refresh adopted across mobile flows.F-Bundle-C ปล่อยครบ 5 commit — ปุ่มหัวใจ wishlist · checkout มือเดียวกรอกที่อยู่เอง · แถบสินค้าเพิ่งดูบนหน้าร้าน · แก้ toast สั่งซ้ำ · ภาพ empty state · haptic ปุ่ม · bottom-sheet AI · pull-to-refresh ทั่ว flow มือถือ
  • Featureฟีเจอร์AI chat history persists across page refresh — backend storage layer plus storefront wire-up. The shopping assistant now remembers your conversation when you reload (no more amnesia after every refresh).AI chat จำประวัติได้แล้วหลัง refresh — ทั้งฝั่ง backend และ frontend หน้าร้าน. ผู้ช่วย AI จำบทสนทนาได้แม้กดรีโหลด (ไม่ลืมทุกครั้งที่ refresh เหมือนเดิม)
  • Featureฟีเจอร์Postal-code lookup goes from 21 sample codes to 954 Thai postal codes (full Thailand Post dataset, Thai-script). Address auto-fill on checkout now covers every province / district / sub-district pair.postal-code lookup จาก 21 ตัวอย่าง → 954 รหัสไปรษณีย์ทั่วไทย (ชุดข้อมูลไปรษณีย์ไทย ตัวอักษรไทย). กรอกที่อยู่อัตโนมัติบน checkout ครอบคลุมทุกจังหวัด/อำเภอ/ตำบลแล้ว
  • Featureฟีเจอร์Admin app gets a full mobile-responsive refactor — sidebar collapses on phone-width, tables switch to card-mode, calendar arrow tap-targets bumped from 28px to 44px (Apple HIG minimum). Daily Thai shop owner can run the admin one-handed.หน้า admin ปรับ responsive มือถือเต็มชุด — sidebar พับเก็บบน phone-width, ตารางสลับเป็น card-mode, ลูกศร calendar tap-target จาก 28px → 44px (ตาม Apple HIG). เจ้าของร้านไทยใช้มือถือมือเดียวได้
  • Fixแก้ไขOnboarding Step-5 HTTP 500 → root-cause fix (provisioning_pg ModuleNotFoundError on PROD signup). New signups now complete cleanly.แก้ Step-5 HTTP 500 ตอน signup PROD — root cause provisioning_pg ModuleNotFoundError. สมัครใหม่ทำได้ครบ flow แล้ว
  • Fixแก้ไขB-7 stuck-state signup recovery — if your signup hit a snag mid-funnel, the form now surfaces what to do next instead of silently failing. B-1 signup UX polish landed with it.B-7 แก้สถานะค้างกลาง flow signup — ถ้าสมัครติดกลางทาง ฟอร์มบอกได้แล้วว่าให้ทำอะไรต่อ ไม่เงียบเฉย. B-1 ปรับ UX signup ด้วย
  • Fixแก้ไขOnboarding error-visibility patch — Step 5 errors + apiFetch generic "something went wrong" messages now show what the underlying problem is, not just a generic toast.ปรับการแสดง error ของ onboarding — error Step 5 และข้อความ apiFetch "something went wrong" แสดงสาเหตุจริงให้เห็น ไม่ใช่ toast generic ปกปิด
2026-05-27 · Tuesdayอังคาร

Admin UX lean-workflow + tenant 404 fix LIVE + frontend-first lockAdmin UX ไหลลื่นขึ้น + แก้ tenant 404 ขึ้น PROD + ล็อก priority หน้าตา

  • Featureฟีเจอร์Admin dashboard quick-actions surface — frequent actions (new order, new product, refund, etc.) get a dedicated quick-access row at the top of the dashboard. Lean workflow for daily Thai shop owner.หน้า admin มี quick-actions แถบลัด — สิ่งที่ทำบ่อย (ออเดอร์ใหม่ / สินค้าใหม่ / คืนเงิน ฯลฯ) อยู่แถวบนสุดของ dashboard. ไหลลื่นขึ้นสำหรับเจ้าของร้านไทยใช้งานจริงทุกวัน
  • Featureฟีเจอร์Orders UX polish — daily-use lean workflow. Filter chips reordered for highest-frequency actions, status pills clearer, mobile reflow tighter.Orders UX ขัดเงา — workflow ใช้งานจริงทุกวัน. chip filter จัดเรียงตามสิ่งที่ทำบ่อย, สถานะ pill ชัดขึ้น, มือถือเรียง layout ใหม่
  • Featureฟีเจอร์Product creation Quick-Add wizard — first-time shop owners can add a sellable product in 3 steps instead of navigating the full form.Wizard เพิ่มสินค้าด่วน — เจ้าของร้านมือใหม่เพิ่มสินค้าขายได้ใน 3 ขั้น แทนที่จะลุยฟอร์มเต็มชุด
  • Featureฟีเจอร์Settings page reorganization — collapsible groups + localStorage state. Each shop owner remembers which sections they care about between visits.หน้า Settings จัดกลุ่มใหม่ — กลุ่มยุบขยายได้ + จำสถานะใน localStorage. แต่ละร้านเก็บสถานะที่ตัวเองสนใจไว้ระหว่างเข้ามาแต่ละครั้ง
  • Fixแก้ไขTenant-404 fix LIVE on PROD — visiting bookku.co/p/<unknown-shop-slug> now shows a proper "shop not found" page instead of a generic error. Verified by API probe returning HTTP 404 with shop_not_found detail.แก้ tenant 404 ขึ้น PROD แล้ว — เข้า bookku.co/p/<ชื่อร้านที่ไม่มี> ตอนนี้เจอหน้า "ไม่พบร้านนี้" สวยๆ แทนหน้า error generic. ยืนยันด้วย API ตอบ HTTP 404 + shop_not_found
  • Infraโครงสร้างDep-audit CI gate restored — CVE bumps unblock 4 vulnerabilities across 3 packages. Wait-for-CI gate verified working end-to-end (Railway auto-deploys only after CI green).ฟื้นด่าน CI dep-audit — bump CVE ปลด 4 vuln จาก 3 package. Wait-for-CI gate ใช้งานจริงแล้ว (Railway deploy ก็ต่อเมื่อ CI green)
2026-05-26 · Monday — PROD GO-LIVEจันทร์ — PROD GO-LIVE

🚀 bookku.co goes LIVE — banner-chooser + landing AI + Bundle A polish🚀 bookku.co ขึ้น PROD แล้ว — banner-chooser + AI หน้า landing + Bundle A ขัดเงา

  • Marketingการตลาดbookku.co PROD go-live event 🚀 — landing surface goes from internal preview to public-facing. Banner-chooser overlay (booking vs store) decides which vertical experience visitors see.🚀 bookku.co ขึ้น PROD แล้ว — หน้า landing จาก preview ภายในกลายเป็น public. banner-chooser overlay (booking vs store) ให้ผู้เข้าชมเลือก vertical ที่เหมาะกับตัวเอง
  • Featureฟีเจอร์Landing AI assistant (L-8) — ecom pilot. Visitors on the store landing page can ask the shopping AI questions while still browsing, no commitment needed.AI ผู้ช่วยหน้า landing (L-8) — pilot ฝั่งร้านค้า. ผู้เข้าชมหน้าร้านถาม AI ได้เลยขณะเดินดูสินค้า ไม่ต้องสมัครก่อน
  • Featureฟีเจอร์L-5 hero illustration on landing — inline phone-mock that shows the booking flow visually instead of a screenshot. Mobile-first design.L-5 ภาพหน้า hero — phone-mock inline แสดง booking flow ในรูปกราฟิก แทนภาพ screenshot. ออกแบบสำหรับมือถือเป็นหลัก
  • Featureฟีเจอร์F-2 PDP swipeable image gallery — Bundle B priority #1. Mobile customers swipe through product images with touch gestures.F-2 PDP แกลเลอรีรูปสินค้า swipe ได้ — Bundle B ความสำคัญสูงสุด. ลูกค้าบนมือถือ swipe ดูรูปสินค้าได้ด้วยนิ้ว
  • Featureฟีเจอร์F-11 order tracking timeline — customers see their order status as a tap-to-expand timeline (placed → paid → preparing → shipped → delivered) instead of a single status pill.F-11 timeline ติดตามออเดอร์ — ลูกค้าเห็นสถานะออเดอร์เป็น timeline แตะกางได้ (สั่ง → จ่ายแล้ว → กำลังเตรียม → ส่งแล้ว → ได้รับ) แทน pill เดี่ยว
  • Featureฟีเจอร์SMS OTP flips ON — paid quota live (~3,000+ SMS available). Phone-number signup + login goes from email-only to phone+OTP option.SMS OTP เปิดใช้แล้ว — quota จ่ายเงินซื้อพร้อมใช้ (~3,000+ SMS). signup + login เพิ่ม option ด้วยเบอร์โทร + OTP จากเดิมที่มีแค่อีเมล
  • Featureฟีเจอร์Persistent cart — your shopping cart survives page reloads and tab closures (was reset every refresh).ตะกร้าสินค้าจำได้แล้ว — ของในตะกร้าค้างอยู่แม้รีโหลดหรือปิด tab (ก่อนหน้านี้รีโหลดตะกร้าหายหมด)
  • Featureฟีเจอร์Forgot-password flow gets bilingual TH-default landing + L-1 analytics wired in.flow ลืมรหัสผ่านได้หน้า landing 2 ภาษา TH-default + L-1 analytics
  • Featureฟีเจอร์F-6 pull-to-refresh on storefront + F-8 PDP value_props reuse — small mobile UX wins shipped in F-Bundle-C Commit 1.F-6 pull-to-refresh บนหน้าร้าน + F-8 PDP ใช้ value_props ซ้ำ — UX มือถือเล็กๆ ใน F-Bundle-C Commit 1
  • Infraโครงสร้างRolling session — login sessions extend automatically on activity instead of expiring at a hard 1-year mark. Better daily-driver experience.Rolling session — session login ต่ออายุอัตโนมัติเมื่อยังใช้งาน แทนที่จะหมดอายุที่ 1 ปีเป๊ะ. ใช้งานทุกวันสะดวกขึ้น
  • Infraโครงสร้างMarketing Analytics Deeper — Path C BUILD shipped with frontend stub fallback. Funnel-event capture goes deeper into customer-journey analytics.Marketing Analytics เจาะลึก — Path C BUILD ปล่อยแล้ว พร้อม frontend stub fallback. เก็บข้อมูล funnel-event เจาะลึกขึ้นใน customer-journey
2026-05-25 · Sundayอาทิตย์

Phase 2A/2B/2C/3/4/5 ship-wave + customer-AI exemplaryPhase 2A/2B/2C/3/4/5 ปล่อยพร้อมกัน + Customer-AI ขัดเงา

  • Featureฟีเจอร์Phase 2A live on UAT + PROD — 5 features (admin + storefront integration polish), schema applied both environments.Phase 2A ขึ้น UAT + PROD — 5 features (admin + storefront integration ขัดเงา), schema apply ทั้งสอง environment
  • Featureฟีเจอร์Phase 2B + 2C shipped — search-picker pattern fix (dedicated /api/admin/variants?q= endpoint), voucher-target picker, M-9 query consistency.Phase 2B + 2C ปล่อยแล้ว — แก้ pattern search-picker (endpoint /api/admin/variants?q= ดูแลโดยตรง), picker voucher-target, M-9 query consistency
  • Featureฟีเจอร์Phase 3 backend FULL + frontend Cards 1-3 — customer-journey arc continues with deeper integrations.Phase 3 backend ครบ + frontend Cards 1-3 — customer-journey arc ลุยต่อพร้อม integration เจาะลึก
  • Featureฟีเจอร์Phase 4 storefront — full ecom storefront polish wave + Phase 5 quest UI live (gamification of customer-side actions).Phase 4 หน้าร้าน — wave ขัดเงาหน้าร้าน ecom เต็มชุด + Phase 5 quest UI ขึ้นแล้ว (gamification ฝั่งลูกค้า)
  • Featureฟีเจอร์Customer-AI polish wave reaches EXEMPLARY status — shopping assistant gets brand-tone tuning, tool-use guardrails, and tighter response cadence.Customer-AI ขัดเงาถึงระดับ EXEMPLARY — ผู้ช่วยช้อปได้ tuning โทนแบรนด์, guardrails tool-use, ตอบสนองกระชับขึ้น
  • Marketingการตลาด22 custom SVG icons ship for marketing surfaces (AEO/SEO accessibility-ready). Less reliance on emoji fallbacks.22 SVG icons custom สำหรับหน้าการตลาด (AEO/SEO accessibility พร้อม). พึ่ง emoji fallback น้อยลง
  • Infraโครงสร้าง5 security/CI hardening items land (gitleaks secret scanning, dep-audit job, AST-level invariant tests, more). Hardens the pipeline before PROD go-live.เพิ่ม 5 รายการ security/CI hardening (gitleaks สแกน secret, job dep-audit, test AST-level invariant ฯลฯ). เสริมท่อ pipeline ก่อนขึ้น PROD
2026-05-24 · Saturdayเสาร์

Session TTL 1-year + AURELIS demo + mockup-first lockedSession TTL 1 ปี + AURELIS demo + ล็อก mockup-first

  • Featureฟีเจอร์Session TTL extended from 30 days → 1 year. Daily-driver shop owners stop getting kicked back to login every month.Session TTL ยืดจาก 30 วัน → 1 ปี. เจ้าของร้านที่ใช้งานทุกวันไม่ต้อง login ใหม่ทุกเดือนแล้ว
  • MarketingการตลาดAURELIS luxury demo tenant live on UAT — showcases full premium-vibe storefront for high-end customers.AURELIS demo tenant ลักชัวรีขึ้น UAT แล้ว — โชว์ตัวอย่างหน้าร้าน premium เต็มชุดสำหรับลูกค้าระดับบน
  • Infraโครงสร้างRolling-session backend + SMS/LINE notification tiers queued for next wave. Foundation laid for paid SMS quota and LINE messaging integration.Rolling-session backend + แจ้งเตือน SMS/LINE หลายระดับ queued ไว้สำหรับ wave ถัดไป. วางพื้นฐานสำหรับ quota SMS จ่ายเงิน + LINE messaging
2026-05-23 · Fridayศุกร์

11 polish waves + operator impersonation + vertical-routing P011 wave ขัดเงา + operator แอบเข้าดูได้ + vertical-routing P0

  • Featureฟีเจอร์Operator impersonation — Bookku staff can log in AS a specific tenant for support without seeing other tenants' data. Audit-logged.Operator impersonation — staff Bookku login เป็นร้านใดร้านหนึ่งเพื่อช่วย support ได้ โดยไม่เห็นข้อมูลร้านอื่น. มี audit log
  • Featureฟีเจอร์value_props feature shipped end-to-end + bilingual hints (Option B). Marketing copy adapts per industry on landing.value_props ปล่อยครบ flow + คำอธิบาย 2 ภาษา (Option B). copy การตลาดปรับตาม industry บนหน้า landing
  • Featureฟีเจอร์Theme-palette wiring — admin can pick a brand color set; storefront renders with that palette. apiFetch normalizer + consent dict fix shipped alongside.เลือก theme-palette ได้ — admin เลือกชุดสีแบรนด์, หน้าร้าน render ด้วยชุดสีนั้น. apiFetch normalizer + consent dict fix ขึ้นพร้อมกัน
  • Fixแก้ไขVertical-routing P0 fix — root domain redirect to correct vertical per pk's locked architecture.Vertical-routing P0 — root domain redirect ไป vertical ถูกต้องตาม architecture ที่ pk ล็อกไว้
  • Infraโครงสร้างEasySlip integration reversed (migration-first decision). Cleaner approach planned for follow-up.การเชื่อม EasySlip rollback (เลือกทำ migration-first ก่อน). วิธีที่ clean กว่าวางแผนไว้ลุย wave ต่อไป
2026-05-18 → 2026-05-22 · Ecom pivot weekสัปดาห์ pivot ecom

E-commerce becomes Bookku's primary product · customer auth · ECOM_COMPLETION_PLAN shipsE-commerce กลายเป็นผลิตภัณฑ์หลักของ Bookku · ระบบ login ลูกค้า · ECOM_COMPLETION_PLAN ปล่อยครบ

  • MarketingการตลาดBookku reframes e-commerce as the PRIMARY product (booking paused). Mission: migrate first real customer to Bookku ecom at ฿1,500/mo on their own domain.Bookku reframe e-commerce เป็นผลิตภัณฑ์หลัก (พัก booking ไว้ก่อน). ภารกิจ: ย้ายลูกค้าจริงรายแรกมาใช้ Bookku ecom ที่ ฿1,500/เดือน บน domain ของตัวเอง
  • Featureฟีเจอร์Customer auth Phase-0 — phone + OTP + Google OAuth (replaces stub). Customers log in via the channel that suits them, no email-only forced funnel.Customer auth Phase-0 — เบอร์โทร + OTP + Google OAuth (แทน stub). ลูกค้า login ผ่านช่องทางที่ถนัด ไม่บังคับ email อย่างเดียว
  • Featureฟีเจอร์Customer Account Hub (WP-4) plan locked — profile / orders / reorder / addresses / wishlist / coupons / rewards / persistent cart / PDPA / AI chat. Built on top of customer auth.Customer Account Hub (WP-4) แผนล็อกแล้ว — profile / orders / reorder / addresses / wishlist / coupons / rewards / ตะกร้าจำได้ / PDPA / AI chat. สร้างต่อจาก customer auth
  • Featureฟีเจอร์WP-3 option-types + variant-matrix backend ships — products with size/color/material variants now scale cleanly. WP-2 storefront AI chat (stacked on WP-3) lets customers ask about products mid-browse.WP-3 option-types + variant-matrix backend ปล่อย — สินค้ามี size/color/material variant scale ได้สบาย. WP-2 storefront AI chat (สร้างต่อ WP-3) ให้ลูกค้าถามเกี่ยวกับสินค้าได้ขณะดู
  • Featureฟีเจอร์Oversell guard — order creation now atomically reserves variant stock with reserve+release. Two customers racing for the last unit no longer both succeed.Oversell guard — สร้างออเดอร์ reserve stock atomically (reserve + release). ลูกค้า 2 คนแย่งชิ้นสุดท้ายไม่สำเร็จทั้งคู่อีกแล้ว
  • Featureฟีเจอร์E-commerce onboarding wizard rebuilt — single-file fork for Store vs Bookings setups. Cleaner first-experience for new shop owners.Wizard onboarding ecom สร้างใหม่ — แตก single-file สำหรับ Store vs Booking. first-experience สะอาดขึ้นสำหรับเจ้าของร้านมือใหม่
  • Featureฟีเจอร์Agentic admin AI (Phase D) — propose-then-confirm pattern. AI stages writes; owner taps Apply. Structural tenant isolation + spend cap baked in.Agentic admin AI (Phase D) — รูปแบบเสนอก่อนแล้ว confirm. AI วาง write รอ; เจ้าของร้านแตะ Apply. แยก tenant ระดับโครงสร้าง + จำกัด spend
  • Infraโครงสร้างSupabase region migration UAT Tokyo → Singapore for lower latency to Thailand. PROD Railway co-location to Singapore planned next.ย้าย Supabase region UAT Tokyo → Singapore ให้ latency สู่ไทยลดลง. PROD Railway co-locate Singapore แผนถัดไป
  • Infraโครงสร้างdb_handler split into thin façade — real DAOs live in db/shared.py + db/booking.py + db/ecom.py. Add new DAOs to the right module, not the facade.db_handler แยกเป็น façade บางๆ — DAO จริงอยู่ใน db/shared.py + db/booking.py + db/ecom.py. เพิ่ม DAO ใหม่ใน module ที่ถูก ไม่ใช่ใน facade
  • Infraโครงสร้างWorkflow hardening — LIVE-GIT-STATE hook, per-agent worktrees, regression_sweep.sh, PROD_PENDING.sql, Definition of Done. Reduces crew coordination friction.workflow hardening — LIVE-GIT-STATE hook, worktree แยกราย agent, regression_sweep.sh, PROD_PENDING.sql, Definition of Done. ลดแรงเสียดทานการประสานทีม
2026-05-17 · Saturdayเสาร์

Marketing surface goes wide + customer-side reschedule + billing arc continuesหน้าการตลาดขยาย + ลูกค้าเปลี่ยนนัดเองได้ + ระบบบิลคืบหน้า

  • MarketingการตลาดNew /pricing.html deep-dive — per-vertical examples, "what's NOT in the price", competitor comparison table, pricing-specific FAQ.
  • Marketingการตลาด4 vertical landing pages live: /clinic.html, /padel.html, /yoga.html, /hotel.html with vertical-tuned hero + ROI + FAQ.
  • MarketingการตลาดFull SEO across all marketing pages: canonical tags, Open Graph + Twitter Card, FAQPage JSON-LD, Product/AggregateOffer JSON-LD on pricing page, robots.txt + sitemap.xml.
  • Featureฟีเจอร์Customer-side reschedule: confirmation email now links to a "manage my booking" view; non-logged-in customers can reschedule via email + booking ref (A3 / G4).
  • Featureฟีเจอร์Auto Google-review request email when an appointment status flips to COMPLETED (A2 / G3). Single CTA to your shop's Google Place review form.
  • Featureฟีเจอร์Customer cancellation email when status flips to CANCELLED (A5). Same dispatcher pattern as the review-request flow.
  • Featureฟีเจอร์Bulk customer CSV import for tenants migrating from Booksy / Fresha / Excel (B3 / G7). Upload + column map + dedupe-by-email-phone in 60 seconds.
  • Featureฟีเจอร์Rental rate_unit: admins pick Hour or Day per service; customer flow + price display adapt (฿/hr vs ฿/day). Unlocks padel-court and hotel-room scenarios.
  • Featureฟีเจอร์Per-service deposit_pct: services can override the global deposit %; booking math respects the priority order. Clinics charging 50% on injectables now work out of the box.
  • Infraโครงสร้างSaaS billing arc — 8 of 10 phases shipped today: PromptPay QR generator, invoice PDF, admin billing endpoints (read + write), grace cron + 4 transactional emails, suspension middleware, operator subscriptions dashboard.
  • Fixแก้ไขDropdown popovers get z-index 10001 so they render above modals (was getting clipped behind service-modal overlays).
  • Fixแก้ไขResource toggle: optimistic UI update + correct is_active coercion (JS bug: `!!"false"` is truthy — explicit coercion now).
  • Fixแก้ไขService modal save/cancel buttons land cleanly at bottom matching Resource modal pattern.
2026-05-16 · Fridayศุกร์

Polish night — universal dropdown + admin editability + B-queue burstคืนขัดเงา — ดรอปดาวน์ครบทุกที่ + แอดมินแก้ไขได้ทุกฟิลด์ + คิว B ปล่อยรัวๆ

  • Featureฟีเจอร์Universal dropdown design rule: every native <select> on admin / customer pages is auto-upgraded to match the Business Hours time-picker look (violet border, custom caret, gradient pill in popover).
  • Featureฟีเจอร์Customer tagging + free-text notes per patient (B4 / G8). Chip-list editor, dedupe, 16-tag cap, 4000-char notes cap.
  • Featureฟีเจอร์Admin slip-image preview in admin.html (B2). Inline <img> next to the paid/rejected buttons with a fresh signed URL.
  • Featureฟีเจอร์PDPA Section 30 export + Section 33 erasure endpoints live (B10 / G9). Customer profile + linked appointments as JSON; anonymisation preserves 5-year Thai accounting retention.
  • Featureฟีเจอร์Operator dashboard "Process" button (B5 / P5) — one-click provisioning replaces the copy-paste CLI command.
  • Infraโครงสร้างFavicon shipped for bookku.co (B8 / P6) — Bookku-gradient rounded-square mark, SVG + linked from every page.
  • Infraโครงสร้างDemo-tenant cleanup script (B7 / P4) — backend-agnostic idempotent soft-delete; pk runs once per env.
2026-05-15 · Thursdayพฤหัสบดี

Customer-journey arc Phases 1–5 ship · payment + slip pipeline goes liveการจองของลูกค้า Phases 1–5 ปล่อยแล้ว · ระบบจ่ายเงิน + สลิปออนไลน์

  • Featureฟีเจอร์Multi-shape booking flow: appointment / class / rental — customer-facing BPAGE adapts to the service's shape.
  • Featureฟีเจอร์PromptPay slip upload + auto-verify (EasySlip). Customers upload payment slip on BPAGE 4; backend OCRs + cross-checks amount, account, time window.
  • Featureฟีเจอร์Booking confirmation email with notification-channel status row + reference number.
  • Featureฟีเจอร์Per-resource capacity (e.g. "Room 2 has 6 mats"); booking offers slots only when every required resource is free.
  • Infraโครงสร้างPostgres-backed multi-tenant resolver: each shop is `yourshop.bookku.co`; tenant lookup via subdomain + master registry.
2026-05-13 → 2026-05-14 · Earlier in the week

Auth, multi-tenant scaffolding, first landing pageระบบล็อกอิน โครงสร้างหลายผู้เช่า หน้า landing แรก

  • Featureฟีเจอร์Email + password sign-up / login with HTTP-only session cookies.
  • Featureฟีเจอร์Auto-provisioning new shops on Postgres backend (no Google Drive needed).
  • Featureฟีเจอร์Onboarding picker with live slug-availability check.
  • MarketingการตลาดFirst Bookku landing page goes live at bookku.co.

Curated from the public commit log. For raw commits: github.com/Lertrak/bookku.

Start Taking Bookings →เริ่มรับการจอง →