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"` 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"` }