/**
 * Create Subscription Plan DTO
 */

import { PlanType } from '../entities';

export class CreateSubscriptionPlanDto {
  code: string;
  name: string;
  description?: string;
  planType?: PlanType;
  baseMonthlyPrice: number;
  baseAnnualPrice?: number;
  setupFee?: number;
  maxUsers?: number;
  maxBranches?: number;
  storageGb?: number;
  apiCallsMonthly?: number;
  includedModules?: string[];
  includedPlatforms?: string[];
  features?: Record<string, boolean>;
  isActive?: boolean;
  isPublic?: boolean;
}

export class UpdateSubscriptionPlanDto {
  name?: string;
  description?: string;
  baseMonthlyPrice?: number;
  baseAnnualPrice?: number;
  setupFee?: number;
  maxUsers?: number;
  maxBranches?: number;
  storageGb?: number;
  apiCallsMonthly?: number;
  includedModules?: string[];
  includedPlatforms?: string[];
  features?: Record<string, boolean>;
  isActive?: boolean;
  isPublic?: boolean;
}
