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.
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.
Area
Version 8
Version 9
Rates
Lists of periods and packages
Rates calendar, seasons on a timeline, copy of a season with a price change, rate plans with their own terms
Booking form
One room at a time
Several rooms and offers at once, live total, extras and activities, promo codes, all-inclusive prices
Payments
PayPal, 2Checkout, Braintree, Razorpay
Stripe Checkout (cards, Apple Pay, Google Pay), PayPal, transfer, check, at the hotel; deposits, refunds, an account per hotel
Administration
Generic lists
Planning, booking editor for phone bookings, dashboards and alerts, owners filter, diagnostic screen
Platform calendars
Import and export of a calendar
A 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
Website
Bootstrap 3 theme
New responsive theme, widgets placed from the administration, maps without Google, right-to-left languages, currencies
Platform
PHP 5 to 8
PHP 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.
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.
HTTPS 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.
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.
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.
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 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.
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
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.
Task
Frequency
What it does
Cancellation of the bookings not paid in time
every 5 min
Cancels an unpaid booking at its deadline, releases its rooms and tells the guest; sends one payment reminder before.
Reading of the platform calendars
every 5 min
Reads each connected calendar at the interval chosen in the settings (30 minutes by default).
Reading of the exchange rates
every 6 h
Reads the reference rates of the European Central Bank, when the site offers several currencies.
Invitations to review the stays
every hour
Sends one invitation the day after the departure, from 10 am.
Preparation of the photos of the demo content
every minute
Just 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:
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
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.
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.
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.
Your brand
Settings › Appearance: logo, footer logo, e-mail banner, favicon and brand colours. See Branding & theme.
The main currency
Configuration › Currencies: the currency of your prices, in which guests pay.
The settings of Panda Multi Resorts
Extensions › Panda Multi Resorts › Settings: payment methods and deposit, booking options, reviews, accounts and maps. See Payment settings.
Your catalogue
Destinations, hotels, rooms, rates, offers, taxes and services: the next chapters describe each screen.
Your legal pages
The Booking conditions, Privacy policy and Legal notice pages hold model texts: complete the passages between brackets.
The anti-robot check
Create reCAPTCHA v3 keys on google.com/recaptcha and paste them in Settings › General (Captcha: public key and secret key).
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.
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
Back up the files and the database of the old site.
Check that the hosting meets the requirements (PHP 8.2 or later: your host can usually change the version of PHP in its panel).
Put both sites on the same hosting account: the importer reads the folder, the configuration, the images and the database of the old site. The simplest is a neighbouring folder or a temporary sub-domain, such as new.your-site.com. An old site hosted elsewhere is copied to the account, its database imported there, and the database details updated in its common/config.php.
Prepare your reCAPTCHA v3 keys, the Client ID and Secret of a PayPal REST application (version 9 no longer uses a PayPal e-mail alone), and your Stripe keys.
Import your data
Install version 9
Follow the installation in its own folder, with a new, empty database: never reuse the one of the old site.
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
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.
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.
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.
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.
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:
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.
Back up
The files and the database of the site.
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.
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
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
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
Field
Use
Title, Subtitle
Name of the hotel and its tagline, on its page and its cards.
Description, Main text
The summary shown under the title in the search results, then the full presentation of the hotel page.
Video
The 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, Stars
Where the hotel is listed, and its official category (1 to 5 stars).
Facilities, Themes
Its facilities (Wi-Fi, pool, parking…) and its themes (beach, spa, family…), shown on its page and used as filters.
Contact details
Address, 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-out
Times given to the guests (for example 15:00 and 11:00).
Booking confirmation
Immediate: 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 rate
Empty, they follow the settings of the site; set them to decide otherwise for this hotel.
Medias
The photos of the hotel, ideally 1920 × 1280 px: every size shown on the site, and a WebP copy, are made for you.
Owners
The 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.
Field
Use
Hotel, Title, Subtitle, Description, Main text
The 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 guests
Who may stay in one room. The best room for the guests searched is preselected.
Rooms of this type
The number of identical rooms that can be booked for the same night.
Room numbers
Numbers 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 from
The price per night displayed before a search. Real prices come from the rates calendar.
Size, Facilities, Medias
Its 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
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.
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.
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.
Rates & availability
Guests & children
Set the defaults of the hotel once: a room, or a rate period, only needs a value where it differs.
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:
Field
Use
Title, Description
The name and the conditions shown to the guests.
Hotel, Rooms
Where it is sold. No room selected: every room of the hotel.
Price change, Amount
A 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).
Meals
Room only, breakfast included, half board, full board or all inclusive.
Minimum and maximum nights
The lengths of stay it accepts.
Book at least / at most (days before arrival)
An early booking offer, or a last minute one.
Refundable, Free cancellation
Whether it can be cancelled, and until how many days before arrival free of charge.
Promotion dates
Stays 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:
VAT included in the prices (%): included in your prices, detailed on the booking;
Percentage added to the room price (%);
Amount per guest and night: the tourist tax, with the age under which guests are exempt;
Amount per room and night, and amount per room and stay (a cleaning fee…).
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
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 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.
Hotel, Rooms: where it works. A code without a hotel works everywhere and belongs to the administration: hotel owners do not see it.
Bookings from / until: the days it can be used; Stays from / until: the whole stay must be within these nights.
Minimum nights, Minimum amount, Number of uses (cancelled bookings not counted) and Once per guest.
Title: for you only, the campaign or partner of the code.
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.
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.
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…).
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.
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.
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
Search & results
The search bar asks for the destination, the dates and the guests, with the age of each child. The results give the total price of the stay, everything included.
www.your-site.com/en/hotels?arrival=…
Results. Filters by category, budget per night and theme; each hotel with its rating, its facilities and the price of the stay, taxes and fees included.
A hotel that has no room for the dates offers See nearby dates. Without dates, the list is a browse of the hotels with their prices “from”. Show on map opens the map of the results: each pin gives the price of its hotel, pins too close together are grouped with their number, and a hotel without a room for the stay is shown in grey.
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
www.your-site.com/en/hotels/royal-hotel#rooms
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.
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.
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.
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.
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.
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.
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.
Nearby dates: stays of the same length for the same guests, from 7 days before to 14 days after, the nearest first, with their price;
Other hotels available on the same dates;
A request to the hotel, when Requests when full is on (setting of the site, or of the hotel). It is saved and sent by e-mail to the hotel and to the guest; nothing is booked or paid. See Requests when full.
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.
My bookings: the stays to come first, then past and cancelled ones, each with its status, the balance to pay and a link to its page.
My details: names, phone and address, which fill the booking form in advance.
Delete my account, confirmed by the password: the details are erased, and the bookings kept for the accounts, without their link to the account.
List my property, when owner applications are on: see Hotel owners.
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
Bookings. Filters by hotel, status, origin (Booked by: website, hotel, Airbnb…) and owner, and a search by reference or guest.
Status
Meaning
Request to confirm
A booking of a hotel On request, waiting for the hotel.
Awaiting payment
Its rooms are held until its payment deadline; unpaid then, it is cancelled and the rooms go back on sale.
Confirmed
The stay will take place.
Cancelled
Cancelled 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 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
New booking (list or planning) or Edit (booking sheet): dates and origin of the booking.
Rooms: type, room number (the first free one by default), offer, adults and children's ages, and the price of the stay. Empty, a price follows the rates; typed, it is kept. Take every price at the rates goes back to them.
Services and activities: the sessions held during the stay are offered with their places left.
Discount and payment, and the amounts: rooms, taxes, total with its VAT, paid and balance.
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.
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.
Move a booking by dragging it to another room of the same type.
Book by dragging over the free days of a room: the booking editor opens with them.
To place: the line of the bookings that found no free room, to place by hand.
A red bar flags a conflict with a platform calendar.
On a tablet, a long press takes a booking or starts a selection of days; a simple swipe scrolls the planning.
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.
At the hotel, Card (Stripe), PayPal, Bank transfer, Check: those offered on the booking form.
Amount asked when booking
The 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 payment
From 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 link
In 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 yet
One e-mail while there is still time to pay.
Bank details, Check payable to
Given 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.
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.
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.
Make a booking with the test card 4242 4242 4242 4242, any future expiry date and any CVC, and check it in Bookings.
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
Create an application
On developer.paypal.com, with your PayPal business account, open Apps & Credentials and create a REST application in Sandbox mode.
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.
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.
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.
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
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).
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.
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
One connection per physical room: a calendar carries no quantity. A room type of several identical rooms has one connection per room.
The stays of a platform become bookings of your site, with their origin (Airbnb, Booking.com…), in the list and the planning. A calendar gives no guest details: add the guest, the number of guests, notes and the amount to collect on the booking. Do not block these nights releases a wrong block.
The nights Airbnb closes without a booking (its own availability settings) are not imported, unless you ask for it in the connection.
Your calendar gives the platforms whole days, without any personal data, and the stays of the other platforms.
Conflicts. A stay of a platform takes the room of its connection. A booking of your site in that room, whose guest has not arrived, moves to a free room of the same type; otherwise it is a conflict: one e-mail to the hotel, a red bar in the planning and an alert on the dashboard. Nothing is refused or cancelled on its own.
Safeguards. A calendar that is truncated, invalid or in error cancels nothing; a calendar suddenly empty is only applied when read empty twice; a stay already started is never cancelled.
Timing. Your site reads the calendars every 30 minutes by default (Settings › Calendars (iCal), from 15 minutes to 6 hours), but the platforms read yours at their own pace, every 2 to 3 hours: a room booked on both sides meanwhile shows as a conflict. A calendar not read for 6 hours sends an e-mail, and the Diagnostic screen shows each calendar.
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.
Distribution
Hotel owners & roles
Give each hotel its owners: they manage their properties from the administration, and never see those of others.
Role
What it does
Administrator
Everything, including the settings, the extensions, the exchange rates and the import.
Manager
Runs the catalogue, the rates, the bookings, the reviews and the owners of every hotel.
Editor
Writes the content: pages and articles, and the texts and photos of hotels, rooms, destinations and activities.
Hotel owner
Manages their hotels: their texts and photos, rooms, rates, rate plans, services, promo codes, taxes, activities and sessions, bookings and requests, and answers their reviews.
Registered
A 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
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:
Pages, each with its model: the Hotels, Destinations, Activities, Booking and My account pages are installed by Panda Multi Resorts, as well as Booking conditions and Privacy policy. Add yours (About us, Offers, Weddings…) with the standard model.
Articles: the blog, with its tags and comments.
Menus: the main menu and the footer menus, with their order and languages.
Medias: the media library, used in the texts through the editor.
Forms, Messages, Comments, Popup, Social links and Locations complete 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.
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.
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.
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
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:
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.
Visual identity: the site logo, the footer logo (for the dark background), the e-mail banner and the favicon (32 × 32 px), in PNG. Use the template default goes back to the images of the theme.
Brand colours: the main colour and the highlight colour. Left empty, the colours of the theme apply, shown in grey.
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:
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
Clean addresses in each language (/en/hotels/royal-hotel), with the Alias, Title tag and Robots fields of each page, hotel, destination and activity.
A sitemap (/sitemap.xml) that lists the hotels, destinations and activities, and a robots.txt kept up to date by the settings.
A canonical address for each page, from the Public site URL of the settings.
The code of Google Analytics in Settings › General: with the cookie banner, it only runs once the visitor accepts the statistics cookies.
Pages and URLs of a version 8 site are kept by the importer.
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.
Add your styles in templates/my-theme/assets/css/custom.css, loaded after the styles of the theme.
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/.
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.
Item support comes with your purchase for 6 months, and can be extended to 12 months. It covers questions about the features of the product, the fixing of bugs, and help with the third-party assets it includes, as described by the item support policy of Envato. Installation services and customisation are not included.
To get a quick answer, describe what you did, what you expected and what happened, give the address of the page, and paste the report of the Diagnostic screen (Copy the report). For an import, add the import report. Never send a password in a message.
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.
Resource
Licence
Photos of the demo content
CC0 (StockSnap, WordPress Photo Directory), or owned by Pandao: extensions/multiresorts/demo/photos/CREDITS.md
Sample photos and video of Pandao CMS
CC0 (StockSnap) and public domain (NASA): docs/CREDITS.md
With Pandao CMS 8.1.0. To update, upload the new files, then click Update now (see Updating).
a new site opens in English and French, with the language selector, like the demo;
while uploaded files wait for the Update now click, the site tells its visitors that it is being updated, with a code that search engines read as temporary, instead of “page not found”, and every screen of the administration shows the button;
the demo content of a new site shows the right facilities on each hotel and room, with seven new icons (hair dryer, satellite TV, radio, hi-fi, DVD player, cloakroom, pets not allowed), also given to the facilities imported from version 8;
on a phone, the cookie banner is a low strip that leaves the page visible;
the featured articles of the home page have the same height, with their link at the bottom;
the title of the maintenance page is readable on its photo;
a site shown in the frame of another one, such as the live preview of a marketplace, keeps its bookings and its administration in every browser, Safari and private windows included.
Version 9.0.0
A complete rewrite of Panda Multi Resorts, as an extension of Pandao CMS 8 (PHP 8.2 to 8.5):
rates calendar, seasons with the copy of a season, guests and children by age, rate plans with their promotion dates;
booking of several rooms and offers at once, all-inclusive prices, services and activities, promo codes;
Stripe Checkout and PayPal, deposits, holds and reminders, payments and accounts per hotel, online cancellation with refunds;
planning, booking editor for the bookings made by the hotels, requests when full;
platform calendars (iCal) room by room, with conflicts and alerts;
verified guest reviews, customer accounts, hotel owners and their applications;
currencies at the rates of the European Central Bank, maps without Google, right-to-left languages;
a new theme, widgets for the home page, a complete demo content;
the import of a version 4.0 to 8.1 site, passwords of the customers included;
the Diagnostic screen and the automatic tasks run by the visits when there is no cron job.