| mode | Yes | classroom for a teacher's seating chart of desks; event for a wedding, party, banquet or gala with tables. | |
| rows | No | Classroom rows/pairs: number of rows from the front, e.g. 5. | |
| seed | No | Shuffle number, e.g. 1 (default). The same inputs and seed give the same chart; use another number to reshuffle. | |
| title | No | Title printed on the chart, e.g. Period 3 - Room 114, or Lee & Park Wedding. | |
| layout | No | Classroom desk layout: rows (single desks, default), pairs (desks in twos), or groups (pods/tables of group_size). | |
| people | No | The students or guests: plain names ("Ava Martinez") or objects with flags, e.g. {"name":"Cara Diaz","needs_front_seat":true}. Leave out when a roster file is attached. | |
| tables | No | Events: table setup, e.g. [{"count":1,"seats":10,"type":"head","shape":"long"},{"count":12,"seats":8}]. | |
| columns | No | Classroom: desks per row (rows), desk pairs per row (pairs), or groups per row (groups), e.g. 6. | |
| front_rows | No | Classroom: how many rows count as the front for needs_front_seat, e.g. 1 (default). | |
| group_size | No | Classroom groups layout: students per group, e.g. 4 (default). | |
| keep_apart | No | Hard rule: people who must not sit next to each other (classroom: not beside, in front, behind or diagonal, nor in the same group; in pairs the seat across the aisle counts as beside unless aisle_breaks_adjacency is true; events: not at the same table). Each inner list is one rule, e.g. [["Ben","Eli"]]. | |
| label_rule | No | How to use labels: mix (spread each label across groups and neighbours; the classroom default), group (seat the same label together, e.g. college friends; the event default), or ignore. | |
| escort_sort | No | Events: sort the alphabetical escort card list by last_name (default) or first_name. | |
| group_count | No | Classroom groups layout: number of groups, e.g. 7. Default: just enough for everyone. | |
| roster_file | No | Optional class roster or guest list as CSV, TSV or Excel .xlsx with a header row: a Name column (or First/Last), and optional Party/Household, Group/Label, Front seat, VIP, Child, RSVP, Keep apart (names) and Table columns, e.g. guests.xlsx. | |
| table_count | No | Events shorthand: number of regular guest tables, e.g. 12. Default: just enough. | |
| prefer_apart | No | Soft preference: try to keep these people apart; scored, not forced. Each inner list is one rule, e.g. [["Uncle Joe","Aunt Sue"]]. | |
| keep_together | No | Hard rule: people who must sit next to each other (classroom) or at the same table (events). Each inner list is one rule, e.g. [["Ann Lee","Bob Lee"]]. | |
| prefer_together | No | Soft preference: try to seat these people together; scored, not forced. Each inner list is one rule, e.g. [["Mia","Zoe"]]. | |
| seats_per_table | No | Events shorthand: seats per regular table, e.g. 8 (default) or 10. | |
| head_table_seats | No | Events shorthand: add a long head table with this many seats for VIP guests, e.g. 10. | |
| kids_table_seats | No | Events shorthand: add a kids table with this many seats for guests marked child, e.g. 8. | |
| previous_seat_order | No | Classroom rotation: last chart's seat_order from this tool (names by seat number, "" for empty desks). The new chart avoids last time's neighbours and desks. | |
| aisle_breaks_adjacency | No | Classroom pairs: true if the aisle between desk pairs separates students, so the seat across the aisle does not count as beside. Default false (across the aisle counts as beside). | |