go-types/pkg/upstreamApi/vstp.go

49 lines
2.0 KiB
Go

package upstreamApi
type MsgData struct {
Data VstpMsg `json:"VSTPCIFMsgV1,omitempty"`
Timestamp int64 `json:"timestamp,omitempty"`
}
type VstpMsg struct {
CIFMsg JsonScheduleV1 `json:"schedule,omitempty"`
}
// Redundant Types:
type Schedule struct {
TransactionType string `json:"transaction_type,omitempty"`
ScheduleStartDate string `json:"schedule_start_date,omitempty"`
ScheduleEndDate string `json:"schedule_end_date,omitempty"`
ScheduleDaysRun string `json:"schedule_days_runs,omitempty"`
CIFTrainUID string `json:"CIF_train_uid,omitempty"`
CIFSTPIndicator string `json:"CIF_stp_indicator,omitempty"`
ScheduleSegment []ScheduleSegment `json:"schedule_segment,omitempty"`
}
type ScheduleSegment struct {
SignallingID string `json:"signalling_id,omitempty"`
ATOCCode string `json:"atoc_code,omitempty"`
CIFTrainCategory string `json:"CIF_train_category,omitempty"`
CIFHeadcode string `json:"CIF_headcode,omitempty"`
CIFPowerType string `json:"CIF_power_type,omitempty"`
CIFSpeed string `json:"CIF_speed,omitempty"`
ScheduleLocation []ScheduleLocation `json:"schedule_location,omitempty"`
}
type ScheduleLocation struct {
ScheduledArrivalTime string `json:"scheduled_arrival_time,omitempty"`
ScheduledDepartureTime string `json:"scheduled_departure_time,omitempty"`
ScheduledPassTime string `json:"scheduled_pass_time,omitempty"`
PublicArrivalTime string `json:"public_arrival_time,omitempty"`
PublicDepartureTime string `json:"public_departure_time,omitempty"`
CIFPlatform string `json:"CIF_platform,omitempty"`
CIFLine string `json:"CIF_line,omitempty"`
Tiploc LocationTiploc `json:"location,omitempty"`
}
type LocationTiploc struct {
Tiploc struct {
TiplocId string `json:"tiploc_id,omitempty"`
} `json:"tiploc,omitempty"`
}