Skip to main content

Solidres for Joomla 4.6.0

Stable

Released on All versions of Solidres for Joomla

Files

  • Solidres_Core_Package_v4.6.0.zip

    • Joomla 6.0
    • Joomla 6.1
    • Joomla 6.2

    Solidres_Core_Installer_v4.6.0.zip 4.63 Mb

    Download Solidres_Core_Package_v4.6.0.zip

    Checksums
    SHA1 Signature
    2827ce1fecabd87ea9b10c87cf40b6fd036be80e

Release notes

This release removes the Complex Tariff and Statistics plugins, as announced with 4.5.0: updating moves a site onto Rate Plan, Front Desk and Dashboard, which use the same data. The property's edit screen is rebuilt for owners who are not technical: seven tabs of sections, a plain label and a line of help on every setting in 25 languages, and nothing on screen that does nothing on the site. With Experience 2.4.0, guests can add a tour to their stay in the property's booking form and pay for both at once. A public booking API, off until you switch it on, lets other sites, apps and AI assistants find a free room, price it and book it. The REST API now shows a partner only their own properties' data, keeps their changes inside those properties, and no longer includes stored payment details, and files attached to reservation notes are closed to the web. It also makes every Solidres table accept text in any language, charges extras priced per night or per person again, brings back the Print registration card button, and adds a System Info check for the PDF library that invoices, vouchers and other PDFs are made with.

Removed

  • Complex Tariff: removed. Updating enables Rate Plan on a site that used Complex Tariff and then uninstalls Complex Tariff. Rate Plan edits the same rate plans, so prices, rules and restrictions carry over with nothing to enter again.
  • Statistics: removed. Updating enables Front Desk and Dashboard on a site that used Statistics, moves the widget layout saved in its builder to the Dashboard, unless the Dashboard already has one, and then uninstalls Statistics. Links and menu items that pointed to the Statistics calendars, dashboard or widgets builder open Front Desk and Dashboard instead.

Database

  • Text in any language: some tables added by older Solidres updates, and by a few plugins, were created without a character set. On a database whose default character set is latin1, those tables came out latin1 and refused non-ASCII text, such as a name in Chinese, with Incorrect string value. Every Solidres table is now created as utf8mb4, like a fresh install, and updating converts any Solidres table or column that is not utf8mb4 yet, plugin tables included.
  • Tours: two columns, total_experience_price_tax_incl and total_experience_price_tax_excl, are added to #__sr_reservations. They stay empty on a reservation without tours.
  • Rate limits: a new table, #__sr_api_throttle, keeps the counts behind the public booking API's rate limits. It stays empty while the public booking API is off.

Reservations

  • Print registration card: the button on the administrator's reservation screen appears again once a registration card has been saved. Solidres looked for the card in a folder the Invoice plugin no longer uses, so the button never showed.
  • Trashing and cancelling by payment status: trashing reservations from the Reservations list, and setting a reservation's payment status to Cancelled on its screen, which cancels it, now tell the add-ons that follow a reservation's status, as changing the status itself does. Channel Manager sends the freed dates to the channels, Stream records the change and Experience cancels the tours booked with the stay. Before, they were not told.
  • Room extras without a quantity: a reservation with a room extra that has no quantity is saved with none. The save used to fail with a database error.
  • Filter bar: the Reservations list keeps its filter bar open while any of its filters is in use. The guest name, transaction ID and custom field filters used to close it, hiding what the list was filtered by.

