Skip to content

Every tab of Settings that is not covered on another page – General, Calendar sync, Modules, Guest currencies, Privacy, Licence and System – followed by a troubleshooting guide for the problems hosts meet most often.

How Settings is organised

Open JetBookIn → Settings. The tabs on the left are:

  • General, Payments, E-mails, Calendar sync, Modules – always there.
  • One tab per module that has settings, shown only while that module is on: E-mail log Pro, Guest currencies, Privacy (GDPR), Greek compliance, Receipts & invoices, myDATA (AADE) invoicing.
  • License and System – always there.

Changes are not saved until you click Save settings (top right, or in the bar that appears at the bottom with Unsaved changes). Discard changes puts everything back. If you try to leave the page with unsaved changes, the browser asks first. Module switches and the licence are the exception: they apply immediately.

The Payments tab is explained on Payments, and the E-mails and E-mail log tabs on E-mails. Only administrators can change payment providers, their keys and bank details, the mail server and the e-mail log settings; a Booking Manager can change the rest.

General

Settings, General tab, with currency, page IDs, terms URL, payment hold, bookable-up-to and the booking window
Settings → General.

The General card

Setting Default What it does
Currency (ISO code) EUR The currency of all your prices and payments, as a three-letter code (EUR, GBP, USD…). Set it before you enter prices – it does not convert existing prices.
Booking confirmation page ID Created on activation The page with the [jetbookin_confirmation] shortcode or the Booking Confirmation widget, where guests finish booking, pay and later see their booking. JetBookIn creates it when you activate the plugin. Only change it if you build your own page; find a page’s ID in its edit link (post=123).
Checkout page ID Empty Where Reserve in a room’s booking box continues: a page with the Search results or Booking confirmation widget, e.g. your Book page. Empty = the booking confirmation page.
Terms & conditions URL Empty If set, guests must accept your terms before paying. The link opens the page over the checkout, in the visitor’s language on multilingual sites.
Payment hold (minutes) 10 How long the dates stay reserved while the guest pays: 5 to 10 minutes. The guest sees the time at checkout; when it runs out, the payment page is closed and the dates are released.
Bookable up to (days ahead) 730 How far ahead guests can book on your website (730 = two years).

Under the fields:

  • Confirm bookings without online payment when no payment method is set up (off): lets guests book while no payment provider is configured, e.g. while you are still setting up.
  • Card guarantee: when nothing is paid upfront, the guest saves a card on Stripe (nothing is charged) (off, Pro): for no-show and late-cancellation fees. Needs Stripe. With it on, If a guarantee card stops working chooses between Cancel the booking and release the dates (default) and Keep the booking, only add a note for me.
  • Bookings without online payment (pay at the property) are confirmed by the guest by e-mail first (on): the guest gets a Confirm my booking e-mail and the dates are held for 30 minutes until they click it. It stops fake e-mail addresses from blocking your calendar. Not needed while the card guarantee is on.

Both options are explained in detail on Payments.

Booking window

Setting Default What it does
Minimum notice before arrival (hours) 0 How long before arrival guests must book online. 0 = same-day bookings allowed. 24 means a booking made now can arrive tomorrow at the earliest. Up to 720.
Same-day bookings close at No cutoff After this time (06:00 to 23:30), today’s date can no longer be booked online. For example 18:00 if nobody can welcome late guests.

Both use the site’s time zone (WordPress Settings → General → Timezone). They only apply to guests booking online; you can always add a reservation yourself.

Keep the calendar open and Fill short gaps

Keep open ahead (months) (0 = off; 12–18 suits most properties) fills the days after the last one you set from the same weekday a year before, every night. Fill short gaps sells nights a minimum stay would leave empty: Last minute: arrivals within (days) with … can stay at least (nights), Allow stays that exactly fill the free nights between two bookings with Only for arrivals within (days), and Price change for these shorter stays (%). Both are explained on Rates & availability.

Calendar sync

Setting Default What it does
Import every (minutes) 15 How often JetBookIn reads the platforms’ calendars. Minimum 5; 10–15 is a good balance. A single connection can use its own interval in Channels.
Export closures up to (days ahead) 730 How far ahead your calendar links show booked and closed dates to the platforms. Minimum 30.

