Automating Internet Orders

Our business receives food delivery orders from online services, such as GrubHub and Eat 24. These orders come in by e-mail and we manually input all from the email to the POS order screen. However, there is room for human error. Sometimes, the workers confirm the email order, but forget to input the order etc. Is there a method to automate this process?

Do any one these services have any form of API?

The orders come in through email, Gmail. The workers don’t interface with a webapp, a website, or any other application. I was thinking about using scripts to automate the orders. And no, I do not believe these services have a public API.

To where? Text file? Outlook? What?

How do you know what the email/order contains if there is no interface to read it?

Oh yeah. I meant that we don’t interface with any of Grubhub, Eat24, etc. services. They just send orders over email. such as Gmail. I don’t think a GrubHub API would help. If there were a API to work with, I think it would be a customer-oriented API, rather than a restaurant-oriented API.

In that case, you should be able to use the Gmail API and JScript to read messages. You’ll need to get that working first to get the relevant data in the email, and from there devise a method to parse it.

I googled an apparently they have a semi private API which developers can request documentation for.

This is something I need help with too and I was thinking of using something like zapier to parse the email that I receive with my food orders on. The problem I have is how would I send this information over to SambaPOS?

The problem as it stands will be that samba doesnt have a solid way of receiving incoming orders/tickets from an external source.
The only ‘LIVE’ incoming Im aware of if devices (caller id/scales/twitter).
Scripts etc can read database data but just adding data will not triger prints for orders etc.
Your options would be to convert incoming email info into a script readable format, maybe json and do a script to insert data into database but ideally some script helpers for tickets/orders would be handy as inserting this kind of info in to samba I can imagine would be a nightmare to get right with transactions and inventory etc.

I could provide the data in either JSON or XML no problem. It’s just like you say, inserting that data into the database would be a nightmare. I wouldn’t know where to even begin…

We could do a triggered read of data from say a txt file if it had consistent format to for loop through.
However I would not personally like to try inserting orders and tickets in to database given the amount of columns of data in these tables for states etc.

I am pretty sure or at least haven’t seen any API/script helpers for creating tickets and orders which would be vital in my mind as trying to duplicate what samba already does when creating tickets and orders would be a mine field.

If I’ve missed something which would make this justifiable/easier like helpers are already there then my bad.

If we had those I would look to have a try at creating a script but without is a bit much for my abilities.

You would obviously need some form of reference key between the online and samba, either product names would need to be identical or perhaps a plu from online could be set as a product tag which would probably be my preference but that doesn’t matter without a reliable way to create the tickets etc.

If we could create the tickets we could setup something in samba to routinely check for these script based orders, am thinking a ticket state or tag for samba to look for to know new API based ones and then do what’s needed like printing ticket etc before setting the state to something else to align it with the normal processed tickets.

Triggered read of data from a txt file sounds interesting as I have the option to send confirmed orders as plain text via email (to any email address I specify). This is currently what I use when I want to send orders to be auto printed by a email compatible receipt printer.

JLSMG, we are in the same boat. We have an online take-out application that we would like to integrate into V5. Right now we have to send the orders to a dedicated kitchen printer and deal with the sales/accounting piece separately. Any thoughts?

You will struggle at the minute for a reliable automated system.

Once we get a way to script ticket and order creation properly I would expect samba take up to increase exponentially as there are few options for a locally hosted/non cloud epos system which works with online orders that isn’t a propiatory software.