Tours with a stay

  • Booking form: with Experience 2.4.0, the guest step of the property's booking form offers the tours linked to the property, and the confirmation step lists the tours chosen above the grand total, each with its tax. The Experience 2.4.0 changelog has the details.
  • One total: the tours are stored on the reservation as a total of their own, with and without tax, and counted wherever the reservation's total is: the deposit when it includes extras, the amount paid online, the payment history, the balance in the Reservations list, the confirmation emails, the final screen, My Reservations and the administrator's reservation screen. The tours keep their own tax rate, shown on a line of its own; the reservation's tax stays the rooms' tax.
  • Reservations list: with Experience 2.4.0, a Tours filter shows the stays with tours booked with them, or the stays without. Add-ons can now add filters of their own to the list.
  • Revenue report: a Tours column shows the tours booked with each stay, shared out over the nights of the stay in proportion to the room revenue.
  • A place for add-ons: the final screen, My Reservations, the administrator's reservation screen and the customer and owner confirmation emails have a place where add-ons show what they add to a stay. Experience lists the stay's tours there and, after booking, offers the tours still open during the stay.

Payments

  • Payment processing page: after paying online, the guest's Payment processing page moves on to the booking's final screen as soon as the payment is confirmed. Its check failed every time, so the guest always waited the full minute.
  • Experience payment methods limited to some currencies: offered in those currencies and hidden in the others. It was the other way round.

Rate plans

  • Fill empty days from the previous year: a daily rate plan extended by a year no longer has to be priced again day by day. Choose Fill empty days from the previous year before saving, and every day without a price takes the price, minimum and maximum stay, interval and check-in days of the same date a year earlier, or of the same weekday 52 weeks earlier, which keeps weekend prices on weekends. Days that already have a price are not changed. The choice is in the editor of Rate Plan 1.2.0.
  • Weekly rate plans: a week that runs into the next month charges its nights in that month at the week's price again. Those nights were free, so a stay across the end of a month cost less than it should, on the booking form and in the public booking API alike.

Booking form

  • Extras charged per night or per person: priced as they are set again. Since Advanced Extra moved to Joomla 6, an extra charged per night was charged once for the whole stay, and an extra charged per person, which has only an adult and a child price, was free. Solidres now prices every charge type itself, on the booking form, the Hub's reservation form and the public booking API alike; Advanced Extra is still what lets you choose those charge types.
  • Coupons: applying a coupon no longer fails on a site that displays PHP's deprecation notices (Error Reporting set to Maximum).
  • WordPress.com and Squarespace: the Booking form screen's advice follows what the two builders allow today. WordPress.com removes the pasted code on its free plan, and on a paid plan until the plan's hosting features are activated, rather than on every plan below Business, as the screen said. On Squarespace, the code goes into a Code block left in HTML mode, and on a plan that runs no scripts there, a Button block links to the booking page's address instead.

Administration

  • Back office for a managed site: a second administrator menu preset, Solidres back office (managed), is the Solidres back office without Joomla Update, Extensions: Update, Install Extensions and Scheduled Tasks, for the staff of a site whose updates a host or an agency runs. It hides menu entries only: the user group's permissions still decide which screens open. Its title is in all 25 languages.
  • Managed Download ID: on a site that its provider has marked as managed, Solidres Options has no Subscription & updates tab, every save keeps the Download ID the provider stored, and the System page says who manages the site. Nothing changes on any other site.

