Disposizione Tavoli Matrimonio: Assegni gli Invitati in Automatico
14 invitati in tavoli da 8 diventano 2 tavoli: la famiglia della sposa e gli amici dell'università riempiono il primo, la famiglia dello sposo e due invitati senza gruppo il secondo, con 2 posti liberi. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Dimensione del tavolo
- 8
- Numero di tavoli
- 2
- Numero di ospiti
- 14
- Posti vuoti
- 2
Gli invitati dello stesso gruppo siedono allo stesso tavolo quando c'è spazio, i gruppi più numerosi vengono posizionati per primi così da non restare senza posti contigui, e ogni gruppo che non può entrare in un unico tavolo viene segnalato come errore invece di essere diviso in silenzio. Il risultato è una disposizione deterministica, pronta da stampare.
Una disposizione dei tavoli senza fogli di calcolo
Chi ha organizzato un matrimonio sa che la disposizione dei tavoli è il compito che divora le ultime due settimane. La lista è definitiva, poi chiama una zia, poi un cugino disdice, e i tavoli disposti con cura crollano. Il generatore di disposizioni dei tavoli di nozze toglie i calcoli da questo ciclo.
Lei fornisce la lista degli invitati, ciascuno contrassegnato con il gruppo di appartenenza — la famiglia della sposa, i colleghi dello sposo, gli amici dell'università — e il numero di posti per tavolo. Lo strumento restituisce i tavoli, chi vi siede e quanti posti restano liberi. Modifichi la lista, lo esegua di nuovo e ottenga un piano aggiornato in millisecondi, invece di una serata a trascinare nomi in un documento.
Poiché l'algoritmo è deterministico, lo stesso input produce sempre la stessa disposizione, così può confrontare due versioni della lista con la certezza che ogni differenza derivi dai dati, non dal caso.
Come i gruppi restano uniti
L'assegnazione usa una strategia first-fit decreasing, l'approccio standard per questo tipo di problema di impacchettamento. Per prima cosa gli invitati vengono raccolti nei loro gruppi; un ospite senza appartenenza diventa un gruppo di uno, il che è perfetto per accompagnatori e colleghi che non conoscono nessun altro. I gruppi vengono poi ordinati dal più grande al più piccolo, così i grandi tavoli di famiglia vengono assegnati prima che la sala si riempia di coppie e singoli.
Ogni gruppo viene collocato al primo tavolo con abbastanza posti liberi, e un nuovo tavolo si apre solo quando nessun tavolo esistente può accogliere il gruppo intero.
Consigli pratici per un vero matrimonio
Usi gruppi che riflettano come le persone vogliono davvero sedersi, non ogni etichetta immaginabile: da otto a quindici appartenenze significative sono tipiche per un matrimonio da cento invitati. Se la location offre tavoli di dimensioni diverse, esegua lo strumento una volta per dimensione e confronti i conteggi dei posti vuoti — l'output indica esattamente quanti posti restano inutilizzati, il numero che conta quando il catering fa pagare a coperto. Le coppie che dovrebbero sedere insieme ma appartengono a cerchie diverse possono ricevere un'etichetta di gruppo condivisa per forzare l'abbinamento.
E ricordi che lo strumento ottimizza coesione e numero di tavoli, non la diplomazia: non saprà che due zii non dovrebbero condividere un tavolo. Consideri il risultato un'ottima prima bozza, poi sposti i due o tre nomi che la conoscenza della famiglia suggerisce di spostare.
Casi d'uso
Preparare la disposizione dei tavoli del ricevimento
Trasformi una lista definitiva di invitati in un piano dei tavoli con una sola chiamata, e lo rigeneri all'istante quando cambiano le conferme.
Confrontare le dimensioni dei tavoli della location
Esegua la stessa lista con tavoli da 8, 10 e 12 per vedere quale configurazione spreca meno posti pagati.
Disporre una cena aziendale o un gala
Tenga uniti reparti e team di clienti ai tavoli del banchetto senza disegnare la sala a mano.
Domande frequenti
Quanto costa?
È anche gratuito nel browser su questa pagina, con lo stesso motore.
E gli invitati senza gruppo?
Ogni ospite senza appartenenza viene trattato come un gruppo di una persona e serve a riempire i posti rimanenti dopo il posizionamento dei gruppi più grandi.
Il risultato è sempre lo stesso per la stessa lista?
Sì. L'algoritmo è completamente deterministico: input identici producono sempre una disposizione identica.
Il numero di tavoli viene minimizzato?
Usa first-fit decreasing, un'euristica di impacchettamento ben nota che privilegia l'integrità dei gruppi e in genere usa pochissimi tavoli, indicando il conteggio dei posti vuoti così può valutare la disposizione.
Che cosa succede se una famiglia è più grande di un tavolo?
La disposizione non viene creata e compare un avviso chiaro con il nome di quel gruppo e la sua dimensione. Una famiglia non viene mai divisa tra più tavoli in silenzio: è una decisione che spetta a lei, non allo strumento.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"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
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.wedding_guest_seating",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_guests | 1000 |
max_groups | 200 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
L'API per la disposizione dei tavoli di nozze prende una lista di invitati — ciascuno con un'eventuale appartenenza a un gruppo, come un ramo della famiglia o una cerchia di amici — e una dimensione dei tavoli, e restituisce un piano completo.
Come i gruppi restano uniti
Un gruppo non viene mai diviso: se un'unica appartenenza conta più membri della dimensione del tavolo, l'API rifiuta l'input con un errore chiaro che indica il gruppo e la sua dimensione, perché una famiglia divisa è una decisione organizzativa che spetta a Lei, non qualcosa che un software debba decidere in silenzio.
Domande tecniche
Cosa succede se un gruppo è più grande di un tavolo?
La richiesta fallisce con un errore invalid_input che indica il gruppo e la sua dimensione. I gruppi non vengono mai divisi automaticamente.
Quanti invitati può gestire?
Fino a 1000 invitati e 200 gruppi distinti per richiesta, ben oltre qualsiasi matrimonio.