How to create a simple workflow for takeaways that optionally deliver food

I am new to SambaPos and I have been reading the tutorials, particularly the custom delivery package to try and understand this tool better for my needs. I have followed the custom delivery package tutorial which has quite a complex work flow, but I am struggling (to my eternal shame - I think my programming experience is getting in the way) to create a much simpler workflow which I think is applicable to a lot of small takeaway businesses in the UK.

Typical Use Case

Phone Rings Waiter Answers (Or customer walks into the shop)
Waiter: Hello How may I help you
Customer: I’d like to place an order please
Waiter: Would you like it delivered or are you collecting it.
Customer:Delivered please.
Waiter: Whats the address please and can I have a contact number:
Customer: Address is 1 Somewhere street. post code is ME4 9RT. Phone number is 0777XXXXXX.
Waiter: What would you like to order?
Customer: I would like …
Waiter: Ok that is £15.95 including £1 delivery charge to your area. It will be about 45 min to deliver.
Customer: Actually I would like it delivered for 9.30 pm.
Waiter: Ok thank you, bye.
Waiter prints ticket (usually twice, one for the front and one for the kitchen).

Waiter SHOULD NOT return to the SambaPOSto deal with THIS ticket again. Any amendments to the ticket are done offline on the print outs using an ancient mighty tool called the Pen.

Payment information is recorded and handled manually.
When an order is ready the Waiter takes the cash from the delivery driver and writes “PAID” on the ticket. If customer pays over the phone waiter writes “PAID BY CARD”.
If customer comes and collects the meal. Waiter asks the customers name. Finds the customers printed ticket print by name and takes the money and writes “PAID” on the ticket.

Essentailly the POS system is just a spreadsheet for capturing customer data, and a tool for creating orders in the first instance. Everything else in the business process is done without a computer - “offline”.

This use case can be simplied as the following set of requirements specification

Search/Select/Add New Customer (Search by name, address or phone number)
Select Ticket type (Collection, Waiting In Or Delivery)
The ticket type should be changeable at any point during the ordering process.
I know this can be done through by creating departments such as Collection, Delivery as shown in the tutorials but this does not seem natural in this use case.
I keep thinking the business is one department which creates different types of tickets - I may need to change my thought process on this.
Is there such a thing as Ticket Type. Ideally the ticket type would be displayed on top of the print out and if Type is delivery it would also display the address and phone number otherwise just the customer name.
The ticket should also show when the order is due to be collected or delivered for. I could not find where you input this info into the system although I could use the ticket notes field for this.

If ticket type is Delivery you should be able add a delivery charge based on Region/PostCode/Distance.
This could be done more simply using a misc. item or I guess even by adding delivery charges as a Catergory with products.
(Is there such a thing as Misc items, Ricks tutorial 9 seems to suggest this is possible using v5 - when is that due for release?)

Given how flexible SambaPOS is I am assuming what I have described is possible. I would be grateful if someone could confirm this is possible and give me some ideas on how to achieve this.


Am not sure why with such a powerful system you would only want to use Samba for taking orders and not recording payment etc.

Either way virtually anything is possible.

  • Customer details can be done using customer entities, just add the fields you want.

  • If you hold of for V5 there is a nice script that can calculate delivery charge based on distance using google maps working out the distance which you can then use as a factor to automatically set charge, or as you said just use a misc item or maybe even a delivery product with selection of priced tags and set to only allow 1 tag.

  • If you are wanting to not use samba for marking and recording payments (may be wrong but if this decision tax motivated?) you would want to add actions to clear the orders from the ticket after the print jobs have been sent and before the ticket closes. Unless ive misunderstood and you intend to ‘cash off’ the tickets at end of night :-/

  • Ticket type for delivery/collection etc there are many options, as you are not wanting to use samba other than to create the tickets and log customer details you could simply go for a ticket tag which is printed on the order ticket which is easily changed at any point with an automation command/button.

  • Misc items is easy, if you set product to 0 priced you can use numberpad to enter price before selecting the misc product it will set the price rather than qty. I have this on mine and also setup a rule to remove the the 0 priced product and display message saying enter price first if there is no numberpad value entered when the misc item is added.

In short if you are only using Samba to generate printed tickets (although I dont understand fully your reasons) the setup should be relitivly simple as you only need things like order type etc to be visual and printable.
If I have misunderstood what your intending with using the almightly pen to write paid on ticket and will be using samba for payments it changes things and more thought needed but should all still be doable. :smile:



