/**
 * Movement Dashboard ticket status follows ticket assignment:
 * Pending → Booked as soon as a ticket is uploaded/assigned to the
 * line; Booked → Pending when the last ticket is returned to batch.
 * Manual statuses (On Hold / Cancelled / No Show) are never overridden.
 */
export function nextTicketStatus(current: string, assigned: number): string {
  if (current === 'Pending' && assigned > 0) return 'Booked';
  if (current === 'Booked' && assigned === 0) return 'Pending';
  return current;
}
