Technical call with Asymmetric team (Kimberly, Melissa) and developer Isahaque to clarify implementation details on the La Marie Beauty website. Four areas were covered: custom payment logic for mixed carts, Square-Bookly booking sync, Bookly widget customization scope, and the architecture of dynamic product pages.
Attendees:
- Kimberly Gehrmann (LMB-side technical lead / PM)
- Melissa Cusumano (Asymmetric)
- Isahaque Mahmud (Asymmetric — developer)
- Roxana Lopez (La Marie Beauty)
- Katie Schueller, Lisa Frommelt (La Marie Beauty — partial)
- Mark Hope, Chris Ostergaard (Asymmetric)
WooCommerce and Bookly cannot natively handle the mixed-cart payment requirement. A custom PHP solution is required because WordPress and WooCommerce expose backend integration points via PHP hooks — there is no equivalent JavaScript path for this layer.
The requirement:
- Products → charged in full at checkout
- Services → card held on file (not charged); charged post-service or for no-show/cancellation penalties
The approach:
- Custom PHP code using Square APIs for tokenization and card-on-file storage
- Square APIs are preferred over fully custom handling to preserve existing customer profiles and reduce PCI risk
- Isahaque will create the Square API key; no client-side action needed from LMB
"For all those type payment, we need to write some custom PHP code." — Isahaque
"I want to reduce the risk of leaked credit card details. And also, Square has a profile of a customer." — Kimberly
Concern was raised about double-bookings when appointments are made simultaneously through the Square app and the LMB website (via Bookly). Isahaque confirmed the sync is instantaneous via API — no polling delay.
True simultaneous conflicts (two users booking the exact same slot at the exact same millisecond) are considered negligible in practice.
The Bookly widget's default UI (block buttons, generic icons, sidebar layout) clashes with the site's minimalist aesthetic. Customization is possible within limits:
| Allowed | Not Allowed |
|---|---|
| Replace or remove icons | Add new buttons or UI elements |
| Remove duplicate data fields (e.g., staff name shown twice) | Add new functionality |
| Restyle buttons, layout, colors to match site | — |
| Reposition sidebar elements | — |
Kimberly noted the widget currently feels "plug and play from Bookly" and does not match the bespoke button styles used elsewhere on the site.
Blocker: Lisa has not yet reviewed the Bookly flow. No CSS customization should proceed until Lisa gives design approval.
Product pages (e.g., Vampire Facial) use a single URL with custom JavaScript that conditionally renders different images, text, and "Book Now" link targets depending on which variation button is selected.
if (button A selected) → render image A, text A, book-now link A
else if (button B selected) → render image B, text B, book-now link B
else → render image C, text C, book-now link C
This means Roxana cannot self-serve updates to these pages via standard WordPress editing. Any content change (new image, updated text, new variation) requires a developer modifying the JavaScript directly.
Kimberly flagged this as a significant maintenance concern and will review the code herself before determining the long-term strategy.
| Owner | Action | Status |
|---|---|---|
| Isahaque | Create Square API key for Bookly/WooCommerce/Square integration | 🔲 Open |
| Isahaque | Begin custom PHP development for service hold/charge payment logic; use Square APIs; notify Kimberly and Melissa if blocked | 🔲 Open |
| Kimberly | Schedule Bookly design review with Lisa; record Loom walkthrough of Bookly flow for reference | 🔲 Open |
| Kimberly | Review custom JavaScript on variation/product pages via Elementor to assess maintenance complexity | 🔲 Open |
| Kimberly | Email Melissa to reschedule next week's meeting (pending travel to Salt Lake City) | 🔲 Open |
| Melissa | Hold off on product page content updates until Kimberly completes code review | 🔲 Open |
| Roxana | No action items — reconnecting after Denver travel | — |
WordPress and WooCommerce expose customization points through a hook system that is PHP-native. Backend integrations with WooCommerce checkout flows must use these hooks. JavaScript is appropriate for frontend/UI behavior (as used on product variation pages) but cannot reach the WooCommerce/Bookly backend layer.
The variation page JavaScript is embedded via Elementor templates, not standard WordPress pages. To locate it:
1. Navigate to the product page (e.g., Vampire Facial) from the staging site
2. Use "Edit with Elementor" (not "Customize")
3. Locate the custom JS block within the single product template
Kimberly has been granted WordPress admin access to the staging site to review the code. She has committed not to modify any code during this review phase.