What you need to implement
All of these are served from a single
base_url that you register with Seyaha.
1
Stand up a /products endpoint
This is the only endpoint required to complete registration and start syncing.
Return your full catalog as an array of OCTO product objects.
id and option id are permanent keys — never change them after your first sync.
Seyaha uses them to match incoming products to existing activities in the database.2
Register your integration with Seyaha
Log in to the Seyaha partner portal and provide:
- Base URL — the root of your OCTO API (e.g.
https://octo.yourplatform.com) - Auth type —
bearerorapi_key - Auth key — the credential Seyaha will send in the
Authorizationheader
GET /products?limit=1 to verify connectivity.
A Seyaha admin must then approve your integration before syncs run.3
Implement /availability
Once your integration is approved, Seyaha fetches availability for each option
during every sync. Add And returns an array of availability slots.Each slot must have a stable
POST /availability that accepts:id (availabilityId) — Seyaha caches this and
uses it to identify the slot when creating a reservation.4
Implement booking lifecycle endpoints
Once you want Seyaha to confirm bookings on your platform in real time,
implement the three booking endpoints:
POST /bookings/reserve— create a hold at checkoutPOST /bookings/confirm— confirm after paymentDELETE /bookings/{code}— release abandoned holds
POST /bookings/{id}/cancel for cancellation propagation.See the booking lifecycle guide for the full flow.Authentication
Seyaha sends yourauth_key in every request. Validate it server-side:
Return
401 for invalid credentials. Seyaha treats any non-2xx response as a failure
and increments the health failure counter.