Build with PlaceFull
PlaceFull is booking software for everything a space can earn — classes, appointments, rentals and memberships on one calendar — built to be built on. Three doors, all public:
- Embed booking on a website the studio already has: one script tag and one custom element, plain HTML the site's own CSS styles. The embed contract.
- Build a booking site or app on the storefront API: public reads, priced quotes, a cart that is the pay link, checkout on the studio's own Stripe account. API reference · OpenAPI 3.1 · as markdown.
- Connect an AI assistant to set up or run a studio: an MCP server at
POST https://placefull.ai/mcpwith OAuth 2.1 (no API key for Claude and ChatGPT) or abk_key. Agent guide · server card.
PlaceFull charges no monthly fee. Its fee is 2% of each card payment (the default rate; a studio can be set differently), which the studio absorbs, splits with the customer, or charges the customer as a service fee. Cash and recorded-elsewhere payments carry no fee. Stripe's own processing fee is separate and goes to Stripe. Full page: pricing.
Sign-up is invite-only for now: an operator who already has an account connects and works as usual; a new studio needs an invite link from PlaceFull before an assistant can create it.
For agents
An assistant adding booking to a site, or setting up a studio for a person, can load one skill that says which door to take and how:
- Agent skill: placefull-booking
- llms.txt — the index; llms-full.txt — the whole guide
Every reference page here has a markdown twin: ask for Accept: text/markdown, or add .md to its address.
Authentication in one minute
Passwordless. Request a code, verify it, send the session token as a bearer:
curl -sS -X POST https://placefull.ai/auth/challenges \
-H 'Content-Type: application/json' \
-d '{"email":"you@example.com","channel":"email_code"}'
curl -sS -X POST https://placefull.ai/auth/verify \
-H 'Content-Type: application/json' \
-d '{"challengeId":"<challenge-id>","code":"123456"}'
Server-to-server work uses an operator API key (bk_…) minted in the console under Settings → API keys, sent as Authorization: Bearer bk_…. Storefront reads need no auth.
Connect an assistant
One address for every assistant: https://placefull.ai/mcp. Each person signs in as themselves, so an assistant can do exactly what they can do in the console — no more. Settings → AI assistants has the address to copy.
Claude
Works in claude.ai and the Claude desktop app. You sign in with your operator email — there is no key to create or paste.
- In Claude, open Settings → Connectors and choose Add custom connector.
- Paste
https://placefull.ai/mcp, then click Connect. - A sign-in page opens in your browser. Enter your operator email, type the 6-digit code we send you, pick the business if you have more than one, and click Allow.
- Back in Claude, ask it something — “Who is booked into Beginner Yoga this morning?” or “Add a Tuesday 6 PM yoga class.”
The connector is tied to the business you picked at Allow. To give Claude a second studio, add a second connector.
The sign-in opens as a browser tab, not inside Claude. If nothing appears, check your pop-up blocker.
If Claude reports a connection issue before you have completed the sign-in page, remove the connector and add it again. Reconnect cannot finish a sign-in that never started.
ChatGPT
- ChatGPT → Settings → Apps → Advanced settings → developer mode, then Settings → Connectors → Create.
- Paste the compact URL:
https://placefull.ai/mcp?tools=compact— ChatGPT caps tool definitions, so this projection serves the core set. - Sign in with the operator email, enter the 6-digit code, pick the studio, click Allow — no API key required.
Claude Code
Same sign-in, from the terminal. Register the server, then run /mcp inside Claude Code to open the sign-in page:
claude mcp add --transport http PlaceFull https://placefull.ai/mcp
Cursor and other API-key clients
Clients that cannot open a sign-in page use an API key instead. Create one under Settings → API keys. The key is shown once, when you create it, and acts as this business.
- Open Cursor → Settings → MCP and add a new server, or edit
.cursor/mcp.jsondirectly. - Use the config below, with your key in place of
bk_your_api_key_here.
{
"mcpServers": {
"PlaceFull": {
"url": "https://placefull.ai/mcp",
"headers": {
"Authorization": "Bearer bk_your_api_key_here"
}
}
}
}
A key is not tied to a location — the assistant will ask which site when it matters. To pin it to one site, use https://placefull.ai/mcp?locationId=<location-id> as the URL instead.
Anything that speaks MCP over HTTP can use the address above: sign in through OAuth, or send Authorization: Bearer bk_… with an API key. Running the code yourself? Claude Desktop can also spawn the server from a checkout over stdio with a bk_ key in BOOKABLE_API_KEY — see mcp/README.md in the repository.
Conventions
- Money is integer minor units both ways: a $22.00 class is
2200. - Timestamps are ISO-8601 in UTC.
- Responses are
{ "data": … }; errors are{ "error": { "code", "message", "details" } }with stable codes. - Never invent an id — read it from a list or a slug lookup.
Payments
Stripe Connect direct charges: the studio is the merchant of record on its own Stripe account, and customers pay the studio, never the platform. The platform's share is taken per booking as a Stripe application fee.