How to Charge for Appointments with Paid Bookings

Set a price on any TidyCal booking type and collect payment through Stripe or PayPal, on every plan including Free — plus how group bookings and guests pay.

Payment Options Overview

For each booking type, you can set a custom price and choose from two payment processors:

  1. Stripe (OAuth connection) — recommended
  2. PayPal (email-based connection)

You can connect both processors and select which one to use per booking type. Only one payment processor can be active per booking type.

Important: Set up your payment processor at Integrations → Payments before enabling paid bookings. See Connect your Payment Services for the full setup guide.

Setting Up Paid Bookings

  1. Connect a payment processor at Integrations → Payments (see Connect your Payment Services)
  2. Go to Booking types and edit (or create) a booking type
  3. In the drawer sidebar, click Pricing & Subscriptions, then select Per booking in the Pricing & Subscriptions tab. (The tab also offers Subscription, which sells a recurring Stripe plan with booking credits instead — see Subscriptions - Recurring Payments with Booking Credits.)
  4. Choose the currency and enter the price next to Charge. The price can't have more decimal places than the currency supports; otherwise saving shows an error such as Price cannot have more than 2 decimal places.
  5. Select Stripe or PayPal as the payment processor
  6. Click Save

TidyCal Pricing and Subscriptions tab with Per booking selected, currency and price, and Stripe or PayPal payment platform

If you have not connected the selected processor, you will see a warning: "Required: Connect your Stripe account." or "Required: Connect your PayPal account." Each booking type has its own currency, chosen next to the price; the currency in Settings → Preferences is only the default.

TidyCal supports paid bookings with both Group Bookings and Guest Invites features. Here's how payments work with each:

Group Bookings + Paid Bookings

Plan: Group Bookings require a paid plan (Individual Lifetime, Pro or Agency Lifetime); they are not available on the Free Plan.

How it works: When Group Bookings are enabled, each person who books the same time slot pays separately.

Example scenario:

  • You offer a yoga class for $20 per person
  • Maximum capacity: 20 people
  • 5 people book the same time slot
  • Result: Each person pays $20 = $100 total revenue for that class

Important notes:

  • Each attendee completes their own payment
  • Each attendee receives their own confirmation email
  • If one person cancels, only their booking is cancelled (others stay booked). TidyCal does not refund them automatically; issue the refund in your Stripe or PayPal account
  • Perfect for: classes, workshops, webinars, group coaching

Guest Invites + Paid Bookings

Plan: Guest Invites are available on all plans, including the Free Plan. They cannot be used on recurring booking types.

How it works: The primary booker pays for ALL guests they bring to the booking.

Example scenario:

  • You offer a consultation for $100 per booking
  • Guest Invites enabled (max 2 guests)
  • Client books and adds 2 guests
  • Result: Primary booker pays $100 for the entire booking (not per person)

Important notes:

  • Only the primary booker completes payment
  • Primary booker pays once regardless of guest count
  • All guests receive confirmation emails
  • Perfect for: consultations, meetings where attendees bring colleagues or partners

Combining Both Features

You can enable BOTH Group Bookings and Guest Invites on the same paid booking type.

Example:

  • Workshop priced at $50 per booking
  • Group Bookings: 20 max attendees
  • Guest Invites: 1 guest allowed per booking
  • Result: Up to 20 people can book, each paying $50 and potentially bringing 1 free guest = up to 40 total attendees, $1000 revenue

Payment Processing

  • Group Bookings: Each attendee pays through your Stripe or PayPal account separately
  • Guest Invites: Primary booker pays once through your Stripe or PayPal account
  • Stripe and PayPal charge their standard processing fees. Stripe bookings also carry a 1% TidyCal platform fee, except on Pro — see Does TidyCal charge a fee on payments?

Plan availability: All plans (Free Plan, Individual Lifetime, Agency Lifetime and Pro) can accept paid bookings.

Add-ons (Sell Store Products)

