Title: CASABLANCA Booking Engine
Author: CASABLANCA
Published: <strong>October 12, 2026</strong>
Last modified: October 14, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/casablanca-booking-engine.svg)

# CASABLANCA Booking Engine

 By [CASABLANCA](https://profiles.wordpress.org/mhairer/)

[Download](https://downloads.wordpress.org/plugin/casablanca-booking-engine.1.0.2.zip)

 * [Details](https://wordpress.org/plugins/casablanca-booking-engine/#description)
 * [Reviews](https://wordpress.org/plugins/casablanca-booking-engine/#reviews)
 *  [Installation](https://wordpress.org/plugins/casablanca-booking-engine/#installation)
 * [Development](https://wordpress.org/plugins/casablanca-booking-engine/#developers)

 [Support](https://wordpress.org/support/plugin/casablanca-booking-engine/)

## Description

Author: Martin Hairer (martin.hairer@casablanca.at)

This plugin synchronises room types, rates, and availability from the CASABLANCA
IBE v2 API and renders SEO-friendly booking widgets. Guests complete booking and
payment on the CASABLANCA booking engine (PCI-safe redirect).

**Requirements**

The plugin is free to install, but it **only works with the hosted CASABLANCA Booking
Engine** (external IBE API and booking website). You need a valid **Tenant ID and
API key** from that service under **CASABLANCA Booking** in the admin. Without an
active Booking Engine account, sync and widgets cannot load live data or hand guests
off to complete a booking.

**Features**

 * Background ARI sync with audit log
 * Daily WP-Cron task (staggered on first save)
 * Gutenberg blocks and matching shortcodes (search, calendar, rooms, packages, 
   detail pages, price teaser)
 * Overview  detail links via pretty URLs `/{detail-page}/{slug}/`
 * Live calendar via same-origin REST proxy
 * Backend configuration with encrypted API key
 * Theme and per-site CSS overrides
 * Environment mode via `CASABLANCA_BOOKING_ENV` in wp-config.php

**License note:** The plugin source is free software under **AGPL-3.0-only**; you
may use, modify, and share it under that license. That is separate from the CASABLANCA
Booking Engine service and API key needed for live operation.

### External services

This plugin **requires** the third-party **CASABLANCA Booking Engine v2** operated
by CASABLANCA hotelsoftware GmbH. It is not a generic booking plugin: without that
service, widgets show no live availability and guests cannot complete reservations.

**What it is used for:** Background sync of room types, rates, and availability;
live calendar and offer data; redirecting guests to the CASABLANCA booking website
for checkout and payment. WordPress never stores payment card data.

**What data is sent and when:**

 * **Admin configuration, connection test, and sync** (when you save settings, click
   Sync, or WP-Cron runs): Tenant ID and API key are sent to the CASABLANCA IBE 
   API (default `https://api.casablanca.at`, or staging hosts when `CASABLANCA_BOOKING_ENV`
   is set in wp-config.php).
 * **Calendar and offers on the public site** (when a visitor loads or interacts
   with a widget): stay dates, occupancy, optional room or rate filters, and culture/
   language. No WordPress login or site visitor identity is sent to CASABLANCA for
   these requests.
 * **Search and book** (when a visitor submits the search bar or a book button):
   the visitor’s browser is redirected to your hotel’s CASABLANCA booking URL with
   arrival, departure, occupancy, and optional room or rate identifiers.

**Service provider:** CASABLANCA hotelsoftware GmbH — [Terms of use](https://www.casablanca.at/legal/agb/),
[Privacy policy](https://www.casablanca.at/legal/datenschutzerklaerung/).

### Shortcodes

 * `[casablanca_search_bar]`
 * `[casablanca_calendar]`
 * `[casablanca_room_types]`
 * `[casablanca_packages]`
 * `[casablanca_room_detail]`
 * `[casablanca_package_detail]`
 * `[casablanca_price_teaser]`

## Blocks

This plugin provides 7 blocks.

 *   CASABLANCA Availability Calendar Live availability calendar with min-stay enforcement.
 *   CASABLANCA Price Teaser SEO price block with JSON-LD from synced local prices.
 *   CASABLANCA Package details Single package detail page (slug from URL, optional
   fallback for preview).
 *   CASABLANCA Packages SSR package overview with synced prices.
 *   CASABLANCA Room details Single room detail page (slug from URL, optional fallback
   for preview).
 *   CASABLANCA Room Types SSR room type overview with synced prices.
 *   CASABLANCA Search Bar Header booking search bar with PCI-safe IBE handover.

## Installation

 1. Upload the plugin zip via **Plugins  Add New  Upload Plugin**, or copy the `casablanca-
    booking-engine` folder to `wp-content/plugins/`.
 2. Activate the plugin.
 3. Open **Settings  Permalinks** and click **Save** once (registers detail-page rewrite
    rules).
 4. Open **CASABLANCA Booking** in the admin menu.
 5. Enter Tenant ID and API key, then save.
 6. Insert blocks or shortcodes on your pages.

## FAQ

### Do I need CASABLANCA Booking Engine to use this plugin?

The plugin itself is free under AGPL-3.0-only. To work on a live site you need an
active **CASABLANCA Booking Engine** subscription (Tenant ID + API key). The plugin
has no standalone booking function; it connects to CASABLANCA’s external API and
booking engine.

### How do I run sync manually?

Use **Sync now** in the admin module, or `wp casablanca-booking sync` when WP-CLI
is available.

### How do I use staging API hosts?

Add to `wp-config.php`:

    ```
    define('CASABLANCA_BOOKING_ENV', 'staging');
    ```

### How do I link room/package cards to a detail page?

 1. Create a detail page and add the **Room details** or **Package details** block.
 2. On the overview block, set **Card link** to **Details** and select that page.
 3. Cards link to `/{detail-page}/{slug}/`. No fallback id is required on the live 
    URL.
 4. If detail pages show “not found”, save **Settings  Permalinks** once.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“CASABLANCA Booking Engine” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ CASABLANCA ](https://profiles.wordpress.org/mhairer/)

[Translate “CASABLANCA Booking Engine” into your language.](https://translate.wordpress.org/projects/wp-plugins/casablanca-booking-engine)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/casablanca-booking-engine/),
check out the [SVN repository](https://plugins.svn.wordpress.org/casablanca-booking-engine/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/casablanca-booking-engine/)
by [RSS](https://plugins.trac.wordpress.org/log/casablanca-booking-engine/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.2

 * API authentication: send the raw key in the `api-key` request header (no Bearer
   token).

#### 1.0.1

 * WordPress.org review fixes: plugin directory slug, distribution zip contents,
   inline theme CSS sanitization, text domain alignment.

#### 1.0.0

 * Initial WordPress plugin.
 * Room/package detail URLs resolve the synced slug from the last path segment.

## Meta

 *  Version **1.0.2**
 *  Last updated **16 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [availability](https://wordpress.org/plugins/tags/availability/)[Booking Engine](https://wordpress.org/plugins/tags/booking-engine/)
   [Hotel](https://wordpress.org/plugins/tags/hotel/)
 *  [Advanced View](https://wordpress.org/plugins/casablanca-booking-engine/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/casablanca-booking-engine/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/casablanca-booking-engine/reviews/)

## Contributors

 *   [ CASABLANCA ](https://profiles.wordpress.org/mhairer/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/casablanca-booking-engine/)