La Marie Beauty operates two parallel booking channels: the LMB website (via Bookly/WooCommerce) and the Square app used directly by staff. Without synchronization, a booking made in Square would not immediately reflect in Bookly, creating a window where a second customer could book the same slot — resulting in a double-booking.
The confirmed solution is a real-time, bidirectional sync between Bookly and Square via the Square API, with no polling delay.
| Channel | Actor | Risk |
|---|---|---|
| LMB website (Bookly) | Customer self-booking | Sees stale availability if Square was updated first |
| Square app | Staff or walk-in booking | Does not update Bookly until sync fires |
Without instant sync, any lag between a Square booking and a Bookly availability update creates an exploitable window. A five-minute polling interval, for example, would allow multiple customers to book the same slot.
Bookly syncs with Square instantly via the Square API. There is no delay between a booking event on either platform and the availability update visible on the other.
Key properties of the sync:
The near-impossible but theoretically possible scenario — two customers attempting to book the exact same slot at the exact same millisecond — is handled by Square's backend. Square will process one request and return an error on the second. Bookly will surface that error, and the second customer will need to select a different time.
This is an acceptable outcome. No additional application-level locking is required.
Confirmed during the La Marie Beauty Booking & Payment System Technical Review call (2026-04-05) between Kimberly Gehrmann (LMB consultant), Isahaque Mahmud (Asymmetric developer), and Melissa Cusumano (Asymmetric PM). See transcript timestamps ~00:08:39–00:12:53.