Panda Multi Resorts
Documentation · Version 9.1.0

Your hotels, booked directly.

Panda Multi Resorts is a complete booking engine for hotel groups, resort operators and travel websites that sell several properties. Rooms, rates, availability, payments, platform calendars, reviews and a beautiful hotel website: everything in one product, installed in a few minutes.

  • Panda Multi Resorts 9.1.0
  • Pandao CMS 8.1.0
  • PHP 8.2 – 8.5
  • MySQL 5.7+ · MariaDB 10.3+
  • Responsive · Multilingual · RTL
www.your-site.com
Home page of a site made with Panda Multi Resorts: slideshow and stay search
The same home page on a phone
Welcome

Thank you for choosing Panda Multi Resorts

This guide takes you from the upload of the files to your first real booking, then through every screen of the product. It is written for hotel managers as much as for web developers: no coding is needed to run a site.

Panda Multi Resorts is an extension of Pandao CMS, the content management system it ships with. Pandao CMS runs the website (pages, menus, blog, languages, users, e-mails, theme); Panda Multi Resorts adds everything a hotel business needs: destinations, hotels, rooms, rates, bookings, payments, platform calendars, reviews and activities. Both are installed together, in one go.

If a question is not answered here, the troubleshooting section and the Diagnostic screen of your administration solve most issues in minutes. For anything else, our support is happy to help: include the report of the Diagnostic screen, it tells us everything about your server without any password.

Highlights

Everything a hotel website needs

Built with hotel managers and designed like the booking platforms your guests already know, so that they book with you directly.

Many properties, one site

Hotels, resorts, villas and guest houses, grouped by destination, each with its own photos, rooms, terms, owners and payment accounts.

Rates you can see

A rates calendar per hotel, seasons on a timeline, stay rules, children by age, and a season copied to next year in one click, with a price change.

Booked in a few clicks

Several rooms per booking, the best room preselected, a total that follows every change, taxes and mandatory fees always included.

Paid your way

At the hotel, by card with Stripe (Apple Pay, Google Pay), PayPal, bank transfer or check; a deposit or the whole stay; refunds on cancellation.

Platform calendars

Airbnb, Booking.com, Vrbo and others synchronised by iCal, room by room, with conflicts flagged in the planning and by e-mail.

A planning at a glance

Every room of a hotel day by day: drag a booking to move it, drag over free days to book, at the desk or on a tablet.

Verified reviews

Guests are invited after their stay, the site checks each review, the hotel answers, and the average shows on the hotel page.

Activities

Tours, classes and experiences with their sessions and places, booked with a stay or on their own.

Hotel owners

Each owner manages only their own properties: rooms, rates, offers, bookings. Owners can even apply from the website.

Any language, any currency

Every text translatable, right-to-left languages such as Arabic, and prices shown in the visitor's currency at the rates of the European Central Bank.

Made for phones

Every page of the website and of the administration works on a phone and a tablet, down to the planning.

Private and secure

A hardened CMS, a cookie banner with “Reject all”, a privacy policy completed for you, invisible reCAPTCHA and data erased on request.

For customers of version 8

New in version 9

Version 9 is a complete rewrite on Pandao CMS 8 and PHP 8.2 to 8.5. It keeps what you liked, replaces what had aged, and adds what customers asked for over the years. Your data comes with you: see Upgrading from version 8.

AreaVersion 8Version 9
RatesLists of periods and packagesRates calendar, seasons on a timeline, copy of a season with a price change, rate plans with their own terms
Booking formOne room at a timeSeveral rooms and offers at once, live total, extras and activities, promo codes, all-inclusive prices
PaymentsPayPal, 2Checkout, Braintree, RazorpayStripe Checkout (cards, Apple Pay, Google Pay), PayPal, transfer, check, at the hotel; deposits, refunds, an account per hotel
AdministrationGeneric listsPlanning, booking editor for phone bookings, dashboards and alerts, owners filter, diagnostic screen
Platform calendarsImport and export of a calendarA connection per room, conflicts detected and flagged, safeguards against broken feeds, alerts
Guests—Customer account with their bookings, online cancellation, verified reviews, “Complete your booking” card, payment reminders
WebsiteBootstrap 3 themeNew responsive theme, widgets placed from the administration, maps without Google, right-to-left languages, currencies
PlatformPHP 5 to 8PHP 8.2 to 8.5, MySQL 8 and MariaDB, hardened security, extensions and automatic updates of the database
See it live

Live demo

The online demo runs this very version with the demo content of the package, plus sample bookings and reviews.

Websitemultiresorts.pandao.eu
Administrationmultiresorts.pandao.eu/admin
Loginadmin / admin123

The administration of the demo is read-only, and everything visitors create (bookings, requests, messages) is visible to other visitors and deleted every night. Do not type real personal details: the demo sends no e-mail to the address you enter.

Getting started

Requirements

Panda Multi Resorts runs on most shared hosts, VPS and managed servers. Once it is installed, the Diagnostic screen of the administration checks every point below on your own server.

ComponentNeededAdvised
PHP8.2 to 8.58.3 or 8.4
PHP extensionscurl, dom, fileinfo, gd, mbstring, openssl, pdo, pdo_mysqlintl, so that dates are written in the language of each page
DatabaseMySQL 5.7 or MariaDB 10.3, with the utf8mb4 character setMySQL 8 or MariaDB 10.6 and later
Web serverApache 2.4 with mod_rewrite and .htaccess files allowed, or IIS with URL Rewrite (web.config included)nginx in front of Apache, as on Plesk and many cPanel hosts, works as it is
Secure connectionHTTPS for online paymentsHTTPS on the whole site (a free certificate from your host)
PHP memory128 MB256 MB
Automatic tasksA cron job every minute, or PHP-FPM for the fallback run by the visitsA cron job (see Automatic tasks)
Outgoing connectionsHTTPS calls to Stripe and PayPal, to the platforms whose calendars you connect, to the European Central Bank (exchange rates) and to Google (reCAPTCHA). A host that blocks them only disables the feature concerned.
Getting started

Package contents

The main file downloaded from CodeCanyon holds this documentation and the website, ready to upload. Nothing else is needed: the PHP libraries are already installed, so you do not need Composer.

panda-multiresorts-9.1.0/
├── documentation/            this documentation: open index.html
└── upload/                   the website: upload the contents of this folder
    ├── admin/                the administration (www.your-site.com/admin)
    ├── bin/                  command line: automatic tasks and updates
    ├── config/               the configuration, written by the installation wizard
    ├── extensions/
    │   └── multiresorts/     Panda Multi Resorts
    ├── public/               public files: media, brand images, theme assets
    ├── setup/                the installation wizard
    ├── templates/default/    the theme of the website
    ├── vendor/               PHP libraries
    └── common/, core/, …     Pandao CMS
