Store closing at specific times & pay on pickup

Hi

I’m doing a pizza webshop and I have 3 ideas which would help me heavily!

1. The pizza store closes at 22:00 every night, so I don’t want people to be able to add anything to their basket after 22:00 as they wouldn’t be able to fulfill the order when they’re closed. This would be a neat feature next to the current “store status” settings, just so you don’t have to manually close the store every day at 22:00


It could be perfect if a custom modal popup message said “Unable to add to basket! We closed at 22:00, check back tomorrow <3” every time someone tried to add to their basket and when you enter the website after 22:00 you also get a custom modal popup message saying “We’re closed! You can’t add anything to your basket till tomorrow when we’re back open!”

2. On the local pickup option I only have the option to “pay in store”. If I disable this option the store tells me “This store has no payment methods configured.”


The only way I can have a payment method is to “hhave at least one shipping zone enabled”
image
But this defeats the purpose of my using local pickup.
So being able to pay on site even when using local pickup would be a great addition!

3. Lastly, I’d also like to ask if it’d be possible to make an easy way remove the “.html” from the URL? Or maybe there’s already an easy easy way to do it?

Thanks!

I take it you’re talking about Reflow?

Yeah exactly :blush:
Maybe I should’ve put that as the category?

1 Like

You can set store closing times. They will be able to add to cart, however it won’t be possible to checkout. Following your paypal issue, add a custom payment method. Then, you can choose pay on pickup.

Oh, where do I set the store closing times? I can’t find anything but the “store status” section which I’ve included a screenshot of in my initial post.

Adding a custom payment method doesn’t work for me. I need it to be PayPal and/or card. From what I can tell, the custom payment option is only bank trasfers

Thank you for sharing your ideas! We will make Reflow work better for restaurant style/delivery websites. The suggestion for open times is a good one, we will look into adding this soon.

For the second issue, we don’t allow PayPal for pickup at store payments. This is because the customer can request a refund after picking up the item, and the store owner can’t prove they’ve delivered the product. There are many horror stories online, which is why we decided to disable PayPal in that case.

Removing the HTML extensions is not possible on our hosting service unfortunately. You will need to use a regular hosting provider and upload an .htaccess file to get this functionality.

1 Like

Thats a placeholder example

  1. Thank you so much, I’m looking forwards to it! :heart:
  2. Makes sense, 100%
  3. I’ll try this out, thanks again!

Great support as always :star_struck:

If you are using htaccess to hide the html extension you will want to make sure you have added canonical meta tag in the head of each page, other wise the search engines will pick up two pages

mypizza.shop/meatfeast
and
mypizza.shop/meatfeast.html

if you decide your cononical will be the non html link, you will also need to change this in your sitemap.xml

I usually have this set in my export script to do this automatically each time I export:

rem Update the sitemap to delete html extension
powershell -Command "(gc sitemap.xml) -replace '.html', '' | sc sitemap.xml"
2 Likes

Good info richards.

I have a couple of sites set up this way (hidden html extention), but I have the canonical set to the URL that ends with .html. I always presumed this was a non-issue since the html is still there (it’s just hidden.) Is this incorrect? Would you recommend going through and changing all the canonical tags (and sitemap?)

I was led to believe (something I read on google search central docs**) that if you have the .html in your sitemap.xml then the links google serves will be the .html link.

I just set mine so that it will serve the non html link, just to keep it consistent.

as long as the sitemap and the canonical in the page are the same there should be no problem.

**I have had a quick look and can’t find it at the moment, if I come across it, I will send you a link

As for the store closing, you could do something with javascript:

const opentime = 11;//opening at 11am
const closingtime = 22;//closing time 10pm
const d = new Date();//current time
 
const elements = document.querySelectorAll('.ref-button');
const openinfo = document.getElementById("openinfo");
let currenthours = d.getHours();
let currentminutes = d.getMinutes();

 


if (currenthours >= opentime && currenthours < closingtime) {
    openinfo.innerHTML = "The store is open";
 
 if (currenthours == closingtime-1 && currentminutes >30) { //Display now long until last orders if less than 30 minutes
    remaining=60 - currentminutes;
    openinfo.innerHTML = "Closing in " +  remaining + " Minutes, Order Now...";
 }


} else {
    openinfo.innerHTML = "The store is closed";
    
    elements.forEach((element) => {
        element.classList.add('disabled');
      });
}
 

This will show a banner at the top of the page informing if the store is open or closed.

If less that 30 minutes until closing it will show i.e “Closing in 20 minutes, order now”

It will also disable any button with a class of ref-button when the store is closed.

Example:
https://snippets.bss.design

Anyway, dinner time now, I have a craving to pizza for some reason :slight_smile:

1 Like

Well I don’t care what Google shows in the SERP, as long as they’re indexing the page. As far as I can tell, Google doesn’t seem to care that the canonical is set to the page ending in .html. For example, when I search “About Nokado”, the first result is the page I expect…

There’s no .html on the SERP, even though the canonical is <link rel="canonical" href="https://nokado.com/nokado-about.html" />

Thanks man! Great fix for me at this current time, amazing community :heart:

1 Like

@printninja thats quite interesting how you have that working, would you mind sharing your htaccess rule that knocks the extension off. I do mine in a different way, but your’s seems better.

Sure, here’s the rule

RewriteEngine on


RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]

I found this on Stack Overflow. It’s the answer with 141 upvotes

1 Like

Thanks, I’ll look in to that later :slight_smile: