Sydney Trains real-time predictive occupancy is live

Sydney Trains V2 GTFS-R Trip Update feed has been extended to add predictive trip & carriage level occupancy. This data is produced via machine learning algorithm incorporating real-time data and historical trends.
The extension adds “departure_occupancy_status” & “carriage_seq_predictive_occupancy” to StopTimeUpdate in the Trip Update feed, allowing consumers to see information on the crowdedness of their service ahead of time, rather than relying on point in time “actuals” from a train that may be several stations away. This data also extends carriage level occupancy data to all Sydney Trains set types and lines.
We will continue to supply the “actual” occupancy for Waratah trains in the vehpos feed.
For more information see the relevant documentation and proto file. Please note that the “departure_occupancy_status” field may potentially change from index 6 to index 7 in a future release to allow further extension and alignment of specifications with MobilityData.

}
entity {
  id: "155K.1785.102.32.A.8.73477480"
  trip_update {
    trip {
      trip_id: "155K.1785.102.32.A.8.73477480"
      schedule_relationship: SCHEDULED
      route_id: "NSN_1a"
    }
    stop_time_update {
      arrival {
        delay: 74
      }
      departure {
        delay: 44
      }
      stop_id: "2077302"
      schedule_relationship: SCHEDULED
      departure_occupancy_status: MANY_SEATS_AVAILABLE
      [transit_realtime.carriage_seq_predictive_occupancy] {
        position_in_consist: 1
        departure_occupancy_status: MANY_SEATS_AVAILABLE
      }
      [transit_realtime.carriage_seq_predictive_occupancy] {
        position_in_consist: 2
        departure_occupancy_status: MANY_SEATS_AVAILABLE
      }
      [transit_realtime.carriage_seq_predictive_occupancy] {
        position_in_consist: 3
        departure_occupancy_status: MANY_SEATS_AVAILABLE
      }
      [transit_realtime.carriage_seq_predictive_occupancy] {
        position_in_consist: 4
        departure_occupancy_status: MANY_SEATS_AVAILABLE
      }
      [transit_realtime.carriage_seq_predictive_occupancy] {
        position_in_consist: 5
        departure_occupancy_status: MANY_SEATS_AVAILABLE
      }
      [transit_realtime.carriage_seq_predictive_occupancy] {
        position_in_consist: 6
        departure_occupancy_status: MANY_SEATS_AVAILABLE
      }
      [transit_realtime.carriage_seq_predictive_occupancy] {
        position_in_consist: 7
        departure_occupancy_status: MANY_SEATS_AVAILABLE
      }
      [transit_realtime.carriage_seq_predictive_occupancy] {
        position_in_consist: 8
        departure_occupancy_status: MANY_SEATS_AVAILABLE
      }
    }
3 Likes