aboutsummaryrefslogtreecommitdiff
path: root/src/Costasdev.Busurbano.Backend/Types
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2025-11-06 18:01:14 +0100
committerAriel Costas Guerrero <ariel@costas.dev>2025-11-06 18:01:14 +0100
commit66758ffaa4238191010ccc3dde7e5cdc6445f315 (patch)
tree639e37ea14fdb8990451b904eb7c0b2ad2542e9d /src/Costasdev.Busurbano.Backend/Types
parent785bc4569fc87aa289766847c862dd8148c5de0b (diff)
Seemingly fix algorithm (thanks copilot)
Diffstat (limited to 'src/Costasdev.Busurbano.Backend/Types')
-rw-r--r--src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs32
-rw-r--r--src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs9
2 files changed, 40 insertions, 1 deletions
diff --git a/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs b/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs
new file mode 100644
index 0000000..d65da61
--- /dev/null
+++ b/src/Costasdev.Busurbano.Backend/Types/ConsolidatedCirculation.cs
@@ -0,0 +1,32 @@
+namespace Costasdev.Busurbano.Backend.Types;
+
+public class ConsolidatedCirculation
+{
+ public required string Line { get; set; }
+ public required string Route { get; set; }
+
+ public ScheduleData? Schedule { get; set; }
+ public RealTimeData? RealTime { get; set; }
+}
+
+public class RealTimeData
+{
+ public required int Minutes { get; set; }
+ public required int Distance { get; set; }
+ public required RealTimeConfidence Confidence { get; set; }
+}
+
+public class ScheduleData
+{
+ public bool Running { get; set; }
+ public required int Minutes { get; set; }
+ public required string ServiceId { get; set; }
+ public required string TripId { get; set; }
+}
+
+public enum RealTimeConfidence
+{
+ NotApplicable = 0,
+ Low = 1,
+ High = 2
+}
diff --git a/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs b/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs
index f8e5634..25fc34f 100644
--- a/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs
+++ b/src/Costasdev.Busurbano.Backend/Types/VigoSchedules.cs
@@ -14,9 +14,17 @@ public class ScheduledStop
public required double ShapeDistTraveled { get; set; }
[JsonPropertyName("next_streets")] public required string[] NextStreets { get; set; }
+
[JsonPropertyName("starting_code")] public required string StartingCode { get; set; }
[JsonPropertyName("starting_name")] public required string StartingName { get; set; }
[JsonPropertyName("starting_time")] public required string StartingTime { get; set; }
+ public DateTime StartingDateTime()
+ {
+ var dt = DateTime.Today + TimeOnly.Parse(StartingTime).ToTimeSpan();
+ return dt.AddSeconds(60 - dt.Second);
+ }
+
+ [JsonPropertyName("calling_ssm")] public required int CallingSsm { get; set; }
[JsonPropertyName("calling_time")] public required string CallingTime { get; set; }
public DateTime CallingDateTime()
{
@@ -24,7 +32,6 @@ public class ScheduledStop
return dt.AddSeconds(60 - dt.Second);
}
- [JsonPropertyName("calling_ssm")] public required int CallingSsm { get; set; }
[JsonPropertyName("terminus_code")] public required string TerminusCode { get; set; }
[JsonPropertyName("terminus_name")] public required string TerminusName { get; set; }
[JsonPropertyName("terminus_time")] public required string TerminusTime { get; set; }