=== Bookora ===
Contributors: huittvil
Tags: booking, booking calendar, reservations, appointments, online payments
Requires at least: 6.3
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Show your Bookora booking calendar on your site. Customers book spaces, equipment and services and pay online.

== Description ==

[Bookora](https://bookora.fi) is an online booking system for anything that can be booked by the hour or by the day: saunas, meeting rooms, gyms, sports courts, wash bays, trailers, rental equipment and appointments. This plugin shows your Bookora booking calendar on your WordPress site.

Customers choose a time, pay online and get a confirmation with a calendar file and, if you use one, a personal door code. Bookings, payments, customers and passes are managed in Bookora, so your WordPress site stays fast and simple.

**Features**

* Bookora block for the block editor: choose the bookable item and language in the block settings
* Shortcode `[bookora]` for any page builder or classic editor
* One calendar for all bookable items, or one calendar per item
* Six languages: Finnish, English, Swedish, Estonian, German and Spanish
* The calendar resizes automatically to fit its content
* Optional Bookora AI chat on every page of your site (an add-on service)

**What you get with Bookora**

* No double bookings: overlapping bookings are blocked in the database
* Online payments with Paytrail, Stripe or Vipps MobilePay, straight to your own account
* Hour passes, punch cards and monthly memberships with automatic card billing
* Personal door codes and smart lock integrations (Seam, Nuki, TTLock, igloohome, Shelly and keypads)
* Customers can move or cancel their own bookings according to your rules

A Bookora account is required. You can start a free trial at [bookora.fi](https://bookora.fi).

**Shortcode examples**

* `[bookora]` all bookable items
* `[bookora resource="sauna"]` one item
* `[bookora resource="sauna" lang="en"]` in English
* `[bookora venue="other-venue"]` another venue than the one in the settings
* `[bookora height="800"]` minimum height in pixels

== External services ==

This plugin connects to the Bookora booking service (https://bookora.fi, or the service address you set in the settings), operated by VMH Group Oy, Finland. The service is needed to show the booking calendar and to take bookings.

* **Booking calendar:** on pages with the Bookora block or shortcode, the visitor's browser loads the calendar from the Bookora service in an iframe. The service receives the visitor's IP address, browser information and the page address as the referrer, like with any web page. Booking details (name, email, phone and payment) are entered by the customer directly into the Bookora service, not into WordPress.
* **AI chat (optional, off by default):** when you enable it in the settings, the visitor's browser loads the Bookora chat in an iframe on every page. Messages written in the chat are sent to the Bookora service and processed by an AI model to answer questions about availability and prices.
* **Item list in the admin:** the settings page and the block editor fetch the venue's public list of bookable items from the Bookora API (`/api/public/{venue}`). Only the venue ID is sent.

Bookora terms of service: https://bookora.fi/ehdot
Bookora privacy policy: https://bookora.fi/tietosuoja

== Installation ==

1. Install and activate the plugin in Plugins → Add New, or upload the plugin folder to `/wp-content/plugins/`.
2. Go to Settings → Bookora and enter your venue ID. You find it in Bookora admin under Embedding and API.
3. Add the Bookora block or the `[bookora]` shortcode to a page.

== Frequently Asked Questions ==

= Do I need a Bookora account? =

Yes. The plugin shows the calendar of your Bookora venue. You can create an account and start a free trial at https://bookora.fi.

= Where are bookings and payments stored? =

In the Bookora service. The plugin does not store customer data in WordPress.

= Can I show only one bookable item? =

Yes. Choose the item in the block settings, or use `[bookora resource="item-id"]`. The settings page lists the shortcodes for all your items.

= Which languages are supported? =

Finnish, English, Swedish, Estonian, German and Spanish. By default the calendar uses your site's language if Bookora supports it. You can set the language in the settings, per block or with `lang="en"` in the shortcode.

= Does the calendar work with page caching? =

Yes. The calendar loads in an iframe, so cached pages always show the current availability.

== Changelog ==

= 1.2.0 =
* The calendar and chat scripts are now included in the plugin (no remote scripts).
* English shortcode attributes `resource`, `lang`, `venue` and `height`. The Finnish attributes still work.
* Messages from the calendar are accepted only from the Bookora service address.
* Uninstalling the plugin removes its settings.
* Documented the external services used by the plugin.

= 1.1.0 =
* AI chat: show the Bookora AI chat add-on on the whole site.

= 1.0.0 =
* First release.

== Upgrade Notice ==

= 1.2.0 =
Scripts are now bundled with the plugin. No changes needed to your pages.
