Scheduling application for small teams

Slotkit is scheduling for small teams.

Create a booking page, connect Google Calendar to avoid double-booking, or use the same scheduling engine through the API.

Slotkit

Northwind Studio

Discovery call

A short intro to see whether we are a fit.

30 minutes · Times shown in Asia/Taipei

Choose a date and time

2026-09-14
9:00 AM9:30 AM10:00 AM11:00 AM1:30 PM2:00 PM

Name

Mei Lin

Confirm booking

An illustration of a Slotkit hosted booking page with example data: the Northwind Studio workspace, a 30 minute Discovery call, a grid of available times with 10:00 AM selected, and the guest name and email fields above the confirm button.

One product, two ways to use it

Start with a booking page. Reach for the API when you need it.

Hosted booking

A page your guests can book without an account

Set the hours each Host can accept bookings, connect Google Calendar, and share the URL. Guests pick a time, confirm, and get a link that lets them reschedule or cancel later — no signup, no password.

  • Weekly hours, date overrides, and time off per Host
  • Google Calendar and Meet details on the confirmation
  • Guests reschedule and cancel from their own link
See how setup works →
Scheduling API

The same scheduling engine, server to server

Read available slots, create a booking, and receive a signed webhook when it commits. Add scheduling to a product you already have instead of rebuilding availability, conflict handling, and calendar sync.

  • Versioned v1 REST API and a TypeScript SDK
  • Required idempotency key on every mutation
  • HMAC-signed webhooks for the booking lifecycle
Read the integration guide →

POST /v1/bookings

Authorization: Bearer sk_live_2f81c4…
Idempotency-Key: 0f4a9d12-6c33-4b7e-9a10-8ee2c5d17b40

{
  "event_type_id": "evt_3n8xqk2r",
  "start_at": "2026-09-14T02:00:00.000Z",
  "guest": {
    "name": "Mei Lin",
    "email": "[email protected]",
    "timezone": "Asia/Taipei"
  }
}

201 Created

{
  "data": {
    "id": "bkg_7pd4m1vs",
    "status": "confirmed",
    "version": 1,
    "source": "api",
    "start_at": "2026-09-14T02:00:00.000Z",
    "end_at": "2026-09-14T02:30:00.000Z",
    "calendar": { "status": "pending", "error_code": null },
    "meeting": { "type": "google_meet", "join_url": null }
  },
  "meta": { "request_id": "req_a71c9f04" }
}

The booking is confirmed in the same response that reports the calendar event as pending. The guest is never left waiting on Google.

How it works

Four steps from an empty account to a confirmed booking.

  1. 01

    Define availability

    Give each Host weekly hours in their own timezone, then add date overrides for holidays and time off.

    Mon – Thu09:00 – 17:00

    Friday09:00 – 12:00

    24 Dec 2026Unavailable

  2. 02

    Connect Google Calendar

    When a Host chooses to connect Google Calendar, Slotkit lists available calendars, checks selected calendars’ free/busy time so busy periods are not bookable, and creates or updates the Slotkit booking event in the chosen destination Calendar.

    [email protected]

    Google Calendar connected

    Meet links enabled

  3. 03

    Share a page or call the API

    Publish the event type to get a booking URL, or issue an API key and drive the same event type from your own product.

    slotkit.app/northwind/discovery-call

    or

    GET /v1/event-types/evt_…/slots

  4. 04

    Receive confirmed bookings

    The booking is confirmed immediately. Calendar events, Meet links, and webhooks follow without holding up the guest.

    Mei Lin10:00

    Discovery call · 30 min

    Calendar preparing

What you get

Enough scheduling to run on. Deliberately no more.

No CRM, no analytics dashboard, no workflow builder, no payment collection. Slotkit stays a scheduling system so the scheduling stays predictable.

Availability that reflects the real calendar

Weekly rules, date overrides, and time blocks decide when a Host can be booked. Connected Google Calendars remove selected calendars’ busy time before a slot is ever offered, and every slot is revalidated at the moment the guest confirms. Slotkit does not copy external Calendar events into its own booking records.

Set up your first bookable event

Step 1 of 4

Weekly hours · Mei Lin

Asia/Taipei

  • Monday09:00 – 17:00
  • Tuesday09:00 – 17:00
  • Wednesday13:00 – 17:00
  • Thursday09:00 – 17:00
  • FridayUnavailable

1 date override · 24 Dec 2026

