Integrate Wubook with 1C-Bitrix: Real-Time Sync via Zak API
A hotel owner configured Wubook as a PMS and channel manager, but the Bitrix website operates separately. Bookings from the site don't reach Wubook, availability isn't synchronized — overbooking and lost orders become the norm. Our team has developed a proven solution: an integration guaranteeing stable operation.
Wubook is an Italian PMS with a channel manager. Unlike Russian property management systems, it actively works with European properties but is also used by independent Russian hotels, especially those managing Booking.com and Airbnb through a single channel manager. The goal of integrating with Bitrix is to replicate Wubook's online booking engine on the website without abandoning the PMS, and to synchronize data in both directions. According to our estimates, the integration pays for itself in 3–4 months by reducing manual entry and eliminating duplicates. The average cost of such integration varies, but time savings on booking processing reach 80%.
How Zak API Simplifies Booking Management?
Wubook provides two APIs: XML-RPC (legacy, but still functional) and Zak API (REST) — modern, JSON, base URL https://wubook.net/api/zak/. For new integrations, we recommend Zak: it's faster, easier to debug, and supports OAuth 2.0. Key differences:
| Feature | XML-RPC API | Zak API |
|---|---|---|
| Data format | XML | JSON |
| Authorization | Session key (lkey) | Bearer token (OAuth 2.0) |
| Webhook support | No | Yes |
| Request speed | ~200 ms | ~50 ms |
| Wubook recommendation | Legacy | For new projects |
Retrieving a session key for XML-RPC:
$client = new \PhpXmlRpc\Client('https://wubook.net/xrws/'); $msg = new \PhpXmlRpc\Request('wired.acquire_token', [ new \PhpXmlRpc\Value(WUBOOK_USER), new \PhpXmlRpc\Value(WUBOOK_PASS), new \PhpXmlRpc\Value(WUBOOK_PROVIDER_KEY), ]); $response = $client->send($msg); $token = $response->value()->scalarval(); For Zak API, authorization uses Authorization: Bearer {access_token}, obtained via OAuth 2.0. According to official Wubook documentation (https://wubook.net/api/zak/), Zak API handles up to 1000 requests per minute without limits.
Why Real-Time Availability Synchronization Matters?
Wubook's channel manager distributes rooms across channels: Booking.com, Airbnb, direct website. If a room is booked on one channel, Wubook automatically reduces availability for others. The issue is that an agent polling every 15 minutes may not update quickly enough, and a guest from the website might get confirmation for an already occupied room. The solution is webhook notifications. Wubook supports push notifications (notifications) via POST /properties/{id}/notifications/subscribe. Upon receiving an availability_changed notification, we immediately invalidate the cache and make a targeted availability request for the affected dates and room types.
Zak API method GET /properties/{id}/rooms returns room types. Method GET /properties/{id}/availability returns availability for a range. The response structure includes rooms (array of types) and for each — an array of dates with avail field (number of available rooms). We write to bl_wubook_availability:
foreach ($availData['rooms'] as $roomType) { foreach ($roomType['dates'] as $dateEntry) { WubookAvailabilityTable::addOrUpdate([ 'ROOM_TYPE_ID' => $roomType['id'], 'DATE' => new \Bitrix\Main\Type\Date($dateEntry['date']), 'QTY' => (int)$dateEntry['avail'], ]); } } How We Create a Booking via Zak API?
POST /properties/{id}/reservations:
$payload = [ 'checkin' => $dateFrom, 'checkout' => $dateTo, 'rooms' => [['id' => $wubookRoomId, 'amount' => 1]], 'customer' => [ 'name' => $guestName, 'email' => $guestEmail, 'phone' => $guestPhone, ], 'amount' => $totalAmount, 'currency' => 'RUB', 'channel' => 'WEB', 'notes' => 'Order #' . $orderId . ' from website', ]; $result = $zakClient->post('/properties/' . WUBOOK_PROPERTY_ID . '/reservations', $payload); Wubook returns reservation_id (numeric) and reservation_code (string, for display to guest). Both are saved in the Bitrix order.
Booking Cancellation and Error Handling
DELETE /properties/{id}/reservations/{reservation_id} or PUT with status cancelled. Wubook immediately releases the slot for other channels. In Bitrix, the order status handler on transition to "Cancelled" calls the cancellation API. On network error, we save a retry job in bl_wubook_pending_ops and process it via agent. Each failed operation stores the attempt count (max 5). An agent retries failed requests every 2 minutes. After 5 attempts, the record is marked as erroneous and an administrator notification is sent. This scheme ensures delivery guarantee even with temporary Wubook network issues.
Step-by-Step Integration Setup
- Register application in Wubook – obtain client_id and client_secret for OAuth 2.0.
- Get Bearer token – make POST request to
/oauth/access_token. - Create HL-blocks –
bl_wubook_availabilityandbl_wubook_pending_ops. - Set up agents – availability sync agent (5 min interval) and queue processing agent.
- Subscribe to webhooks – register URL for
availability_changedandreservation_creatednotifications. - Test – verify booking creation on a test property and availability synchronization.
What's Included in the Work
- Setup of Zak API and OAuth 2.0 – application registration, token retrieval.
- Synchronization of rooms and availability – HL-blocks for data storage, agents for periodic sync.
- Two-way booking management – create, modify, cancel from site and from Wubook.
- Webhooks and push notifications – event subscription, real-time processing.
- Retry queue for failed operations – guaranteed delivery on failures.
- Logging and monitoring – request recording for debugging.
- Testing on your property – verification with real data.
Timeline and Experience
| Stage | Duration |
|---|---|
| Zak API + OAuth setup | 1 day |
| Room and availability sync | 2–3 days |
| Booking creation and cancellation | 2 days |
| Webhook subscription and handler | 2 days |
| Testing with real property | 2 days |
| Total | 9–12 days |
Our experience in PMS and Bitrix integrations: 10+ years of development, over 50 successful projects for hotels and hostels. We guarantee stable synchronization with no data loss and provide operational documentation. Contact us to assess your project — we'll calculate the exact scope of work within one day. Get a consultation to learn how Wubook with 1C-Bitrix integration will reduce overbooking and manual entry.