Getting started

Installation

Allow about ten minutes. The wizard installs Pandao CMS, and Panda Multi Resorts installs itself at your first login.

  1. Create a database

    In your hosting panel (MySQL Databases in cPanel, Databases in Plesk), create an empty database with the utf8mb4 character set, and a user who has every privilege on it. Keep its name, its user, its password and its host (often localhost) at hand.

  2. Upload the files

    Upload the contents of the upload/ folder to the web root of your domain (often public_html/ or httpdocs/), or to a sub-folder such as public_html/booking/. The quickest way is to upload the zip with the file manager of your host, extract it there, then move the contents of upload/ into place. With an FTP client, make sure the hidden .htaccess files are sent too.

  3. Run the installation wizard

    Open the address of your site: the wizard starts by itself. Give the title of the site, its public address (https://www.your-site.com, without a slash at the end), the e-mail address that receives the notifications, the login and password of the administrator, then the details of the database. Click Install.

    www.your-site.com/admin/module=setup
    The installation wizard with its General and Database fields

    The wizard writes config/config.php and public/robots.txt: PHP must be allowed to write in config/ and public/ while it runs, which is the case on most hosts.

  4. Log in

    Click Log in and sign in with the administrator account. At this first login, Panda Multi Resorts, shipped with the site, is enabled in a few seconds: its tables are created and the demo content is installed. A message confirms it on the dashboard, and the Multi Resorts menu appears.

    www.your-site.com/admin/module=dashboard
    The dashboard after the first login, with the message that Panda Multi Resorts is enabled
  5. Set up the automatic tasks

    Add the cron job given by the Diagnostic screen, as explained in the next section. Your site is then ready to be made your own.

The site works in a sub-folder and on a sub-domain: its base path is found by itself. The administration is at https://www.your-site.com/admin/.

Once the site is installed, the wizard locks itself. You can still delete the setup/ folder and remove the write permission on config/config.php, two good habits on a live server.

Getting started

Automatic tasks

Some work happens in the background: a booking not paid in time is cancelled and its rooms put back on sale, guests are reminded to pay, platform calendars are read, exchange rates are updated and guests are invited to review their stay.

TaskFrequencyWhat it does
Cancellation of the bookings not paid in timeevery 5 minCancels an unpaid booking at its deadline, releases its rooms and tells the guest; sends one payment reminder before.
Reading of the platform calendarsevery 5 minReads each connected calendar at the interval chosen in the settings (30 minutes by default).
Reading of the exchange ratesevery 6 hReads the reference rates of the European Central Bank, when the site offers several currencies.
Invitations to review the staysevery hourSends one invitation the day after the departure, from 10 am.
Preparation of the photos of the demo contentevery minuteJust after the installation: writes the demo photos at their sizes, then has nothing left to do.

Add a cron job

For tasks run on time, your server runs bin/pandao cron every minute. Open Diagnostic › Advanced configuration: it shows the exact line for your server, with the path of its PHP. Paste it into the cron jobs of your hosting panel (Cron Jobs in cPanel, Scheduled Tasks in Plesk), or send it to your host. It looks like this:

* * * * * /usr/bin/php /home/your-account/public_html/bin/pandao cron >/dev/null 2>&1

Without a cron job, the site runs its tasks itself after a visit, at most every ten minutes, on hosts that use PHP-FPM (most of them). This is enough to try the product, but a quiet site then runs its tasks late: add the cron job before you open the bookings.

www.your-site.com/admin/module=diagnostic
The Diagnostic screen: synchronisation status and the automatic tasks
Diagnostic. Who runs the tasks, when they last ran, and each task with its result. Run the tasks now runs them all at once; Copy the report copies a report without any password, to join to a request for support.
Getting started

Demo content

A new site does not open on an empty CMS but on a complete hotel website, ready to show and easy to make your own.

The website

A slideshow with the stay search, featured destinations and hotels, a “Why book with us” block, a banner for events, a parallax section for activities, four travel articles in the blog, the “About us” text of the footer, and a brand, in English and French: the site opens in both, with the language selector.

The catalogue

10 destinations, 11 fictional hotels and 12 rooms, with their rates, offers, services, taxes, two activities and a promo code (BIENVENUE10). The hotels have no e-mail address, so that no test booking reaches anyone.

The photos are under the CC0 licence or belong to Pandao, so you may keep them on your site. They are copied at the installation, then written at their display sizes by the automatic tasks within a few minutes. No booking and no review are installed.

Edit the demo hotels to make them yours, or delete them. The demo pages, articles, slides and widgets are edited or unpublished like any content. Importing a version 8 site replaces the demo content by yours.

Getting started

Launch checklist

The settings to review before you open the bookings, in the order that saves time.

  1. General settings

    Settings › General: title of the site, public site URL, time zone (that of the hotels: “today”, arrivals and payment deadlines depend on it), date and time formats. A new site opens in English and French, with the language selector: turn off Enable foreign languages to keep one language. Turn on Enable currencies to let visitors choose theirs.

  2. Contact details and e-mails

    Settings › Contact: name, address, phones and e-mail of your company, shown in the footer, the pages and the e-mails. Settings › Email settings: the sender, and the SMTP server of your mailbox for a reliable delivery.

  3. Your brand

    Settings › Appearance: logo, footer logo, e-mail banner, favicon and brand colours. See Branding & theme.

  4. The main currency

    Configuration › Currencies: the currency of your prices, in which guests pay.

  5. The settings of Panda Multi Resorts

    Extensions › Panda Multi Resorts › Settings: payment methods and deposit, booking options, reviews, accounts and maps. See Payment settings.

  6. Your catalogue

    Destinations, hotels, rooms, rates, offers, taxes and services: the next chapters describe each screen.

  7. Your legal pages

    The Booking conditions, Privacy policy and Legal notice pages hold model texts: complete the passages between brackets.

  8. The anti-robot check

    Create reCAPTCHA v3 keys on google.com/recaptcha and paste them in Settings › General (Captcha: public key and secret key).

  9. A test booking

    Book a stay on your site as a guest, with the test keys of Stripe or the sandbox of PayPal, and check the e-mails. Then switch to your live keys.

  10. The cron job

    If it is not done yet: see Automatic tasks.

For customers of version 8

Upgrading from version 8

Version 9 is a new product: it is installed beside your current site, imports its data, and takes over once you have checked it. Your old site and its database are only read, never modified: until you switch your domain, guests keep booking on it, and you can go back at any time.

The importer accepts Panda Multi Resorts 4.0 to 8.1. Allow about an hour for a typical site, plus the time to check the result.

What is imported

  • Settings: name, contact details, e-mail addresses, time zone, formats, currency, languages (right-to-left included), SMTP, payment methods and deposit.
  • Destinations, hotels, rooms, facilities, themes and their images.
  • Seasons, prices per person and per child, packages (as rate plans), restrictions, closures, taxes and promo codes.
  • Services, activities and their sessions.
  • Customer and owner accounts. Customers keep their password: it is upgraded to a modern hashing at their next login.
  • Bookings with their rooms, services, activities, taxes and payments.
  • Pages, articles, menus, slideshows, popups, media and published comments, with their addresses, so that links and search rankings are kept. Rated comments become reviews, shown without the “Verified stay” mention.
  • The addresses of the platform calendars.

What is not imported

  • The interface texts and e-mail templates: version 9 brings its own, written for the new screens, in English and French. Translate them for the other languages in Texts and Emails content.
  • reCAPTCHA keys: version 8 used v2 with a checkbox, version 9 uses the invisible v3. Create v3 keys.
  • 2Checkout, Braintree and Razorpay: Stripe replaces them. The bookings paid through them keep their payments in their history.
  • The old theme: pages using a template of the old theme become standard pages, listed in the import report.

Before you start

Import your data

  1. Install version 9

    Follow the installation in its own folder, with a new, empty database: never reuse the one of the old site.

  2. Open the importer

    Multi Resorts › Tools › Import of a previous site (the dashboard links to it while the site has no booking). The old sites found beside the new one are listed; otherwise type the path of its folder on the server.

    www.your-site.com/admin/module=import
    The screen of the import of a previous site
  3. Read the analysis

    The version found, what will be imported, what will be converted and what cannot be. Nothing is written yet. The demo content of the new site will be replaced: the screen says so and asks you to confirm.

  4. Run the import

    It runs by stages (languages, accounts, catalogue, rates, services, activities, bookings, content, settings), in small batches that suit shared hosting. Keep the page open. If it is closed or the connection drops, open the screen again: the import resumes where it stopped. A stage that fails writes nothing, and running the import again never creates duplicates.

  5. Read the report

    It stays available in the administration. Action required lists what needs you, each with a link to the right screen (PayPal keys to enter, an icon to choose for a facility, a rate plan converted from a package to check). For information explains what was converted, skipped or handled differently. Solve every Action required before opening the site.

  6. Complete and check

    Review the settings, enter the payment and reCAPTCHA keys, set up the cron job, translate the texts of the added languages. Then browse the new site as a guest, in each language, on a computer and a phone: compare the prices of about ten stays with the old site (seasons, children, weekends, offers), make a test booking to the payment, sign in as a customer with an existing password, and look at the planning and a few imported bookings. Delete your test bookings.

  7. Switch the domain

    Choose a quiet time, and stop the bookings of the old site shortly before if you can. Run the import again just before the switch: it brings the bookings and accounts created since, without duplicates (records already imported are not updated, so avoid changing the catalogue on the old site meanwhile). Point your domain to the folder of the new site, update the Public site URL in Settings › General, give each platform the new address of your calendars (Platform calendars), and replace the endpoint of the Stripe webhook with the address shown in the settings.

For a large database, with SSH access, the importer also runs from the folder of the new site:

php extensions/multiresorts/tools/import-legacy.php /path/to/the/old/site          # analysis only
php extensions/multiresorts/tools/import-legacy.php /path/to/the/old/site --run    # complete import

Keep the old site and its database offline for a few weeks. If you need help, send the import report and the Diagnostic report: neither holds a password.

Getting started

Updating

New versions are published on CodeCanyon, in your Downloads, with their notes in the changelog.

  1. Back up

    The files and the database of the site.

  2. Upload the new files

    Upload the contents of the upload/ folder of the new package over your site. Your configuration (config/config.php), your media and your brand images are not in the package: they are kept. Changes made to the theme belong in a child theme (see Customisation), so that an update never overwrites them.

  3. Apply the update

    Log in to the administration: once the files are uploaded, every screen shows a banner with the new version and an Update now button (also offered in Extensions). Click it when the upload is complete, and the database is brought up to date in a few seconds. Until then the booking engine waits, so that new code never runs on an old database: its pages tell your visitors that the site is being updated and to come back in a few minutes, with a code that search engines and the booking platforms read as temporary. Update at a quiet hour, and click right after the upload.

www.your-site.com/admin/module=extensions
The Extensions page with Panda Multi Resorts enabled
Extensions. Version and status of Panda Multi Resorts, its Settings, and Update when new files are uploaded.
Catalogue

Destinations

Cities, islands or regions: a destination groups the hotels guests search for, with its own page, map and hotels.

Multi Resorts › Catalogue › Destinations. A destination has a name (shown in the search list), a title and subtitle for its page, a description and a main text, a video (the address of a YouTube or Vimeo page), and its position (latitude and longitude) for the maps. The Title tag, Alias (its address) and Robots fields tune how search engines see it.

The Destinations page lists them with their photo and number of hotels; each destination page shows its hotels, with a Show on map button.

Catalogue

Hotels

Each property has its page, its rooms, its rates and its own terms. Anything left empty in its form follows the settings of the site.

www.your-site.com/admin/module=hotel&view=list
The list of the hotels in the administration
Hotels. The buttons above the list open the screens of a hotel: Rates calendar, Payments, Taxes and Calendars. The Owners filter keeps the hotels of one owner.

The hotel form

www.your-site.com/admin/module=hotel&view=form
The form of a hotel
FieldUse
Title, SubtitleName of the hotel and its tagline, on its page and its cards.
Description, Main textThe summary shown under the title in the search results, then the full presentation of the hotel page.
VideoThe address of a YouTube or Vimeo video, as you copy it. The page shows an image and a play button; the player only loads when the visitor plays it, without cookies before.
Destination, StarsWhere the hotel is listed, and its official category (1 to 5 stars).
Facilities, ThemesIts facilities (Wi-Fi, pool, parking…) and its themes (beach, spa, family…), shown on its page and used as filters.
Contact detailsAddress, e-mail, phone and website. The e-mail receives the booking notifications of the hotel. Find the address places the hotel on the map: click on the map or drag the pin to adjust, and the latitude and longitude follow.
Check-in, Check-outTimes given to the guests (for example 15:00 and 11:00).
Booking confirmationImmediate: bookings are confirmed at once. On request: the hotel confirms each booking, which waits as a request meanwhile.
Requests when full, Online cancellation, Guest reviews, Free cancellation of the standard rateEmpty, they follow the settings of the site; set them to decide otherwise for this hotel.
MediasThe photos of the hotel, ideally 1920 × 1280 px: every size shown on the site, and a WebP copy, are made for you.
OwnersThe accounts that manage the hotel from the administration: see Hotel owners.

The items marked Home in the lists of hotels, destinations and rooms are those of the featured blocks of the home page, in the order of the list. See Home page & widgets.

Catalogue

Rooms

A room is a type of room (Deluxe double, Garden bungalow…), with the number of identical rooms you sell.

FieldUse
Hotel, Title, Subtitle, Description, Main textThe hotel of the room and its presentation. The details open from the room card of the hotel page.
Maximum adults, Maximum children, Maximum guests, Minimum guestsWho may stay in one room. The best room for the guests searched is preselected.
Rooms of this typeThe number of identical rooms that can be booked for the same night.
Room numbersNumbers or names of these rooms, separated by commas: 101, 102, Garden 1. The others are called #1, #2… Each booking receives the first free room, and the planning shows them.
Price fromThe price per night displayed before a search. Real prices come from the rates calendar.
Size, Facilities, MediasIts surface, its facilities and its photos.

Who is included in the price and what children pay are set in the rates screen: see Guests & children.

Catalogue

Facilities & themes

Multi Resorts › Catalogue › Facilities holds the facilities you tick on hotels and rooms, each with its name, translated, and an icon chosen among more than 180. The demo installs a complete list, from Wi-Fi to baby cot.

Themes are the tags of Content › Tags: beach, spa and wellness, city, family, romantic… The hotel page shows its themes, each leading to the hotels of the same theme, and the search offers them as a filter.

Rates & availability

How prices work

Guests always see the price they pay: taxes, fees and mandatory services are included in every price shown, as the European Omnibus directive and the rules of the US Federal Trade Commission require.

A price per night is set for the guests included in a room. Extra adults and children add their own price, and a rate plan (an offer) changes it, up or down. Every setting is made once at the highest level that applies, and each level below may replace it:

SitePayment methods, deposit, cancellation, reviews, taxes of the country
HotelIts own payments, taxes, terms; guests included and children by age
RoomGuests included, extra adult and child for this room type
PeriodPrices of the nights, guests and children for a season or an event

A field left empty follows the level above, whose value is shown in grey in the field. A hotel therefore only fills in what differs from the site, and a room what differs from its hotel.

Rates & availability

Rates calendar

Prices, stay rules and closed rooms of a hotel, day by day, on one screen: Multi Resorts › Pricing › Rates, or Rates calendar above the list of the hotels.

www.your-site.com/admin/module=rate&view=list
The Calendar tab of the rates screen
Calendar. Each cell gives the price per night for the guests included and the rooms still open (5/6). Small marks show a minimum stay, a day without arrival or departure, and closures.

Change prices and rules

Click and drag over days, on one room or several, or click a room or a day to select its whole row or column. The editor opens on the selection:

  • Night price, and a different price on some weekdays (the weekend…);
  • Guests and children for this period, when they differ from the room;
  • Stay rules: minimum and maximum stay, days without arrival or departure, closed to sale;
  • Close rooms, for works or a private use.

A price is kept by rate periods. On a night covered by several periods, the shortest one wins, then the most recent, so that an event wins over its season. For stay rules, the most specific rule wins: that of the room, then the shortest period, then the most recent.

The editor of a rate period
Rates & availability

Seasons & copy of a season

The Seasons tab shows the rate periods of the year on a timeline, room by room, with their stay rules and closures.

www.your-site.com/admin/module=rate&view=list&tab=seasons
The Seasons tab: rate periods on a timeline

Next year in one click

Copy a season copies the rate periods of chosen dates to new dates: last summer to next summer, a whole year to the next one. Choose the rooms, a price change in percent and its rounding, keep the same weekdays (Saturdays stay Saturdays), and choose whether the stay rules follow and whether the rates already set on the new dates are replaced.

The Copy a season dialog
Rates & availability

Guests & children

Set the defaults of the hotel once: a room, or a rate period, only needs a value where it differs.

www.your-site.com/admin/module=rate&view=list&tab=occupancy
The Guests and children tab
Guests & children. Guests included in the price, extra adult and extra child per night, and child prices by age bracket (0–2 years free, 3–11 years at 15…).

The guests included are the adults first, then the oldest children. Children beyond them pay the price of their age bracket, or the extra child price when no bracket matches. The guests give the age of each child in the search.

Rates & availability

Rate plans (offers)

Offers sold beside the standard rate, like on the booking platforms: Non-refundable at −10 %, Breakfast included at +15 per person and night, an early booking or a last minute offer.

Multi Resorts › Pricing › Rate plans. The standard rate is always offered at the prices of the rooms; each rate plan changes them:

FieldUse
Title, DescriptionThe name and the conditions shown to the guests.
Hotel, RoomsWhere it is sold. No room selected: every room of the hotel.
Price change, AmountA percentage of the price, an amount per night, or an amount per guest and night. Negative for a discount (-10), positive for a supplement (15 for breakfast).
MealsRoom only, breakfast included, half board, full board or all inclusive.
Minimum and maximum nightsThe lengths of stay it accepts.
Book at least / at most (days before arrival)An early booking offer, or a last minute one.
Refundable, Free cancellationWhether it can be cancelled, and until how many days before arrival free of charge.
Promotion datesStays from / until: the offer shows when a night of the stay is within these dates, and changes the price of those nights only, as the platforms do. Bookable from / until: a limited sale.

On the hotel page, the cheapest offer is preselected, so that the price of the search results is the price of the hotel page; the guest may choose another offer, room by room.

Rates & availability

Taxes & fees

Define the taxes of your country once for the site; each hotel follows them, or gives its own value.

Multi Resorts › Pricing › Taxes and fees. A tax has a name shown to the guests, a type, a value and, for taxes per guest, a minimum age:

Added taxes and fees are included in the totals shown to the guests. A tax with no hotel selected applies to every hotel. The Taxes screen of a hotel (button above the list of the hotels) gives it its own value or minimum age for a tax of the site (the VAT rate of its country, the tourist tax of its town), declares a tax not applicable, or adds taxes of its own.

www.your-site.com/admin/module=hotel&view=taxes
The Taxes screen of a hotel
Rates & availability

Services (extras)

Breakfast, parking, airport transfer, late check-out, a cot or a pet: what guests add to their stay at the booking, with a total updated at once.

Multi Resorts › Extras › Services. A service has a price, counted once per stay or per night, for the booking, each room, each guest, each adult or each child. Give it a VAT rate, an icon, the rooms it concerns and, if needed, the dates it is offered (heating in winter).

Largest quantity: several, the guest chooses how many (towels, cots); empty or 1, the guest ticks it.

Mandatory: always added and included in every price shown, as the law requires. A fixed fee per stay, such as a cleaning fee, is a mandatory service per stay, for the booking or for each room.

The services and activities of the booking form
The booking form: a mandatory cleaning fee, included; breakfast added with its switch; quantities for parking, towels and pets.
Rates & availability

Promo codes

Multi Resorts › Extras › Promo codes. A code is typed by the guests on the booking form, whatever its case. Its discount, a percentage or an amount, is taken off the rooms only: taxes and services keep their price, and the VAT included goes down in proportion.

Rates & availability

Currencies

You sell and get paid in the main currency of the site. Visitors may see the prices converted into their own currency, as an indication.

  1. Add the currencies to offer in Configuration › Currencies, and turn on Enable currencies in Settings › General. Visitors choose theirs at the bottom of the pages.
  2. The rates come from the European Central Bank, read every six hours (about thirty currencies). Multi Resorts › Pricing › Exchange rates shows them; a rate you type wins over the Bank: to round it, to add a margin for the cost of the exchange, or for a currency the Bank does not publish (dirham, riyal…).
  3. Payments, e-mails, the administration and the bookings stay in the main currency. The booking page tells the guest the amount charged, with its equivalent in the currency chosen.
www.your-site.com/admin/module=exchange_rate&view=list
The Exchange rates screen

Without a rate, or with a rate of the Bank more than 14 days old, prices stay in the main currency: a wrong amount is never shown. If your host blocks the calls to the outside, type your rates yourself.

Activities

Activities & sessions

A walking tour, a cooking class, a spa day or a boat trip: activities have their own pages, and are booked with a stay or on their own.

www.your-site.com/en/activities/walking-tour-of-oia
The page of an activity with its next sessions and its booking form
An activity. Its duration, group size and meeting point, its next sessions with their places left, and its booking form.

Activities

Multi Resorts › Extras › Activities: title, texts and photos; the hotels that offer it (none: every hotel); the price per adult and per child (empty: a child pays as an adult) and the VAT rate; the duration, the places per session and the meeting point. Only with a stay keeps it for the guests of a stay; unticked, it is also booked alone from its page.

Sessions

Multi Resorts › Extras › Activity sessions: the dates, the days of the week (none ticked: every day) and the times, separated by commas (09:00, 14:30). A session may replace the prices and the places of its activity for its dates.

The Activities page lists them with their duration, group size, “from” price and hotel, and each hotel page lists its own. At the second step of a booking, the guest adds the sessions held during the stay, from the day of arrival to the day of departure. Booked alone from its page, an activity belongs to the hotel chosen by the guest; booked during a stay chosen in the same hotel, it joins that stay. Places are counted session by session, activity by activity.

Guest experience

Hotel page

Photos, rating, themes, facilities, contact details, map and directions, video, reviews and activities, then the rooms and their offers for the dates searched.

www.your-site.com/en/hotels/royal-hotel
The top of a hotel page: gallery, rating, themes and contact card
www.your-site.com/en/hotels/royal-hotel#rooms
Rooms and availability: the offers of a room and the selection
Rooms and availability. The guest chooses how many rooms of each offer, and who stays in each; the selection gives the total, VAT and tourist tax at once.
The rooms of a hotel on a phone, with the total and the Book button at the bottom

As on the booking platforms, the best room for the guests is preselected with one unit, and the guest may book several rooms, of several types and offers, at once. The date picker marks, a year ahead, the nights that are full (red dot) and those not for sale yet (grey dot). On a phone, the total and the Book button stay at the bottom of the screen.

The reviews of a hotel: average, distribution and reviews with the answer of the hotel
Guest reviews on the hotel page: see Guest reviews.
Guest experience

Booking steps

Three steps: the rooms, the details, the confirmation. The total follows every choice, and the prices are checked again when the booking is made.

At the second step, the guest:

  • adds the services and the activities of the stay, and a promo code;
  • gives their details: name, e-mail, phone, and optionally company, address and special requests;
  • chooses how to pay, each option telling what is paid now and what is paid at the hotel;
  • accepts the booking conditions, and books.

An online payment opens the secure page of Stripe or PayPal, and the rooms are held meanwhile. The booking forms are protected by the invisible reCAPTCHA v3 of Google, and a booking is never lost when Google cannot be reached.

The payment options of the booking form, with the amounts due now and at the hotel
Guest experience

After the booking

The confirmation e-mail links to the page of the booking, which only its guest can open.

The page shows the status of the booking, the stay, the rooms, the total and the payments. From it, the guest pays what is still due online, cancels online while the free cancellation lasts (payments made with Stripe or PayPal are refunded at once), and, after the stay, reviews it. A guest who booked without an account is offered to create one, with the same e-mail.

The page of a confirmed booking

Reminders that bring guests back

Complete your booking. Rooms chosen but not booked follow the visitor on the other pages of the site, in a small card with the up-to-date total and a link back to the booking. A room taken meanwhile is flagged, with a link to the other rooms. Closed, the card stays closed for this choice.

Payment reminder. A booking still unpaid receives one e-mail while there is time to pay: a third of the way through the hold for an online payment, two days before the deadline for a transfer or a check.

The Complete your booking card on another page of the site
Guest experience

When a hotel is full

A guest who finds no room wants other dates first, then another hotel, and only then to ask the hotel. The hotel page offers the three, in this order.

Guest experience

Customer account

Most guests book without an account; those who create one find all their stays in My account, including those booked with their e-mail before.

The e-mail address cannot be changed in the account, since it gives access to the bookings: a guest who needs to change it writes to you.

Bookings

Bookings

Multi Resorts › Bookings lists every booking of your hotels, from the website, from the hotels themselves and from the platforms.

www.your-site.com/admin/module=booking&view=list
The list of the bookings
Bookings. Filters by hotel, status, origin (Booked by: website, hotel, Airbnb…) and owner, and a search by reference or guest.
StatusMeaning
Request to confirmA booking of a hotel On request, waiting for the hotel.
Awaiting paymentIts rooms are held until its payment deadline; unpaid then, it is cancelled and the rooms go back on sale.
ConfirmedThe stay will take place.
CancelledCancelled by the guest, the hotel, or for lack of payment. A booking is cancelled, never deleted, and keeps its history.

The booking sheet

www.your-site.com/admin/module=booking&view=form
The sheet of a booking: stay, rooms, payments, guest and actions

The stay, its rooms with their room numbers and offers, the totals, the guest and their message. Payments gives the amount asked, what is paid and the balance, and Record a payment adds one received at the desk (card terminal, cash, transfer, check). Actions confirm a request or cancel the booking, with or without an e-mail to the guest. The origin of the booking and the internal notes are never shown to the guest.

Bookings

Phone bookings & changes

A guest calls, changes their dates, adds a room or agrees on a price: the booking editor lets the hotel change everything, and the total follows.

www.your-site.com/admin/module=booking&view=edit
The booking editor

A room already taken is refused; an overbooking, like a session beyond its places, must be confirmed. Send the updated booking to the guest by e-mail sends them the booking as it now stands.

Bookings

Planning

Every room of a hotel, day by day: who arrives, who leaves, who is in house, and what is left to sell.

www.your-site.com/admin/module=booking&view=planning
The planning of a hotel
Planning. Arrivals and departures of the day with the balance to collect, occupancy per day, and a line per room, with the bookings coloured by status and the stays of the platforms.
Bookings

Requests when full

Multi Resorts › Bookings › Requests when full gathers the requests sent from the pages of full hotels, with their dates, guests and message. Answer by e-mail, mark a request as handled or to handle again, or turn it into a booking when a room can be found: the booking editor opens with its dates, guests and contact details, and the request becomes Booked. The dashboard tells you when requests are waiting.

The dashboard gathers what needs you: booking requests to confirm, reviews to check, requests when full, owner applications, hotels of owners to publish, and the calendars of the platforms in conflict or not read.

Payments

Payment settings

Extensions › Panda Multi Resorts › Settings › Payment sets how guests pay, for every hotel that does not choose otherwise.

www.your-site.com/admin/module=extensions&view=settings
The Payment tab of the settings of Panda Multi Resorts
SettingUse
Payment methodsAt the hotel, Card (Stripe), PayPal, Bank transfer, Check: those offered on the booking form.
Amount asked when bookingThe whole stay, a percentage (30 % by default), the first night or a fixed amount, paid online or by transfer or check; the rest is paid at the hotel. Whole stay up to asks for the whole stay below an amount. Nothing is asked with the payment at the hotel.
Rooms held during an online paymentFrom 30 minutes to 24 hours. Past this time without payment, the booking is cancelled and its rooms released.
Time to pay by transfer, check or payment linkIn days. Past this time, a booking still unpaid is cancelled and the guest told. 0: no limit, the hotel decides.
Remind the guests who have not paid yetOne e-mail while there is still time to pay.
Bank details, Check payable toGiven to the guests who pay by transfer (holder, IBAN, BIC) or by check (payee and postal address).

The other tabs: Calendars (iCal) (how often the platform calendars are read), Booking (requests when full, reCAPTCHA of the booking forms, online cancellation, free cancellation of the standard rate), Reviews, Accounts (owner applications) and Map. Each is described in its chapter.

Payments

Stripe

Guests pay by card, Apple Pay or Google Pay on the secure page of Stripe (Stripe Checkout): no card number ever passes through your server.

  1. Get your keys

    In your Stripe account, Developers › API keys: copy the Publishable key and the Secret key into the Payment tab, with Card (Stripe) ticked. Start with the test keys (pk_test_…, sk_test_…): payments can be tried without charging anything. Both keys must be test keys, or both live keys.

  2. Add the webhook advised

    In Developers › Webhooks, add the endpoint below with the events checkout.session.completed and checkout.session.expired, then paste its signing secret (whsec_…) in Webhook signing secret. The payments are then recorded even when a guest closes the page too early.

    https://www.your-site.com/multiresorts/stripe/webhook
  3. Try it

    Make a booking with the test card 4242 4242 4242 4242, any future expiry date and any CVC, and check it in Bookings.

  4. Go live

    Replace the test keys with your live keys, and add the same webhook in the live mode of Stripe with its own signing secret.

When a guest cancels online during the free cancellation, the payment made with Stripe is refunded at once.

Payments

PayPal

  1. Create an application

    On developer.paypal.com, with your PayPal business account, open Apps & Credentials and create a REST application in Sandbox mode.

  2. Paste its credentials

    Copy its Client ID and Secret into the Payment tab, with PayPal ticked, and turn on Sandbox (test mode): payments are simulated with the test accounts of the sandbox.

  3. Go live

    Create the application in Live mode, paste its credentials and turn off Sandbox.

Guests pay on the secure page of PayPal; online cancellations are refunded at once.

Payments

Bank transfer & check

The guest receives your bank details, or the payee and address of the check, on the booking page and in the e-mail, with the deadline. The booking waits as Awaiting payment, with its rooms held, and the guest receives one reminder. When the payment arrives, record it on the booking sheet (Record a payment); without payment at the deadline, the booking is cancelled and the guest told.

Payments

Payments per hotel

Each hotel may have its own payment methods, deposit, bank details, and its own Stripe and PayPal accounts: its payments then go straight to it.

www.your-site.com/admin/module=hotel&view=payments
The Payments screen of a hotel, with the values of the site in grey
Payments of a hotel, button above the list of the hotels. Every value left empty follows the settings of the site, shown in grey; In force for this hotel sums them up.

A hotel with its own Stripe account has its own webhook address, shown under its keys (…/multiresorts/stripe/webhook?hotel=3): add it to its Stripe account as above.

Distribution

Platform calendars (iCal)

Sell your rooms on Airbnb, Booking.com, Vrbo and the other platforms without double bookings: their stays block your rooms, and your bookings block theirs.

www.your-site.com/admin/module=hotel&view=calendars
The Platform calendars screen of a hotel, with an Airbnb connection
Platform calendars. One line per room; a connection shows its stays to come, when it was read, when the platform read yours, and the address of your calendar to paste on the platform.

Connect a room

  1. Copy the calendar of the platform

    On the platform, open the calendar settings of the listing and copy its export address (on Airbnb, in the availability settings of the listing, Connect calendars; on Booking.com, Rates & Availability › Sync calendars; the names may change with their interfaces).

  2. Connect it

    Open Calendars above the list of the hotels (or from the planning), click Connect a platform on the room, choose the platform and paste the address. The calendar is read at once, then at the interval of the settings; Read now reads it again.

  3. Give yours to the platform

    Copy the Address of your calendar shown under the connection and paste it in the import settings of the platform.

How it works

Calendar synchronisation (iCal) is made for rooms sold one by one. Booking.com only accepts it for up to 20 room types of one room each, and not together with a channel manager. For a hotel selling many identical rooms on several platforms, a channel manager is the right tool.

Distribution

Guest reviews

Reviews written by real guests, invited after a stay booked on your site, checked by you, and answered by the hotel.

  • Who reviews. The guests of a confirmed stay booked on the site (not from a platform), from the day of departure and for 90 days, one review per booking. They write, change or delete it from the page of their booking.
  • Invitation. One e-mail the day after the departure, from 10 am (template MR_REVIEW_INVITATION). Stays that ended before the installation are never invited.
  • Moderation by the site. In Multi Resorts › Bookings › Guest reviews, the administration publishes each review, or refuses it for a reason of the list: abusive words, personal data, unrelated to the stay, advertising, conflict of interest. The guest is told why and may change it. The law forbids refusing a review because it is negative.
  • The answer of the hotel is shown under the review. A hotel owner answers, but never publishes or refuses.
  • On the site: the average out of 5 with its word (Excellent from 4.5, Very good from 4, Good from 3.5), the distribution of the ratings, the reviews from the latest with the mention “Verified stay”, and the rating on the hotel cards. The page says how reviews are collected and checked.

The Reviews tab of the settings turns reviews and invitations on or off; each hotel may decide otherwise in its form.

The moderation of the guest reviews in the administration
Distribution

Hotel owners & roles

Give each hotel its owners: they manage their properties from the administration, and never see those of others.

RoleWhat it does
AdministratorEverything, including the settings, the extensions, the exchange rates and the import.
ManagerRuns the catalogue, the rates, the bookings, the reviews and the owners of every hotel.
EditorWrites the content: pages and articles, and the texts and photos of hotels, rooms, destinations and activities.
Hotel ownerManages their hotels: their texts and photos, rooms, rates, rate plans, services, promo codes, taxes, activities and sessions, bookings and requests, and answers their reviews.
RegisteredA customer of the website, with their account; no access to the administration.

Choose the owners of a hotel in its form, in the Owners block. What belongs to a hotel belongs to its owners, whoever created it; an item shared by several hotels (a tax, an activity) belongs to the owners of all of them. An owner cannot create or publish a hotel: the administration publishes it once it is complete, and publishes the activities of the owners too. A promo code without a hotel stays with the administration.

Owner applications

Turn on Hotel owners apply from their account in the Accounts tab of the settings: My account then offers List my property, where a customer describes their property. You are told by e-mail and on the dashboard. In Multi Resorts › Owners › Owner applications, Accept turns the account into a Hotel owner account and creates its hotel as a draft, which they complete and you publish; Decline tells them, with a message if you wish.

Website

Home page & widgets

The home page is made of widgets you place, order, translate and hide in Content › Widgets, without touching any code.

www.your-site.com/admin/module=widget&view=list
The list of the widgets

Widgets of Panda Multi Resorts

  • Stay search: destination, dates and guests. First widget under the slideshow, it overlaps the bottom of the images; in a side column, its fields stack.
  • Featured hotels, Featured destinations, Featured rooms: the items marked Home in their lists, in their order (the first six when none is marked), in a row that scrolls.

Widgets of the theme

Slideshow, full-width banner, parallax banner, checklist, featured and latest articles, article grid, image carousel, testimonials, video background, contact information, page list, footer menu, custom HTML content…

Each widget has a position (top of the page, before or after the main content, left or right column), its pages, its order and its languages.

The slides of the slideshow are edited in Content › Slideshow: image or video, title, subtitle, text and button, in each language.

Website

Pages, menus & blog

Pandao CMS manages the rest of the website:

Deleted items go to the Trash, from which they can be restored. The editor saves drafts automatically, and an item being edited by someone else is locked for you meanwhile.

Website

Languages & texts

Offer your site in as many languages as you need, right-to-left ones included.

  1. A new site opens in English and French, with the language selector in its header. Enable foreign languages, in Settings › General, turns the languages other than the main one off, or on again.
  2. In Configuration › Languages, publish or add a language: its name, its code (de), its locale (de_DE), its flag and, for Arabic or Hebrew, right to left. Each content receives a copy to translate, in the main language.
  3. Translate the content in each form (a tab per language), then the interface: Configuration › Texts for the texts of the website, and Communication › Emails content for the e-mails.
www.your-site.com/ar/hotels/paradise-hotel
A hotel page in Arabic, read right to left
Right to left. In Arabic, the whole page is mirrored: menus, carousels, forms and buttons.

Panda Multi Resorts comes with its texts and e-mails written in English and French; the other languages start from the English ones. The administration is available in English, French, Spanish, Portuguese, Dutch, Russian and Turkish, chosen in Settings › General (Admin panel language).

Website

E-mails

Every e-mail is a template of Communication › Emails content, in each language, with variables such as {firstname}, {reference} or {hotel} replaced when it is sent. Panda Multi Resorts installs, among others:

TemplatesSent
MR_BOOKING_CONFIRMED, MR_BOOKING_REQUESTED, MR_BOOKING_AWAITING_PAYMENTTo the guest, when the booking is made, according to its status.
MR_BOOKING_NOTIFICATIONTo the hotel and to the site, for each new booking.
MR_BOOKING_PAYMENT_REMINDER, MR_BOOKING_EXPIREDTo the guest, before and at the payment deadline.
MR_BOOKING_UPDATED, MR_BOOKING_CANCELLED, MR_BOOKING_CANCELLED_GUEST, MR_BOOKING_CANCELLED_HOTELWhen the hotel changes or cancels a booking, or the guest cancels online.
MR_REVIEW_INVITATION, MR_REVIEW_PUBLISHED, MR_REVIEW_REFUSED, MR_REVIEW_NEWThe invitation to review, the answer of the moderation, and the review to check.
MR_AVAILABILITY_REQUEST, MR_OWNER_*, MR_CALENDAR_*Requests when full, owner applications, and the alerts of the platform calendars.

A booking made of activities alone has its own versions (…_ACTIVITY), which speak of dates and places instead of nights and rooms. The e-mails carry the banner of Settings › Appearance, and are sent through the SMTP server of Settings › Email settings when you give one.

Website

Branding & theme

Your logo and your colours, without editing a file: Settings › Appearance.

www.your-site.com/admin/module=settings#appearance
The Appearance tab: visual identity and brand colours

The website uses the default theme of Pandao CMS, chosen in Settings › General › Template. It was designed with Panda Multi Resorts: with another theme, everything works, but the search bar shows under the slideshow instead of overlapping it. To change the theme itself, create a child theme (see Customisation).

Website

Maps

The maps use Leaflet and OpenStreetMap, with no key and no account: the map of the results, the map of a destination, and the map of each hotel with its Directions link, which opens Google Maps (the app on a phone). A map only loads when it is opened or comes into view, which keeps the pages light and the visitors' address private until then.

Settings › Map turns off the map of the lists, and changes the background of the maps. The servers of OpenStreetMap accept a moderate traffic: for a busy site, take a tile provider such as MapTiler, Stadia Maps or Thunderforest, and paste the address it gives for raster tiles of 256 pixels, with your key, and its credit:

https://api.maptiler.com/maps/streets-v2/256/{z}/{x}/{y}.png?key=YOUR_KEY

In the administration, Find the address of the hotel form searches the address with Nominatim (OpenStreetMap).

Website

Privacy & security

Privacy

  • A cookie banner (Settings › General) with Accept all, Reject all and Customise, as European regulators ask.
  • A privacy policy page with a model text, completed by a section that Panda Multi Resorts writes for you: bookings, account, payments, maps, videos, platform calendars, reCAPTCHA and reviews.
  • Guests delete their account themselves; their bookings are kept for the accounts, without their details.
  • Videos and maps only load when the visitor asks for them.

Security

  • Pandao CMS 8 is a hardened CMS: prepared SQL queries, protection of every form against forged requests, security headers, modern password hashing.
  • The booking forms are protected by the invisible reCAPTCHA v3 (Settings › Booking of Panda Multi Resorts, with the keys of Settings › General) and limited per visitor.
  • Card payments happen on the pages of Stripe and PayPal: no card number reaches your server.
  • Secret keys are never displayed again once saved.
Website

SEO

Developers

Customisation

Keep your changes out of the files of the package, so that every update stays a simple upload.

A child theme

A theme is a folder of templates/. A child theme only holds the files it changes: every file it does not have is taken from the default theme.

  1. Create templates/my-theme/ (lowercase letters, digits, hyphens).
  2. Add your styles in templates/my-theme/assets/css/custom.css, loaded after the styles of the theme.
  3. To change a template, copy it at the same path: from the default theme (views/partials/footer.php), or from Panda Multi Resorts, whose views live in extensions/multiresorts/templates/.
  4. Choose it in Settings › General › Template.
To changeCopy
The hotels list, a hotel pageviews/multiresorts_hotels.php, views/multiresorts_hotel.php
Destinations, activitiesviews/multiresorts_destinations.php, views/multiresorts_destination.php, views/multiresorts_activities.php, views/multiresorts_activity.php
The booking pageviews/multiresorts_booking.php and its views/partials/multiresorts_checkout_*.php
A card: hotel, room, activityviews/partials/multiresorts_hotel_card.php, …_room_card.php, …_activity_card.php
The “Complete your booking” cardviews/partials/multiresorts_cart_reminder.php
The widgetswidgets/multiresorts_search.php, widgets/multiresorts_featured_hotels.php…

A copied template no longer receives the improvements of the updates: prefer CSS when it is enough, copy only what you must, and compare your copies with the new versions after an update.

Texts and e-mails need no code: they are edited in the administration. For developers, the architecture of the extensions (manifest, routes, hooks, modules, migrations) follows the conventions of Pandao CMS.

Developers

Command line

From the folder of the site, with the PHP of the site and its user:

php bin/pandao cron                                # runs the automatic tasks that are due
php bin/pandao extension:update multiresorts       # applies an update of Panda Multi Resorts
php bin/pandao extension:enable multiresorts       # enables it, as the Extensions page does

To display the PHP errors while you investigate a problem, add define('PMS_DEBUG', 1); to config/config.php, then remove it: a live site never shows its errors, it writes them in the PHP log of the server.

Help

Troubleshooting & FAQ

Start with the Diagnostic screen: it checks PHP, the database, the server and the automatic tasks, and says what to ask your host.

The wizard does not open, or every page answers “Not found”

The .htaccess files were not uploaded (they are hidden: show the hidden files in your FTP client), or the server ignores them. Ask your host to turn on mod_rewrite and allow .htaccess files (AllowOverride All). On IIS, URL Rewrite reads the web.config file.

A blank page or an “error 500”

Check the version and the extensions of PHP (see Requirements), then the PHP error log of your hosting panel. define('PMS_DEBUG', 1); in config/config.php shows the error for a while.

The Multi Resorts menu is missing after the first login

Open Extensions and click Enable on Panda Multi Resorts: the message of the first login tells why it could not be enabled.

E-mails do not arrive

Give the SMTP server of your mailbox in Settings › Email settings, with a sender address of your own domain, and look in the spam folder. The SPF and DKIM records of your domain, set with your host, help delivery a lot.

An online payment fails, or is not recorded

The site must be served in HTTPS. Stripe keys must both be test keys or both live keys, and the webhook must use the events checkout.session.completed and checkout.session.expired. For PayPal, Sandbox must match the credentials of the application.

Unpaid bookings are not cancelled, calendars are not updated

The automatic tasks are late: see the synchronisation in the Diagnostic screen, and add the cron job.

A platform does not show my availability

Platforms read your calendar every 2 to 3 hours. Check that you gave them the address of the right room, and that your site is reachable in HTTPS.

Prices are not converted into other currencies

Turn on Enable currencies and add the currencies. The Exchange rates screen shows the last reading of the rates of the European Central Bank; if your host blocks it, type your rates.

A booking is on the “To place” line of the planning

No room of its type was free: drag it to a room, or free one.

The photos of the demo look heavy just after the installation

They are written at their sizes by the automatic tasks in the minutes that follow.

Do guests pay in their own currency?

No: like on the booking platforms, the conversion is an indication, and guests pay in the main currency of the site, which the booking page tells them.

Help

Support

We answer through the Support tab of the page of Panda Multi Resorts on CodeCanyon.

Help

Credits & licences

Panda Multi Resorts and Pandao CMS are made by Pandao and sold under the licences of Envato Market. They include the following resources, each under its own licence.

ResourceLicence
Photos of the demo contentCC0 (StockSnap, WordPress Photo Directory), or owned by Pandao: extensions/multiresorts/demo/photos/CREDITS.md
Sample photos and video of Pandao CMSCC0 (StockSnap) and public domain (NASA): docs/CREDITS.md
Phosphor IconsMIT
Rubik, Urbanist, Sora (fonts)SIL Open Font License 1.1
Bootstrap 5, jQuery, jQuery UIMIT
Owl Carousel, Magnific Popup, Animate.css, imagesLoaded, jQuery Appear, jQuery matchHeight, js-cookie, c-shareMIT
jQuery LazyMIT or GPL-2.0
Bootstrap Star RatingBSD-3-Clause
IsotopeGPL-3.0, or commercial licence of Metafizzy
MeanMenuGPL-3.0
CKEditor 5 (text editor of the administration)GPL-2.0 or later, or commercial licence of CKSource
UploadiFive (uploads of the administration)UploadiFive Standard License
PHPMailerLGPL-2.1
flatpickr, Leaflet.markerclusterMIT
LeafletBSD-2-Clause
Map data© OpenStreetMap contributors (ODbL)
Help

Changelog

Version 9.1.0 New

With Pandao CMS 8.1.0. To update, upload the new files, then click Update now (see Updating).

Version 9.0.0

A complete rewrite of Panda Multi Resorts, as an extension of Pandao CMS 8 (PHP 8.2 to 8.5):