export type RiskStats = {
  noShows: number;
  lateCancels: number;
};

export function computeMinDepositPercent(params: {
  basePercent: number;
  riskUpliftEnabled: boolean;
  stats: RiskStats;
  noShowThreshold: number;
  cancelThreshold: number;
  upliftMinPercent: number;
}) {
  const { basePercent, riskUpliftEnabled, stats, noShowThreshold, cancelThreshold, upliftMinPercent } = params;
  if (!riskUpliftEnabled) return basePercent;

  const risky =
    stats.noShows >= noShowThreshold ||
    stats.lateCancels >= cancelThreshold;

  return risky ? Math.max(basePercent, upliftMinPercent) : basePercent;
}
