vaultOpen in Shopify

Appointment booking for Shopify

Your storefront takes the booking.
Checkout holds the slot.

Vault turns a product into a bookable service. Customers pick a time on your product page, a ten-minute hold travels with the cart through Shopify checkout, and your day runs from a front desk inside the admin — agenda, table, Google Meet rooms, and email confirmations included.

admin.shopify.com/store/atelier-demo/apps/vault—bookings?view=agenda
Atelier Demo ▾Search

Friday, October 23, 2026

8 bookings · times in America/New_York
Back to month+ Walk-in
8 of 29 seats booked · 21 still openNow · Group Workshop or Class · ends 3:00 PM
Morning3 slots · 4 seats booked
9:00 AM– 9:30 AM
1-on-1 Consultation30 minFull
Maya ChenOrder #1042Confirmed
10:00 AM– 11:00 AM
Group Workshop or Class▶ Meet60 min3 of 12
A. SatoOrder #1051Confirmed
Priya N.Order #1057Confirmed
Leo M.Online bookingConfirmed
11:00 AM– 11:45 AM
Fitting or Service Call45 minOpen
No bookings yet — 1 seat open.+ Add walk-in
Afternoon3 slots · 3 seats booked
1:00 PM– 1:30 PM
1-on-1 Consultation30 minFull
Jules OkaforWalk-inConfirmed
2:00 PM– 3:00 PM
Group Workshop or Class▶ Meet60 min2 of 12
Tomás R.Order #1063Confirmed
Ines K.Order #1064Confirmed
3:30 PM– 4:00 PM
1-on-1 Consultation30 minOpen
No bookings yet — 1 seat open.+ Add walk-in
Evening1 slots · 1 seats booked
5:30 PM– 6:15 PM
Fitting or Service Call45 minFull
R. IyerOrder #1072Confirmed

The real Day Agenda screen. The Now line is live on this page — in the app it re-reads the clock every minute, the same way.

Storefront time picker

A “Select a time” trigger on the product page opens a calendar — no theme surgery, works with any Online Store 2.0 theme.

Checkout holds

Picking a time reserves the slot for ten minutes. A Shopify Function blocks checkout if the hold lapses or the quantity changes.

Front desk

Month grid, day agenda, and bookings table group themselves: Happening now, Coming up, Earlier today. Walk-ins take one click.

Meet rooms & email

Online bookings get a Google Meet room, a calendar sync, and a confirmation email with the join link — automatically.

Storefront

What your customer sees

The whole booking happens inside your store — one modal, one cart, one checkout.

  1. Atelier DemoGroup Workshop or Class$120.00Select a timeReplaces the Buy button on service products — the theme stays untouched otherwise.

    Product page — the trigger carries your accent color and switches to “Sold Out” when nothing is bookable.

  2. Select Date & TimeGroup Session60 mins
    October 2026
    2:00 PM – 3:00 PM2 guests+1 extra
    Friday, October 23
    1:00 PM2:00 PM3:00 PMOnly 3 spots left4:00 PM
    Add on extras
    Attendees / Quantity4 spots available at this timeAdd to Cart⏱ Hold valid 10:00 once in cart
    Times shown in store timezone (America/New_York, GMT-04:00)

    One modal, on your domain: calendar, live scarcity, add-ons, and a ten-minute hold the moment it lands in the cart.

  3. Your cart
    Group Workshop or ClassBooking Date: Friday, October 23Booking Time: 2:00 PM – 3:00 PMQuantity: 2$240.00
    9:41

    Your time is held for 9:41. Complete checkout to keep it.

    If the hold lapses, Shopify checkout says:

    “Your appointment reservation has expired. Please select a new time slot to complete checkout.”

    The hold rides the cart line as signed, hidden properties. A checkout validation Function — not a script — enforces expiry and quantity.

  4. Google Meet & Calendar IntegrationConnected
    AUTHORIZED GOOGLE ACCOUNTcalendar@atelier-demo.comTARGET CALENDARPrimary Calendar
    • Dynamic Meet URLs inserted automatically into confirmation emails & .ics invites.
    • Group Session Room Reuse — all attendees in a slot share the exact same room.
    • Real-time Sync updates or removes calendar events on reschedule or cancellation.

    Connect Google once (Settings) and every online booking ships with its Meet room, .ics invite, and a branded confirmation — Google's own invites stay suppressed.

Staff scheduling

One booking, four hands it passes through

