export enum TrainFareType {
  Amtrack = 'Economy Fare',
  Italo = 'Flex',
  Deutsche_bahn = 'Flexpreis',
  Sncf = 'Tarif No Flex',
  TrenItalia = 'Base',
  Uk_rail = 'Advance Single',
  Uk_rail_cancellation_fare = 'Anytime Day Single',
  Bus_Connection = 'Connecting Bus'
}

export enum TrainTripType {
  ONEWAY = 'One-way',
  ROUND_TRIP = 'Roundtrip'
}
enum UsaStation {
  NewYork = 'NY Moynihan Train Hall at Penn Station, New York, US',
  Washington = 'Washington, District of Columbia',
  Kansas = 'Kansas City (Union Station), US',
  Norfolk = 'Norfolk'
}
export enum FranceStation {
  Paris = 'Paris',
  Lyon = 'Lyon'
}
enum GermanyStation {
  Berlin = 'Berlin',
  Munich = 'München',
  Freiburg = 'Freiburg',
  Heidelberg = 'Heidelberg',
  Stuttgart = 'Stuttgart Hbf, DE'
}

enum ItalyStation {
  Milan = 'Milano, IT',
  Rome = 'Roma, IT',
  Grosseto = 'Grosseto, IT'
}

export enum NetherlandsStation {
  Amsterdam = 'Amsterdam, NL'
}

export enum FakeProviderStations {
  DepartureStation = 'FAKE_STATION_1',
  DestinationStation = 'FAKE_STATION_2'
}

export enum TofStations {
  TofOrigin = 'PAR  Paris',
  // Brussel = 'BRU  Brussel',
  TofDestination = 'LON  London'
}

export enum TrainProvider {
  Deutsche_bahn = '-deutschebahn',
  Amtrak = '-amtrak'
}
enum UkStation {
  Liverpool = 'Liverpool, GB',
  Manchester = 'Manchester Victoria, GB',
  London = 'London, GB',
  Birmingham = 'Birmingham, GB',
  Edinburgh = 'Edinburgh, GB'
}

export enum TrainCards {
  AmtrakRewards = 'Amtrak Guest Rewards',
  BahnCard25 = 'BahnCard 25 1ère',
  BahnCard50 = 'BahnCard 50 1ère',
  BahnBonus = 'Carte BahnBonus'
}

const SncfFareType = {
  STANDARD: [
    'Tarif Standard Seconde',
    'Tarif Flex Première',
    'Billet Tarif Normal',
    'Tarif Standard Première',
    'Tarif Normal Toutes Od',
    'Tarif No Flex'
  ],
  FIRST_CLASS: ['Business Première', 'Tarif Standard Première', 'Tarif Flex Première', 'Tarif Promo']
};

export const SncfBookingParams = {
  Location: FranceStation,
  FareType: SncfFareType
};

const DeutscheBahnFareType = {
  STANDARD: ['Super Sparpreis', 'Flexpreis', 'Sparpreis'],
  FIRST_CLASS: ['Flexpreis', 'Sparpreis']
};

export const DeutscheBahnBookingParams = {
  Location: GermanyStation,
  FareType: DeutscheBahnFareType
};

enum AmtrakFareType {
  Value_Fare = 'Value Fare',
  Flexible_Fare = 'Flexible Fare',
  First_Class = 'First Class Seat',
  Corporate_And_Government_Fare = 'Corporate And Government Fare',
  Business_Class = 'Business Class Seat'
}

export enum eurostarFareType {
  STANDARD = 'Public - Eurostar Standard',
  FIRST_CLASS = 'Public - Eurostar Plus'
}
export const AmtrakBookingParams = {
  Location: UsaStation,
  FareType: {
    STANDARD: [AmtrakFareType.Value_Fare, AmtrakFareType.Flexible_Fare],
    FIRST_CLASS: [AmtrakFareType.First_Class],
    CORPORATE: [AmtrakFareType.Corporate_And_Government_Fare],
    BUSINESS: [AmtrakFareType.Business_Class]
  }
};

export const EurostarBookingParams = {
  FareType: {
    STANDARD: [eurostarFareType.STANDARD],
    FIRST_CLASS: [eurostarFareType.FIRST_CLASS]
  }
};

const TrenItaliaFareType = {
  STANDARD: ['Economy', 'Super Economy', 'Base', 'Frecciadays'],
  FIRST_CLASS: ['Super Economy', 'Economy', 'Base', 'Frecciadays']
};

export const TrenItaliaBookingParams = {
  Location: ItalyStation,
  FareType: TrenItaliaFareType
};

const UkRailFareType = {
  STANDARD: ['Advance Single', 'Off-peak Single', 'Anytime Day Single'],
  FIRST_CLASS: ['First Class Single', 'First Class Day Single']
};

export const UkRailBookingParams = {
  Location: UkStation,
  FareType: UkRailFareType
};

const ItaloFareType = {
  STANDARD: ['Flex', 'Low Cost', 'Italo Senior'],
  FIRST_CLASS: ['Prima', 'Club Executive', 'Flex', 'Italo Senior']
};

export const ItaloBookingParams = {
  Location: ItalyStation,
  FareType: ItaloFareType
};

export const IrelandBookingParams = {
  Location: {
    Origin: 'Dublin',
    Destination: 'Cork (Kent), IE'
  }
};

export const IndianRailsBookingParams = {
  Location: {
    Origin: 'DELHI, IN',
    Destination: 'MUMBAICST, IN'
  }
};

export const OuiGoBookingParams = {
  Location: FranceStation,
  FareType: {
    STANDARD: ['Offre Essentiel Adulte']
  }
};
