import { CostTypeVariant } from '@prisma/client';
import { startOfDay, endOfDay } from 'date-fns';

export const BTW_AOK_TARIFFS = [
  {
    description: 'AOK/BKK/IKK/Knappschaft BTW',
    validFrom: startOfDay(new Date('2021-01-01')),
    validTo: endOfDay(new Date('2021-06-30')),
    costTypes: [
      {
        description: 'Grundpauschale je Fahrt',
        variant: CostTypeVariant.GRUNDPREIS,
        costAmount: 3400,
      },
      {
        description: 'ab dem 21. km',
        variant: CostTypeVariant.KILOMETERZUSCHLAG,
        costAmount: 135,
        kmInclusive: 20,
      },
      {
        description: 'Nachtzuschlag 19:00-07:00',
        variant: CostTypeVariant.NACHTZUSCHLAG,
        costAmount: 1665,
        timeRange: '19:00-07:00',
      },
      {
        description: 'Wochenendzuschlag',
        variant: CostTypeVariant.WOCHENENDZUSCHLAG,
        costAmount: 1665,
      },
      {
        description: 'Feiertagszuschlag',
        variant: CostTypeVariant.FEIERTAGSZUSCHLAG,
        costAmount: 1665,
      },
    ],
  },
  {
    description: 'AOK/BKK/IKK/Knappschaft BTW',
    validFrom: startOfDay(new Date('2021-07-01')),
    validTo: endOfDay(new Date('2022-08-31')),
    costTypes: [
      {
        description: 'Grundpauschale je Fahrt',
        variant: CostTypeVariant.GRUNDPREIS,
        costAmount: 3465,
      },
      {
        description: 'ab dem 21. km',
        variant: CostTypeVariant.KILOMETERZUSCHLAG,
        costAmount: 135,
        kmInclusive: 20,
      },
      {
        description: 'Nachtzuschlag 19:00-07:00',
        variant: CostTypeVariant.NACHTZUSCHLAG,
        costAmount: 1665,
        timeRange: '19:00-07:00',
      },
      {
        description: 'Wochenendzuschlag',
        variant: CostTypeVariant.WOCHENENDZUSCHLAG,
        costAmount: 1665,
      },
      {
        description: 'Feiertagszuschlag',
        variant: CostTypeVariant.FEIERTAGSZUSCHLAG,
        costAmount: 1665,
      },
    ],
  },
  {
    description: 'AOK/BKK/IKK/Knappschaft BTW',
    validFrom: startOfDay(new Date('2022-09-01')),
    validTo: endOfDay(new Date('2023-04-30')),
    costTypes: [
      {
        description: 'Grundpauschale je Fahrt',
        variant: CostTypeVariant.GRUNDPREIS,
        costAmount: 3700,
      },
      {
        description: 'ab dem 21. km',
        variant: CostTypeVariant.KILOMETERZUSCHLAG,
        costAmount: 160,
        kmInclusive: 20,
      },
      {
        description: 'Nachtzuschlag 18:00-07:30',
        variant: CostTypeVariant.NACHTZUSCHLAG,
        costAmount: 1765,
        timeRange: '18:00-07:30',
      },
      {
        description: 'Wochenendzuschlag',
        variant: CostTypeVariant.WOCHENENDZUSCHLAG,
        costAmount: 1765,
      },
      {
        description: 'Feiertagszuschlag',
        variant: CostTypeVariant.FEIERTAGSZUSCHLAG,
        costAmount: 1765,
      },
    ],
  },
  {
    description: 'AOK/BKK/IKK/Knappschaft BTW',
    validFrom: startOfDay(new Date('2023-05-01')),
    validTo: endOfDay(new Date('2024-06-30')),
    costTypes: [
      {
        description: 'Grundpauschale je Fahrt',
        variant: CostTypeVariant.GRUNDPREIS,
        costAmount: 3885,
      },
      {
        description: 'ab dem 21. km',
        variant: CostTypeVariant.KILOMETERZUSCHLAG,
        costAmount: 180,
        kmInclusive: 20,
      },
      {
        description: 'Nachtzuschlag 18:00-07:30',
        variant: CostTypeVariant.NACHTZUSCHLAG,
        costAmount: 1865,
        timeRange: '18:00-07:30',
      },
      {
        description: 'Wochenendzuschlag',
        variant: CostTypeVariant.WOCHENENDZUSCHLAG,
        costAmount: 1865,
      },
      {
        description: 'Feiertagszuschlag',
        variant: CostTypeVariant.FEIERTAGSZUSCHLAG,
        costAmount: 1865,
      },
    ],
  },
  {
    description: 'AOK/BKK/IKK/Knappschaft BTW',
    validFrom: startOfDay(new Date('2024-07-01')),
    validTo: endOfDay(new Date('2024-12-31')),
    costTypes: [
      {
        description: 'Grundpauschale je Fahrt',
        variant: CostTypeVariant.NACHTZUSCHLAG,
        costAmount: 4000,
        timeRange: '00:00-14:29',
      },
      {
        description: 'Grundpauschale je Fahrt',
        variant: CostTypeVariant.NACHTZUSCHLAG,
        costAmount: 4000,
        timeRange: '18:01-23:59',
      },
      {
        description: 'Grundpauschale je Fahrt (14:30-18:00)',
        variant: CostTypeVariant.NACHTZUSCHLAG,
        costAmount: 4500,
        timeRange: '14:30-18:00',
      },
      {
        description: 'ab dem 21. km',
        variant: CostTypeVariant.KILOMETERZUSCHLAG,
        costAmount: 200,
        kmInclusive: 20,
      },
      {
        description: 'Nachtzuschlag 18:00-07:30',
        variant: CostTypeVariant.NACHTZUSCHLAG,
        costAmount: 2500,
        timeRange: '18:00-07:30',
      },
      {
        description: 'Wochenendzuschlag',
        variant: CostTypeVariant.WOCHENENDZUSCHLAG,
        costAmount: 2500,
      },
      {
        description: 'Feiertagszuschlag',
        variant: CostTypeVariant.FEIERTAGSZUSCHLAG,
        costAmount: 2500,
      },
    ],
  },
  {
    description: 'AOK/BKK/IKK/Knappschaft BTW',
    validFrom: startOfDay(new Date('2025-01-01')),
    validTo: endOfDay(new Date('2025-12-31')),
    costTypes: [
      {
        description: 'Grundpauschale je Fahrt',
        variant: CostTypeVariant.GRUNDPREIS_ZEIT,
        costAmount: 4250,
        timeRange: '00:00-14:29',
      },
      {
        description: 'Grundpauschale je Fahrt',
        variant: CostTypeVariant.GRUNDPREIS_ZEIT,
        costAmount: 4250,
        timeRange: '18:01-23:59',
      },
      {
        description: 'Grundpauschale je Fahrt (14:30-18:00)',
        variant: CostTypeVariant.GRUNDPREIS_ZEIT,
        costAmount: 5000,
        timeRange: '14:30-18:00',
      },
      {
        description: 'ab dem 21. km',
        variant: CostTypeVariant.KILOMETERZUSCHLAG,
        costAmount: 200,
        kmInclusive: 20,
      },
      {
        description: 'Nachtzuschlag 18:00-07:30',
        variant: CostTypeVariant.NACHTZUSCHLAG,
        costAmount: 3000,
        timeRange: '18:00-07:30',
      },
      {
        description: 'Wochenendzuschlag',
        variant: CostTypeVariant.WOCHENENDZUSCHLAG,
        costAmount: 3000,
      },
      {
        description: 'Feiertagszuschlag',
        variant: CostTypeVariant.FEIERTAGSZUSCHLAG,
        costAmount: 3000,
      },
    ],
  },
  {
    description: 'AOK/BKK/IKK/Knappschaft BTW',
    validFrom: startOfDay(new Date('2026-01-01')),
    validTo: null,
    costTypes: [
      {
        description: 'Grundpauschale je Fahrt',
        variant: CostTypeVariant.GRUNDPREIS_ZEIT,
        costAmount: 4500,
        timeRange: '00:00-14:29',
      },
      {
        description: 'Grundpauschale je Fahrt',
        variant: CostTypeVariant.GRUNDPREIS_ZEIT,
        costAmount: 4500,
        timeRange: '18:01-23:59',
      },
      {
        description: 'Grundpauschale je Fahrt (14:30-18:00)',
        variant: CostTypeVariant.GRUNDPREIS_ZEIT,
        costAmount: 5000,
        timeRange: '14:30-18:00',
      },
      {
        description: 'ab dem 21. km',
        variant: CostTypeVariant.KILOMETERZUSCHLAG,
        costAmount: 200,
        kmInclusive: 20,
      },
      {
        description: 'Nachtzuschlag 18:00-07:30',
        variant: CostTypeVariant.NACHTZUSCHLAG,
        costAmount: 3000,
        timeRange: '18:00-07:30',
      },
      {
        description: 'Wochenendzuschlag',
        variant: CostTypeVariant.WOCHENENDZUSCHLAG,
        costAmount: 3000,
      },
      {
        description: 'Feiertagszuschlag',
        variant: CostTypeVariant.FEIERTAGSZUSCHLAG,
        costAmount: 3000,
      },
    ],
  },
];