Set the team up once in the Staff tab, and every booking walks the same relay: your roster, their hours, the customer’s pick, their phone. Every card below is the real screen — labels, badges, and buttons included.

  1. The roster

    Add each specialist with a name and title. Active badges, service counts, and per-person booking totals live on one card — the Staff tab exactly as it ships.

    Team Members (3)

    Add staff member
    Elena MarchettiActive· Senior Stylist
    2 services (1-on-1 Consultation, Fitting or Service Call) · 18 bookings
    Mobile LinkEditDeactivateDelete
    Marco VidalActive· Colorist
    1 service (1-on-1 Consultation) · 9 bookings
    Mobile LinkEditDeactivateDelete
    Amara OseiActive· Fitting Specialist
    3 services (1-on-1 Consultation, Group Workshop or Class, Fitting or Service Call) · 24 bookings
    Mobile LinkEditDeactivateDelete
  2. Their hours, their slots

    Tab 3 of the Add Staff Member modal. One preset fills a standard week; off days go gray and produce no slots for that person.

    Weekly Working Hours

    Set custom working hours for each day. Shifts determine available booking slots for this staff member.

    40 hrs / week (5 days open)
    Mon–Fri 9–5All 7 Days (9–5)⚡ Copy Mon to WeekdaysClear All
    Unavailable / OffOff
    09:00to17:008 hrs
    09:00to17:008 hrs
    09:00to17:008 hrs
    09:00to17:008 hrs
    09:00to17:008 hrs
    Unavailable / OffOff
  3. The customer picks a person

    The booking modal on your storefront grows a staff row. Choose a name and the times narrow to that specialist’s hours only.

    Select Date & Time1 on 1 Private Session30 mins
    Select Staff
    Anyone availableFastest matchElena MarchettiSenior StylistMarco VidalColoristAmara OseiFitting Specialist
    Friday, October 23
    10:00 AM11:00 AM2:00 PM3:00 PM4:00 PM

    Times come from the selected specialist’s shift — these are Elena’s open half hours. “Anyone available” books whoever has the fewest bookings that day.

  4. It lands on her phone

    Every specialist gets a private mobile link — the same link the roster’s Mobile Link button shares. Open it anywhere: the day’s bookings, client notes, one-tap call, email, and Google Meet rooms. No Shopify account needed, and the merchant can regenerate the link anytime.

    EM
    Elena MarchettiSenior Stylist
    America/New_York · Schedule Portal
    Today

    Friday, October 23, 2026

    3 Appointments
    9:00 AM to 9:30 AM30 min
    Confirmed
    Maya Chen
    1-on-1 Consultation · #1042
    In Person · Store Location
    Note: Prefers morning appointments.
    Call +1 (555) 014-2210

    Read-only by design: specialists see their day, call or email the client, and join Meet rooms — nothing to sync, nothing to install.

All four cards are the shipping app: the Staff tab, the Add Staff Member modal’s Working Hours tab, the booking modal’s staff selector, and the mobile schedule portal at its private link. Staff scheduling is part of the Plus plan — services without staff keep running on their existing schedule, unchanged. Demo store data shown.

Checkout guard

A slot behaves like inventory

Vault can't oversell a minute of your day. The rules run in Shopify Functions and atomic database writes — not in browser scripts that can be closed.

Confirmed bookings + active holds never exceed capacity.

The same invariant guards the storefront, the hold, and checkout — enforced atomically, so two customers tapping the last seat at once produce one booking and one “just booked by another customer” message.

Staff bookings hold the specialist’s slot, not just the service’s.

The hold is taken atomically against that person’s calendar and rides the cart as a signed, hidden property with the staff member’s name on the booking — the same invariant that guards a seat guards each specialist’s day.

An expired hold cannot check out.

“Your appointment reservation has expired. Please select a new time slot to complete checkout.” — the exact message Shopify checkout renders, from Vault's validation Function.

Quantity is locked to the reservation.

“Your appointment reservation covers 2 attendees, but your cart quantity is 3. Please set the quantity back to 2 to check out.”

You hear about failures within 60 seconds.

A canary simulates a customer calendar load every 15 minutes; any timeout or capacity error pages your alert email immediately. Abandoned holds release themselves and the seat returns to the shelf.

Pricing

Pick the size of your booking desk

Every plan runs the whole product. Bigger plans add volume and support.

Basic$9.99 /month
  • Up to 100 bookings a month
  • Storefront time picker
  • Double-booking lock
  • Email confirmations
Choose Basic
ProRecommended
$19.99 /month
  • Everything in Basic
  • Unlimited bookings
  • Booking alerts by email
  • Export bookings to CSV
  • Up to 3 staff with private schedule links
  • Times open up to a year ahead
Choose Pro
Plus$29.99 /month
  • Everything in Pro
  • Unlimited staff with private schedule links
  • Adjustable cart hold length
  • Priority support: your emails jump the queue
  • Early access to new tools
Choose Plus

You confirm the plan and the charge on Shopify. Free for the first 14 days — plans, charges, and the invoice live on Shopify.

Set up your front desk this afternoon

Install Vault, connect Google, add a service — the setup guide walks you through embedding the booking block. Your first booking can land today.

Open Vault in Shopify admin