aboutsummaryrefslogtreecommitdiff
path: root/src/Enmarcha.Backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/Enmarcha.Backend')
-rw-r--r--src/Enmarcha.Backend/Controllers/ArrivalsController.cs19
-rw-r--r--src/Enmarcha.Backend/Types/Arrivals/Arrival.cs6
2 files changed, 22 insertions, 3 deletions
diff --git a/src/Enmarcha.Backend/Controllers/ArrivalsController.cs b/src/Enmarcha.Backend/Controllers/ArrivalsController.cs
index 7feeee0..5608723 100644
--- a/src/Enmarcha.Backend/Controllers/ArrivalsController.cs
+++ b/src/Enmarcha.Backend/Controllers/ArrivalsController.cs
@@ -140,8 +140,23 @@ public partial class ArrivalsController : ControllerBase
return Ok(new StopEstimatesResponse { Arrivals = estimates });
}
- private static VehicleOperation GetVehicleOperation(ArrivalsAtStopResponse.PickupType pickup, ArrivalsAtStopResponse.PickupType dropoff)
+ private static VehicleOperation GetVehicleOperation(
+ ArrivalsAtStopResponse.Arrival item
+ )
{
+ var pickup = item.PickupTypeParsed;
+ var dropoff = item.DropoffTypeParsed;
+
+ if (item.StopPosition == 0)
+ {
+ return VehicleOperation.Departure;
+ }
+
+ if (item.StopPosition == item.Trip.Stoptimes.Count - 1)
+ {
+ return VehicleOperation.Arrival;
+ }
+
if (pickup == ArrivalsAtStopResponse.PickupType.None && dropoff == ArrivalsAtStopResponse.PickupType.None) return VehicleOperation.PickupDropoff;
if (pickup != ArrivalsAtStopResponse.PickupType.None && dropoff != ArrivalsAtStopResponse.PickupType.None) return VehicleOperation.PickupDropoff;
if (pickup != ArrivalsAtStopResponse.PickupType.None) return VehicleOperation.PickupOnly;
@@ -215,7 +230,7 @@ public partial class ArrivalsController : ControllerBase
},
Operator = feedId == "xunta" ? item.Trip.Route.Agency?.Name : null,
RawOtpTrip = item,
- Operation = GetVehicleOperation(item.PickupTypeParsed, item.DropoffTypeParsed)
+ Operation = GetVehicleOperation(item)
});
}
diff --git a/src/Enmarcha.Backend/Types/Arrivals/Arrival.cs b/src/Enmarcha.Backend/Types/Arrivals/Arrival.cs
index 81811c2..0e74a44 100644
--- a/src/Enmarcha.Backend/Types/Arrivals/Arrival.cs
+++ b/src/Enmarcha.Backend/Types/Arrivals/Arrival.cs
@@ -46,7 +46,11 @@ public enum VehicleOperation
[JsonStringEnumMemberName("pickup_only")]
PickupOnly = 1,
[JsonStringEnumMemberName("dropoff_only")]
- DropoffOnly = 2
+ DropoffOnly = 2,
+ [JsonStringEnumMemberName("departure")]
+ Departure = 3,
+ [JsonStringEnumMemberName("arrival")]
+ Arrival = 4
}
public class RouteInfo