aboutsummaryrefslogtreecommitdiff
path: root/src/Enmarcha.Experimental.ServiceViewer/Data/Gtfs/GtfsStop.cs
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2025-12-29 00:41:52 +0100
committerAriel Costas Guerrero <ariel@costas.dev>2025-12-29 00:41:52 +0100
commita304c24b32c0327436bbd8c2853e60668e161b42 (patch)
tree08f65c05daca134cf4d2e4f779bd15d98fd66370 /src/Enmarcha.Experimental.ServiceViewer/Data/Gtfs/GtfsStop.cs
parent120a3c6bddd0fb8d9fa05df4763596956554c025 (diff)
Rename a lot of stuff, add Santiago real time
Diffstat (limited to 'src/Enmarcha.Experimental.ServiceViewer/Data/Gtfs/GtfsStop.cs')
-rw-r--r--src/Enmarcha.Experimental.ServiceViewer/Data/Gtfs/GtfsStop.cs51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/Enmarcha.Experimental.ServiceViewer/Data/Gtfs/GtfsStop.cs b/src/Enmarcha.Experimental.ServiceViewer/Data/Gtfs/GtfsStop.cs
new file mode 100644
index 0000000..6198ffa
--- /dev/null
+++ b/src/Enmarcha.Experimental.ServiceViewer/Data/Gtfs/GtfsStop.cs
@@ -0,0 +1,51 @@
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using Enmarcha.Experimental.ServiceViewer.Data.Gtfs.Enums;
+using Microsoft.EntityFrameworkCore;
+using NetTopologySuite.Geometries;
+
+namespace Enmarcha.Experimental.ServiceViewer.Data.Gtfs;
+
+[Table("gtfs_stops")]
+[PrimaryKey(nameof(Id), nameof(FeedId))]
+public class GtfsStop
+{
+ [Column("stop_id")]
+ [MaxLength(32)]
+ public required string Id { get; set; }
+
+ [Column("feed_id")]public int FeedId { get; set; }
+ [ForeignKey(nameof(FeedId))] public required Feed Feed { get; set; }
+
+ [Column("stop_code")]
+ [MaxLength(32)]
+ public string Code { get; set; } = string.Empty;
+
+ [Column("stop_name")]
+ [MaxLength(255)]
+ public string Name { get; set; } = string.Empty;
+
+ [Column("stop_desc")]
+ [MaxLength(255)]
+ public string? Description { get; set; }
+
+ [Column("stop_pos")]
+ public Point? Position { get; set; }
+
+ [Column("stop_url")]
+ [MaxLength(255)]
+ public string? Url { get; set; }
+
+ [Column("stop_timezone")]
+ [MaxLength(50)]
+ public string? Timezone { get; set; }
+
+ [Column("wheelchair_boarding")]
+ public WheelchairBoarding WheelchairBoarding { get; set; } = WheelchairBoarding.Unknown;
+
+ // [Column("location_type")]
+ // public int LocationType { get; set; }
+ //
+ // [Column("parent_station")]
+ // public int? ParentStationId { get; set; }
+}