feat(api): keyless public booking read-back for guests #19

Merged
padreug merged 1 commit from feat/public-booking-status into main 2026-09-15 21:51:49 +00:00
Owner

Keyless GET /api/v1/public/bookings/{id} so a guest can read back their own booking over HTTP. The existing booking read needs a wallet invoice key, so the webapp's booking dialog had to poll the invoice on LNbits core, which only says "paid", not "confirmed".

The booking id from the quote is the capability, same trust level as the RPC door's chatelet_booking_get. The response is public_booking_dict: lifecycle, dates and money only; guest pubkey, contact, payment hash and the Nostr event ids are stripped.

Tests cover the strip, the 404 and the happy path. Consumer: aiolabs/webapp#154.

Closes #18

Keyless GET /api/v1/public/bookings/{id} so a guest can read back their own booking over HTTP. The existing booking read needs a wallet invoice key, so the webapp's booking dialog had to poll the invoice on LNbits core, which only says "paid", not "confirmed". The booking id from the quote is the capability, same trust level as the RPC door's chatelet_booking_get. The response is public_booking_dict: lifecycle, dates and money only; guest pubkey, contact, payment hash and the Nostr event ids are stripped. Tests cover the strip, the 404 and the happy path. Consumer: aiolabs/webapp#154. Closes #18
The guest cannot subscribe to the operator's wallet and the existing
booking read needs a wallet invoice key, so a client had no way to wait
for awaiting_payment -> confirmed over HTTP short of polling the invoice
on LNbits core. Add the HTTP twin of the RPC door's chatelet_booking_get:
the 10-char booking id from the quote is the capability, and the response
is public_booking_dict — lifecycle, dates and money only, with the guest's
pubkey/contact and the Lightning/Nostr plumbing stripped.

Closes #18

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
padreug deleted branch feat/public-booking-status 2026-09-15 21:51:50 +00:00
padreug referenced this pull request from a commit 2026-09-15 21:53:19 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
aiolabs/chatelet!19
No description provided.