Panda Resort
Documentation · Version 9.2.0

Your hotel, booked directly.

Panda Resort is the website and the booking engine of one hotel, resort or guest house. Rooms, rates, availability, payments, platform calendars, reviews and a beautiful website that sells your stays without commission: everything in one product, installed in a few minutes.

  • Panda Resort 9.2.0
  • Pandao CMS 8.2.1
  • 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 Resort: slideshow and stay search
The same home page on a phone
Welcome

Thank you for choosing Panda Resort

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 Resort 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 Resort adds everything your hotel needs: its rooms, rates, bookings, payments, platform calendars, reviews and activities. Both are installed together, in one go.

It runs on the booking engine of Panda Multi Resorts, our product for hotel groups and travel websites, made simple for one property. The day you add a second hotel, Panda Multi Resorts takes over your site and keeps all its data: see Several properties?

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.

Your hotel, your website

A home page that sells your stays, and a Rooms page with your photos, facilities, map, reviews and every room with its offers.

Rates you can see

A rates calendar, 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 your 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 Rooms page.

Activities

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

Phone bookings too

Book a stay taken at the desk or by phone, change its dates, rooms or price: the total follows, and the guest receives the booking as it stands.

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

Panda Resort 9 is a complete rewrite on Pandao CMS 8 and PHP 8.2 to 8.5, with the booking engine of Panda Multi Resorts 9. 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
AdministrationGeneric listsPlanning, booking editor for phone bookings, dashboards and alerts, 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.

Websiteresort.pandao.eu
Administrationresort.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 Resort 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-resort-9.2.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 Resort, on the engine of 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 Resort 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 Resort, 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 Panda Resort menu appears.

    www.your-site.com/admin/module=dashboard
    The dashboard after the first login, with the message that Panda Resort 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, the featured rooms, a “Why book direct” block, a banner for weddings and events, a parallax section for the activities, four articles in the blog, the contact details and “About us” text of the footer, and the brand of Panda Resort with its colours, in English and French: the site opens in both, with the language selector.

The catalogue

Panda Resort, a fictional boutique hotel on the caldera of Santorini, with 7 room types (22 rooms) from the classic double to the royal suite, their rates, offers, services, taxes, two activities and a promo code (BIENVENUE10). The hotel has 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.

Make the demo hotel yours in Panda Resort › My property: its name, texts, photos, address and rooms. 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 your hotel: “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 Resort

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

  6. Your property

    Its texts, photos and contact details, its 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 Resort 4 to 8. Allow about an hour for a typical site, plus the time to check the result. An old site of Panda Multi Resorts, with several hotels, is refused: it goes into Panda Multi Resorts 9, which has the same importer.

What is imported

  • Settings: name, contact details, e-mail addresses, time zone, formats, currency, languages (right-to-left included), SMTP, payment methods and deposit.
  • Your property, made from the settings and the home page of the old site (name, address, phone, e-mail, texts, and the photos of its slideshow), and its rooms, facilities 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 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: the Rooms page keeps /rooms, and the old address of a room opens the Rooms page at that room. Rated comments of the rooms become reviews of the hotel, 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

    Panda Resort › 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=legacy_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 Resort enabled
Extensions. Version and status of Panda Resort, its Settings, and Update when new files are uploaded.
Getting started

Several properties? Move up to Panda Multi Resorts

Panda Resort sells one property. The day you open a second hotel, or sell the stays of other properties, your site moves up to Panda Multi Resorts, which runs on the same engine: nothing to reinstall, nothing to import.

  1. Get the add-on

    Multi Resorts, add-on for Pandao CMS, on CodeCanyon, brings the files of Panda Multi Resorts. Take its latest version: it must be at least the version of your Panda Resort.

  2. Back up

    The files and the database of the site.

  3. Upload its files

    Upload the contents of its upload/ folder to the root of your site: it replaces the files of extensions/multiresorts/, and nothing else. Open the administration: your site is now a site of Panda Multi Resorts, with all its screens. The documentation of the add-on describes them.

Everything is kept

  • Your property, its rooms, rates, offers, services, activities, platform calendars and payment settings.
  • Its bookings, reviews and guests, with their accounts.
  • Your pages, articles, menus, widgets, brand, colours and languages.

What you gain

  • As many hotels as you need, each with its own page, rooms, terms, payment accounts and taxes.
  • Destinations, the list of the hotels with their search, filters and map.
  • Hotel owners, who manage their own properties, and their applications from the website.

Your site takes the structure of Panda Multi Resorts at once: the Rooms page becomes the Hotels page (/hotels), which lists the hotels, each with its own page; the home page features the hotels instead of the rooms; and the Destinations page, with a block of the destinations under the stay search, appears with your first destination. A page or a block you renamed keeps your name.

Catalogue

Your property

Your hotel, resort or guest house: its texts, photos, facilities and contact details make the Rooms page of your site. Panda Resort › Catalogue › My property opens its form.

www.your-site.com/admin/module=hotel&view=form
The form of the property
FieldUse
Title, SubtitleThe name of your hotel and its tagline.
Main textThe presentation of your hotel on the Rooms 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.
StarsIts official category (1 to 5 stars), shown beside its rating.
FacilitiesIts facilities (Wi-Fi, pool, parking…), shown on the Rooms page with their icons.
Contact detailsAddress, e-mail, phone and website. The e-mail receives the booking notifications. 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: you confirm each booking, which waits as a request meanwhile.
MediasThe photos of the hotel, the gallery at the top of the Rooms page, ideally 1920 × 1280 px: every size shown on the site, and a WebP copy, are made for you.