REST API

  • Public booking API: new routes under /api/index.php/v1/solidres/public/ let anyone see what the site lets and book it, without an account: the properties and room types guests are shown, what is free for given dates and guests, a quote priced exactly as the booking form prices it, a booking made from that quote, and a guest's look at their own booking with its code and email address. A booking made this way goes through the same checks, emails and plugins as one made on the booking form, and a payment method paid online sends the guest to the site's own payment page. The routes are off until Public booking API is switched on in Solidres Options (Integrations), where the rate limits per client address and per property are set too. Their description, for developers and their tools, is at /api/index.php/v1/solidres/public/openapi.
  • Extras, countries and states: the public booking API lists the extras each property sells, with their prices and whether they go with a room or the whole booking (only those on sale for a stay, when given its dates), and the countries and states the booking form offers a guest. A booking made through the API now refuses a country the booking form does not offer, and a state of another country than the guest's.
  • Who sees what: an API user who is not a Solidres manager now reads only the properties they are the partner or a staff member of, with those properties' room types, extras, coupons, reservations and payments, plus the published currencies, countries, states, statuses, taxes and origins. Anything else answers as if it did not exist. Managers see everything, as before, and each address now always returns the kind of item it names.
  • Payment details: reservations and payment history no longer include the payment details a payment method stored on the booking, nor the key the guest's feedback link uses.
  • Partners' changes: a partner adds room types and extras only to their own properties and can move them only between their own properties. Saving a property keeps its partner, approval, default property setting, access level, commission rates, commission balance due and staff as the administrator set them. A partner editing or deleting a room type no longer gets a server error.
  • Staff: saving a property's staff list, in the administrator or through the API, now changes only the partner user groups of each staff member and leaves their other groups as they were. Only a Super User can put an account that administers the site on a property's staff. Through the API, the staff list, facilities and themes change only when the request sends them.
  • Coupons and extras: changing a coupon without sending its properties keeps them. Before, the coupon lost them and applied to every property. Changing an extra keeps the coupons that apply to it in the same way. A manager can now delete a coupon that is linked to a property, which the API refused as if the coupon had to be trashed first.
  • Tours in the public booking API: a quote takes the tours to book with the stay: for each, its experience, date, time slot, adults, children by the tour's age ranges and extras. The quote answers with a line per tour and the tours' totals, which are part of every payment method's total and sealed in the quote, and the booking made from it books the tours. A tour that cannot be booked is refused with the field at fault, such as experiences/0/date. The guest's look at their booking shows the tours' total. Experience 2.4.0 adds GET /api/index.php/v1/solidres/public/properties/{id}/experiences, the tours a stay can take, and other add-ons can now add public routes of their own.
  • Reservations: a reservation includes total_experience_price_tax_incl and total_experience_price_tax_excl. A payment of an experience booking no longer links to an address that does not exist.
  • Missing items: asking for a property that does not exist now answers 404, as every other item does, instead of a server error. Deleting an item that does not exist answers 404 too, instead of reporting a property, room type or extra as deleted, and the 404 is a JSON:API error like every other.

Property edit screen

  • Seven tabs: the property's settings are arranged by what they are about, in seven tabs that each open with a sentence saying what they hold: Details, Photos, Policies & facilities, Property page, Booking, Pricing & payments and Publishing. Each tab is made of sections with headings. Team, Channel Manager, Integrations and Activity appear when an add-on puts something in them. The name and web address stay above the tabs. No setting was removed, and nothing you saved changes.
  • Plain words: every setting has a label that says what it does and one line of help under it, always shown, in all 25 languages. A few switches now say it the positive way round, such as Accept online bookings; what they store is unchanged.
  • Two choices: When guests book (no account needed, guests can create an account, guests must create one, guests must log in) takes the place of three guest account switches, and How the deposit is worked out (a percentage of the total, a fixed amount, or the cost of the first nights) takes the place of the deposit type and Charge the first nights instead. Both are saved in the same settings as before. With the first nights, the screen hides the deposit amount and the amounts by days before arrival, which do not apply to them.
  • Only what your site uses: a setting whose add-on or option is off is left out until it is on, and keeps its value: tags, facilities, themes and staff without the Hub, approval and commission without their Hub options, the distance from the city centre without the Hub or Experience, housekeeping staff without Housekeeping, and invoice details without Invoice. Without the Hub, the Facilities section says what the Hub adds; without Stream, the Record section says what Stream adds. The Facility, Theme and Stream tabs that only showed a subscriber notice, and the empty AGAST tab, are gone.
  • A new property saves from its first tab: filled in on Details and saved, a new property whose payment methods have none marked as the default takes the first one turned on, in the order the screen shows them, as its default. It used to refuse the save until a default was chosen on another tab. A property that already exists still has to keep one.
  • Help: the toolbar's Help button opens Setting up a property on solidres.com, which goes through the tabs and lists where each setting of the old tabs went.
  • Hub partners: with Hub 2.4.1, partners get the same tabs. A partner screen older than Hub 2.4.1 keeps the guest account switches and the deposit type.

