How to Use the Booking Block in UniLink (Schedule Services and Reservations)

By UniLink May 02, 2026 16 min read
How to Use the Booking Block in UniLink (Schedule Services and Reservations)


How to Use the Booking Block in UniLink (Schedule Services and Reservations)

For salons, studios, rental businesses, and anyone offering multiple service types who needs clients to choose a service, see real availability, and book — all from a single page.

TL;DR:
  • The Booking block adds a multi-service scheduling widget to your page — visitors pick a service type, then choose a date and time from your real availability.
  • Prerequisite: UniLink Pro plan or higher, and Google Calendar connected if you want automatic busy-time blocking.
  • The setting that trips most people up: Group Booking is off by default — if you run classes or workshops where multiple people can book the same slot, you must enable it per service.
  • Most common mistake: skipping the deposit setting — without it, no-shows cost you real money and blocked time you can't reclaim.

If you run a salon, a photography studio, a rental space, or any business where clients need to choose between different services before they pick a time, you already know the problem: your booking flow is either a wall of forms or a string of DMs where you explain the difference between your packages for the fifteenth time this week. The Booking block solves this by putting your full service menu in front of the visitor first, then showing availability specific to whatever they selected — so the client makes one clear choice and books themselves in, without your involvement.

What the Booking block does

The Booking block is a scheduling widget that begins with a service selection step. You define a list of services — each with its own name, duration, and price — and the visitor picks the one that fits their needs before they ever see a calendar. Once they choose a service, the widget shows available time slots for that specific duration, filtered against your calendar. The visitor selects a slot, fills in their contact details, pays (if you've set a price), and receives a confirmation. Everything is logged in UniLink's booking dashboard: who booked, what service, when, and what they paid.

The Booking block integrates with Google Calendar for two-way sync, just like the Appointment block. It also connects to Stripe and PayPal for payment collection. What makes it distinct is the flexibility of the service list: a 30-minute haircut, a 90-minute color treatment, and a 2-hour bridal package can all live in the same block, each with different availability windows, prices, and group booking settings. Email confirmations go out automatically on booking, and the message can be customized per service if you need to send different pre-session instructions depending on what was booked.

What the Booking block won't do: it doesn't support staff-level scheduling. If you have three stylists and want clients to book with a specific person who has their own calendar, that's team scheduling functionality that isn't part of the Booking block. It also doesn't handle subscription-based access — for example, a "10-session pack" where a client buys upfront and books individual sessions against a pre-purchased balance. And the cancellation and rescheduling experience is functional but basic; high-volume booking businesses will eventually want dedicated scheduling software for the client management layer.

Before you start

Get these three things set up before you configure the block. The most common setup failure — a block that shows all slots available even when you're booked solid — comes entirely from skipping step two.

  1. Verify your plan: Go to Settings → Billing and confirm you're on UniLink Pro or higher. The Booking block appears in the editor on all plans, but visitors on the live page will hit an upgrade wall when they try to complete a booking on the free plan.
  2. Connect Google Calendar: Go to Settings → Integrations → Google Calendar and authorize access. During setup, select the specific calendar the block should sync with. If you manage multiple calendars — for example, a personal calendar and a separate "Work Bookings" calendar — pick the one that reflects your true availability. The block reads this calendar for busy times and writes new bookings back to it.
  3. Set up your payment processor (if charging): Go to Settings → Payments and connect Stripe or PayPal. Ensure your merchant account is fully verified on the payment platform side — an unverified account will silently fail on live transactions. This step is required only if any of your services are paid; free services work without it.

How to add the Booking block to your page

  1. Open the editor: From your UniLink Dashboard, click Edit on the page where you want to add booking.
  2. Add the block: Click + Add Block, navigate to the Scheduling section, and select Booking Block. The block will be added to your page with a placeholder service list.
  3. Add your services: In the block settings panel, click Add Service for each offering. For each service, enter a name (what the client sees), a duration (the actual session length in minutes — this determines which slots are offered), and optionally a price. Delete the placeholder services before publishing.
  4. Set availability per service: Each service can have its own availability window, or you can use global availability that applies to all services. If a 90-minute treatment is only something you offer on Saturdays while 30-minute slots are available weekdays, configure this per-service. Click a service name and set its specific days and hours.
  5. Enable Group Booking if relevant: For each service that should allow multiple clients in the same slot — fitness classes, group workshops, yoga sessions — open that service's settings and toggle on Group Booking. Set the maximum number of participants per slot. Group Booking is off by default for every service.
  6. Configure deposit or full payment: For paid services, open the payment settings and choose Full Payment or Deposit. If you choose Deposit, set the deposit amount (fixed dollar amount or percentage). The client pays the deposit at booking and the balance is collected separately — how you collect the balance is up to you.
  7. Set buffer time: Under global or per-service settings, set the buffer time between appointments. This is the gap left after a booking completes before the next slot opens. The default is 0.
  8. Add your cancellation policy: In the block settings, there's a Cancellation Policy text field. Write a plain-text policy here — for example, "Cancellations within 24 hours of the appointment are non-refundable." This text appears on the booking confirmation page and in the confirmation email so there are no surprises.
  9. Customize confirmation messages: Click on Confirmation Email in the block settings. You can write a shared message for all services, or customize the message per service. Per-service customization is useful when different services require different prep — a massage and a photo session need completely different pre-appointment instructions.
  10. Save, publish, and test: Click Save and then Publish. Go to your live page, complete a test booking for each service you've configured, and verify that the confirmation email arrives, the event appears in Google Calendar, and payment processes correctly (if applicable).

Key settings explained

SettingWhat it controlsBest practice
Service Duration (per service) The length of that specific service. Determines which time slots are shown — a slot must have at least this much consecutive free time to appear. Use the real session duration, including any overlap you'd normally have. Setting it shorter artificially inflates apparent availability and leads to schedule collisions.
Group Booking Allows multiple clients to book the same slot. When enabled, you set a participant cap per slot. Off by default. Enable for classes, workshops, and shared experiences. Leave off for 1:1 services. Forgetting to enable this for group events means you lose revenue on slots that can hold 10 people but are shown as booked after one registration.
Deposit vs Full Payment Determines how much the client pays at booking. Deposit collects a partial amount; the rest is billed separately. Full Payment charges the complete service price upfront. Use Full Payment for short, low-cost services. Use Deposit for high-ticket services (packages, all-day rentals) where charging the full amount upfront may deter bookings. A 25–50% deposit still reduces no-shows dramatically while lowering the perceived commitment barrier.
Buffer Time The gap added after each appointment before the next slot becomes available. Applied globally or per service. Match your real reset time. A 60-minute massage with a 15-minute cleanup and sheet-change needs 15 minutes of buffer. A photo session may need 30 minutes to reset the studio. Set this per service if your different offerings have different reset requirements.
Advance Notice The minimum time before a session that a client can book it. Prevents same-day bookings you can't prepare for. 48 hours is a reasonable default for most service businesses. For services that require significant preparation (bridal packages, equipment rental logistics), set this to 72–96 hours.
Cancellation Policy Text A plain-text field that appears on the booking confirmation page and in confirmation emails. Be specific. "No refunds after 24 hours" is enforceable. "We have a cancellation policy" is not. State the window and the consequence clearly. This text is not a legally binding contract — for high-value bookings, consider a separate waiver or terms agreement.
Tip: The Group Booking setting and the deposit setting solve two completely different revenue leakage problems, but they work best together for class-based businesses. If you run yoga sessions, fitness classes, or group workshops, enabling Group Booking means more revenue per slot. Adding a deposit means the people who register actually show up. Running both captures the full value: you fill the slot to capacity and the participants have enough skin in the game to honor their reservation. A yoga studio that charges a $10 deposit on a $20 class will see dramatically better attendance rates than one that lets clients register for free and cancel without consequence.

How to get more bookings

The order in which visitors encounter your service list matters. Put your most popular or highest-converting service at the top — that's typically your entry-level or best-value option, not necessarily your most expensive one. When visitors see a long list with no clear starting point, they hesitate. If your business has an obvious "first-time visitor" service (a trial class, an introductory session, a standard package), list it first and consider labeling it "Most Popular" or "Great starting point" in the service name itself.

Service names in the Booking block are conversion copy, not just labels. "60-Minute Deep Tissue Massage" tells a visitor exactly what they're getting. "Massage Session" makes them wonder whether it's the right service or whether they need to click through to find out. For services with meaningfully different outcomes, use names that capture the result, not just the format: "First-Time Client Session," "Full Studio Rental (8 hours)," "Wedding Hair and Makeup Package." Write service descriptions if the block supports them — a sentence that explains who this service is for reduces hesitation and saves you the DM asking "which one should I choose?"

Placement on your page determines whether the Booking block gets seen. The primary mistake is putting it below a long bio, a social media feed, and several product links. Visitors who are ready to book are looking for the booking widget — don't make them scroll for it. Place the Booking block in the upper portion of your page, ideally as the second or third element after a short introduction. If your page is long and covers multiple topics, consider adding a secondary "Book Now" link higher up that jumps to the block.

Follow-ups are where repeat business is built. The confirmation email is the beginning of the relationship, not the end of the transaction. After a session, reach out personally within 24–48 hours. Reference the specific service they booked, note anything that came up in the session, and include a direct link back to your booking page for their next appointment. Clients who feel personally noticed are far more likely to rebook than those who only ever received an automated confirmation. The Booking block handles the logistics; the human follow-up handles the loyalty.

Troubleshooting common issues

ProblemLikely causeFix
A service shows no available slots even though your calendar looks open The service duration plus buffer time exceeds the available time windows you've set, or the Google Calendar connected is not the one reflecting your real schedule. Check that the available hours window for that service is long enough to contain at least one slot (duration + buffer). Also verify the connected Google Calendar in Settings → Integrations. A mismatch between the calendar the block reads and the calendar you actually use is the most common cause of phantom unavailability.
Clients are booking the same slot that was already booked Google Calendar sync is broken — typically a revoked OAuth token — so the block isn't seeing existing bookings as busy time. Go to Settings → Integrations → Google Calendar. Disconnect and reconnect the calendar. After reconnecting, open your Google Calendar and verify that existing bookings from UniLink appear as events. If they do, the sync is live. If they don't, check that you selected the right calendar during reconnection.
Group Booking isn't allowing more than one person per slot Group Booking is enabled globally but the participant cap per slot is set to 1, or Group Booking needs to be enabled per service rather than globally. Open the specific service settings and verify that Group Booking is toggled on and that the Max Participants field is set to your intended capacity. A cap of 1 means the slot is treated as a solo booking even with Group Booking enabled.
Payment is failing silently — client goes through the flow but no charge is made The payment processor account is in test mode or has unresolved verification issues. Log into Stripe or PayPal and check for any verification tasks or compliance holds. Stripe in particular will silently fail charges when there are outstanding identity verification requirements. Confirm you're in live mode (not test mode) in your payment processor's dashboard settings.
Clients are not receiving confirmation emails The email is landing in spam, or the client entered their email address incorrectly at booking. Check your UniLink booking dashboard — if the booking appears there with a valid email address, the email was sent. Ask the client to check their spam folder and mark the sender as safe. If the email address in the booking looks wrong, the client likely made a typo. There's no built-in email verification at booking, so this happens occasionally.
The service list is not showing on the live page after publishing All services were deleted or no services are configured in the block. Go back into the editor, open the Booking block settings, and confirm you have at least one service configured with a name and a duration. An empty service list causes the block to render as blank on the live page. Add at least one service and republish.

Best fit for

  • Salons and spas offering multiple service types with different durations and prices
  • Photography studios offering package tiers (headshots, portraits, full-day sessions)
  • Fitness instructors and yoga teachers who mix private sessions with group classes
  • Rental businesses (studios, equipment, spaces) where clients book by the hour or day
  • Any service business with 2–15 distinct offerings and a need for both 1:1 and group booking in the same widget

Not the right tool if

  • You need staff-level scheduling — each team member with their own calendar and booking availability
  • You have more than 15–20 service types; the service list becomes unwieldy and clients can't easily choose
  • You need subscription or package booking (clients buy a 10-session pass and book against it)
  • You require sophisticated cancellation and rescheduling flows with automated multi-step reminders
  • You need client accounts, booking history, or membership management — this is a booking widget, not a CRM

Frequently asked questions

What's the difference between the Booking block and the Appointment block?

The Appointment block is for a single service type — one duration, one price, one booking flow. The Booking block supports a list of services, each with its own duration and price. If you offer one thing (e.g., "30-minute consultation"), use the Appointment block. If you offer multiple things (e.g., "30-minute trim," "90-minute color," "2-hour balayage"), use the Booking block. Both connect to Google Calendar and support payment collection.

Can I offer some services for free and others as paid?

Yes. Each service in the Booking block has its own price setting. Leave the price at $0 or leave it blank for free services, and enter a price for paid services. On the booking flow, free services skip the payment step entirely. You can mix free and paid services in the same block — useful if you offer a free intro session alongside paid packages.

Can multiple people book the same class slot?

Yes, but you must enable Group Booking on that specific service. By default, every service in the Booking block is a 1:1 booking — once someone books a slot, it disappears from the calendar for everyone else. Enable Group Booking per service and set the participant cap. Once the cap is reached, the slot closes. This is the correct setup for yoga classes, fitness sessions, group workshops, or any shared experience.

Can I customize the confirmation email per service?

Yes. In the Booking block settings, click on a specific service and navigate to its Confirmation Email tab. You can write a service-specific message that overrides the default template. This is valuable when different services require different client preparation — a massage needs one set of instructions, a studio rental needs another. Services without a custom message fall back to the block-level default template.

How do I handle refunds if a client cancels?

Refunds are not processed automatically by the Booking block. When a client cancels (via the link in their confirmation email), the slot reopens and you receive a cancellation notification. Any refund needs to be issued manually through your Stripe or PayPal dashboard. This is why having a clear cancellation policy visible on the booking confirmation page matters — clients should know before they book whether a cancellation within 24 hours is refundable or not.

Key Takeaways
  • The Booking block is designed for businesses with multiple service types — visitors choose a service first, then see availability specific to that service's duration.
  • Connect Google Calendar before publishing, or every slot will appear open regardless of your actual schedule.
  • Group Booking is off by default for every service — if you run classes or shared sessions, you must enable it per service and set the participant cap.
  • Requiring a deposit (even partial) significantly reduces no-shows without eliminating bookings — it's one of the highest-leverage settings in the block.
  • For a single service type, the Appointment block is simpler; for 2+ services with different durations or prices, the Booking block is the right choice.

Ready to start taking bookings? Create your free UniLink page and add your first Booking block today.

Create Your Free Link-in-Bio Page

Join thousands of creators using UniLink. 40+ blocks, analytics, e-commerce, and AI tools — all free.

Get Started Free