UCP Checker
Community-proposed · no official UCP services spec yet

UCP for Services

UCP has no services spec yet. On 9 October 2026 Stripe filed a charter for a Local Services Domain Tech Council (#922), backed by Meta, Wix, Squarespace, Housecall Pro, Jobber and HoneyBook; it awaits Governing Council review.

Services sell time, not stock: a slot exists once, two agents can race for it, and a booking is rescheduled or missed rather than shipped.

A draft already exists outside UCP. The Universal Scheduling Protocol, in Wix's GitHub organisation, registers its capabilities in a store's /.well-known/ucp under its own dev.usp-protocol.* namespace, and it already appears in real UCP profiles.

Checked against the latest UCP release at v2026-08-25·11 Oct 2026
  1. 25 Mar 2026
    Services vertical requested (#303)
  2. 28 Mar 2026
    Hold-then-book flow proposed (#317)
  3. 26 May 2026
    Availability query asked for (#479)
  4. 10 Jul 2026
    Governing Council: exploratory talks
  5. 9 Oct 2026
    Local Services council charter filed (#922)

01What services need that shopping doesn't

None of these are in UCP yet. The USP draft covers most of them under its own namespace, and the #922 charter proposes USP as the starting point for a UCP services council.

AreaStatusWhat it says
Holding a slotnot yetA slot exists once and expires, so a booking needs a time-limited hold before the buyer commits, or two agents book the same 3pm. Issue #317 and USP both put the hold first.
Availability before the cartnot yetAn agent has to check party size and dates against real capacity before checkout. Issue #479 proposes day and slot views; USP makes availability its own capability.
A booking lifecyclenot yetReschedule, cancel, waitlist and no-show have no equivalent in dev.ucp.shopping.*. USP requires a reschedule to take the new slot before releasing the old one.
Pay now, a deposit, or on the daypartlyA deposit with the balance due later is expressible through dev.ucp.common.payment.terms, shipped in v2026-08-25. Paying in cash at the appointment is not; the USP draft adds its own extension for that.

02Background

UCP was built for things that ship. A large part of commerce sells time instead: a haircut at 3pm, a spot in Tuesday's yoga class, a table for four, a boiler service at the customer's home. The inventory is a slot that exists once and then expires, so two agents can race for the same one, and the lifecycle runs booked, rescheduled, attended or no-show rather than purchased, shipped, delivered.

Requests for it have run through most of 2026. Discussions #93 and #163 set out use cases beyond retail and the case for holding a slot before checkout; issue #303 (25 March) asks the Technical Council to scope a Services vertical; issue #317 (28 March) proposes a three-step search-availability, hold-slot, book-appointment flow, prototyped under its own io.github.ligament-oss.scheduling namespace; and issue #479 (26 May) asks for a booking-availability query for timed tickets and busy restaurants. All three are still open.

On governance, the UCP Governing Council discussed a Services Domain Working Group on 10 July 2026. There was interest, but no agent-platform participant, and the council wants any charter to come from both sides of the market — service providers and platforms — so it agreed to exploratory conversations rather than a charter. Its most recent published minutes, from 7 August, approved a working group for feeds; services has not returned to the agenda since, and the roadmap names Food and Lodging as the industries in development.

That changed on 9 October 2026, when Stripe filed a charter for a Local Services Domain Tech Council (issue #922), naming Meta as a platform and Wix, Squarespace, Housecall Pro, Jobber, HoneyBook and Stripe as businesses, with both sides of the market on board. It proposes USP as the starting point and commits to folding in #303, #317 and #479; it awaits Governing Council review. A fuller draft now exists outside the protocol body.

The Universal Scheduling Protocol (USP), maintained in Wix's GitHub organisation and published under Apache-2.0, defines a service catalog, availability with slot holds, and a full booking lifecycle. Its UCP-Native Mode lets a business register those capabilities in its existing /.well-known/ucp and take paid bookings through UCP checkout. It sits under its own dev.usp-protocol.* namespace rather than dev.ucp.*, which is what UCP's namespace rules ask of anyone building ahead of a council.

And it already appears in the wild: our census sees one service business declaring the USP catalog, availability, bookings and paid-bookings capabilities in its UCP profile, alongside Appointedd's UCP demo endpoint declaring booking, intent and schedule capabilities under com.appointedd.*.

What it would look likeA homeowner tells an assistant: "get someone out to service the boiler next Tuesday morning, under $150." The agent finds a provider, checks real availability, holds a slot so no other agent can take it, confirms the booking at the customer's address and takes a deposit — with the business still the merchant of record.

03What to do now

01

Name it under a domain you control

Until UCP publishes a services namespace, scheduling capabilities belong under your own domain or an existing draft such as dev.usp-protocol.*. A name invented inside the reserved dev.ucp.* space is flagged as unsanctioned.

Validate your profile →
02

Declare version, spec and schema

List each capability in your /.well-known/ucp with all three fields. UCP requires the schema URL to sit on the namespace owner's domain; the USP draft requires the same of the spec URL.

Run a free check →
03

See what is already declared

Every capability a store declares gets a public page listing the stores behind it, so you can see what service businesses ship before you pick a shape.

USP in the vendor map →

04What we'll measure

There is no UCP services spec to validate against yet. What we can measure is what service businesses actually declare: the capability names, who defines them, and whether their schema URLs sit on the namespace owner's domain. That is on the capability and vendor pages linked below.

05Who is building it

Wix — Universal Scheduling Protocol (draft)Appointedd — com.appointedd.*ligament-oss — #317 prototypeCommunity — issues #303 and #479

06FAQ

Is Services an official UCP vertical?

No. The v2026-08-25 release ships capabilities under dev.ucp.shopping.* and dev.ucp.common.* only, and the UCP roadmap names Food and Lodging as the industries in development. The Governing Council discussed a Services Domain Working Group on 10 July 2026 and agreed to exploratory conversations: there was interest from service providers but no agent platform, and a charter needs both. On 9 October 2026 Stripe filed a Local Services council charter (#922) with Meta as the platform and Wix, Squarespace, Housecall Pro, Jobber and HoneyBook among the businesses; it awaits Governing Council review. Issue #303, which asks the Technical Council to scope a Services vertical, is still open.

What is the Universal Scheduling Protocol (USP)?

A draft open standard, version 2026-08-20, maintained in Wix's GitHub organisation and published under Apache-2.0, for discovering, checking the availability of and booking time-based services. It defines service catalog, availability and bookings capabilities, with optional waitlist and discovery-registry modules, over REST, MCP, A2A and an embedded binding. It is not part of UCP and is not governed by a UCP council.

Can a business declare booking capabilities in its UCP profile today?

Yes, under a namespace it does not borrow from UCP. USP's UCP-Native Mode registers dev.usp-protocol.services.catalog, availability and bookings in /.well-known/ucp next to the shopping capabilities, and routes paid bookings through UCP checkout. Our checker reads those entries as correctly namespaced third-party capabilities; it flags a capability as unsanctioned only when it claims space inside the reserved dev.ucp.* namespace.

Why can't the shopping capabilities handle bookings?

Because a slot is not a SKU. Shopping inventory can be checked freely and reserved at checkout, but a time slot is contended: if two agents see 3pm as free, only one can have it, so a booking flow needs a hold with a time limit before payment. Bookings also carry a lifecycle shopping has no words for — reschedule, waitlist, attended, no-show.

How does Services relate to the Lodging and Food councils?

The edges are not settled. A hotel room is a time-bound reservation, and a restaurant table is one of USP's own reservation examples. Lodging has a seated council and its first capability merged as a draft (PR #780, 24 September 2026); the Food charter covers ordering rather than table booking. Where a general services namespace would stop and those verticals start has not been decided in public.

What should service businesses and booking platforms do now?

Get the shopping-side basics right — a valid profile, checkout, and payment terms if you take deposits. Keep scheduling capabilities under a namespace you or a published draft control. And if you want a UCP services vertical, the Governing Council has said what it needs: a proposal backed by service providers and agent platforms together.

07Keep reading

Other UCP verticals

Explore protocol data

Is your booking flow agent-ready?

Whichever vertical you're in, the prerequisite is the same: a valid, machine-readable UCP endpoint an agent can actually transact against.

Weekly UCP Report

Get the agentic commerce digest every Monday

Real adoption data, ecosystem trends, new spec versions, and the stores that broke or recovered this week. Read by founders and engineers building the next generation of commerce.

Free forever No spam Unsubscribe anytime

View a sample report →

Weekly UCP Report
Issue #54 · Oct 12, 2026
+664
new verified stores
Verified rate
Latest spec
Cart capability