2023-06-06 12:00:24 +02:00
using System ;
2023-02-22 14:03:35 +01:00
using System.Collections.Generic ;
2022-06-17 14:17:58 +02:00
2022-08-30 15:42:25 +02:00
namespace TINK.Model.Bikes.BikeInfoNS
2022-06-17 14:17:58 +02:00
{
2022-09-06 16:08:19 +02:00
/// <summary>
/// Successor of TarifDescription- object.
/// Manages tariff- and rental info.
/// </summary>
2023-06-06 12:00:24 +02:00
public class RentalDescription : IRentalDescription
2022-09-06 16:08:19 +02:00
{
/// <summary>
2023-06-06 12:00:24 +02:00
/// The different elements of a tariff (example: "Max Gebühr", ) to be displayed by sharee.bike without processing
2022-09-06 16:08:19 +02:00
/// </summary>
public class TariffElement
{
/// <summary>
2023-06-06 12:00:24 +02:00
/// Describes the tariff element (language aware). To be displayed to user (example of elements: "Gratis Mietzeit", "Mietgebühr", "Max Gebühr").
2022-09-06 16:08:19 +02:00
/// </summary>
public string Description { get ; set ; } = string . Empty ;
2022-06-17 14:17:58 +02:00
2022-09-06 16:08:19 +02:00
/// <summary>
2023-06-06 12:00:24 +02:00
/// Holds the tariff element value (language aware, i.e. value from backend might be english, german, ... depending on smart phone value). To be displayed to user (example: "9.00 € / Tag").
2022-09-06 16:08:19 +02:00
/// </summary>
public string Value { get ; set ; } = string . Empty ;
}
2022-06-17 14:17:58 +02:00
2023-02-22 14:03:35 +01:00
/// <summary>
/// Info element of general purpose (AGB, tracking info, ...)
/// </summary>
2022-09-06 16:08:19 +02:00
public class InfoElement
{
2023-02-22 14:03:35 +01:00
/// <summary>
2023-06-06 12:00:24 +02:00
/// Key which identifies the value (required for special processing)
2023-02-22 14:03:35 +01:00
/// </summary>
2022-09-06 16:08:19 +02:00
public string Key { get ; set ; }
2023-02-22 14:03:35 +01:00
/// <summary>
2023-06-06 12:00:24 +02:00
/// Text (language aware) to be displayed to user.
2023-02-22 14:03:35 +01:00
/// </summary>
2022-09-06 16:08:19 +02:00
public string Value { get ; set ; }
}
2022-06-17 14:17:58 +02:00
2022-09-06 16:08:19 +02:00
/// <summary>
/// Name of the tariff.
/// </summary>
public string Name { get ; set ; } = string . Empty ;
2022-06-17 14:17:58 +02:00
2022-09-06 16:08:19 +02:00
/// <summary>
/// Number of the tariff.
/// </summary>
public int? Id { get ; set ; }
2022-06-17 14:17:58 +02:00
2023-06-06 12:00:24 +02:00
/// <summary>
/// Holds the time span for which a bike can be reserved.
/// </summary>
public TimeSpan MaxReservationTimeSpan { get ; set ; }
/// <summary>
/// Dynamic language aware tariff elements to be displayed to user.
/// </summary>
2022-09-06 16:08:19 +02:00
public Dictionary < string , TariffElement > TariffEntries { get ; set ; } = new Dictionary < string , TariffElement > ( ) ;
2022-06-17 14:17:58 +02:00
2023-06-06 12:00:24 +02:00
/// <summary>
/// Well known language aware elements (AGB, tracking info, ...) to be displayed to user.
/// </summary>
2022-09-06 16:08:19 +02:00
public Dictionary < string , InfoElement > InfoEntries { get ; set ; } = new Dictionary < string , InfoElement > ( ) ;
}
2022-06-17 14:17:58 +02:00
}