import { IsOptional, IsUUID } from 'class-validator';

/**
 * Query for `GET /payment-settlements/source-outstanding` — Agent
 * mode of the Payment Collection screen. The agent (= trip source)
 * pays on behalf of customers whose bookings they channelled.
 *
 * Required key is `source_id` (the trip_source row). `currency_id`
 * filters to one currency per the same-currency policy applied to
 * the customer flow.
 */
export class SourceOutstandingQueryDto {
  @IsUUID()
  source_id: string;

  @IsUUID()
  @IsOptional()
  currency_id?: string;

  /** Add back this collection's payments so the collect form can re-edit them. */
  @IsUUID()
  @IsOptional()
  exclude_collection_id?: string;
}
