export const fleetBandIds = ['small', 'growing', 'scale', 'enterprise'] as const;
export type FleetBandId = (typeof fleetBandIds)[number];

export const pricingPlanIds = ['launch', 'growth', 'enterprise'] as const;
export type PricingPlanId = (typeof pricingPlanIds)[number];

export type BillingPeriod = 'monthly' | 'annual';

export interface PricingCommercialConfig {
  currency: string;
  annualDiscountPercent: number | null;
  publicPricesApproved: boolean;
  monthlyPrices: Record<PricingPlanId, Record<FleetBandId, number | null>>;
  recommendedPlanByFleetBand: Record<FleetBandId, PricingPlanId>;
}

/**
 * This is the only file that should contain commercial pricing numbers.
 * Keep publicPricesApproved=false until finance and product approve the amounts,
 * included limits, onboarding policy, taxes, and annual billing terms.
 */
export const pricingCommercialConfig: PricingCommercialConfig = {
  currency: 'MAD',
  annualDiscountPercent: null,
  publicPricesApproved: false,
  monthlyPrices: {
    launch: {
      small: 50,
      growing: 50,
      scale: 50,
      enterprise: 50,
    },
    growth: {
      small: 200,
      growing: 200,
      scale: 200,
      enterprise: 200,
    },
    enterprise: {
      small: 500,
      growing: 500,
      scale: 500,
      enterprise: 500,
    },
  },
  recommendedPlanByFleetBand: {
    small: 'launch',
    growing: 'growth',
    scale: 'growth',
    enterprise: 'enterprise',
  },
};
