Corpus-validated cancellation policy type for policies[] — seeking Lodging TC feedback #776
yairsabag
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Context
During the design discussion for policies[] in #572, I brought a services/bookings use case that is difficult to express as a single refund window: cancellation terms that are tiered, relative to a service anchor such as check-in or event start, and may produce partial refunds, fixed fees, or unit deductions.
The maintainer response described this as a useful stress test and a textbook extension over the generic policy primitive, with the guidance to prototype it independently, validate it against real policies, and bring implementation experience back if the shape held.
What is now available
Following that guidance, I validated the design against approximately 40 publicly available cancellation policies across lodging, events, tours/activities, transportation, services and an Israeli consumer-law reference set. The v0.2 shape fully represented 37 of 40 policies in that corpus; the methodology and the three partial cases are documented explicitly.
With
policies[]now stable in UCP v2026-08-25, I have published policy.cancellation v0.3.0:io.github.yairsabag.policy.cancellation, an independent reverse-DNS policy typeRepository: https://github.com/yairsabag/policy-cancellation
Methodology: https://github.com/yairsabag/policy-cancellation/blob/main/docs/methodology.md
Compatibility notes: https://github.com/yairsabag/policy-cancellation/blob/main/docs/UCP-2026-08-25.md
Standardization boundary
This is not presented as an adopted UCP shared type. The generic
policies[]envelope is stable UCP; the cancellation type remains independently versioned underio.github.yairsabag.*.Feedback requested
dev.ucp.shopping.policy.cancellationtype?The most valuable feedback is a real policy or workflow that breaks the model.
All reactions