On a booking type that charges through Stripe, you can offer up to 3 published products from your TidyCal store as optional checkout add-ons. Bookers add them on the confirmation step and pay together with the booking. Add-ons are not available for PayPal booking types. See How to Create and Manage Booking Types in TidyCal for setup.

Discount Codes and Coupons

You can create coupon codes to offer discounts on paid bookings. Coupons support percentage off, fixed amount off, or 100% free discounts. Bookers enter the coupon code during checkout on the booking confirmation modal.

To create and manage coupons, go to Coupons in the sidebar. In the booking type editor, the Pricing & Subscriptions tab has a single Allow coupons on this booking type toggle. To limit a coupon to certain booking types, edit the coupon in Coupons and turn on Applies to specific booking types.

Learn more: See our help article on Coupon Codes for full setup instructions.

Cancellation and No-Show Fees

On a paid booking type that collects payment through Stripe, you can charge a flat cancellation or no-show fee. The client's card is saved when they pay, so the same fee can be charged to the card on file when they cancel or when you mark them as a no-show. It is charged at most once, and rescheduling never triggers it. Free bookings and PayPal bookings cannot carry a fee, and turning the fee on requires Individual Lifetime, Pro or Agency Lifetime. For setup, the client experience, and how no-shows work, see How do refunds and cancellation fees work for paid bookings?

Troubleshooting

Clients do not see a payment option on the booking page

  • Confirm Per booking is selected in the booking type's Pricing & Subscriptions tab
  • Verify a payment processor (Stripe or PayPal) is connected at Integrations → Payments
  • Check that you selected a payment processor for the booking type

Wrong currency showing on the booking page

  • Open the booking type's Pricing & Subscriptions tab and check the currency next to the price
  • Each booking type has its own currency, so different booking types can charge in different currencies. Settings → Preferences only sets the default currency
  • Ensure your payment processor account supports the selected currency

Payment fails when client tries to book

  • Verify your Stripe or PayPal account is active and in good standing
  • Check that the currency in TidyCal matches what your payment processor supports
  • If using Stripe, check that Integrations → Payments shows Stripe account connected.
  • Contact support@tidycal.com if the issue persists

If the card was simply declined, the booking is not lost, as long as Hold the slot when a payment is declined is on in Settings → Bookings (it is on by default). On Stripe, TidyCal holds the slot for about four hours and emails your client a link to finish paying; the booking shows a Payment failed badge on your Bookings page in the meantime. See What Happens When a Booking Payment Fails.

Frequently Asked Questions

Can Free Plan users accept paid bookings?

Yes. Paid bookings are available on all plans, including the Free Plan. Connect Stripe or PayPal at Integrations → Payments and enable payments on your booking types.

Note: Accepting payment and Guest Invites are available on all plans. Group Bookings require a paid plan (Individual Lifetime, Pro or Agency Lifetime).

Note: New booking types default to Stripe as the payment processor. You can change this to PayPal in the Pricing & Subscriptions tab.

What fees apply to paid bookings?

Your payment processor's standard fees apply. On top of that, Stripe payments carry a 1% TidyCal platform fee on the Free Plan, Individual Lifetime and Agency Lifetime; Pro has none, and PayPal payments carry none. By default your client pays it at checkout; on a lifetime plan you can cover it yourself. See Does TidyCal charge a fee on payments? for the details.

Can clients pay with Venmo?

Yes. On booking types that use PayPal, eligible buyers in the United States (paying in USD) see a Venmo button at checkout alongside PayPal. Venmo is offered automatically by PayPal based on the buyer's country, currency, and device — there is no separate setup.

How do I refund a paid booking?

Refunds are processed through your payment processor's dashboard (Stripe Dashboard or PayPal). TidyCal does not process refunds directly. When you refund a Stripe payment, TidyCal returns the platform fee automatically; see Refunds and the Platform Fee. A refund doesn't cancel the booking — cancel it in Bookings as well if the session is off. See How do refunds and cancellation fees work for paid bookings?

Can I take a deposit instead of the full price?

No. A booking type's pricing is Free, Per booking or Subscription, and a paid booking charges the price you set. There is no deposit or partial-payment option.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.