import { IsNumber, IsOptional, IsString, IsUUID, MaxLength, Min } from 'class-validator';

/**
 * PatchHotelItemDto — partial update for hotel-line supplier assignment
 * and cost. Mirrors PatchActivityItemDto in shape but is simpler:
 * hotel rows aren't fanned out into sibling rows per age_group.
 */
export class PatchHotelItemDto {
  @IsUUID() @IsOptional() supplier_id?: string | null;
  @IsString() @IsOptional() @MaxLength(255) supplier_name_text?: string | null;
  @IsString() @IsOptional() @MaxLength(20) supplier_phone_text?: string | null;
  @IsString() @IsOptional() @MaxLength(1000) notes?: string | null;
  @IsNumber() @IsOptional() @Min(0) actual_supplier_cost?: number | null;
}
