aboutsummaryrefslogtreecommitdiff
path: root/src/Enmarcha.Experimental.ServiceViewer/Data/Gtfs/GtfsStop.cs
diff options
context:
space:
mode:
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; }
+}