go-types/pkg/upstreamApi/vstp.go

69 lines
3.1 KiB
Go

package upstreamApi
type MsgData struct {
Data VstpMsg `json:"VSTPCIFMsgV1,omitempty"`
Timestamp int64 `json:"timestamp,omitempty"`
}
type VstpMsg struct {
CIFMsg VSTPSchedule `json:"schedule,omitempty"`
}
// VSTP Version of the JsonScheduleV1 type
type VSTPSchedule struct {
TransactionType string `json:"transaction_type"`
CifBankHolidayRunning string `json:"CIF_bank_holiday_running"`
CifStpIndicator string `json:"CIF_stp_indicator"`
CifTrainUid string `json:"CIF_train_uid"`
ApplicableTimetable string `json:"applicable_timetable"`
ScheduleDaysRun string `json:"schedule_days_runs"`
ScheduleStartDate string `json:"schedule_start_date"`
ScheduleEndDate string `json:"schedule_end_date"`
ScheduleSegment []VSTPScheduleSegment `json:"schedule_segment"`
}
// Part of the VSTPSchedule type - Not used keys commented out
type VSTPScheduleSegment struct {
SignallingId string `json:"signalling_id"`
AtocCode string `json:"atoc_code"`
CifTrainCategory string `json:"CIF_train_category"`
CifHeadcode string `json:"CIF_headcode"`
// CifCourseIndicator int64 `json:"CIF_course_indicator"`
CifTrainServiceCode string `json:"CIF_train_service_code"`
CifBusinessSector string `json:"CIF_business_sector"`
CifPowerType string `json:"CIF_power_type"`
CifTimingLoad string `json:"CIF_timing_load"`
CifSpeed string `json:"CIF_speed"`
CifOperatingCharacteristics string `json:"CIF_operating_characteristics"`
CifTrainClass string `json:"CIF_train_class"`
CifSleepers string `json:"CIF_sleepers"`
CifReservations string `json:"CIF_reservations"`
// CifConnectionIndicator string `json:"CIF_connection_indicator"`
CifCateringCode string `json:"CIF_catering_code"`
CifServiceBranding string `json:"CIF_service_branding"`
ScheduleLocation []VSTPScheduleLocation `json:"schedule_location"`
}
// Part of the VSTPScheduleSegment type
type VSTPScheduleLocation struct {
Arrival string `json:"scheduled_arrival_time"`
PublicArrival string `json:"public_arrival_time"`
Departure string `json:"scheduled_departure_time"`
PublicDeparture string `json:"public_departure_time"`
Pass string `json:"scheduled_pass_time"`
Path string `json:"CIF_path"`
Platform string `json:"CIF_platform"`
Line string `json:"CIF_line"`
EngineeringAllowance string `json:"CIF_engineering_allowance"`
PathingAllowance string `json:"CIF_pathing_allowance"`
PerformanceAllowance string `json:"CIF_performance_allowance"`
Location LocationTiploc `json:"location"`
}
// Part of the VSTPScheduleLocaiton type
type LocationTiploc struct {
Tiploc struct {
TiplocId string `json:"tiploc_id,omitempty"`
} `json:"tiploc,omitempty"`
}