Imports run in the background (see System), so they only keep this pace when background jobs run on time. Connections, sync alerts and logs are on Calendar sync.

Modules

Each optional feature is a module you can switch off. When a module is off, its screens and settings disappear; nothing is deleted, and switching it back on restores everything. The tab says how many modules are on. Each module shows its tier – Included, Pro, or a country pack – and, once on, a button to where you set it up (Set up in …) or Nothing to set up. A module your licence does not cover is greyed out with Needs a Pro license or Needs the Greece pack on your license and a See plans link.

Settings, Modules tab, with modules grouped by area, their switches, tier labels and Set up buttons, and the Greece pack at the end
Settings → Modules.
Module Tier Default What it does
Guests
Guest booking management Included On Guests view, pay and cancel their booking online.
Cancellation policies Included On Penalty rules per rate plan with automatic refund calculation (Property → Rate plans).
E-mail templates Included On Editable guest and staff e-mails per language, reminders.
Guest reviews Pro On Verified reviews after check-out, with moderation, owner replies and review stars for search engines.
Guest ID details Pro On Guests fill in nationality and ID or passport number (Greek guests: ΑΦΜ) – what the Greek stay declaration asks for.
Payments
Automatic balance collection Pro On Save the card at booking and charge the balance before arrival.
Revenue
Promotions Pro On Early bird, last minute, long stay and promo codes.
Guest currencies Pro On Guests see prices in their own currency; payment stays in yours.
Extras Pro On Bookable add-ons like transfers, breakfast or late check-out.
Channels & commission Pro On Reports → Channels: nights, revenue and commission per platform, and what direct bookings saved you.
Operations
Housekeeping Pro On Room status, the daily cleaning list and a phone page for housekeepers.
Owners & statements Pro On Owners, commissions, monthly statements and an owner page.
Platform reservations Pro On Complete the stays that platform calendars send as dates only: guest, amount paid, commission, taxes and payout.
Calendar sync alerts Pro On An e-mail when a platform calendar has not synced for some hours, and another when it works again.
Compliance & tax
GDPR tools Included On Consent, data export and erasure, automatic anonymisation.
Tourist taxes Pro On ΤΑΚΚ, city or tourist tax, VAT and the municipal fee on every booking (Property → Taxes & fees).
Receipts & invoices Pro Off Numbered receipts, invoices and credit notes (not sent to myDATA).
Country packs – Greece pack (shown when a property is in Greece; Show packs for other countries lists the rest)
Greek compliance Greece pack Off ΤΑΚΚ report, stay declarations, accountant exports and the monthly e-mail to the accountant.
myDATA (AADE) invoicing Greece pack Off Sends receipts, invoices and ΤΑΚΚ documents to AADE myDATA.

See Greece for the Greece pack.

Guest currencies Pro

Guests can switch the prices they browse to another currency, using the European Central Bank rates, updated daily. Bookings are always charged in your own currency, and checkout says so. Click the currencies you want to offer (USD, GBP, CHF, SEK, NOK, DKK, PLN, CZK and more); the tab shows the date of the current rates. Good choices for a Greek island: GBP, USD, SEK, NOK, DKK, PLN.

Privacy (GDPR)

  • Anonymise guest data after (years) (default 5, up to 20, 0 = never): names, e-mails and phone numbers are removed from bookings that ended longer ago; amounts are kept for your tax records. Guest ID details are removed with them. Ask your accountant how long you must keep records.
  • Guests must accept your privacy policy at checkout once a privacy policy page is published (WordPress Settings → Privacy).
  • Data export and erasure requests are handled in WordPress Tools → Export Personal Data and Tools → Erase Personal Data; JetBookIn bookings are included. Upcoming and in-house stays are kept so the stay can still happen.

Greek compliance, Receipts & invoices, myDATA

These tabs appear when their module is on. Greek compliance holds the accountant’s e-mail and the monthly e-mail; Receipts & invoices sets automatic issuing and who gets the documents; myDATA (AADE) invoicing holds the AADE credentials. All three are explained on Greece.

