Why not just use an appointment app?
If your business is 100% appointments (a salon, a doctor's office), use a dedicated appointment platform — they're built for it. But if you're mainly a Shopify product store that also sells the occasional class, tasting, or photo session, a separate appointment app means a separate checkout, a separate customer database, and confused customers.
Time-slot fields inside your normal Shopify product checkout keep everything in one place. The customer adds 'Saturday tasting' to cart alongside the wine they're buying — same cart, same payment, same order confirmation.
Step-by-step setup
- Install Print It My Way. Time-slot booking is a built-in field type. Install the app from the Shopify App Store.
- Create the bookable product. Create a Shopify product for the class, session, or appointment. Set the price as a single variant — the slot selection is a personalization field, not a variant.
- Add a date picker. In the personalizer, add a date picker with the relevant date range (e.g. next 60 days) and your blackout days.
- Add a time-slot field. Add a time-slot field and define the slots — e.g. 'Sat 10am Class', 'Sat 2pm Class', 'Sun 10am Class'. Set capacity per slot (e.g. 12 attendees per class).
- Decide whether multiple slots are allowed. For classes, one slot per booking. For tastings where a group might book back-to-back tables, allow multiple. Set the rule in the field.
- Test the capacity logic. Add the product to cart and confirm a 'full' slot grays out. Place 12 test orders for the same slot and confirm the slot moves to full.
- Wire up the calendar. Use Shopify Flow or a Google Calendar integration to auto-create a calendar event when a booking comes in. The slot details are on the order line item.
Designing your slot structure
The shape of your slots determines how the booking page feels. Three patterns:
- Fixed times, multiple per day — e.g. 10am, 12pm, 2pm, 4pm tastings. Customer picks one. Good for high-volume, defined-duration sessions.
- Single time, multiple days — e.g. 'Saturday cheese class at 11am'. Customer picks a date; only one slot exists per day. Good for weekly recurring classes.
- Custom durations — e.g. 60-min photo session, 90-min photo session. Each is a separate slot type with different pricing and different capacity rules.
Cancellation and no-show policy
Set the policy on the product page so customers see it before booking. Common defaults:
- Full refund if cancelled 48+ hours before
- 50% refund if cancelled 24-48 hours before
- No refund for same-day cancellations or no-shows
Shopify's standard refund flow handles the payment side. For the slot itself, you'll need to manually release the slot back to availability when you process a cancellation — Print It My Way exposes an admin action for this.
Reminder emails and check-in
Most no-shows are forgetful, not deliberate. A reminder email 24 hours and 2 hours before the slot dramatically reduces no-show rate. Use Shopify Flow with a 'delay until' trigger based on the line-item property containing the date.
For walk-up check-in, the line-item properties show the slot on the order — your front desk can confirm the booking in 5 seconds by looking up the customer name or order number in Shopify admin.
Sell classes and appointments inside your normal Shopify checkout
Print It My Way's time-slot booking handles capacity caps, blackouts, and lead times — no separate appointment platform, no separate checkout. Install free.
Install Print It My Way — Free See the time-slot booking comparison →Frequently asked questions
Can I sell different slot durations on the same product?
Yes. Each slot can have a different duration label and you can map capacity differently — e.g. a 60-min session takes 1 slot, a 90-min takes 1.5 slots from the same pool.
What happens if two customers try to book the last slot at the same time?
Shopify's inventory system handles the race — only one checkout completes. The other customer sees 'slot no longer available' and is asked to pick another.
Can I require a deposit instead of full payment?
Yes. Use Shopify's 'partial payment' feature on the product or use a deposit app. The slot is held once the deposit is paid.
Does this work with Shopify POS for walk-up bookings?
Yes. Staff can add the bookable product to a POS cart, pick a slot, and the slot is held the same way as an online booking.
Can I export bookings to Google Calendar?
Yes — use Shopify Flow with a Google Calendar webhook, or a third-party integration like Zapier. The slot details are on the order line item.
Is Print It My Way free to install?
Yes. Print It My Way is free to install from the Shopify App Store. The Free plan covers most small stores; paid plans unlock higher order volume, advanced features like Cart Transform per-character pricing, premium fonts, and white-glove support. There is no upfront fee and no credit card required to install.
How long does Print It My Way take to set up?
Most stores set up their first personalized product in under 15 minutes. The Shopify App Store install takes about 60 seconds; adding text fields, photo upload, color swatches, and live preview to a product takes 5-10 minutes. Catalog-wide rollout (50+ products) uses bulk-apply templates and typically takes 30-60 minutes total.
Does Print It My Way work with Shopify Basic, Shopify, Advanced, and Shopify Plus?
Yes. Print It My Way works on every Shopify plan including Basic, Shopify, Advanced, Plus, and Shopify Starter. Some advanced features like Cart Transform (per-character pricing) and B2B company accounts require Shopify Plus, but the core personalization fields, live preview, and order capture work on every tier.
Does Print It My Way slow down my Shopify store?
No. Print It My Way uses Shopify's storefront block architecture, which loads only on personalized product pages and doesn't add render-blocking scripts site-wide. Lighthouse and Core Web Vitals scores on personalized product pages stay green when the app is configured with default settings.
Does Print It My Way work with Printful, Printify, Gelato, and other POD partners?
Yes. Print It My Way has native integrations with Printful, Printify, Gelato, and other major print-on-demand partners. The customer's personalization data flows through Shopify's standard order pipeline, so any partner that reads line-item properties (which all major POD apps do) receives the print files automatically.
Does Print It My Way support Shopify Markets, multiple currencies, and multiple languages?
Yes. Field labels translate per language, upcharge prices can be set per currency, and the personalizer fully supports right-to-left languages including Arabic and Hebrew. The personalizer also handles Unicode for Cyrillic, CJK (Chinese/Japanese/Korean), Greek, and accented Latin characters with appropriate font fallback.