Introduction
Quikstik is a booking and operations platform for tours, rentals, activities and other slot-based businesses. The API documented here is the only write path into it: the hosted booking widget, the operator app, the customer portal and the accounting ledger all use these same endpoints.
Who this is for
Section titled “Who this is for”- Storefront developers embedding availability and checkout into a website or app. You need the Catalog, Availability and Checkout sections, authenticated with a publishable key. Start with the quickstart.
- Operators and integrators automating back-office work: reading bookings and manifests, cancelling, rebooking, amending, collecting balances, managing customers and content. You need an operator API key or a staff session.
- Accounting and reporting readers pulling the double-entry ledger and receivables.
The base URL
Section titled “The base URL”https://quikstik-core.fly.devAll paths in this documentation are relative to that host. Every request and response body is JSON.
Three ideas to hold on to
Section titled “Three ideas to hold on to”Prices are server-derived. No request ever carries an amount to charge. Net, tax and gross are resolved from the tenant’s governed catalog, rate calendar and tax configuration. Where a request looks like it changes money (a party growing, an add-on added, a rebook to a dearer departure) it carries facts, and the server prices them.
Reserve, then pay. Capacity is committed in the same transaction that opens a charge. If the capacity chain cannot hold the seats you get 409 sold_out (or capacity_full) and nothing was charged. A charge that succeeds never leaves a seat uncommitted.
Everything that mutates is a command. Writes are idempotent on x-idempotency-key; retrying with the same key is a no-op rather than a second cancellation or a second charge. Money-moving routes refuse to run without the header.
How the surface is organised
Section titled “How the surface is organised”| Section | What it covers | Credential |
|---|---|---|
| Catalog, Availability, Checkout, Guest links | What a customer can see and buy | Publishable key, or a capability token in the URL |
| Authentication | Sessions, device refresh, operator keys | None / session |
| Bookings, Payments & balances, Ledger | Operating and accounting for sold bookings | Session or operator key |
| Customers, Customer account | Persons, participants, readiness (waivers), organisations | Session or operator key; customer session for /account/* |
| Provisioning | Offerings, pricing schedules, capacity pools, policies, tax, resources | Admin session |
| Content | Published content, media metadata, site settings for a merchant storefront | Content keys (pk_ read / sk_ write) |
| Conditions | Weather points, rules and pulls behind ride-day reports | Session or operator key |
Operator-app surfaces that are still changing week to week (inbox, boards, rooms, proposals, heartbeat) are deliberately not in this reference yet. See Status.