41 lines
1.2 KiB
Go
41 lines
1.2 KiB
Go
package models
|
|
|
|
type Incident struct {
|
|
Type string `json:"type"`
|
|
Icon int `json:"iconCategory"`
|
|
Description string `json:"description"`
|
|
}
|
|
|
|
type IncidentResponse struct {
|
|
Incidents []struct {
|
|
Type string `json:"type"`
|
|
Icon int `json:"iconCategory"`
|
|
Description string `json:"description"`
|
|
} `json:"incidents"`
|
|
}
|
|
|
|
type RouteSummary struct {
|
|
TravelTimeInSeconds int `json:"travelTimeInSeconds"`
|
|
TravelTimeInMinutes int `json:"travelTimeInMinutes"` // Calculé
|
|
LengthInMeters int `json:"lengthInMeters"`
|
|
LengthInKm float64 `json:"lengthInKm"` // Calculé
|
|
TrafficDelayInSeconds int `json:"trafficDelayInSeconds,omitempty"`
|
|
DepartureTime string `json:"departureTime,omitempty"`
|
|
ArrivalTime string `json:"arrivalTime,omitempty"`
|
|
}
|
|
|
|
type RouteResponse struct {
|
|
Routes []struct {
|
|
Summary RouteSummary `json:"summary"`
|
|
Legs []struct {
|
|
Summary RouteSummary `json:"summary"`
|
|
} `json:"legs,omitempty"`
|
|
} `json:"routes"`
|
|
}
|
|
|
|
// IncidentsWithRoute combine incidents et informations de route
|
|
type IncidentsWithRoute struct {
|
|
Incidents []Incident `json:"incidents"`
|
|
Route RouteSummary `json:"route"`
|
|
}
|