Handling of duplicate trip update entities in TU feed

Hi,

How does TfNSW expect multiple of essentially the same trip update entities to be handled? I have provided an example below where one of the entities has a scheduleRelationship of 0 and two of them have a scheduleRelationship of 1. Are they even allowed to appear multiple times in the feed, and what should be done with them? This occurred for another 001 service today as well.

I know that it doesn’t really matter here but like why do the ADDED trips even have the same trip ID as the scheduled service as well?

[
  TripUpdate {
    stopTimeUpdate: [
      StopTimeUpdate {
        '.transit_realtime.carriageSeqPredictiveOccupancy': [],
        stopSequence: 1,
        arrival: StopTimeEvent {
          delay: 0,
          time: Long { low: 1773484500, high: 0, unsigned: false }
        },
        departure: StopTimeEvent {
          delay: 0,
          time: Long { low: 1773484500, high: 0, unsigned: false }
        },
        stopId: '202156',
        scheduleRelationship: 2
      },
      StopTimeUpdate {
        '.transit_realtime.carriageSeqPredictiveOccupancy': [],
        stopSequence: 2,
        arrival: StopTimeEvent {
          delay: 0,
          time: Long { low: 1773489600, high: 0, unsigned: false }
        },
        departure: StopTimeEvent {
          delay: 0,
          time: Long { low: 1773489600, high: 0, unsigned: false }
        },
        stopId: '201039',
        scheduleRelationship: 2
      }
    ],
    trip: TripDescriptor {
      tripId: '2608045',
      startTime: '21:35:00',
      startDate: '20260314',
      scheduleRelationship: 0,
      routeId: '2509_001'
    }
  },
  TripUpdate {
    stopTimeUpdate: [
      StopTimeUpdate {
        '.transit_realtime.carriageSeqPredictiveOccupancy': [],
        stopSequence: 1,
        arrival: StopTimeEvent {
          delay: 0,
          time: Long { low: 1773484500, high: 0, unsigned: false }
        },
        departure: StopTimeEvent {
          delay: 0,
          time: Long { low: 1773484500, high: 0, unsigned: false }
        },
        stopId: '202156',
        scheduleRelationship: 2
      },
      StopTimeUpdate {
        '.transit_realtime.carriageSeqPredictiveOccupancy': [],
        stopSequence: 2,
        arrival: StopTimeEvent {
          delay: 0,
          time: Long { low: 1773489600, high: 0, unsigned: false }
        },
        departure: StopTimeEvent {
          delay: 0,
          time: Long { low: 1773489600, high: 0, unsigned: false }
        },
        stopId: '201039',
        scheduleRelationship: 2
      }
    ],
    trip: TripDescriptor {
      tripId: '2608045',
      startTime: '21:35:00',
      startDate: '20260314',
      scheduleRelationship: 1,
      routeId: '2509_001'
    }
  },
  TripUpdate {
    stopTimeUpdate: [
      StopTimeUpdate {
        '.transit_realtime.carriageSeqPredictiveOccupancy': [],
        stopSequence: 1,
        arrival: StopTimeEvent {
          delay: 0,
          time: Long { low: 1773484500, high: 0, unsigned: false }
        },
        departure: StopTimeEvent {
          delay: 0,
          time: Long { low: 1773484500, high: 0, unsigned: false }
        },
        stopId: '202156',
        scheduleRelationship: 2
      },
      StopTimeUpdate {
        '.transit_realtime.carriageSeqPredictiveOccupancy': [],
        stopSequence: 2,
        arrival: StopTimeEvent {
          delay: 0,
          time: Long { low: 1773489600, high: 0, unsigned: false }
        },
        departure: StopTimeEvent {
          delay: 0,
          time: Long { low: 1773489600, high: 0, unsigned: false }
        },
        stopId: '201039',
        scheduleRelationship: 2
      }
    ],
    trip: TripDescriptor {
      tripId: '2608045',
      startTime: '21:35:00',
      startDate: '20260314',
      scheduleRelationship: 1,
      routeId: '2509_001'
    }
  }
]

Thanks.