Licence

The License tab shows your licence status, plan (Core or Pro), add-ons such as the Greece pack, and until when you get updates. Only administrators can change it.

Settings, License tab, with an active Pro licence, its add-ons and update date, and the Change key, Deactivate and Renew buttons
Settings → License.

Activate, change or move a licence

  1. Paste your License key and click Activate.
  2. Check now asks the licence server again (it also checks every day).
  3. Change key replaces the key; Deactivate on this site frees it for another site.
  4. Buy a license, Renew license and More sites or Pro open the shop on jetbookin.com with your key filled in.

Statuses

Status What it means
Active Everything in your plan works and you get updates.
Expired Not renewed. Pro features and add-ons keep working for 14 days after the expiry date; then they turn off and the site runs on the free Core. Nothing is deleted – renew and they come back.
Site limit reached The key is in use on as many sites as it allows. Deactivate it elsewhere or get more sites.
Not valid for this site The key does not match this site – for example it was activated for another address before you moved the site. Activate it again here.
Could not be verified for a long time The site could not reach the licence server for a long time (it keeps working on the last answer for 45 days). Check that your server can make outgoing connections, then click Check now.
Disabled The licence was switched off on the server. Contact us.

From 30 days before expiry, the Today screen reminds you, and after expiry it tells you the date when Pro features turn off.

Tip: the licence is checked on every site, local and staging copies included: there is no address that unlocks Pro without a key.

System: background jobs and uninstall

Background jobs

Calendar imports, reminders and pre-arrival e-mails, automatic balance charges, guest anonymisation and the monthly accountant e-mail all run in the background. WordPress runs scheduled tasks only when someone visits the site, so on quiet nights they can be late. The Background jobs card shows:

  • the status – Running normally. or Late: …,
  • Hourly jobs last ran,
  • Server cron last ran (not set up until you add one),
  • Overdue jobs,
  • Calendars failing to import (connections that failed three times or more in a row).

Click Refresh to check again.

Settings, System tab, with the Background jobs card, its last-run times, the server cron command with a Copy button, and the Uninstall option
Settings → System.

Set up a server cron job (recommended for live sites)

A server cron job runs the jobs every 5 minutes whether or not anyone visits. The card shows the exact line for your site with a Copy button. It looks like this:

*/5 * * * * cd /path/to/wordpress && wp jetbookin run-jobs --quiet
  1. Copy the line from Settings → System (it has your real WordPress path).
  2. In your hosting panel, open Cron jobs (cPanel, Plesk and hPanel all have one) and add it with the schedule “every 5 minutes”. Or send it to your host’s support.
  3. After 5–10 minutes, click Refresh: Server cron last ran shows a time.

This needs WP-CLI on the server. Without WP-CLI, a cron job that opens your site’s wp-cron.php address every 5 minutes also works; the card shows that address too.

Health warnings and how to fix them

Warning Cause Fix
the hourly jobs have not run for over 2 hours No visits, WP-Cron disabled without a server cron, or the server cron stopped. Add the server cron job above. If you have one, check that it still runs (Server cron last ran).
… jobs are overdue Three or more queued jobs should have run more than 15 minutes ago. Same: a server cron job clears the queue every 5 minutes.
Calendars failing to import A platform link is wrong, expired or refuses the request. Open Channels, check the failing connection and its Sync log; copy a fresh link from the platform.

A new install waits two hours before warning. The red banner Background jobs are not running on time on every screen links here with How to fix.

Visitor address

The limits on booking attempts, on Find your booking and on unpaid bookings (one per e-mail address, three per network) count per visitor address. Behind a CDN or a proxy every visitor arrives from the proxy’s address, so those limits would apply to all your visitors at once. Read the visitor’s address from chooses where the real address comes from:

  • Automatic (default): Cloudflare’s header when the visit really comes through Cloudflare, and the proxy headers when a proxy runs on your own server; otherwise the connection itself.
  • The connection only: for sites without a CDN or proxy.
  • CF-Connecting-IP, X-Forwarded-For or X-Real-IP: for a CDN JetBookIn does not recognise, such as your host’s own CDN. Choose one only when every visit reaches the site through that CDN, otherwise visitors could fake their address.

