How to add appointments to a Shopify store (2026 guide)

Stanislav TyshchenkoTutorialMay 21, 2026
How to add appointments to a Shopify store (2026 guide)

Shopify is excellent at selling products. It is not built to sell time. There is no concept of an "appointment," "staff member," "schedule," or "duration" anywhere in Shopify Admin. So if you sell haircuts, yoga classes, equipment rentals, room nights, or consultations, you'll need a booking app on top.

This guide covers the four Shopify booking apps that actually matter in 2026 — Opencals, Tipo, Sesami, and Cowlendar — and walks through the setup steps that apply regardless of which one you pick. I built Opencals, so I'll flag where the comparison touches my own product. I've kept it honest.

A Shopify booking app is the bridge between Shopify's product-and-order model and the time-based logic that services need. Bookings become Shopify orders, customers stay in Shopify, but availability and scheduling live in the app.

Why Shopify needs a booking app at all

Shopify's data model is built around a product — SKU, variants, inventory, price. A booking adds a fourth dimension: time. It needs to know who is available, when, for how long, where, and what happens if the customer cancels.

Out of the box, Shopify has none of that. You can fake a "30-minute consultation" by creating a product with a variant per timeslot, but the moment you have two staff with different schedules, two locations, or a service that runs in a flexible duration, the workaround breaks.

That's why every service-business store on Shopify installs a booking app inside the first month. The app owns the calendar, schedules, staff, and availability logic. Shopify owns the order, the customer, and the payment.

What to look for in a Shopify booking app

Not every booking app is built the same. Some look great in the App Store screenshots and fall apart once you have 3 staff and 2 locations. Before you install one, check it against this list:

1

Native Shopify embedding

The booking widget should embed into your Shopify theme — not pop out as an iframe to a third-party domain. Iframes break trust signals, conversion, and analytics.

2

Bookings create Shopify orders

Every appointment should be a real Shopify order so revenue, customer data, and reports stay in Shopify. Apps that store bookings in their own database and skip Shopify orders create reconciliation problems later.

3

Multi-staff with individual schedules

If you have more than one person delivering the service, the app must support per-staff schedules, days off, and service assignments. A senior stylist on Tue–Sat, a junior on Mon–Fri — both visible to the right customer.

4

Multi-location support

Physical addresses, online (Zoom or Google Meet), or home/delivery. Each location with its own hours. Even single-location shops eventually want online consultations.

5

Customer self-service

Customers should reschedule and cancel without emailing you. That saves hours per week. Look for a customer calendar page or a Shopify customer account extension.

6

Pricing that scales with use

Monthly plans hurt in slow months. Per-booking pricing matches cost to revenue. Free tiers usually have hard caps that bite the moment you grow.

7

Group bookings and flexible duration

If you run classes, workshops, rentals, or anything that isn't a fixed 1-hour 1-customer slot, these need to be native — not a paid add-on or a workaround.

If a booking app fails 3 or more of these, skip it.

Step-by-step: how to add booking to your Shopify store

The flow is the same across apps. The screens look different, but the order is fixed.

1

Pick a booking app

Match the app to your business — multi-staff, multi-location, group bookings, pricing model. The next section compares the four main options.

2

Install from the Shopify App Store

Find the app, click Install, approve permissions. The app appears as an embedded section in Shopify Admin. No external login.

3

Create your services

Define what customers book — name, description, duration, price. In most apps, services live as Shopify products under the hood. Set buffer time between bookings (e.g., 15-minute cleanup gap) if needed.

4

Add staff and schedules

Invite staff, set their weekly hours, assign them to specific services. Add days off. If you have one staff member, this step is one person and a weekly schedule.

5

Add the booking widget to your storefront

Open the Shopify theme editor, add the booking button to product pages, or create a dedicated /book page. Most apps install via theme app extensions — no code.

6

Run a test booking

Book yourself a slot. Check the confirmation email, the Shopify order, the calendar invite. Cancel it to verify the refund flow. Now book a second slot with a conflicting time — make sure availability updates.

7

Customize confirmation emails

Default emails look generic. Update the logo, sender name, and copy. Add your cancellation policy. This is the customer's first post-purchase touchpoint.

Use a development store for testing

