When you move a sale to a table that already has a reservation, Tebi shows the conflict and lets you resolve it. Nothing moves in the background without your knowledge, and every step is undoable.
Simple case: clean swap
If the guest being displaced can move straight to the table you're vacating, Tebi applies both moves immediately and shows a banner at the bottom of the screen:
"Moved [Guest name] to table [Table name]"
Tap Undo in the banner to reverse both moves. If you dismiss the banner, both moves are confirmed.
Complex case: the timeline sidebar opens
If there's no clean swap available, the timeline opens as a side panel showing the conflict at the relevant time. A bar appears at the bottom of the screen with the following controls:
Left side (always visible):
Cancel — exit without saving any changes
Undo — undo the last step
Redo — redo a step you just undid (only available when no conflict is active)
Right side (when a conflict is active):
Swap tables — swaps the conflicting reservation to the table just freed
Squeeze [Guest] to [duration] — shortens the conflicting reservation so the two no longer overlap
Move [Guest] to [Table] — moves one reservation to a different available table
Ignore conflict — leaves both bookings on the same table (shown in red; use only when intentional)
Once all conflicts are resolved, the right side shows a Save button. Tap it to confirm all changes.
How to resolve a conflict step by step
Move a sale on the floor plan to a new table.
If a conflict is found and no clean swap is available, the timeline sidebar opens automatically.
Tap Swap tables to apply the suggested resolution. If the swap creates a new conflict, the bar updates with fresh options.
Keep resolving until no conflicts remain.
Tap Save to confirm all changes.
Every move, swap, and squeeze is individually undoable — tap Undo at any point to step back.
Notes
The timeline sidebar scrolls automatically to the time of the conflict.
Redo is disabled while a conflict is active. Resolve the conflict first, then use Redo if needed.
Use Ignore conflict only if you've confirmed with both guests that the overlap is intentional — for example, a party expected to finish early.
Closed sales do not trigger conflict resolution when moved.
