Draft specification v0.4
The Scheduling Context Protocol
An open protocol for AI agents to arrange time between people: a person and a business, or several people whose own agents keep their calendars. Each commitment carries the person's signed consent.
What it does
Find a host and a free time
A business or a person publishes /.well-known/scheduling.json. An agent reads what can be booked, and asks for open times in a window.
Hold it, then book the signed offer
A short hold returns an offer the host has signed: the service, the time, any stated price, how long records are kept. The person approves those terms, and the agent books by the offer's hash.
The person signs what the agent may do
A mandate from the person's key app names the hosts, services, times and price ceiling the agent may book within. A host can instead require the person to sign the exact offer.
Meetings of several people
The organizer signs one contract naming every member. Each member accepts the same hash, and nothing is confirmed on any calendar until all of them have.
Moves, cancellations and waitlists
The lifecycle after booking borrows iCalendar's iTIP. A move needs the same yes as a booking. Cancelling is always free and records nothing.
It never moves money
A price is a term the host discloses and the person approves, paid to the host directly. Many meetings have none: a playdate, a coffee, a sales demo.
Read
Build
See it
A two-minute explainer: how a booking and a playdate are arranged, and what each person signs along the way.
Status
An unreleased draft. v0.4 makes no compatibility promise to earlier or later drafts. Comments and reviews are welcome as GitHub issues.
Code under Apache 2.0; the specification, schemas and papers under CC-BY-4.0. Implementers get a royalty-free patent licence under the IPR policy.