Astrocal
Small business

Booking software that
runs itself

Set up your services once. Clients book, pay, and get reminders without you lifting a finger. Flat pricing, whatever your team grows to.

Sound familiar?

Customers try to book you in five different places

Phone calls, texts, DMs, walk-ins, a paper diary. Every channel is a chance to double-book yourself or lose the message entirely.

Most booking tools charge per seat as you grow

Hire one more member of staff and the bill goes up. Astrocal prices by booking volume, not headcount, so your team can grow without your subscription growing with it.

No-shows cost you when there's no deposit on file

An empty slot, prepped time, nothing to show for it. Astrocal collects a deposit at booking, refunded automatically if the customer cancels 24+ hours out.

Everything a small business needs, nothing you have to build

No developer, no plugin, no per-seat bill that climbs every time you hire. Set it up from the dashboard once and it keeps running.

Set up from the dashboard, no code

Add your services, set your hours, and connect payments from the dashboard. No developer, no plugin, nothing to install.

Works on your existing website

One script tag adds a live booking calendar to WordPress, Squarespace, Webflow, or any site that lets you paste HTML. No redirect to another company's page.

Syncs with your calendar

Connect Google, Outlook, or any CalDAV calendar and Astrocal checks your real availability before offering a slot. Double-book somewhere else and that slot closes automatically.

Reminders that stop no-shows

Email reminders go out 24 hours and 1 hour before every appointment, with a calendar attachment included. You don't send a single follow-up message.

Take deposits and payments upfront

Collect a deposit or full payment at the point of booking via Stripe. Cancellations 24+ hours before the start time are refunded automatically.

Flat pricing, whatever your team grows to

Add staff, take more bookings. Plans are priced by booking volume, not by how many people you add to your account.

Live before your next customer calls

Add your services and hours

List what you offer, how long each one takes, and what it costs. Set your weekly availability and connect your calendar. All from the dashboard, no code required.

Share your link or add it to your site

Use your hosted booking page as-is, or paste one script tag into your website to embed the calendar directly. Either way, customers book without calling or messaging you.

Let it run

Reminders go out on their own. Deposits are collected at booking. Cancellations free up the slot automatically. You check the dashboard when you want to, not because you have to.

See it live

See it live. This is a real booking widget.

Fully themeable via CSS variables
--astrocal-primary: #059669;
--astrocal-heading: #059669;
--astrocal-radius: 6px;
--astrocal-font: 'Inter', sans-serif;

...and background, text, borders, shadows, and more

They pick a service and a time

Customers choose from the services you've listed and see a calendar of real availability. No account, no app download, no calling to check if you're free.

Only genuinely open slots show up

Astrocal checks your connected calendar before offering a time, so a slot you've already booked elsewhere never appears twice.

They pay a deposit and get reminders

A deposit is collected via Stripe at the point of booking. Confirmation and reminder emails go out automatically, with a calendar attachment included.

One flat price. Add staff for free.

Plans are priced by how many bookings you take, not how many people are on your team. No per-seat fees, ever.

Pricing that scales with bookings, not seats

Start free with 10 bookings a month, no credit card. Paid plans from $12, and team members never cost extra.

Free

For prototyping

$0forever
  • 10 bookings/month
  • 1 calendar connection
  • 30 req/min API rate
  • Calendar sync
  • Email notifications

Launch

For going live

$12/month
  • 50 bookings/month
  • 3 calendar connections
  • 60 req/min API rate
  • Everything in Free
  • Custom branding

Grow

Most Popular

For growing products

$49/month
  • 500 bookings/month
  • 20 calendar connections
  • 500 req/min API rate
  • Everything in Launch
  • Priority support

Scale

For high volume

$199/month
  • 5,000 bookings/month
  • 100 calendar connections
  • 2,000 req/min API rate
  • Everything in Grow
  • Dedicated support

No per-seat pricing. Ever. See full pricing →

Frequently asked questions

No. Add your services, set your availability, and connect payments entirely from the dashboard. The API and widget exist if you want deeper integration later, but they're optional, not required.
Yes. Any platform that lets you paste a script tag into the page works, including WordPress, Squarespace, and Webflow. For WordPress specifically, paste it into a Custom HTML block or your theme settings.
No. Plans are priced by booking volume, not by how many people are on your account. Add your whole team and your subscription stays the same.
Yes. Every booking triggers an automatic email reminder 24 hours and 1 hour before the appointment, with a calendar attachment included. No manual follow-up needed.
Yes. Set a required deposit or full payment on any service, collected via Stripe at the point of booking. Cancellations 24+ hours before the start time are refunded automatically; later cancellations are not.
10 bookings a month, full calendar sync, and the embeddable widget, with no credit card required and no time limit. It's a working plan, not a trial.
Yes. Set up your services and connect your calendar the same way, then share your new booking link or update the embed on your site. There's no lock-in on either side, so you can run both briefly while you move over.
Each team member gets their own availability. Customers can book a specific person, or Astrocal can automatically assign the next available team member with round-robin assignment.

Stop juggling bookings across five apps

Set up your booking page in minutes. Free to start, no credit card, no per-seat fees as you grow.