Hello from MCP server

List Files | Just Commands | Repo | Logs

← back |
/* TNFR Legacy Pricing Formula */

import type { VarUnit } from "./tnfrLegacyWithHours";

export default () => {
  return {
    vars: {
      materialCostBase: { value: 0, unit: "currency" as VarUnit, description: "Total material cost from offer" },
      timeCostBase: { value: 0, unit: "hours" as VarUnit, description: "Total time from offer" },
      hourlyFee: { value: 5.262, unit: "currency" as VarUnit, description: "Hourly rate" },
      standardDiscount: { value: 0.5, unit: "currency" as VarUnit, description: "Standard discount amount" },
      offerModifier: { value: 1, unit: "multiplier" as VarUnit, description: "Offer modifier" },
      salesTax: { value: 1, unit: "multiplier" as VarUnit, description: "Sales tax multiplier" },
      serviceCallFee: { value: 0, unit: "currency" as VarUnit, description: "Service call / trip fee" },
      saDiscount: { value: 1, unit: "multiplier" as VarUnit, description: "Service agreement discount" },
      multiplier: { value: 1, unit: "multiplier" as VarUnit, description: "Tier multiplier" },
      extraCostMultiplier: { value: 1, unit: "multiplier" as VarUnit, description: "Extra cost multiplier" },
      markupScale: {
        value: [
          [6.571805718, 1.65],
          [3.943083431, 1.75],
          [2.628722287, 2],
          [1.577233372, 2.25],
          [1.051488915, 2.5],
          [0.5257444574, 2.75],
          [0.2628722287, 3],
          [0.1314361144, 3.5],
          [0, 4],
        ],
        unit: "scale" as VarUnit,
        description: "Material markup scale [threshold, multiplier]",
      },
    },
    derivedVars: {
      materialWithTax: { value: 0, unit: "currency" as VarUnit },
      materialMarkup: { value: 2.75, unit: "multiplier" as VarUnit },
      materialFee: { value: 0, unit: "currency" as VarUnit },
      timeFee: { value: 0, unit: "currency" as VarUnit },
      combinedFee: { value: 0, unit: "currency" as VarUnit },
      feeWithTrip: { value: 0, unit: "currency" as VarUnit },
      tierPrice: { value: 0, unit: "currency" as VarUnit },
      leveledPrice: { value: 0, unit: "currency" as VarUnit },
      finalPrice: { value: 0, unit: "currency" as VarUnit },
    },
    operations: [
      {
        op: "mult",
        in1: "materialCostBase",
        in2: "salesTax",
        out: "materialWithTax",
      },
      {
        op: "scale",
        in1: "markupScale",
        in2: "materialWithTax",
        out: "materialMarkup",
      },
      {
        op: "mult",
        in1: "materialMarkup",
        in2: "materialWithTax",
        out: "materialFee",
      },
      {
        op: "mult",
        in1: "timeCostBase",
        in2: "hourlyFee",
        out: "timeFee",
      },
      {
        op: "add",
        in1: "timeFee",
        in2: "materialFee",
        out: "combinedFee",
      },
      {
        op: "add",
        in1: "combinedFee",
        in2: "serviceCallFee",
        out: "feeWithTrip",
      },
      {
        op: "mult",
        in1: "feeWithTrip",
        in2: "multiplier",
        out: "tierPrice",
      },
      {
        op: "mult",
        in1: "tierPrice",
        in2: "extraCostMultiplier",
        out: "leveledPrice",
      },
      // Apply SA discount
      {
        op: "mult",
        in1: "leveledPrice",
        in2: "saDiscount",
        out: "finalPrice",
      },
    ],
  };
};