aboutsummaryrefslogtreecommitdiff
path: root/src/Costasdev.Busurbano.Backend/Configuration/AppConfiguration.cs
blob: db0b57392bfc3b141225a5da09f21557a3034923 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
namespace Costasdev.Busurbano.Backend.Configuration;

public class AppConfiguration
{
    public required string VitrasaScheduleBasePath { get; set; }
    public required string RenfeScheduleBasePath { get; set; }

    public string OtpGeocodingBaseUrl { get; set; } = "https://planificador-rutas-api.vigo.org/v1";
    public string OtpPlannerBaseUrl { get; set; } = "https://planificador-rutas.vigo.org/otp/routers/default";

    // Default Routing Parameters
    public double WalkSpeed { get; set; } = 1.4;
    public int MaxWalkDistance { get; set; } = 1000;
    public int MaxWalkTime { get; set; } = 20;
    public int NumItineraries { get; set; } = 4;

    // Comfort/Slack Parameters
    public int TransferSlackSeconds { get; set; } = 120; // Extra buffer for transfers
    public int MinTransferTimeSeconds { get; set; } = 120; // Minimum transfer time
    public double WalkReluctance { get; set; } = 2.0; // Slightly penalize walking to add slack

    // Fare Configuration
    public double FareCashPerBus { get; set; } = 1.63;
    public double FareCardPerBus { get; set; } = 0.67;
}