Create a free development store on partners.shopify.com and install the booking app there first. You can run real test bookings without affecting production or burning trial days on your live store.

The four Shopify booking apps that actually matter in 2026

Dozens of booking apps exist in the Shopify App Store. Four are worth a serious look. Everything else is either abandoned, single-purpose, or too niche for a general recommendation.

Opencals — most flexible, two pricing modes

Opencals is built as a service-commerce platform — booking infrastructure first, Shopify integration second. It runs standalone at app.opencals.com and store.opencals.com, and as a native Shopify app. The two modes share one database. Bookings made on either side appear in both.

Pricing is where Opencals does something different from every other Shopify booking app: you can switch between two modes depending on how predictable your bookings are.

  • Elastic (pay-as-you-go) — $0.99 per completed booking, $0 in months with no bookings. No commitment. Best for seasonal businesses or side services on a Shopify store: in-store dressing appointments, tasting sessions, occasional consultations — anything with unpredictable volume.
  • Custom monthly plan — from $15/mo. The entry plan covers 1 location, 1 staff member, and a 200–300 booking quota. You configure the quotas (staff, locations, bookings) and feature set you actually need, and the price scales with that. Best for stores with consistent, predictable booking volume. The math is straightforward: at 300 bookings in a month, Elastic costs ~$297. The $15 custom plan covers the same 300 bookings for $15. Once your volume is predictable, you switch from Elastic to a custom plan and pay a fraction of what monthly competitors charge for the same feature set.

Pros

  • Two pricing modes — Elastic ($0.99/booking, $0 in slow months) or custom monthly from $15/mo
  • Custom plan scales by quota — pay only for the locations, staff, and bookings you actually use
  • Native Shopify + standalone storefront (one account, both surfaces)
  • Multi-staff, multi-location, group bookings, flexible duration — all on every plan
  • Customer calendar lives inside Shopify (account extension)
  • Deposits, customer feedback forms, checkout questions built in

