How to Guides

These scenarios assume Bridge is enabled and sid_map is saved. They focus on real storefront workflows rather than repeating install steps.

How do I sell a paid consultation through booking and checkout?

Create or pick a J2Commerce product for the consultation fee and note its product ID. Note the OS Services Booking service ID for that consultation type. Add sid=product_id to sid_map, publish both service and product, clear cache, hold a future slot as a frontend user, and confirm the consultation product appears in cart with Continue to Checkout. Fix sid_map or publish state before you blame OS Services Booking when the wrong product or an error appears.

How do I embed a calendar in an article?

Keep Bridge enabled. Place osbtable in the article using the shortcode form your OS Services Booking documentation supports. Map every service that table can book. Test on a real frontend menu item, not only in admin preview. Confirm the grid is responsive, More times and Show less behave when many slots exist, past starts stay hidden, and AM/PM labels show. Hold a slot, confirm cart, continue toward checkout.

How do I run many services without one good test lying to me?

List every service ID that should checkout through the shop. Assign or create J2Commerce products deliberately. Enter every pair in sid_map. Test each service once. One successful hold on service A does not prove service B is mapped.

How do I stack Storefront and Conditional Products without mixing jobs?

Set Bridge sid_map for every bookable service that should land a product. Publish a Storefront Product Catalog module when you want a proper product grid. Configure Conditional Products rules when only qualified shoppers may buy dependents or open booking routes. Storefront lock styling is display, not cart enforcement. Conditional Products enforces in cart, checkout, and optional OSB route gates. Bridge still only maps hold to cart.

How do I tune a crowded timeslot list?

On the Layout tab, adjust slots_initial_desktop and slots_initial_mobile so the first screenful is readable. Enable slots_expand for More times and Show less. Adjust slots_cols_wide and slots_cols_mobile if buttons feel too narrow or too wide. Change slots_increment_rows if each More times click reveals too few or too many additional slots.

What is day-to-day maintenance after go-live?

After OS Services Booking or J2Commerce updates, confirm Bridge stayed enabled and re-test one mapped hold. After template changes, re-test timeslot UI and checkout CTA, moving style fixes into custom.css instead of one-off plugin edits. After sid_map edits, save, clear cache, hard-refresh, hold again, inspect cart.