Owner: Dev Team | Last Updated: 2026-02-21 | Status: Current
Scope: API for integration with Channel Manager (Bokun). For the public API see Public API.
Channel Manager API implements a standard protocol for OTA integrations. The primary integrator is Bokun.
https://your-domain.com/api/v1/cm
HTTP Basic Auth:
Authorization: Basic base64(BOKUN_API_USER:BOKUN_API_PASS)
Middleware: BokunBasicAuthMiddleware + custom throttle
Returns the plugin definition for Channel Manager.
Controller: PluginController
Search for available products (Experiences).
Controller: ProductController
Request:
{
"keyword": "cruise",
"country": "US"
}
Get details of a specific product.
Controller: ProductController
Request:
{
"productId": "ext_123"
}
Check product availability for specific dates.
Controller: AvailabilityController
Request:
{
"productId": "ext_123",
"startDate": "2026-03-01",
"endDate": "2026-03-31"
}
Reservation (temporary hold of seats).
Controller: BookingController
Booking confirmation after payment.
Controller: BookingController
Booking cancellation.
Controller: BookingController
Amendment of an existing booking.
Controller: BookingController
Channel Manager uses Redis caching:
| Cache Key | Description |
|---|---|
c_m |
Main CM cache |
r_k |
Reservations |
| File | Purpose |
|---|---|
routes/channelManager.php |
Routes |
app/Http/Controllers/ChannelManager/PluginController.php |
Plugin definition |
app/Http/Controllers/ChannelManager/ProductController.php |
Product operations |
app/Http/Controllers/ChannelManager/AvailabilityController.php |
Availability |
app/Http/Controllers/ChannelManager/BookingController.php |
Booking operations |
app/Services/ChannelManager/BookingService.php |
Business logic |
app/Services/ChannelManager/ProductService.php |
Product mapping |
app/Http/Middleware/BokunBasicAuthMiddleware.php |
Authentication |
| Date | Author | Change |
|---|---|---|
| 2026-02-21 | Documentation Team | Initial creation |
Prev: REST API | Next: Webhooks | Up: API Reference