From 236d760d20a5ade402f8e4e4da92332a09f0bcde Mon Sep 17 00:00:00 2001 From: Ariel Costas Guerrero Date: Thu, 6 Nov 2025 00:29:25 +0100 Subject: Begin (poorly) implementing merging scheduled and real-time data --- .../Types/VigoSchedules.cs | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs (limited to 'src/Costasdev.Busurbano.Backend/Types') diff --git a/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs b/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs new file mode 100644 index 0000000..d6012e5 --- /dev/null +++ b/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs @@ -0,0 +1,38 @@ +using System.Text.Json.Serialization; + +namespace Costasdev.Busurbano.Backend.Types; + +public class ScheduledStop +{ + [JsonPropertyName("line")] public required Line Line { get; set; } + [JsonPropertyName("trip")] public required Trip Trip { get; set; } + [JsonPropertyName("route_id")] public required string RouteId { get; set; } + [JsonPropertyName("departure_time")] public required string DepartureTime { get; set; } + + public DateTime DepartureDateTime() + { + var dt = DateTime.Today + TimeOnly.Parse(DepartureTime).ToTimeSpan(); + return dt.AddSeconds(60 - dt.Second); + } + + [JsonPropertyName("stop_sequence")] public required int StopSequence { get; set; } + + [JsonPropertyName("shape_dist_traveled")] + public required float ShapeDistTraveled { get; set; } + + [JsonPropertyName("next_streets")] public required string[] NextStreets { get; set; } +} + +public class Line +{ + [JsonPropertyName("name")] public required string Name { get; set; } + [JsonPropertyName("colour")] public required string Colour { get; set; } +} + +public class Trip +{ + [JsonPropertyName("id")] public required string Id { get; set; } + [JsonPropertyName("service_id")] public required string ServiceId { get; set; } + [JsonPropertyName("headsign")] public required string Headsign { get; set; } + [JsonPropertyName("direction_id")] public required int DirectionId { get; set; } +} -- cgit v1.3