Property settings

  • Settings a property never saved: a property not saved since one of these settings was added now works as its edit screen shows: it accepts coupon codes, lists fully booked room types with a not-available note, hides prices while online booking is off, and shows the room tax in the booking summary. It used to work the other way round until it was next saved, and saving it, even with no change, switched it over. Where guests may create an account while booking, the booking form's own check of the account fields now follows Creating an account is required as the fields already did. A property saved since those settings were added is not affected.

Property pages

  • Search engines and assistants: a property page now describes its room types to search engines (schema.org), with the starting prices the page shows, check-in and check-out times, facilities and a link to book. While the public booking API is on, the site also answers /llms.txt, a page for AI assistants that lists the properties and says how to book through the API. A llms.txt file of your own in the site's root folder is served instead.

Sample data

  • Extras: the sample extras priced per person or per night, such as breakfast, are charged that way. They were stored as charged once per booking, which left the per-person ones free.
  • Coupons: most sample coupons did not work on their own property, because they were linked to the ids of their room types where the id of their property belongs. Installing the sample data now links each coupon to its property, so the coupons work on the booking form.
  • Weekly rates: the two sample weekly rate plans charge one price for every week of a season, low, mid or high, as holiday lets are priced, instead of a price that changed every week.

System Info

  • PDF library check: when the Invoice, Experience Invoice, Housekeeping or Hub plugin is enabled, the System Info page checks that the dompdf library is installed, enabled and has its files in place. A site rebuilt from another site's data can have the library registered with its files missing, and then every PDF fails. The check names the plugins that need it.
  • Splide Slideshow and Tabs: the System page lists the two modules with the other Solidres modules, with their versions and whether Joomla can update them.

Security

  • Reservation note attachments: files attached to a reservation note, such as a scan of a guest's ID, could be fetched from the web without signing in, because the folder that holds them was not closed to the web. The folder now refuses web access, new attachments get names nobody can guess, and the reservation screen links to a download that checks who asks: in the administrator, anyone who can open Solidres; on the site, the property's partner or staff only. The guest's email still carries the file under its original name. We recommend updating.
  • REST API: partners read and change only their own properties' data, only a Super User can put an account that administers the site on a property's staff, and stored payment details are left out for every caller. See REST API above.
  • Experience vouchers and payments: with Experience 2.4.0, the PDF voucher attached to a tour's confirmation email is kept out of reach of the web and deleted once the email is sent, and a PayPal payment confirms a tour booking only when the amount and currency match and the transaction is new.
  • Booking limits: with Limit Booking 2.0.4, a Hub partner can change the status of a booking limit only on a property they own or staff.

Released alongside

  • Rate Plan 1.2.0: the rate plan editor offers Fill empty days from the previous year, see Rate plans above. It still runs on Solidres 4.3.0 and shows the choice from Solidres 4.6.0.
  • Lumina 1.2.0: new layouts and colours for the header, the home page's photo and the footer, page backgrounds and corners, four fonts included with the template, and a favicon and custom CSS of your own.
  • Experience 2.4.0: tours booked with a stay, one pricing service for the booking form, the administrator and the stay, seats held while a booking is pending, and a PayPal gateway that checks what was paid.
  • Hub 2.4.1: follows the move to Rate Plan, Front Desk and Dashboard, gives partners the new property screen, and adds the tours booked with a stay to the partner's reservation totals.
  • Invoice 2.1.2: the PDF voucher is attached to confirmation emails again, a missing PDF library no longer stops a reservation from being saved, and the PDF invoice lists the tours booked with the stay.
  • Front Desk 1.1.1 and SMS 1.0.3: the grand total in the calendar's reservation window and the {total_price} of a message include the tours booked with the stay. SMS 1.0.3 puts a property's text message settings on its Booking tab.
  • Stripe 2.0.1: the Refund button of a Stripe payment in the payment history works again.
  • Dashboard 1.1.1: for Solidres 4.6.0, whose update moves the widget layout saved with Statistics to the Dashboard.
  • Advanced Extra 1.0.3: prices extras with the pricing of Solidres 4.6.0 instead of a copy of its own.
  • Limit Booking 2.0.4: the list actions of the Hub partner dashboard work again, on the partner's own properties only.
  • Conversion tracking 1.0.1: the message it shows when it takes over from the old Google and Facebook plugins links to its published setup guide.
  • Discount 1.0.4 and Stream 2.0.5: their tables are created as utf8mb4, like the rest of Solidres.

