import { IsNotEmpty, IsOptional, IsString, IsBoolean, IsArray, IsUUID, MaxLength } from 'class-validator';

export class CreateDestinationDto {
  @IsString() @IsNotEmpty() @MaxLength(255)
  name: string;

  @IsString() @IsNotEmpty() @MaxLength(50)
  short_code: string;

  @IsString() @IsNotEmpty() @MaxLength(100)
  country: string;

  @IsString() @IsNotEmpty() @MaxLength(100)
  city: string;

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

  @IsString() @IsOptional() @MaxLength(100)
  timezone?: string;

  @IsString() @IsOptional()
  description?: string;

  @IsString() @IsOptional() @MaxLength(500)
  image_url?: string;

  @IsBoolean() @IsOptional()
  visa_required?: boolean;

  @IsArray() @IsOptional()
  @IsString({ each: true })
  tax_types?: string[];

  @IsArray() @IsOptional()
  @IsString({ each: true })
  services?: string[];
}
