Frontend

Shoppers interact with OS Services Booking UI or embedded calendars, then with J2Commerce cart and checkout. Bridge sits in the middle and should feel invisible when sid_map is correct.

What does the customer see after choosing a slot?

On a mapped service, a valid hold adds the mapped J2Commerce product to the cart and surfaces Continue to Checkout when the hold path succeeds. Native add-to-basket forms for the mapped product stay out of the way so the booking flow does not fork into two competing cart paths. On an unmapped service, the bridge path errors rather than silently succeeding with an empty cart.

What changes on embedded osbtable calendars?

Timeslots render in a responsive grid with twelve-hour AM/PM buttons, past start times hidden, and More times plus Show less when slot lists exceed the configured initial counts. Occupied label-only slots and confusing multi-select UI are suppressed in favor of the bridge slot button model. Midnight remains a valid start time; zero is not treated as empty selection.

Does Bridge replace OS Services Booking frontend templates?

No. OS Services Booking still owns booking logic and vendor templates. Bridge hardens and restyles the embedded calendar experience and completes hold-to-cart wiring. Non-embedded OSB pages still benefit from map and cart behavior where the bridge hooks apply.

What should I test as a customer, not only as admin?

Use a frontend login or guest flow your shop actually allows. Hold a slot in the future, open cart, proceed toward checkout without charging production cards until you intend to. Test mobile width because slot column counts change at the mobile breakpoint you configured.

What frontend failures look like from the shopper side?

Wrong product in cart means sid_map IDs, not mysterious commerce gremlins. Missing Continue to Checkout often means the hold failed validation, cart add failed, or JavaScript on the page broke before the CTA rendered. A dead calendar often means script conflicts or Bridge disabled, not necessarily OS Services Booking uninstalled.