Given how long winded my post was I am impressed by how well you have interpreted my requirements and how quickly you replied.
I appreciate SambaPOS is a powerful system with many features, but in the first instance I need something which will improve the experience of recording customer data and taking orders over the phone. SambaPOS has nice UI and unlike other POS systems it use MSSQL and Microsoft technologies which I am very familiar with.
The primary reason for not wanting to include the payment functionality into the workflow is because it introduces a need to return to the computer to “complete” the ticket and this slows things down.
If a waiter is tied up taking an order, a kitchen staff will often just hand the meal over to the driver and take payment of him and just mark the ticket as Paid using the mighty pen.
I suppose you could just leave the tickets open and just mark them as settled at the end of the night.

  1. I understand and know how to add customer details - thanks.
  2. I will hold out for v5. When is this due to be released. Would like to use google map features specially for viewing address locations in real time.
  3. Its not really about tax issues (Delete * from tickets - if i was that way inclined). The motivation is speed of service, accuracy, mistakes are a big cost and capturing customer data for marketing, vouchers and membership schemes etc…
    I will look into Actions as this seems like good way of improving workflows.
  4. I will look into ticket tags - was not aware of this. Thanks.
  5. I will look into how you have added misc items. This looks very useful and was surprised this was not on POS screen like ticket notes.

Thanks for you input and advice.

It wouldn’t be a button, you can do it anyway (cant remmeber if you need to allow 0 priced items but am pretty shure a 0 priced item will take price from numberpad by default (may be wrong on that one - set it up on my ‘start’ database a while mack lol)

The maps feature kendash showed me looks like it will be very usefull.
He is hopefully going to ‘help’ (by help I mean do it as not good with scripting LOL) setup a similar type script to call address details from google maps also to work like postcode lookup for address details.
This can be done at the minute wbut you need to aquire a postcode database which can be expensive. There are discussions on this on the forum.

Dont take this the wrong way but other than recalling customer info if you only want to use to create tickets why not just use the mightly pen all together :stuck_out_tongue:

If you go down that route you would be looking for the ‘select order action’ and ‘cancel action’ - there may be a tutorial on setting up a ‘cancel all’ button which you can use part of the setup for.

Like I said if you do only use for making tickets there is not much need for complex setup with different ticket types as you only need visual/tag to be added so it can be printed.
Ie rather than ticket types or departments people have used for full systems where they use other features you could just have an ask question on user login with three buttons for eat in, collection and delivery which tags accordingly.

Am still not convinced on that, processing payment for a ticket is pretty quick and simple, login - select ticket - settle - pay, probably less than 10 second :smile:
I would not like this method personally as you pretty much have no reconciliation for your cash, is a ticket is ‘misplaced’ allong with the cash you wouldn’t even know it was ‘misplaced’, short of peoples reliance on a till to add up the total price LOL, reconciliation is probably the main reason cash registers/tills were even invented - although people will always find ways to take advantage of a system.
That’s the main reason a local hotel wants me to install a kitchen printer, its not to save the waitress taking the ticket to the printer, its to ensure that orders are not missed off the till (not on purpose, but by mistake/forgetting) as he is convinced he is missing out and occasionally tickets (hand written) might go to the kitchen and not get put in till. With the kitchen printer for the food to be made a ticket will be needed which means it will have to go through the till :slight_smile:

1 Like

You can configure fast payment buttons to close tickets with a payment. Basic idea is you’ll click a payment button instead of close button. I’ll include a basic tutorial about that but you may find much more info about it by using forum’s search function.

PS: Thank you very much for detailed explanation. We always appreciate this.

1 Like

The Fast payment buttons looks like exactly what I need. I was finding the out the box payment system too confusing as it was probably geared towards a restaurant scenario.
I’ve also managed to solve the Ticket Type issue thanks to JTRTech and using the tutorial Ticket Tag - Simple Example for: Dine-In / To-GO .

Finally I feel like I’m getting somewhere. Its good to talk.

The settle screen is a fairly standard type of setup, it does have extra options you wouldn’t need like splitting bills etc and also good if you are given odd amounts of cash if you need a change prompt but fast payment buttons would work well for you.
I wouldn’t completely remove access to the settle screen as it could come in handy one day, maybe move the automation command to the ticket position so it is on the left.

I dont use settle screen at all, i have fast payment buttons and a variable cash and card amounts, all of which display a full screen ask question action with the change amount

Ill find some screenshots and post them below :slight_smile:

Ask Question transparency is great for full screen messages/instructions, a few of my examples below

Editing the text size and full screen colour will be available in V5 when released

1 Like

This is a copy of my fast payment buttons

1 Like

And if your interested in a miscellaneous item setup where you enter your own price AND product description have a look at this tutorial, again this will only work fully in V5 when released

You can add the price in V4 but the addition of adding a description using an order tag this way is only available in V5


Do you guys have a date for the release of V5?


All we have is June, so anytime soon :slight_smile:

1 Like