Astrocal
Online booking system

A free online booking system you can actually embed

Take bookings on your website, in your app, or through an AI agent. Calendar sync, Stripe payments, your brand only.

Why teams switch to Astrocal

Most booking tools are built for end-users sharing a link. Astrocal is built for teams who need scheduling to behave like infrastructure: configurable via API, embeddable anywhere, and yours to brand completely.

๐Ÿ“…

No more double-bookings

Real-time free/busy checks against Google, Outlook, and CalDAV calendars run on every slot request. If your calendar's blocked, that slot disappears automatically.

โšก

Live in under 5 minutes

One OAuth screen connects your calendar. One script tag embeds the widget. First booking arrives before you've finished your coffee.

๐ŸŽจ

Your brand. Zero of ours.

CSS custom properties give you full control over colours, fonts, and layout. On paid plans, Astrocal branding is gone completely.

๐Ÿ’ณ

Payments at the point of booking

Stripe Connect built in. Collect a deposit or full payment when someone books, not when they show up. Automatic refunds for cancellations 24+ hours out.

๐Ÿ””

Webhooks on every event

Booking created, cancelled, rescheduled: your stack gets notified instantly. HMAC-signed, with automatic retry logic.

๐Ÿค–

AI-agent ready

The @astrocal/mcp-server package lets Claude, Cursor, and any MCP-compatible AI agent check availability and create bookings directly.

MCP docs โ†’

Up and running in three steps

Connect your calendar

One-click OAuth for Google, Outlook, or CalDAV. Astrocal reads your free/busy data so the right slots are always available, with no manual blocking and no stale schedules.

Define your availability

Set your weekly hours, buffer times between meetings, and booking window. Works for one host or fifty, with round-robin assignment included.

Embed, share, or integrate

Use the booking link, embed the widget on your site, call the REST API, or let an AI agent handle it. Every booking fires a webhook and creates a calendar event automatically.

See it live

See it live. This is a real booking widget.

Blue
Violet
Emerald
Rose
--astrocal-primary: #2563eb

Every way to integrate

<!-- Add to any page -->
<script src="https://cdn.astrocal.dev/widget.js"></script>
<div id="booking"></div>
<script>
  Astrocal.open({
    eventTypeId: 'evt_abc123',
    target: '#booking'
  })
</script>

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

Yes. The free plan includes 10 bookings per month, full API access, calendar sync, and the embeddable widget. No credit card required to start.
Calendly is an end-user scheduling tool. Astrocal is scheduling infrastructure: built to be embedded in your own product, called via API, and branded completely as yours. No per-seat pricing. Full API read/write access. MCP support for AI agents.
Yes, on the Launch plan and above. Use CSS custom properties to apply your brand. On paid plans, the 'Powered by Astrocal' attribution is removed entirely.
Yes. One-click OAuth connects your Google Calendar. Astrocal reads your FreeBusy data in real time and writes new bookings back as events automatically.
Yes. Stripe Connect is built in. Set a required deposit or full payment amount on any event type. Payments support 135+ currencies.
Yes. The dashboard lets you set up event types, availability, and payments without writing any code, and the free plan covers 10 bookings a month. Pricing is flat-rate by booking volume, so adding staff never raises your bill.
A webhook fires, the calendar event is removed, and any Stripe payment is refunded automatically when the cancellation is 24+ hours before the start time.