import { RATE } from 'constants/values';
import dayjs from 'dayjs';
import type { CalculationValues } from 'stores/calculation/values/types';

const defaultValues: CalculationValues = {
  lead: null,
  opportunity: null,
  quote: null,
  recalcWithRevision: false,
  leaseObjectPrice: 1_000_000,
  VATInLeaseObjectPrice: 0,
  leaseObjectPriceWthtVAT: 0,
  engineHours: 0,
  supplierCurrency: null,
  supplierDiscountRub: 0,
  supplierDiscountPerc: 0,
  leasingPeriod: 13,
  firstPaymentPerc: 25,
  firstPaymentRub: 0,
  lastPaymentPerc: 1,
  lastPaymentRule: 100_000_001,
  redemptionPaymentSum: 1000,
  balanceHolder: 100_000_001,
  graphType: 100_000_000,
  parmentsDecreasePercent: 94,
  seasonType: null,
  highSeasonStart: null,
  comissionPerc: 0,
  comissionRub: 0,
  saleBonus: 1.3,
  IRR_Perc: 20,
  brand: null,
  model: null,
  configuration: null,
  deliveryTime: 100_000_000,
  leaseObjectCount: 1,
  withTrailer: false,
  leaseObjectUsed: false,
  maxMass: 0,
  countSeats: 0,
  maxSpeed: 0,
  leaseObjectYear: dayjs().year(),
  engineType: 100_000_000,
  leaseObjectCategory: null,
  leaseObjectMotorPower: 0,
  engineVolume: 0,
  dealerRewardSumm: 0,
  dealerBrokerRewardSumm: 0,
  indAgent: null,
  calcDoubleAgent: null,
  calcBroker: null,
  calcFinDepartment: null,
  dealerPerson: null,
  dealerBroker: null,
  dealer: null,
  indAgentRewardSumm: 0,
  calcDoubleAgentRewardSumm: 0,
  calcBrokerRewardSum: 0,
  finDepartmentRewardSumm: 0,
  insKaskoType: 100_000_000,
  insDecentral: false,
  insUnlimitDrivers: true,
  insAgeDrivers: 0,
  insExpDrivers: 0,
  lastPaymentRedemption: true,
  priceWithDiscount: false,
  fullPriceWithDiscount: false,
  costIncrease: true,
  insurance: true,
  registrationQuote: true,
  technicalCardQuote: true,
  NSIB: true,
  quoteContactGender: 100_000_000,
  quoteRedemptionGraph: true,
  showFinGAP: true,
  creditRate: RATE,
  requirementTelematic: 100_000_000,
  maxPriceChange: 0,
  importerRewardPerc: 0,
  importerRewardRub: 0,
  disableChecks: false,
  insFranchise: 0,
  rate: 'BASE',
  calcType: 100_000_000,
  totalPayments: 0,
  vehicleTaxInYear: 0,
  vehicleTaxInLeasingPeriod: 0,
  objectRegistration: 100_000_000,
  typePTS: 100_000_001,
  insNSIB: null,
  regionRegistration: null,
  legalClientRegion: null,
  legalClientTown: null,
  infuranceOPF: null,
  product: null,
  clientRisk: null,
  clientType: null,
  lastPaymentRub: 0,
  leaseObjectType: null,
  leaseObjectUseFor: null,
  dealerRewardCondition: null,
  dealerBrokerRewardCondition: null,
  indAgentRewardCondition: null,
  calcDoubleAgentRewardCondition: null,
  calcBrokerRewardCondition: null,
  finDepartmentRewardCondtion: null,
  GPSBrand: null,
  GPSModel: null,
  townRegistration: null,
  INNForCalc: 0,
  quoteName: null,
  tarif: null,
  minPriceChange: 0,
  registration: null,
  technicalCard: null,
  telematic: null,
  tracker: null,
  mileage: 0,
  objectRegionRegistration: null,
  objectCategoryTax: null,
  objectTypeTax: null,
  subsidy: null,
  fuelCard: null,
  kpUrl: null,
  leadUrl: null,
  opportunityUrl: null,
  quoteUrl: null,
  subsidySum: 0,
  leaseObjectRiskName: '-',
  insKaskoPriceLeasePeriod: 0,
  irrInfo: '-',
  registrationDescription: '-',
  depreciationGroup: '-',
  importProgram: null,
  importProgramSum: 0,
  addEquipmentPrice: 0,
  bonusCoefficient: 1,
  plPriceRub: 0,
  discountRub: 0,
};

export default defaultValues;
