SambaPOS 5.1.60 Release

@rightguys either manual sort or add 0 to 1-9 so 01,02,03,04,05,06,07,08,09,10,11 etc

You can reorder items manually by dragging Selected Entities on entity selection list.

1 Like

Sorry to bother you so much @Emre, is there any way you could explain how to integrate gloriafood“s extras with our order tags?

I am really HORRIBLE with jscript… really… really horrible…

Thanks!!!

G.

1 Like

I’m currently using SambaPOS v5.1.59

i downloaded the installer for v5.1.60. Running the installer, it doesn’t give me any options on upgrade. It is directly requesting install/overwrite on the old folder. So i just proceed or what?

Would be nice to have a few basic steps to explain how to upgrade to this version.

Create a backup and just install it. It will upgrade automatically on first run.

2 Likes

Can you show a sample of ā€˜Order Tag JSON’

i’ve been trying to get it to work.

basically this is it:
{ā€œPromotionā€:ā€œBuy 1 Cold Cuts Plate Get 1 Pizza Bread Freeā€}

Order Tag Promotion Defined with ā€˜Free tagging’

I try made order via web ā€œhttp://localhost:9000/apps/test/index.htmlā€, but not fully succesfull.
I see categories, items and I can add items. After I choose table ā€œB20ā€ and click to ā€œAdd ticketā€
In sambapos is table table orange as there is some open ticket, but inside is nothing.
I go to tickets -> select ā€œopen tickets onlyā€ and ticket is here, but without table information.
There is something wrong with select table on webscript. I try modify script also for add to customers and also not works.
If I check communication with message server, each command is without error.

{
ā€œdataā€: {
ā€œaddTicketā€: {
ā€œidā€: ā€œ45ā€
}
},
ā€œerrorsā€: null
}

{
ā€œdataā€: {
ā€œupdateEntityStateā€: {
ā€œnameā€: ā€œB20ā€
}
},
ā€œerrorsā€: null
}

{
ā€œdataā€: {
ā€œpostTicketRefreshMessageā€: {
ā€œidā€: ā€œ0ā€
}
},
ā€œerrorsā€: null
}

Somebody have same problem or everybody work without problem? I tested on two different computers, but both with windows10.

Thanks Jiri

The following works.

Be aware that you need to make changes for any of the following if your setup is different:

Entity Type ā€œTablesā€
Entity Type ā€œCustomersā€
Department ā€œRestaurantā€
User ā€œAdministratorā€
Terminal ā€œServerā€
Order ā€œStatusā€ State ā€œSubmittedā€
Ticket ā€œStatusā€ State ā€œUnpaidā€

function getAddTicketScript(orders,tableName,customerName){

    var orderLines = orders.map(function (order) {
        return '{name:"' + order.name + '",states:[{stateName:"Status",state:"Submitted"},{stateName:"KDStatus",state:"FNotPrinted"}]}';
    });
    
    var entityPart = (tableName && customerName
                        ? 'entities:[{entityType:"Tables",name:"'+tableName+'"},{entityType:"Customers",name:"'+customerName+'"}]'
                        : (tableName 
                            ?  'entities:[{entityType:"Tables",name:"'+tableName+'"}]'
                            : (customerName 
                                ?  'entities:[{entityType:"Customers",name:"'+customerName+'"}]' 
                                : '')
                            )
                        );
    
    var q = '';
    q += 'mutation m{addTicket(';
    q += '        ticket:{ticketType:"Ticket"';
    q += '            , department:"Restaurant"';
    q += '            , user:"Administrator"';
    //q += '            , terminal:"'+currentTerminal+'"';
    q += '            , terminal:"Server"';
    q += '            , '+entityPart;
    q += '            , states:[{stateName:"Status",state:"Unpaid"}]';
    q += '            , orders:['+orderLines.join()+'}]';
    q += '        }){id}}';
    return q;
};

QMcKay your code works, good.

Problem was here.
var entityPart = tableName
? entities:[{entityType:"Tables",entity:"${tableName}"}],
: ā€˜ā€™;

right must be
var entityPart = tableName
? entities:[{entityType:"Tables",name:"${tableName}"}],
: ā€˜ā€™;

Thanks for help

Ahh yes, the GraphQL specification for addTicket() mutation changed slightly there between the Beta and the Release from ā€œentityā€ to ā€œnameā€.

I will edit the script in the release post.

2 Likes

How can I set Gift to orderline when I use addTicket function
From database I see flag is {stateName:ā€œGStatusā€,state:ā€œGiftā€} after is item in POS marked as gift, but price is still calculated. And set price to 0 is not possible.

Thanks Jiri

Gift is an Order State. You will need to either use SambaPOS’s built in automation for Gift or you will need to code your own version of the automation in GraphQL.

We have the following for you to play with:

I don’t know right variable for stateName and state for gift item.
My target is set one item as gift. Picture 1

I use this code

but result is

and it is wrong.

Ok so you set the state now you need to set price.

Setting state does not automatically set price.

1 Like

I recently added CalculatePrice setting to OrderInput. To gift an item setting CalculatePrice to false will solve that issue. It will be available by 5.1.61

3 Likes

Hello, The download link doesn’t work for me! is there other way for download v5?

regrds!

Hello Matias,

I’ve uploaded a mirror which you can download from here., so if downloading it locally doesn’t work you can temporarily use this file. Note that @emre constantly updates Samba, so i’d suggest trying other ways to grab the download file.

An android ā€œappā€ for Samba would be awesome! I’m loving SambaPOS but the only drawback right now for our business is that there’s no android ā€œappā€ available and I’m not tech savvy enough to do any code writing with GraphQL API. Unfortunately time is of the essence at the moment since we’ll be opening our restaurant in the next two weeks. We’re looking at using only one actual PC. The rest would be tablets since touch screens are quite expensive. The examples emre shows are perfect for what we want. Kitchen display order taking for the waiters.

1 Like

You can use Windows 10 tablets, there are many on the market now that are quite cheap (can be cheaper than Android). I recommend you don’t purchase the cheapest ones though, but maybe buy one that is reasonably priced and if you are happy then buy more. You would setup SambaPOS on your main system and use SQL Express 2014 database, then install SambaPOS locally on each tablet and connect to SQL database on the main system. It’s very easy actually and there are tutorials on the forum about how to do it. There are also quite a few topics about tablets - use the search and you should find some of interest. :slight_smile:

2 Likes

I’ve been playing around with SambaPOS for quite a while now getting really into it. You see, the thing is that we have all the hardware that we bought at an auction quite a long time ago that’s all just sitting now and not being used. So we’re not going out to go buy anything new. The tablets are all Samsung ones. :grin: So thus the reason I’m really, really been hoping for some kind of integration for tablets.

Would be super dooper awesome! Again, I did see what emre did and there was also another post I saw from one of the other guys, can’t remember who now, but both of them did an awesome job with what they got going with PMPos with screen layouts etc through GraphQL. I really wish I knew more about using it right now. LOL

Also, I have done the setup and testing as such with server and multiple terminals. Really and truly an awesome program. Definitely the best I’ve come across that’s free and even with the pro version, the price is ridiculously low…

Obviously I do think there are a number of ā€œimprovementsā€ that could be made to streamline things quite a bit but I’m sure some have been mentioned somewhere on here already.

Thanks for the awesome job to anyone and everyone that has contributed and written coding for this. I know that the guys behind the scenes don’t always get the recognition they deserve for job well done! :clap:

2 Likes