ERR_CACHE_MISS When Navigating Back (browser) in the Booking Process
-
Since I started using your VikBooking Pro (or free version), I have consistently encountered an issue when navigating back using the browser’s arrow buttons. The following message appears:
Confirm Form Resubmission
This webpage can only be displayed correctly based on previously submitted data. You can resend this data, but this will repeat the actions previously performed on this page. Click the ‘Reload’ button to resend the data required to load the page.
ERR_CACHE_MISSThis happens after selecting dates in the VIK Search Widget. When I view an accommodation and then navigate back using the browser’s built-in navigation buttons, I get this error.My Current Setup:
- I am using the search form widget in Elementor (at the bottom of the page).
- The page is linked to your-booking, which contains a shortcode.
I heard that shortcodes can cause conflicts. This was also the case with the search form, which I was able to replace with a widget.
Now, I would like to do the same for:
[vikbooking view=”booking” lang=”*”]My Question:How can I integrate this as a widget or HTML instead of a shortcode?Main Issue:
The key problem is that when a user navigates back (for example, from your demo site), they should land on a normal page instead of an error screen.Example:
- URL: https://vikwp.com/demo/vikbooking/search-form/
- When navigating back, the error appears on: https://vikwp.com/demo/vikbooking/rooms-list/?task=search
This is not user-friendly. While there is a button at the bottom of the page, most users won’t know to use it.How can we solve this issue?
I would really appreciate a fix or workaround for this.
Looking forward to your response. Thanks in advance!
-
Hello,
Thanks for your message. We understand the situation, and this is actually the expected behaviour when using the browser’s back button.
This is actually happening because VikBooking uses HTML forms with “POST” method on purpose, as going through the booking process requires to transport specific variables that are better to not be shown in the browser URL, especially because URLs would become way too long.
On this purpose, rather than using the browser’s back button, users should click on any of the step-bar steps if they wanted to go back to the page where dates can be changed or back to the search results page. This way no browser alerts would be displayed, and using the browser’s back button on any check-out process of an e-commerce system, is always discouraged.
We understand every browser may display different alert messages, more or less understandable, when using the back button after a form was submitted with data through the POST method, but the thing is that the browser itself is discouraging the user to navigate back because data was just submitted, and this is where the “steps bar” comes useful to go back to a previous step of the booking process by using its dynamic links.
If you wanted to prevent browsers from displaying such alert messages during the booking process when using the back button, then the solution is to create an override for the “Search Form” widget/block as well as for some pages (Shortcodes), such as the “Search Form” or “Show Prices”. The HTML
<form>tags will display a default attributemethod="post"and that attribute should simply be changed tomethod="get". However, it is not recommended to change the form method attributes from POST to GET just to allow the browser’s back button, even though this would not lead to any sort of security issues. The default approach is that all forms taking the users to the booking process will always submit variables through POST, hence the URL will not change across the whole booking process, until the booking is completed with a redirection.We hope this helps!
The VikWP Team
Hi VikWP Team,
Thank you for your quick response!
As I mentioned earlier, the buttons at the bottom of the page are a nice idea, but they don’t improve the platform’s usability. Changing the form method is a must! So far, I have been able to adjust it in the following two locations:
vikbooking/admin/controllers/bookings.phpvikbooking/site/views/roomdetails/tmpl/default_bookinform.php
Am I missing anything?
So far, I’ve managed to implement these changes, and I can now see the long URL appearing—no problem! This is much better than a discouraging error message.
However, when proceeding further in the booking process, I still encounter issues when navigating back on the following pages:
https://example.com/your-booking/?task=oconfirmhttps://example.com/your-booking/?view=vikbooking
But if I go one step further back, it works fine again, and the page loads without any strange cache warnings:
https://example.com/your-booking/?task=search&checkindate=16%2F03%2F2025&checkinh=12&checkinm=0&checkoutdate=29%2F03%2F2025&checkouth=10&checkoutm=0&roomsnum=1&adults[]=2I would like to fix the remaining steps as well. Can you tell me which files need to be modified for this?
Additionally, I have a few other questions, and I’m not sure if I should ask them here:
- How can I set check-in and check-out dates per accommodation (or even better, per property manager)?
- On that note, how can I add multiple property managers to the system? These managers should only see and manage their own properties, including handling communications related to their listings.
- I also noticed that when booking an apartment with three bedrooms as a single guest, the listing still appears but with only one bedroom available. How can we resolve this?
- Finally, I would like to know how we can synchronize prices across platforms so that rates on Airbnb, VRBO, and Booking.com remain consistent via the channel manager.
Looking forward to your guidance!
Hi,
We understand you would like to change the form methods to GET, but that’s probably something that will not be changed in the official plugin versions. The booking process transports variables that do not require to be seen in the URL, especially “nonce tokens”, that would also be supported via GET. The buttons to navigate back that we mentioned are actually at the top of every page of the booking process, it’s what we call the “Steps Bar”. There are also some buttons at the bottom of the page to change the dates, but they won’t keep much data, if not the previously selected dates.
Anyway, if you wish to implement these changes, then you only need to override widgets/blocks and “Views” (pages). In your previous message you mentioned a file located in
/admin/controllersthat’s a core file that does not support overrides, hence it should not be changed. Moreover, that file has got nothing to do with the front-end booking process. The only paths that should be overridden are the followings:/vikbooking/site/views(front-end pages)/vikbooking/modules (front-end legacy widgets and native blocks)Also, in the Configuration page of VikBooking you will find the Overrides Manager tool (first tab “Main Settings”). You should use that tool to quickly create an override file for the content you want to modify. Inside the overridden template file you can just locate the
<form>tag and change the method attribute to “GET”. Editing core files is strongly discouraged, or you will lose all of your changes by installing future plugin updates.That said, the only contents you need to override are the followings, and you should locate them by using the Overrides Manager tool:
- Site Pages:
/vikbooking(Search Form Shortcode) - Site Pages:
/search(first step of the booking process, the “search results” page) - Site Pages:
/showprc(second step of the booking process, the page to choose rate plans and options for the selected rooms) - Widgets:
/horizontalsearch(Search Form widget/block)
There’s no need to override any other content generated by VikBooking in order to allow the browser’s back button to not trigger the confirmation prompt for re-submitting the data. The rest of the Views (site pages) should not be changed, especially the last step of the booking process (booking confirmation) where the back button will be disabled by the system by invalidating the cache history. Changing other form contents from POST to GET would result to be totally insecure.
Although we do not recommend implementing these changes due to the existing “Steps Bar” across the whole booking process pages, you are free to implement the above overrides safely.
Also, by using the Overrides Manager tool in VikBooking, in case future updates will introduce breaking changes to some pages, then our framework would automatically unpublish the incompatible overrides to avoid critical errors. Therefore, using the Overrides Manager is fundamental when editing default functionalities within VikBooking.
For the other questions we would recommend getting in touch with our team through our website, especially because the Pro/commercial version of the plugin is involved, as well as our complimentary Channel Manager service E4jConnect. We would not want to go off-topic on this forum.
What we can anticipate for those who will read this thread is that VikBooking is a single-vendor Booking Engine and PMS system. Building a portal with multiple vendors with their own access to their listings (like an OTA) is not allowed.
However, many of our clients are property managers that manage apartments of different owners. In this case, thanks to the “Operators” framework, it is possible to grant access to just some listings to specific WordPress users to perform specific tasks through the “Operator Tools” and related permissions. However, operators will not access the wp-admin section of VikBooking, but rather their “Operators Dashboard” available in the front-end section of your website through an apposite Shortcode.Moreover, different check-in and check-out times for each listing or room category should be specified through contents (descriptions, conditional texts etc..), because the global settings are available at property-level rather than at listing-level, and they only serve to determine whether a turnover day should be applied between bookings (i.e. no arrivals on days with departures, so check-in time before check-out time to apply the turnover day).
Regarding OTAs like Booking.com, Airbnb and Vrbo: the real-time synchronization via API of bookings, rates, restrictions, availability, guest messages and much more requires our full solution, which is composed of VikBooking (Pro) + Vik Channel Manager, plus an active subscription for our Channel Manager service called E4jConnect, which is a certified partner of the above mentioned OTAs.
We invite you to get in touch with our team through our website for more information about the latest questions you had.
The VikWP Team
Dear VIK Team,
Thank you for the provided solution. The navigation back has worked up to this point. The only thing visible is a long URL, which is manageable.
Do you have more information about the Dashboard you mentioned? How can I access this shortcode that, for example, is visible at the frontend level?
Thanks in advance.
Hi,
There’s a Shortcode called “Operators Login” among the available list of native Shortcodes in VikBooking.
All you need to do is create a new Shortcode of that type and add it to a page of your website. You can do that either by using the apposite “Shortcodes” management page in the wp-admin section of VikBooking, or if you use Gutenberg or another page-builder plugin, you can choose the native Block-type “VikBooking – Shortcode” to quickly add a new website page with that Shortcode in it.
We suggest visiting the Knowledge Base section on our website to see how the “Operator Tools” framework allows extensions and customization through native hooks in case you wanted to build and add your own tools to the various operators.
Thank you for the support so far. If we have any further questions, we will start a new topic.
The topic ‘ERR_CACHE_MISS When Navigating Back (browser) in the Booking Process’ is closed to new replies.