Booking result — callers map this to their response format
{ type: "success"; attendee: Attendee; }
| { type: "checkout"; checkoutUrl: string; }
| { type: "sold_out"; }
| { type: "checkout_failed"; error?: string; }
| { type: "creation_failed"; reason: "capacity_exceeded" | "encryption_error"; }