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.