Requests when full, online cancellation, guest reviews and the free cancellation of the standard rate are set once, in the settings of Panda Resort (see Payment settings).

The rooms marked Home in the list of the rooms are those of the featured block 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
Title, Subtitle, Description, Main textThe presentation of the room. The details open from its card on the Rooms 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

Panda Resort › Catalogue › Facilities holds the facilities you tick on your property 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.

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:

HotelPayment methods, deposit, cancellation, reviews, taxes; 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 room therefore only fills in what differs from your hotel, and a period what differs from its room.

Rates & availability

Rates calendar

Prices, stay rules and closed rooms of your hotel, day by day, on one screen: Panda Resort › Pricing › Rates.

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 your 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.

Panda Resort › 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.
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 Rooms page, the cheapest offer is preselected, so that the price shown first is the best one; the guest may choose another offer, room by room.

Rates & availability

Taxes & fees

Define the taxes of your country and of your town once: they are added to your prices, or shown as included, on every booking.

Panda Resort › 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, and every tax is detailed on the booking and in the e-mails.

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.

Panda Resort › 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

Panda Resort › 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). Panda Resort › 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

Panda Resort › Extras › Activities: title, texts and photos; 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

Panda Resort › 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 and “from” price, and the Rooms page shows them too. 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 is a booking of its own; booked while a stay is being chosen, it joins that stay. Places are counted session by session, activity by activity.

Guest experience

The Rooms page

The page of your hotel and of its rooms: photos, rating, facilities, contact details, map and directions, video, then every room with its offers for the dates chosen, the activities and the reviews.

The stay search of the home page asks for the dates and the guests, with the age of each child, and leads to it with the price of the stay, everything included. Its menu entry is Rooms, at /rooms as in Panda Resort 8.

www.your-site.com/en/rooms
The top of the page of a hotel: gallery, rating, facilities and contact card
www.your-site.com/en/rooms#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 Rooms 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 the hotel is full

A guest who finds no room wants other dates first, and only then to ask you. The Rooms page offers both, 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

Panda Resort › Bookings lists every booking of your hotel, from the website, from your desk and from the platforms.

www.your-site.com/admin/module=booking&view=list
The list of the bookings
Bookings. Filters by status and origin (Booked by: website, hotel, Airbnb…), and a search by reference or guest.
StatusMeaning
Request to confirmA booking made while your property is On request, waiting for your answer.
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 your 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

Panda Resort › Bookings › Requests when full gathers the requests sent for the stays you could not sell, 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, and the calendars of the platforms in conflict or not read.

Payments

Payment settings

Extensions › Panda Resort › Settings › Payment sets how guests pay.

www.your-site.com/admin/module=extensions&view=settings
The Payment tab of the settings of Panda Resort
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, 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.

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 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 Panda Resort › 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.
  • On the site: on the Rooms page, 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, and the reviews from the latest with the mention “Verified stay”. The page says how reviews are collected and checked.

The Reviews tab of the settings turns reviews and invitations on or off.

The moderation of the guest reviews in the administration
Your team

Your team & roles

Give each person of your team their own account, in the Users module of the administration, with the role that fits what they do.

RoleWhat it does
AdministratorEverything, including the settings, the extensions, the exchange rates and the import.
ManagerRuns the property, its rooms, rates, offers and extras, the bookings, the planning and the reviews.
EditorWrites the content: pages and articles, and the texts and photos of the property, its rooms and its activities.
RegisteredA customer of the website, with their account; no access to the administration.

Each person signs in with their own login and password: never share the administrator account. Hotel owners, who manage only their own properties, come with Panda Multi Resorts: see Several properties?

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 Resort

  • Stay search: dates and guests, leading to the Rooms page. First widget under the slideshow, it overlaps the bottom of the images; in a side column, its fields stack.
  • Featured rooms: the rooms marked Home in their list, 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.

Panda Resort 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 Resort 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_CALENDAR_*Requests when full, 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 Resort: 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 your hotel on the Rooms page 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 form of your property 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 Resort 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 Resort, 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 Resort, whose views live in extensions/multiresorts/templates/.
  4. Choose it in Settings › General › Template.
To changeCopy
The Rooms pageviews/multiresorts_hotel.php
The activitiesviews/multiresorts_activities.php, views/multiresorts_activity.php
The booking pageviews/multiresorts_booking.php and its views/partials/multiresorts_checkout_*.php
A card: room, activityviews/partials/multiresorts_room_card.php, …_activity_card.php
The “Complete your booking” cardviews/partials/multiresorts_cart_reminder.php
The widgetswidgets/multiresorts_search.php, widgets/multiresorts_featured_rooms.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 Resort
php bin/pandao extension:enable multiresorts       # enables it, as the Extensions page does

In the code, Panda Resort is called multiresorts: its folder, its commands and the names of its texts and e-mails (MR_…) are those of the engine it shares with Panda Multi Resorts.

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 Panda Resort menu is missing after the first login

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

Can I add a second hotel?

Panda Resort manages one property, and refuses a second one. To sell several on the same site, add Panda Multi Resorts: your site keeps all its data. See Several properties?

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 Resort on CodeCanyon.

Item pagecodecanyon.net
Several propertiesMulti Resorts add-on
Authoritems.pandao.eu
Live demoresort.pandao.eu
Help

Credits & licences

Panda Resort 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, Wikimedia Commons), 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.2.0 New

With Pandao CMS 8.2.1. A complete rewrite of Panda Resort, as an extension of Pandao CMS 8 (PHP 8.2 to 8.5), on the booking engine of Panda Multi Resorts 9.2.0. For the owners of Panda Resort 4 to 8, it is installed beside the old site and imports its data: see Upgrading from version 8.