An illustration of Slotkit's guided setup with example data: a four step flow with Google Calendar complete and Availability in progress, showing weekly hours for a Host in Asia/Taipei and one date override.
Booking pages ready to share
Each event type gets its own URL under your workspace slug. Guests book without creating an account.
Google Calendar and Meet built in
Per-Host calendar connection, event creation on confirmation, and a Meet link on the booking when the event type asks for one.
Guest reschedule and cancel
A confirmed booking comes with a purpose-specific management link. It manages that one booking and nothing else.
API, SDK, and signed webhooks
A frozen v1 contract, scoped API keys, cursor pagination, and booking.created, booking.rescheduled, and booking.cancelled deliveries.
Clear team and Host boundaries
Fixed Owner, Admin, and Member roles instead of a permission matrix you have to design yourself.

Reliability

A confirmed booking stays confirmed while everything else catches up.

Most scheduling breaks at the seams — the calendar write fails, the webhook times out, a retry lands twice. Slotkit commits the booking first and lets the rest recover around it.

Slotkit

Booking confirmed

Monday, 14 September 2026 at 10:00 AM GMT+8

Calendar and meeting details are preparing.

Manage booking

An illustration of a Slotkit booking confirmation with example data. The booking is confirmed for 14 September 2026 at 10:00 AM while a notice explains that calendar and meeting details are still preparing.
Confirmation does not wait on delivery
The booking commits in its own transaction. Calendar sync and webhook delivery are queued afterwards and cannot block or undo the confirmation.
Safe retries do not double-book
Every API mutation carries an idempotency key. Replaying the same request returns the original booking instead of creating a second one.
Calendar sync recovers on its own
A booking whose calendar event has not been written yet is marked pending, not failed. Reconciliation retries it without losing the authoritative booking.
Credentials stay separate
Administration sessions, hosted guest credentials, and server-side API keys are different credential families with different lifetimes.

We hold ourselves to internal operating targets for API availability and booking confirmation latency. Those are objectives we run against, not a contractual SLA. See our terms for what is and is not guaranteed, and security for how the credential boundaries work.

Planned pricing

Pay once. Use credits when bookings are confirmed.

Slotkit is built to reach a sufficient feature set and then move to maintenance. A subscription sells continued development, and we would rather not sell you a roadmap we do not intend to have.

Slotkit is not currently billed. There is no checkout, no balance, no invoice, and no refund process. When this model is accepted and implemented, it will be announced with terms before anything is charged.

See the planned model

One credit is one confirmed booking

The unit is a booking that actually happened, not a seat, a connected calendar, or a monthly platform tier. A Host who takes four bookings in a quiet month would use four credits.

Uses one credit

  • A booking that commits successfully and is confirmed to the guest
  • A booking made through the hosted page — same rule as the API
  • A booking made through the Public API — same rule as the hosted page

Uses no credit

  • Browsing available times and querying slots
  • Booking attempts that fail validation or lose the slot
  • CAPTCHA checks and guest email verification

Questions

What people ask before they commit.

What counts as a booking?

One confirmed booking — the moment a booking is committed and the guest is told it is confirmed. Browsing available times, failed validation, CAPTCHA and email verification, and booking attempts that do not commit are not bookings.

Does rescheduling create a second booking?

No. Rescheduling moves the existing booking and keeps its identity and history. A cancellation followed by a brand new booking is a new booking.

What happens if Google Calendar is slow or down?

The guest still gets a confirmed booking. Its calendar state shows as pending and reconciliation retries in the background. The booking is never rolled back because the calendar write is late.

Can I use Slotkit without touching the API?

Yes. Guided setup takes you from an empty workspace to a shareable booking page without writing any code.

Can I use only the API?

Yes. The same event types and availability are readable and bookable server to server with a scoped API key, whether or not you ever share the hosted page.

Which calendar providers are supported?

Google Calendar, including Google Meet links. Microsoft, Outlook, Zoom, and Apple Calendar are not supported.

Is Slotkit a subscription?

No, and not by omission. Slotkit is built to reach a sufficient feature set and then move to maintenance, and a subscription sells continued development we do not intend to promise. The planned model is prepaid confirmed bookings. Nothing is purchasable yet.

Do credits expire?

The proposal is 24 months, with any new purchase extending the whole remaining balance. It is proposed rather than decided — credit expiry has to clear legal review first, and the pricing page says so.

Create your first booking page

Start with an email address. Guided setup walks through availability, calendar, and your first event type.

Create your booking page