sharee.bike-App/TINKLib/Model/Bikes/BikeInfoNS/RentalDescription.cs

70 lines
2.1 KiB
C#
Raw Normal View History

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
}