Hi we're looking for solution to allow our customers to book a table in our fish restaurant. We use shopify for the restaurant since we also have a wet fish counter and ambient products that can be bought online.
In terms of the restaurant, we use the Shopify site to display the menu, special offers, gift cards for the restaurant etc. However we have no system for customers to book a table (other than over the phone) I have looked at a couple of apps but they seem a bad fit - such as they seem designed for appointments for say a hairdresser. There's a calendar and you choose your hairdresser and choose from their available slots. I'm not sure this can easily be adapted as we would need to offer multiple tables of 2 / 4 / 6 / 8 at different times. I guess we could name the hairdressers as "Table of 2" or "table of 4" but it starts getting complicated when there would be 6 "tables of 2" available etc.
Any thoughts and feedback welcomed !
This is interesting - from looking at the list of apps in the app store, there are a few with bad or no reviews (like https://apps.shopify.com/restaurant-table-management) and a few that fit the "hairdresser" type businesses (like https://apps.shopify.com/bookthatapp). I'd say you're right, and there is no de-facto leader in this space, at least from the Shopify App Store.
This can go in one of three ways in my opinion:
1. You can get this made especially for you by a custom app shop - this is going to cost you, and quite likely will be an overkill for what you actually need. You can also ask here and get a quote from a Shopify Expert from the community.
2. You can use an outside system for table management (like OpenTable - https://www.opentable.com/, or EatApp - https://restaurant.eatapp.co/), and then just point users from your site to them. This will be outside of Shopify, so all the information is most likely not going to show up in your merchant backend.
3. You can cobble a solution together from a few different pieces of software.
The first two are obviously actionable. The third one.. a bit tricky. I advise against it, but here's what I'm thinking if you still want to go that route:
1. Storefront Form - As far as the customer is concerned, booking a restaurant just means filling out a form. The form needs to only show the customer dates that are actually available, and needs to look nice and be customizeable. This can be done using something like https://apps.shopify.com/form-builder, that allow you to register the people who book a table as customers (and thus they'll show up in your Shopify backend). The information can also be parsed as orders (with some coding or with some other app), that you can later re-purpose as you see fit.
2. Backend "Products" - Since the table is not actually a product you sell, and its price varies by the amount the customer actually pays at the day of the booking, and since the customer does not actually _pay_ until the day of the booking, this is a bit complicated. It's probably possible to assign each customer an order of 0 dollars in the backend (without them actually being charged) and then adapt it when the customer actually pays and checks out. Since this needs to integrate with whoever you use to accept credit cards, this is the most problematic part - it might be possible to, maybe, somehow, connect this to Shopify POS, but it's really.... messy.
3. Synchronizing - Finally, you'd need to keep all things in line - the original booking, the food the customer ordered, the billing of the the customer, blocking other potential customers from ordering at that time of day if more than X customers have booked a table, etc. And I haven't started talking about how to make this nice for _you_ on the backend.... :)
So, if you'd like to continue the "cobbling" route, I'd be happy to try and help with a better formatted tutorial. But keep in mind that it might be more complicated than just using an outside system for it, and then passing the data to Shopify. if you'd like me to help research that some more, just hit me up and we can carry on. This is fun! :)
Thanks so much for the great reply. Really useful.
With regards building a form - I already use Cognito Forms and know how to integrate them. I'm not too sure if I can set parameters so that there's only a certain amount of a type of entry available each day to represent the tables. I think I can though.
Alternatively I do like the Eat standalone solution, though its 10x cost of Cognito.
BookThatApp developer here.
I agree with KidOnPoint's analysis on this. I'd recommend option 2 to be honest, particularly if you need the other restaurant operational features such as shift management for your staff.
But just so you know BookThatApp could work since we have a 'stand alone booking form' feature that bypasses checkout (i.e. the customer doesn't need to purchase a product per se). It is basically a form that collects the name, phone number, date and time and then creates a booking in our system, but it also has the advantage of greying out dates/times that are already fully booked.
You should be able to integrate the OpenTable widget fairly easily into your Shopify theme: https://support.opentable.com/s/article/How-do-I-install-the-reservation-widget-to-take-reservations...
Adding this widget shouldn't take more than 15 minutes for a software developer.
When it comes to restaurant cover logic (eg: can a four two become a two top?), OpenTable and others have already built out robust functionality so I would rely on them rather than rolling your own solution or even using a third party Shopify app.
@Gavinator awesome to see you here, and sorry for the late reply.
@Dennis-C I'd always go with the app developer's recommendations, as they know the infrastructure internally better than anyone. Please let us know how it all ended up!
@Red_Cap_Tom gave great insights on your query regarding the restaurant booking app.
Here we came up with the order notification on WhatsApp.
I am just taking feedback for the app if that can be suitable for your industry.