Below it, Your address as the site sees it shows the result for you right now. To check the choice, open the page on your phone over mobile data: the address shown should be your phone’s, not the same as on your computer. Only administrators can change this setting.

Uninstall

Delete all JetBookIn data (bookings, rates, calendars) when the plugin is deleted is off by default, so deleting the plugin keeps your data and reinstalling brings it back. When ticked, deleting the plugin in WordPress Plugins removes everything: bookings, payments, rates, calendar connections, properties and room types, reviews, owner records, receipts and invoices, settings and the Booking Manager, Housekeeper and Property Owner roles.

Important: this cannot be undone. Export what your accountant needs (Reports, Payments, Invoices) and take a backup before you tick it. Deactivating the plugin never deletes anything.

For developers: WP-CLI and REST

WP-CLI commands

Command What it does
wp jetbookin run-jobs [--limit=<n>] Runs every due job now: calendar imports, reminders, balance charges, expiries (and the hourly jobs when due). Processes up to 100 queued actions by default.
wp jetbookin sync [<connection-id>...] [--force] Imports platform calendars now – all active connections with an import link, or the ones given. --force ignores HTTP caching (ETag / Last-Modified).
wp jetbookin status Shows when hourly and daily jobs and the server cron last ran, overdue actions and failing feeds.

REST endpoints for settings

Namespace /wp-json/jetbookin/v1/. These routes need a logged-in user with the manage_jetbookin capability (administrators and Booking Managers).

  • GET /settings, PUT /settings – all settings; secret keys come back masked, and only administrators may change payment keys.
  • GET /modules, PUT /modules – module states, e.g. {"housekeeping": true}.
  • GET /jobs – background job health, including the cron command.
  • GET /license – licence status (activating and removing a key is for administrators only).
  • GET /audit – the activity log.

Troubleshooting

E-mails are not arriving

  1. In E-mails, open a template and use Send a test to → Send test. If the test does not arrive either, the problem is the site’s e-mail sending, not JetBookIn.
  2. Check the spam folder.
  3. In Settings → E-mails, set From e-mail to an address on your own domain (e.g. bookings@your-villa.gr). Messages “from” a Gmail or Hotmail address sent by your web server are often rejected.
  4. Switch on Settings → E-mails → Outgoing mail (SMTP) and send through your mailbox’s server (see E-mails). Make sure your domain’s SPF and DKIM records include the sender – your host can help.
  5. Open Settings → E-mail log: a failed e-mail shows the mail server’s answer, and Send again sends it once more.
  6. Check the template is switched on (Send this e-mail) in the E-mails list.
  7. New-booking alerts go to Send new-booking alerts to (Settings → E-mails), or to the site admin e-mail when empty.
  8. Reminders, pre-arrival and check-in e-mails are sent by background jobs: if those are late (see System), the e-mails are late too.

Payments are not confirming

Payment providers tell your site about a payment through a webhook – a call from their server to yours.

  • Stripe: payments are confirmed when the guest returns from Stripe, through the webhook, and by asking Stripe every 5 minutes – so a broken webhook delays nothing, but fix it anyway. Settings → Payments → Stripe payments shows when the last webhook arrived, or why it was refused. Check that the Webhook signing secret matches the mode (test or live), and that the endpoint in Stripe has the four events listed there. For a single payment, use Check with Stripe in Revenue → Payments.
  • Viva Wallet: add the Webhook URL in Viva for the event Transaction Payment Created, after saving the Merchant ID and API key.
  • PayPal: add the Webhook URL to your REST app with Checkout order approved and Payment capture completed.
  • Test and live keys must match the Mode.
  • Firewalls, security plugins and CDNs (Cloudflare, Wordfence and the like) sometimes block or redirect calls to /wp-json/. Allow the webhook addresses shown in Settings → Payments.
  • A payment that arrives after the Payment hold ran out is flagged Paid after the hold expired on Today and in Payments: check the booking.

More on Payments.

