---
title: LaMarie Bookly-Square Real-Time Availability Sync
type: article
created: '2026-04-05'
updated: '2026-04-05'
source_docs:
- raw/2025-11-18-la-marie-beauty-project-call-102533137.md
tags:
- bookly
- square
- woocommerce
- availability-sync
- double-booking
- api
- la-marie-beauty
layer: 2
client_source: null
industry_context: null
transferable: true
---

# LaMarie Bookly-Square Real-Time Availability Sync

## Overview

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.

---

## The Double-Booking Risk

| 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.

---

## Confirmed Implementation

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:

- **Bidirectional:** A booking made in Square updates Bookly availability; a booking made through Bookly updates Square.
- **Real-time:** No polling interval — the sync fires on booking events, not on a timer.
- **Admin calendar propagation:** If availability is manually adjusted in the Square admin dashboard, that change is reflected in Bookly as well.

---

## Edge Case: Simultaneous Booking Attempts

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.

---

## Technical Notes

- The sync is implemented using the **Square Appointments API**, which Isahaque Mahmud (developer, Asymmetric) confirmed is capable of real-time event-driven updates.
- The Square API key is created and managed by the developer; no action is required from the La Marie Beauty team to provision it.
- Zapier has been **fully removed** from the integration stack. All Bookly↔Square communication goes through direct API calls.

---

## Related Decisions

- [[wiki/clients/la-marie-beauty/index]] — Client overview
- [[wiki/knowledge/woocommerce/lamarie-card-on-file-payment-flow]] — Custom PHP payment flow using Square APIs for card tokenization
- [[wiki/knowledge/woocommerce/lamarie-service-page-js-maintenance-risk]] — Custom JavaScript on service pages creating a developer-only content update bottleneck

---

## Source

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.