wiki/clients/current/lamarie/2026-04-05-woocommerce-booking-migration.md Layer 2 article Client: LaMarie Beauty 384 words Updated: 2026-04-05
↓ MD ↓ PDF
lamarie woocommerce square booking ecommerce payments

WooCommerce Booking System Migration — Hybrid Checkout Logic

Overview

LaMarie is migrating their booking system from Square to WooCommerce to unify services and products under a single checkout flow. The migration introduces a technically complex payment requirement: the checkout must behave differently depending on whether the cart contains a service or a physical product.

This work was flagged as blocked pending identification of a WooCommerce specialist capable of implementing the hybrid payment logic.

The Hybrid Checkout Requirement

LaMarie's checkout must support two distinct payment behaviors in the same flow:

Cart Item Type Payment Behavior
Service (e.g., appointment) Capture credit card on file — do not charge
Product (e.g., retail item) Charge credit card immediately

The card-capture-without-charge behavior for services is intended to support no-show fees — the card is held on file and can be charged after the fact if a client fails to appear.

Why This Is Complex

Standard WooCommerce checkout either charges or doesn't charge — it doesn't natively support conditional payment behavior based on product type within a single cart. Implementing this requires:

This is analogous to how restaurants handle reservations (capture only) vs. final bills (charge), but applied dynamically within a single WooCommerce cart.

Current State (as of 2025-11-05)

Action Items