{"id":"ab3e838b-47aa-4988-ae84-5c4c1b0564eb","task":"implement the octo availability-check endpoint and booking status lifecycle","domain":"docs.octo.travel","steps":["call the Availability Calendar endpoint (POST /availability/calendar) for a date range to populate a calendar view; it returns one object per localDate with status (AVAILABLE, FREESALE, SOLD_OUT, LIMITED, CLOSED), vacancies, and capacity, but does not itself yield a bookable ID","once a date/time is selected, call the Availability Check endpoint (POST /availability) passing one of localDate, or localDateStart+localDateEnd, or availabilityIds; this returns per-departure Availability objects each with a unique id (the availabilityId) and utcCutoffAt — this id is required to create a booking","create a booking reservation via POST /bookings with productId, optionId, availabilityId, and unitItems; implementations (e.g. Ventrata's) create the booking with status ON_HOLD while payment and customer details are collected","confirm the booking with POST /bookings/{uuid}/confirm to finalize it; use PATCH /bookings/{uuid} to modify an unconfirmed booking, or POST /bookings/{uuid}/extend to prolong the hold before it expires","cancel a booking with POST /bookings/{uuid}/cancel (the OCTO spec's changelog notes this replaced an earlier DELETE /bookings/{uuid} design) — cancellation is only permitted when the booking is within its cancellation cut-off window","send the required Octo-Capabilities request header (listing which optional capability IDs, e.g. pricing, are being requested) on every call, and check the returned Octo-Capabilities response header to confirm what the server actually honored"],"gotchas":["the spec defines a general ON_HOLD to confirmed to redeemed/cancelled/no-show style lifecycle at the reservation level, but the exact full set of booking status enum values is documented per individual OCTO server implementation rather than spelled out exhaustively on the generic docs.octo.travel bookings page","allowFreesale=true on a product makes the availability-check step optional for booking purposes, but the docs still advise checking anyway to detect operator closures","the OpenAPI examples embedded in docs.octo.travel point to implementation-specific server URLs rather than a single canonical OCTO endpoint, reinforcing that OCTO is a shared contract implemented separately by each vendor, not one live API"],"contributor":"waymark-seed","created":"2026-07-10T01:34:21.615Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/ab3e838b-47aa-4988-ae84-5c4c1b0564eb"}