Sitzplan Hochzeit: Gäste automatisch auf Tische verteilen
14 Gäste an Tischen für 8 Personen ergeben 2 Tische: Die Familie der Braut und die Studienfreunde füllen den ersten, die Familie des Bräutigams und zwei Gäste ohne Gruppe den zweiten, 2 Plätze bleiben frei. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Tischgröße
- 8
- Anzahl der Tische
- 2
- Anzahl der Gäste
- 14
- Freie Plätze
- 2
Gäste derselben Gruppe werden, wann immer es passt, an denselben Tisch gesetzt; größere Gruppen werden zuerst platziert, damit sie nicht an verstreuten Restplätzen scheitern. Eine Gruppe, die schlicht nicht an einen Tisch passt, wird als Fehler gemeldet, statt stillschweigend geteilt zu werden. Das Ergebnis ist ein deterministischer, druckfertiger Sitzplan.
Der Sitzplan ohne Tabellenkalkulation
Wer schon einmal eine Hochzeit geplant hat, weiß: Der Sitzplan ist die Aufgabe, die die letzten zwei Wochen auffrisst. Die Gästeliste steht, dann ruft eine Tante an, dann sagt ein Cousin ab – und die mühsam arrangierten Tische lösen sich auf. Der Sitzplan-Generator für Hochzeiten nimmt Ihnen das Rechnen aus dieser Schleife ab.
Sie liefern die Gästeliste, jede Person mit ihrer Gruppe markiert – Familie der Braut, Kollegen des Bräutigams, die Studienfreunde – und die Anzahl der Plätze pro Tisch. Das Tool liefert die Tische, wer wo sitzt und wie viele Plätze frei bleiben. Ändern Sie die Liste, starten Sie erneut, und Sie erhalten in Millisekunden einen neuen Plan statt eines Abends voller Namensschieberei im Dokument.
Da der Algorithmus deterministisch ist, führt dieselbe Eingabe immer zum selben Plan – Sie können zwei Versionen der Gästeliste also sicher vergleichen: Jeder Unterschied kommt aus den Daten, nicht aus dem Zufall.
So bleiben Gruppen zusammen
Die Zuordnung nutzt eine First-Fit-Decreasing-Strategie, das Standardverfahren für solche Packungsprobleme. Zuerst werden die Gäste ihren Gruppen zugeordnet; ein Gast ohne Zugehörigkeit wird zur Ein-Personen-Gruppe – genau richtig für Begleitpersonen und Kollegen, die sonst niemanden kennen. Die Gruppen werden anschließend von groß nach klein sortiert, sodass die großen Familientische zuerst vergeben werden, bevor sich der Raum mit Paaren und Einzelgästen füllt.
Jede Gruppe wird an den ersten Tisch gesetzt, der noch genug freie Plätze hat; ein neuer Tisch wird nur geöffnet, wenn kein bestehender die Gruppe ganz aufnehmen kann.
Praktische Tipps für eine echte Hochzeit
Wählen Sie Gruppen, die widerspiegeln, wie die Menschen tatsächlich sitzen möchten, nicht jedes erdenkliche Etikett: Acht bis fünfzehn sinnvolle Zugehörigkeiten sind bei hundert Gästen typisch. Bietet die Location unterschiedliche Tischgrößen, lassen Sie das Tool pro Größe einmal laufen und vergleichen die Leerplätze – die Ausgabe sagt Ihnen genau, wie viele Plätze ungenutzt bleiben, und genau diese Zahl zählt, wenn der Caterer pro Gedeck abrechnet. Paare, die zusammensitzen, aber verschiedenen Kreisen angehören, erhalten einfach ein gemeinsames Gruppen-Label, um die Paarung zu erzwingen.
Und bedenken Sie: Das Tool optimiert auf Zusammenhalt und Tischanzahl, nicht auf Diplomatie – es weiß nicht, dass zwei Onkel besser nicht nebeneinander sitzen sollten. Betrachten Sie das Ergebnis als starken ersten Entwurf und verschieben Sie dann die zwei oder drei Namen, die Ihr Familienwissen vorgibt.
Anwendungsfälle
Den Sitzplan fürs Fest entwerfen
Verwandeln Sie eine finale Gästeliste mit einem Aufruf in einen Tischplan – und erstellen Sie ihn bei geänderten Zusagen sofort neu.
Tischgrößen der Location vergleichen
Lassen Sie dieselbe Liste mit Tischen für 8, 10 und 12 laufen und sehen Sie, welche Variante die wenigsten bezahlten Plätze verschwendet.
Firmendinner oder Gala besetzen
Halten Sie Abteilungen und Kundenteams an Banketttischen zusammen – ganz ohne handgezeichneten Raumplan.
Häufige Fragen
Was kostet das?
Auf dieser Seite läuft dieselbe Engine außerdem kostenlos in Ihrem Browser.
Und Gäste ohne Gruppe?
Jeder Gast ohne Zugehörigkeit gilt als Ein-Personen-Gruppe und füllt die Restplätze, nachdem die größeren Gruppen platziert wurden.
Ist das Ergebnis bei derselben Liste immer gleich?
Ja. Der Algorithmus ist vollständig deterministisch: Identische Eingabe liefert stets einen identischen Sitzplan.
Wird die Anzahl der Tische minimiert?
Es kommt First-Fit Decreasing zum Einsatz, eine bewährte Packungsheuristik, die den Gruppenzusammenhalt an erste Stelle setzt und in der Regel sehr wenige Tische benötigt – die Zahl der Leerplätze wird ausgewiesen, damit Sie die Aufteilung beurteilen können.
Was passiert, wenn eine Familie größer ist als ein Tisch?
Dann entsteht kein Sitzplan, und Sie erhalten einen klaren Hinweis mit dem Namen dieser Gruppe und ihrer Größe. Eine Familie wird nie stillschweigend auf mehrere Tische verteilt: Diese Entscheidung treffen Sie, nicht das Werkzeug.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/life/wedding-guest-seating \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"guests":[{"name":"Ana","group":"Bride family"},{"name":"Luis","group":"Bride family"},{"name":"Marta","group":"College friends"},{"name":"Pablo","group":"College friends"},{"name":"Sofia"}],"table_size":8}'const res = await fetch("https://api.kit.forhosting.com/life/wedding-guest-seating", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"guests": [
{
"name": "Ana",
"group": "Bride family"
},
{
"name": "Luis",
"group": "Bride family"
},
{
"name": "Marta",
"group": "College friends"
},
{
"name": "Pablo",
"group": "College friends"
},
{
"name": "Sofia"
}
],
"table_size": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/wedding-guest-seating",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"guests": [
{
"name": "Ana",
"group": "Bride family"
},
{
"name": "Luis",
"group": "Bride family"
},
{
"name": "Marta",
"group": "College friends"
},
{
"name": "Pablo",
"group": "College friends"
},
{
"name": "Sofia"
}
],
"table_size": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/wedding-guest-seating", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"guests":[{"name":"Ana","group":"Bride family"},{"name":"Luis","group":"Bride family"},{"name":"Marta","group":"College friends"},{"name":"Pablo","group":"College friends"},{"name":"Sofia"}],"table_size":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"guests":[{"name":"Ana","group":"Bride family"},{"name":"Luis","group":"Bride family"},{"name":"Marta","group":"College friends"},{"name":"Pablo","group":"College friends"},{"name":"Sofia"}],"table_size":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/wedding-guest-seating", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"guests": [
{
"name": "Ana",
"group": "Bride family"
},
{
"name": "Luis",
"group": "Bride family"
},
{
"name": "Marta",
"group": "College friends"
},
{
"name": "Pablo",
"group": "College friends"
},
{
"name": "Sofia"
}
],
"table_size": 8
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.wedding_guest_seating",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_guests | 1000 |
max_groups | 200 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Die Sitzplan-API für Hochzeiten nimmt eine Gästeliste entgegen – jeder Gast mit optionaler Gruppenzugehörigkeit, etwa einem Familienzweig oder einem Freundeskreis – sowie eine Tischgröße und liefert einen vollständigen Tischplan.
So bleiben Gruppen zusammen
Eine Gruppe wird nie auf mehrere Tische verteilt: Hat eine Zugehörigkeit mehr Mitglieder als die Tischgröße, lehnt die API die Eingabe mit einem klaren Fehler ab, der Gruppe und Größe nennt – denn eine geteilte Familie ist eine Planungsentscheidung, die Sie selbst treffen sollten, nicht etwas, das Software still entscheiden darf.
Technische Fragen
Was passiert, wenn eine Gruppe größer ist als ein Tisch?
Die Anfrage schlägt mit einem invalid_input-Fehler fehl, der Gruppe und Größe nennt. Gruppen werden nie automatisch aufgeteilt.
Wie viele Gäste sind möglich?
Bis zu 1000 Gäste und 200 verschiedene Gruppen pro Anfrage – weit mehr als jede Hochzeit braucht.