Pour les produits ayant des messages, il faut obligatoirement spécifier l'ID message correspondant pour tout message ayant un tarif (attribut `add_price`).
L'ajout de produit sur table est un système permettant d'ajouter des produits à une commande déjà en cours sur une table. Le principe de fonctionnement consiste à utiliser une application ou un outil informatique tiers pour envoyer des commandes à la caisse enregistreuse de l'établissement.
Par exemple, les clients peuvent commander des produits depuis leur smartphone, tablette ou ordinateur, en sélectionnant les articles souhaités et en les ajoutant à leur panier. Une fois leur commande terminée, ils peuvent envoyer la commande à la caisse enregistreuse, qui l'ajoutera à la commande en cours sur la table correspondante.
La caisse retourne différents status afin de notifier si l'ajout a bien été pris en compte.
Requête: /api.php?module=atoo_shop&type=table&method=atoo_post_table
/api.php?module=atoo_shop&type=table&method=atoo_post_table&shop=ID_MAGASIN&pub_key=CLEF_API
Les données à envoyer en POST sont identiques à l'envoi de commandes à l'exception de l'attribut `customer` qui n'est plus obligatoire. Par contre il y a un nouvel attribut obligatoire pour spécifier la table sur laquelle on souhaite faire l'ajout. Attribut : "table" => 'int' ainsi que le nombre de couverts : Attribut : "nbCouverts" => 'int'
Sur la caisse, la numérotation des tables peux prendre une valeur de 1 à 89 999.
Chaque ajout sur table doit obligatoirement comporter un identifiant numérique unique. Celui-ci nous permet de vérifier qu'il n'y ai pas d'ajout en doublon en cas d'envoi répété d'un même ajout sur table.
Pour plus d'exemples (envoi avec menu, messages)). Voir API LEO2Click - Envoi de commandes. Idem pour plus d'informations sur la partie statut (attribut 'state').
| { | |
| "id": 12345, | |
| "state": 0, | |
| "products": [ | |
| { | |
| "id": 39, | |
| "idx": 2, | |
| "quantity": 2, | |
| "price": { | |
| "unit_ht": 1.5, // Prix unitaire HT | |
| "tva_rate": 20, // Taux de TVA | |
| "unit_ttc": 1.8 // Prix unitaire TTC | |
| } | |
| }, | |
| { | |
| "id": 34, | |
| "idx": 5, | |
| "quantity": 1, | |
| "price": { | |
| "unit_ht": 1, // Prix unitaire HT | |
| "tva_rate": 20, // Taux de TVA | |
| "unit_ttc": 1.2 // Prix unitaire TTC | |
| } | |
| } | |
| ], | |
| "table": 4, | |
| "nbCouverts": 2, | |
| "total_order" : { | |
| "ht": 4, // Montant total HT à payer | |
| "tva_amount": 0.8, // Montant TVA à payer | |
| "ttc": 4.8 // Montant TTC à payer | |
| } | |
| } |
Même fonctionnement que pour les commandes. Voir API LEO2Click - Envoi de commandes
Méthode spécifiques :
Statuts des dernières commandes envoyées en caisse :
./api.php?module=atoo_shop&type=table&method=atoo_statelist_table&shop=ID_MAGASIN&pub_key=CLEF_API
Statuts de toutes les dernières commandes (envoyées en caisse ou non) :
./api.php?module=atoo_shop&type=table&method=atoo_statelist_table_all&shop=ID_MAGASIN&pub_key=CLEF_API