Calendars are not syncing

  • Open Channels. Each connection shows Syncing, Last sync failed, Failing, Waiting for first sync or Export only. Click Sync now (or Sync all now) and read the Sync log.
  • If imports are late, check background jobs (System). Imports run every Import every (minutes) only when jobs run on time.
  • If the platform does not see your changes: the platform reads your link on its own schedule, which can take a few hours on some platforms. On Today, … not reading ours means a platform has stopped reading your link – add it again on the platform.
  • Your calendar links tell page caches never to store them. If you updated from an older version, purge your page cache once (in LiteSpeed: Purge All).
  • With Pro, Calendar sync alerts e-mail you when a calendar has not synced for some hours.

More on Calendar sync.

“Background tasks are late”

Set up the server cron job. If it is already set up and Server cron last ran shows a recent time, click Refresh – older versions could show a false warning on sites with a persistent object cache (LiteSpeed, Redis); current versions read the time straight from the database. If the server cron shows not set up although you added it, check the job’s path and that WP-CLI (wp) is available to it; run wp jetbookin status by hand to see the error.

Cache plugins (LiteSpeed, WP Rocket and others)

JetBookIn loads prices and availability live, so room pages and search pages can be cached. A few things to know:

  • Purge the page cache after changing Settings. The booking box reads some settings from the page itself – payment methods, payment hold, guest currencies, the first date that can be booked (minimum notice, same-day cutoff). An old cached page keeps the old values.
  • Don’t cache pages for more than a day, or exclude your booking pages. A page cached yesterday still thinks “today” is yesterday’s date. If in doubt, exclude the booking confirmation page and your checkout page from the cache.
  • Calendar links, the housekeeping page and the owner page tell caches not to store them. Do not force-cache them.
  • If a cache or CDN caches REST API answers, exclude /wp-json/jetbookin/.
  • If the booking box or date picker only appears after you scroll or click, an option like “Delay JavaScript” is holding back JetBookIn’s script: exclude it from that option.

Dates are not showing or cannot be booked

  • No price or closed: dates without a price, or closed in Rates & Availability, cannot be booked. Today warns Guests can’t book far ahead when a room type runs out of priced dates; turn on Keep the calendar open in Settings → General.
  • Too far ahead: beyond Bookable up to (days ahead).
  • Too soon: within the Minimum notice before arrival, or after Same-day bookings close at. Check WordPress’ time zone.
  • Minimum stay or arrival/departure restrictions on those dates.
  • Room type set to Draft (hidden from website), or all its units inactive.
  • A cached page from an earlier day (see above).
  • Booking blocked at checkout: if a rate asks for a deposit and no payment method is set up, the red banner Guests cannot book … rate online appears in the dashboard.

Translation issues

  • JetBookIn comes in English, Greek, German, French, Italian, Spanish, Portuguese, Dutch, Polish, Danish, Swedish, Finnish, Bulgarian and Russian. The dashboard follows your WordPress user’s language; the guest pages follow the page’s language.
  • Guests get e-mails in the language they booked in. Each language has its own e-mail texts in E-mails (pick the language at the top).
  • On Polylang or WPML sites, translate the names of rate plans, extras, promotions and fees under In other languages below each name in the dashboard. Empty fields show the original.
  • Still English after an update? Reload the dashboard (it offers Reload when a new version is installed) and purge the page cache, so the new translation files load.

Questions

Can I change the currency later?

Yes, but prices are not converted: re-enter them in the new currency. Existing bookings keep their own currency.

Can the payment hold be longer than 10 minutes?

No. 5 to 10 minutes keeps dates from being blocked by guests who walk away. Bank transfer has its own Days to pay setting.

What happens to data when I switch a module off?

Nothing is deleted. Its screens and settings are hidden until you switch it back on.

My licence expired. Do I lose bookings?

No. Pro features keep working for 14 days, then the site continues on Core with all bookings and settings kept. Renew to switch Pro back on.

Do I need a second licence for a staging copy?

A staging copy needs a licence for its Pro features, like any site (see Licence). Either move your key there while you test – Deactivate on one site, activate on the other – or use a plan with room for more sites.

My shared hosting has no WP-CLI.

Use a cron job that opens wp-cron.php every 5 minutes – the address is shown in Settings → System.