Cons

  • Younger brand — fewer Shopify reviews than Tipo or Cowlendar
  • Custom plan quotas need some forecasting — easier once you have 1–2 months of booking data
  • Staff dashboard requires app.opencals.com (Shopify Admin doesn't support per-user permissions)

Tipo has been on the Shopify App Store for years and has thousands of reviews. The UX is simple. Most stores can get a basic single-staff booking flow live in under 30 minutes.

It uses tiered monthly pricing. The free tier is real, but caps quickly. Group bookings and certain integrations sit on higher tiers.

Pros

  • Mature product with a long Shopify track record
  • Strong review base — a useful trust signal during evaluation
  • Free tier works for very small stores
  • Clean booking widget UX

Cons

  • Tiered pricing means jumping plans as you grow
  • Multi-staff and group bookings sit behind higher tiers
  • Less flexibility for unusual schedules (flexible duration, seasonal services)

Sesami — premium positioning

Sesami targets design-conscious brands that want a booking widget that matches a polished Shopify theme. The product is well-designed and well-supported.

Pricing is the highest of the four. The lowest paid tier covers basic appointments; multi-staff and team features cost more.

Pros

  • Clean, design-led booking widget
  • Strong customer support
  • Good fit for premium-positioned brands

Cons

  • Most expensive of the four
  • Features gated behind higher tiers
  • Less suited to multi-location or flexible-duration use cases

Cowlendar — freemium leader

Cowlendar's free tier is the most generous in the App Store. It's why a lot of stores try it first. Setup is fast and the widget works out of the box.

The limits show up at scale. Multi-staff logic, advanced scheduling, and removing branding all require the paid tier.

Pros

  • Most generous free tier in the App Store
  • Quick to install and configure
  • Good for single-staff shops with simple bookings

Cons

  • Free tier shows Cowlendar branding on the widget
  • Multi-staff and advanced features require paid plans
  • Less suited to multi-location or group bookings

Side-by-side comparison

FeatureOpencalsTipoSesamiCowlendar
Native Shopify app
Bookings as Shopify orders
Standalone storefront
Multi-staff on entry planLimitedLimited
Multi-locationLimitedLimitedLimited
Group bookingsHigher tierHigher tierHigher tier
Flexible duration (per-hour, per-day)
Customer self-service (reschedule/cancel)
DepositsHigher tier
Starting priceFrom $15/mo or $0.99/bookingFree → $13/mo$39/moFree → $14/mo
Free tier$0 in zero-booking months (Elastic)YesNoYes
Pay-as-you-go option

Note

Pricing and feature tiers change. Verify current plans in each app's Shopify App Store listing before committing. The "Limited" labels above reflect what's included on the entry paid tier — higher tiers may unlock more.

Pricing — what you'll actually pay

Sticker prices don't tell the full story. The number you pay depends on two things: how many bookings you take per month, and how predictable that volume is.

~50/mo

Small clinic or side service

~200/mo

Mid-size salon

500+/mo

Large or multi-location

Opencals is the only app in this comparison with two pricing modes — Elastic (pay-as-you-go) and a custom monthly plan that scales with quota. The math below shows both, alongside the monthly-only competitors.

At around 50 bookings per month — Cowlendar is free or ~$14, Tipo lands at ~$13–$25, Sesami at ~$39. On Opencals, Elastic is ~$50 (50 × $0.99), or the $15 custom plan covers it. If those 50 bookings are seasonal (a summer rental, a holiday service), stay on Elastic and pay only when you sell. If they're recurring every month, the $15 custom plan is the cheapest option in the table.

At around 200 bookings per month — Tipo lands at ~$25–$50, Sesami at ~$59–$99, Cowlendar at ~$24–$54. Opencals Elastic is ~$198, but a custom plan sized for 200 bookings sits well below that, with all multi-staff and multi-location features included. Monthly competitors look cheaper at first — check the feature gates before switching, because multi-staff or group bookings often push you to a higher tier on those apps.

At 500+ bookings per month — monthly apps cap at their highest tier ($99–$150). Opencals Elastic is ~$500, but a custom plan sized to that volume keeps cost predictable and competitive — and unlike the other apps, every feature is already included rather than gated by tier.

The rule of thumb:

  • Unpredictable / seasonal / side service → Opencals Elastic ($0.99/booking, $0 in dead months). A Shopify store offering occasional in-store dressing appointments, tasting sessions, or one-off consultations only pays in the months those actually happen.
  • Predictable / consistent monthly volume → Opencals custom plan (from $15/mo, scaled to your quota), or one of the monthly competitors if their feature set fits your business.

Match the pricing model to your revenue rhythm. Seasonal or side-service stores save money with pay-as-you-go (Opencals Elastic). Consistent-volume stores save more with a quota-based monthly plan — Opencals custom plans start at $15/mo with a 200–300 booking quota, which is the equivalent of nearly $300 on Elastic. The flexibility to switch between the two is what makes Opencals work for any service business on Shopify.

Common Shopify booking use cases

These are the businesses that install a booking app on Shopify most often:

  • Hair salons and spas — multi-staff, individual schedules, service-staff assignments
  • Yoga, pilates, fitness studios — group classes, recurring weekly sessions, capacity per slot
  • Equipment rentals — flexible duration (per-hour, per-day) for kayaks, bikes, gear
  • Hotels and short-term stays — multi-day bookings, per-night pricing, room availability
  • Consultations and coaching — single or small team, online via Zoom or Google Meet
  • Workshops and classes — capacity-limited group bookings, one-off or recurring
  • Medical and wellness clinics — multi-practitioner, multi-location, specific service durations If your business is in this list, pick a booking app that handles your pattern natively. You'll save months of tier upgrades later.

Where most stores get stuck

Three things go wrong with Shopify booking setups, in order of frequency:

What to do after you go live

Three things in the first month:

  • Watch the funnel. Shopify analytics shows how many people land on your booking page versus how many complete a booking. A low conversion rate usually means the widget is too far below the fold, or the service list is too long.
  • Ask the first 20 customers for feedback. A one-line "anything we could make easier?" in the post-booking email surfaces UX problems fast. Some booking apps (Opencals included) have a customer feedback form built in.
  • Review the no-show rate. If it's above 10%, add deposits or upfront payment. Opencals, Tipo, and Sesami all support deposits.

FAQ

Frequently Asked Questions

Early Access — 3 Months Free

Ready to transform your service business?

Join 150+ businesses already using Opencals. Get 3 months completely free with all features unlocked.

No credit card required
Setup in 10 minutes
Cancel anytime