Partage dîner de groupe
Une pizza pour deux, un steak pour un et une salade pour trois, avec 18 % de pourboire et 8,5 % de taxe, font 110,06, dont 59,45 pour le convive au steak. Chaque plat se divise entre ceux qui l'ont mangé. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Les dîners de groupe se compliquent à l’addition lorsque certains partagent une pizza, qu’un invité commande un steak seul et que tout le monde souhaite un pourboire équitable. Un partage égal par tête force les mangeurs de salade à subventionner les plateaux de fruits de mer ; attribuer des lignes entières à un seul nom échoue lorsque deux amis ont vraiment partagé une entrée. Ce calculateur de partage du coût d’un dîner de groupe prend chaque plat avec son prix et la liste exacte des convives qui l’ont mangé, divise ce plat uniquement entre ces partageurs, additionne la part nourriture de chaque convive puis applique des pourcentages optionnels de pourboire et de taxe sur cette part.
Comment fonctionne le partage égal par plat uniquement entre les partageurs
Partez du menu comme d’une liste d’assiettes plutôt que d’un total unique pour la table. Le calculateur divise le prix de ce plat à parts égales uniquement entre ces convives listés, jamais entre ceux qui étaient à table sans toucher ce plat. Un convive qui apparaît sur trois assiettes partagées accumule trois fractions ; celui qui n’a commandé qu’un plat principal paie ce plat en entier et rien pour les plats qu’il a ignorés.
Après allocation de chaque plat, chaque convive a une part nourriture égale à la somme de ses morceaux par plat. C’est le schéma équitable que l’on esquisse déjà sur des serviettes lorsque la moitié de la table a partagé le pain et l’autre non, mais sans erreurs d’arrondi manuel laissant des centimes non comptabilisés. Le partage égal de toute l’addition entre N places est une autre intention produit ; l’affectation de lignes à une seule personne avec taxe et service absolus proportionnels en est une autre.
Ici l’intention SEO est explicitement le partage du coût d’un dîner de groupe lorsque les groupes de partage varient selon le plat. Lorsque tous les prix sont nuls et les deux pourcentages valent zéro, chaque total de convive est zéro et l’appel réussit tout de même pour la complétude. Les noms en double sur un même plat sont fusionnés afin de ne pas facturer deux fois la même personne pour la même assiette.
Où un calculateur de partage de dîner de groupe prouve sa valeur
Les réunions de famille, dîners d’équipe en coworking et menus dégustation partagés ont besoin d’un détail neutre que chacun peut auditer plat par plat au lieu de discuter de moitiés égales qui ignorent qui a commandé le vol de vins. Les démos d’hospitalité et les outils de formation en point de vente peuvent montrer comment une pizza partagée et un steak individuel produisent des montants justes différents sans forcer le personnel à scinder les lignes à la main.
Gardez des listes de plats de taille de table ordinaire, figez les totaux de convives arrondis dans les tests, et vous obtiendrez des règlements reproductibles pour chats de groupe, exemples LMS et edge workers sans déployer un tableur ni inventer une mathématique de pourboire ad hoc pour chaque langue que vous publiez. Associez cette capacité à un outil de partage égal du seul pourboire lorsque la table veut vraiment l’équité par tête ; utilisez celle-ci lorsque les groupes de partage diffèrent selon le plat.
Cas d’usage
Dîners en famille ou entre amis avec plats partagés
Listez chaque plat avec qui l’a vraiment partagé, ajoutez les pourcentages de pourboire et de taxe du ticket, et voyez ce que chaque convive doit sans partager toute l’addition à parts égales.
Déjeuners d’équipe et menus dégustation
Associez entrées partagées et plats individuels aux collègues, puis répartissez pourboire et taxe sur la part nourriture de chacun pour un remboursement transparent.
Questions fréquentes
Comment fonctionne le calculateur de partage du coût d’un dîner de groupe ?
Le prix de chaque plat est divisé également seulement entre les convives listés sur ce plat ; pourboire et taxe multiplient la part nourriture de chaque convive.
Que se passe-t-il si seuls certains convives ont partagé un plat ?
Les personnes qui n’ont pas partagé ce plat ne paient aucune partie de son prix.
Le pourboire et la taxe sont-ils des pourcentages ou des montants absolus ?
Des pourcentages de la part nourriture de chaque convive (0–100).
Le pourboire se calcule-t-il sur l'addition entière ou sur la part de chacun ?
Sur la part de repas de chaque convive. Celui qui a mangé davantage paie plus de pourboire et de taxe, et personne ne règle une part égale pour des plats qu'il n'a pas goûtés.
Que se passe-t-il si j'inscris deux fois le même convive sur un plat ?
Le doublon est ignoré et la personne ne paie ce plat qu'une fois. Chaque plat est divisé entre les noms distincts qui lui sont associés.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/life/dinner-split-by-share \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"dishes":[{"name":"Margherita pizza","price":24,"shared_by":["Alice","Bob"]},{"name":"Ribeye steak","price":36,"shared_by":["Carol"]},{"name":"Caesar salad","price":15,"shared_by":["Alice","Bob","Carol"]},{"name":"Tiramisu","price":12,"shared_by":["Alice","Carol"]}]}'const res = await fetch("https://api.kit.forhosting.com/life/dinner-split-by-share", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"dishes": [
{
"name": "Margherita pizza",
"price": 24,
"shared_by": [
"Alice",
"Bob"
]
},
{
"name": "Ribeye steak",
"price": 36,
"shared_by": [
"Carol"
]
},
{
"name": "Caesar salad",
"price": 15,
"shared_by": [
"Alice",
"Bob",
"Carol"
]
},
{
"name": "Tiramisu",
"price": 12,
"shared_by": [
"Alice",
"Carol"
]
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/dinner-split-by-share",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"dishes": [
{
"name": "Margherita pizza",
"price": 24,
"shared_by": [
"Alice",
"Bob"
]
},
{
"name": "Ribeye steak",
"price": 36,
"shared_by": [
"Carol"
]
},
{
"name": "Caesar salad",
"price": 15,
"shared_by": [
"Alice",
"Bob",
"Carol"
]
},
{
"name": "Tiramisu",
"price": 12,
"shared_by": [
"Alice",
"Carol"
]
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/dinner-split-by-share", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"dishes":[{"name":"Margherita pizza","price":24,"shared_by":["Alice","Bob"]},{"name":"Ribeye steak","price":36,"shared_by":["Carol"]},{"name":"Caesar salad","price":15,"shared_by":["Alice","Bob","Carol"]},{"name":"Tiramisu","price":12,"shared_by":["Alice","Carol"]}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"dishes":[{"name":"Margherita pizza","price":24,"shared_by":["Alice","Bob"]},{"name":"Ribeye steak","price":36,"shared_by":["Carol"]},{"name":"Caesar salad","price":15,"shared_by":["Alice","Bob","Carol"]},{"name":"Tiramisu","price":12,"shared_by":["Alice","Carol"]}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/dinner-split-by-share", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"dishes": [
{
"name": "Margherita pizza",
"price": 24,
"shared_by": [
"Alice",
"Bob"
]
},
{
"name": "Ribeye steak",
"price": 36,
"shared_by": [
"Carol"
]
},
{
"name": "Caesar salad",
"price": 15,
"shared_by": [
"Alice",
"Bob",
"Carol"
]
},
{
"name": "Tiramisu",
"price": 12,
"shared_by": [
"Alice",
"Carol"
]
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.dinner_split_by_share",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Listes de plats vides, prix négatifs, noms vides, listes shared_by vides et pourcentages hors plage échouent avec une erreur invalid_input claire et ne sont pas facturés.
Comment fonctionne le partage égal par plat uniquement entre les partageurs
Chaque plat porte un prix dans une seule devise et une liste shared_by de noms ou d’identifiants courts des convives qui ont réellement mangé ou commandé cette assiette ensemble. Les optionnels tip_percent et tax_percent multiplient ensuite cette part nourriture afin que les plus gros mangeurs portent davantage de pourboire et de taxe sans inventer un impôt égal par tête.
Contrat d’entrée, champs de réponse et règles de validation
Les deux pourcentages doivent se situer entre zéro et cent inclus. Envoyez en POST un corps JSON avec un tableau dishes obligatoire d’un à deux cents objets. Chaque objet exige price comme nombre fini non négatif et shared_by comme tableau non vide de chaînes de noms de convives ; le name optionnel étiquette le plat dans le détail renvoyé. Les alias items, lines, courses et plates sont acceptés pour le tableau lorsque votre client utilise déjà ces clés. shared_by accepte aussi sharers, guests, people et who, et peut arriver sous forme de chaîne séparée par des virgules pour les formulaires simples. Le tip_percent optionnel vaut zéro par défaut et accepte tip_pct, gratuity_percent et tip ; le tax_percent optionnel vaut zéro par défaut et accepte tax_pct, vat_percent et tax. Plats manquants, tableaux vides, prix négatifs, noms vides, shared_by vides, pourcentages hors plage et nombres non finis échouent avec invalid_input en nommant le problème ; ces échecs ne consomment jamais le solde prépayé. En cas de succès le corps renvoie dish_count, guest_count, la liste normalisée de dishes avec index, name optionnel, price, shared_by et per_person_share, food_total, tip_percent, tip_total, tax_percent, tax_total, grand_total et un tableau guests ordonné par première apparition de chaque convive sur les plats. Chaque ligne de guests inclut guest, food_share, tip_share, tax_share, total et dish_count. Les champs monétaires utilisent un arrondi half-up à deux décimales avec ajustement résiduel sur le dernier convive à food_share positif afin que les parts de pourboire arrondies somment tip_total, les parts de taxe somment tax_total et les totaux de convives somment grand_total. method vaut per_dish_equal_share et formula reformule la règle d’allocation pour l’afficher à côté du résultat.
Où un calculateur de partage de dîner de groupe prouve sa valeur
Les bots de dépenses et de remboursement peuvent accepter le même payload structuré qu’un formulaire mobile collecte et renvoyer des totaux par convive prêts pour un message de règlement ou une écriture comptable. Parce que l’implémentation est une arithmétique analytique de tier A sans jetons de modèle ni réseau sortant, chaque appel réussi coûte le prix de base publié $0.002, et les échecs de validation sont gratuits.
Cas d'intégration
Bots de dépenses et applications de règlement
Appelez un endpoint prépayé stable qui renvoie des totaux par convive prêts pour chats, grands livres ou interfaces de demande de partage lorsque les plats ont des partageurs mixtes.
Questions techniques
Quelles erreurs le calculateur renvoie-t-il ?
invalid_input pour dishes vides, prix négatifs, noms vides, shared_by vides ou pourcentages de pourboire/taxe hors de 0–100. Ces échecs ne sont pas facturés.
Combien coûte le calculateur de partage du coût d’un dîner de groupe ?
L’outil dans le navigateur est gratuit. Les requêtes API utilisent le solde KIT prépayé à $0.002 par appel réussi ; une entrée invalide n’est pas facturée.