Before you upgrade

  • Complex Tariff and Statistics: if you still use either, install Rate Plan, or Front Desk and Dashboard, before updating. They can stay disabled: the update enables them. The update stops, with a message that names what is missing, on a site that has Complex Tariff enabled without Rate Plan installed, because its rate plans would otherwise stop pricing bookings, and on a site that has Statistics enabled without Front Desk and Dashboard installed.
  • Add-ons: Experience 2.4.0, Hub 2.4.1, Front Desk 1.1.1, Dashboard 1.1.1 and Advanced Extra 1.0.3, and the next release of Channel Manager, need Solidres 4.6.0. Update Solidres first.
  • Note attachments on nginx: nginx ignores the .htaccess file that closes the attachments folder to the web, and files attached before 4.6.0 keep their old names. On nginx, deny web access to media/com_solidres/notes/ in the server's configuration.
  • Template overrides: in the administrator, the property screen (com_solidres/reservationasset/edit.php and its edit_*.php sub-templates), the reservation screen (com_solidres/reservation/edit.php), the room type's tariff tab (com_solidres/roomtype/edit_tariff.php), the Booking form screen (com_solidres/bookingform/default.php), the System page (com_solidres/system/default.php) and the Getting started module (mod_sr_gettingstarted/default.php) have changed. The property screen draws its sections with three new layouts, layouts/com_solidres/property/form/section.php, property/form/payments.php and addon/hint.php; overrides of its old sub-templates (edit_general.php, edit_params.php, edit_media.php, edit_customfields.php, edit_metadata.php, edit_payments.php, edit_facility.php, edit_theme.php, edit_custom_tabs.php, edit_commission_rate.php and edit_agast.php) no longer have any effect, so an override of the property screen must be made again from the new files. On the site, the final screen (com_solidres/reservation/final.php), My Reservations (com_solidres/myreservation/edit.php), the booking form's guest step, confirmation step, room list and coupon field (layouts/com_solidres/asset/guestform.php, confirmationform.php, rooms_and_rates.php and coupon_form.php), the reservation details (layouts/com_solidres/reservation/general_details.php) and the customer and owner confirmation emails (layouts/com_solidres/emails/reservation_complete_customer_html.php, reservation_complete_owner_html.php and their _inliner.php versions) have changed. The System page flags overrides of them that need updating. Overrides of com_solidres/statistics/notice.php and com_solidres/calendars/notice.php no longer have any effect.
  • Database: the update converts Solidres tables to utf8mb4 only where they are not already. An up to date site does no work. On a large table the conversion can take a little while. If a table cannot be converted, the update carries on and shows a warning that names it.
  • REST API: an application that reads the API with a partner's token gets fewer results than before: other partners' properties and their items, and unpublished currencies, countries, states, statuses, taxes and origins, are no longer listed, and fetching one answers 404. payment_data and token are gone from reservations and payment history for every caller, and the model and view query parameters are ignored.
  • Invoice: update the Invoice package to 2.1.2 at the same time. It attaches the PDF voucher to confirmation emails again and keeps a missing PDF library from stopping a reservation from being saved.

All the things you need to make your work easier. Did you like Solidres?