{
  "options": {
    "java_package": "com.google.transit.realtime"
  },
  "nested": {
    "transit_realtime": {
      "nested": {
        "FeedMessage": {
          "edition": "proto2",
          "fields": {
            "header": {
              "rule": "required",
              "type": "FeedHeader",
              "id": 1
            },
            "entity": {
              "rule": "repeated",
              "type": "FeedEntity",
              "id": 2
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ]
        },
        "FeedHeader": {
          "edition": "proto2",
          "fields": {
            "gtfsRealtimeVersion": {
              "rule": "required",
              "type": "string",
              "id": 1
            },
            "incrementality": {
              "type": "Incrementality",
              "id": 2,
              "options": {
                "default": "FULL_DATASET"
              }
            },
            "timestamp": {
              "type": "uint64",
              "id": 3
            },
            "feedVersion": {
              "type": "string",
              "id": 4
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ],
          "nested": {
            "Incrementality": {
              "values": {
                "FULL_DATASET": 0,
                "DIFFERENTIAL": 1
              }
            }
          }
        },
        "FeedEntity": {
          "edition": "proto2",
          "fields": {
            "id": {
              "rule": "required",
              "type": "string",
              "id": 1
            },
            "isDeleted": {
              "type": "bool",
              "id": 2,
              "options": {
                "default": false
              }
            },
            "tripUpdate": {
              "type": "TripUpdate",
              "id": 3
            },
            "vehicle": {
              "type": "VehiclePosition",
              "id": 4
            },
            "alert": {
              "type": "Alert",
              "id": 5
            },
            "shape": {
              "type": "Shape",
              "id": 6
            },
            "stop": {
              "type": "Stop",
              "id": 7
            },
            "tripModifications": {
              "type": "TripModifications",
              "id": 8
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ]
        },
        "TripUpdate": {
          "edition": "proto2",
          "fields": {
            "trip": {
              "rule": "required",
              "type": "TripDescriptor",
              "id": 1
            },
            "vehicle": {
              "type": "VehicleDescriptor",
              "id": 3
            },
            "stopTimeUpdate": {
              "rule": "repeated",
              "type": "StopTimeUpdate",
              "id": 2
            },
            "timestamp": {
              "type": "uint64",
              "id": 4
            },
            "delay": {
              "type": "int32",
              "id": 5
            },
            "tripProperties": {
              "type": "TripProperties",
              "id": 6
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ],
          "nested": {
            "StopTimeEvent": {
              "fields": {
                "delay": {
                  "type": "int32",
                  "id": 1
                },
                "time": {
                  "type": "int64",
                  "id": 2
                },
                "uncertainty": {
                  "type": "int32",
                  "id": 3
                },
                "scheduledTime": {
                  "type": "int64",
                  "id": 4
                }
              },
              "extensions": [
                [
                  1000,
                  1999
                ],
                [
                  9000,
                  9999
                ]
              ]
            },
            "StopTimeUpdate": {
              "fields": {
                "stopSequence": {
                  "type": "uint32",
                  "id": 1
                },
                "stopId": {
                  "type": "string",
                  "id": 4
                },
                "arrival": {
                  "type": "StopTimeEvent",
                  "id": 2
                },
                "departure": {
                  "type": "StopTimeEvent",
                  "id": 3
                },
                "departureOccupancyStatus": {
                  "type": "VehiclePosition.OccupancyStatus",
                  "id": 7
                },
                "scheduleRelationship": {
                  "type": "ScheduleRelationship",
                  "id": 5,
                  "options": {
                    "default": "SCHEDULED"
                  }
                },
                "stopTimeProperties": {
                  "type": "StopTimeProperties",
                  "id": 6
                }
              },
              "extensions": [
                [
                  1000,
                  1999
                ],
                [
                  9000,
                  9999
                ]
              ],
              "nested": {
                "ScheduleRelationship": {
                  "values": {
                    "SCHEDULED": 0,
                    "SKIPPED": 1,
                    "NO_DATA": 2,
                    "UNSCHEDULED": 3
                  }
                },
                "StopTimeProperties": {
                  "fields": {
                    "assignedStopId": {
                      "type": "string",
                      "id": 1
                    },
                    "stopHeadsign": {
                      "type": "string",
                      "id": 2
                    },
                    "pickupType": {
                      "type": "DropOffPickupType",
                      "id": 3
                    },
                    "dropOffType": {
                      "type": "DropOffPickupType",
                      "id": 4
                    }
                  },
                  "extensions": [
                    [
                      1000,
                      1999
                    ],
                    [
                      9000,
                      9999
                    ]
                  ],
                  "nested": {
                    "DropOffPickupType": {
                      "values": {
                        "REGULAR": 0,
                        "NONE": 1,
                        "PHONE_AGENCY": 2,
                        "COORDINATE_WITH_DRIVER": 3
                      }
                    }
                  }
                }
              }
            },
            "TripProperties": {
              "fields": {
                "tripId": {
                  "type": "string",
                  "id": 1
                },
                "startDate": {
                  "type": "string",
                  "id": 2
                },
                "startTime": {
                  "type": "string",
                  "id": 3
                },
                "shapeId": {
                  "type": "string",
                  "id": 4
                },
                "tripHeadsign": {
                  "type": "string",
                  "id": 5
                },
                "tripShortName": {
                  "type": "string",
                  "id": 6
                }
              },
              "extensions": [
                [
                  1000,
                  1999
                ],
                [
                  9000,
                  9999
                ]
              ]
            }
          }
        },
        "VehiclePosition": {
          "edition": "proto2",
          "fields": {
            "trip": {
              "type": "TripDescriptor",
              "id": 1
            },
            "vehicle": {
              "type": "VehicleDescriptor",
              "id": 8
            },
            "position": {
              "type": "Position",
              "id": 2
            },
            "currentStopSequence": {
              "type": "uint32",
              "id": 3
            },
            "stopId": {
              "type": "string",
              "id": 7
            },
            "currentStatus": {
              "type": "VehicleStopStatus",
              "id": 4,
              "options": {
                "default": "IN_TRANSIT_TO"
              }
            },
            "timestamp": {
              "type": "uint64",
              "id": 5
            },
            "congestionLevel": {
              "type": "CongestionLevel",
              "id": 6
            },
            "occupancyStatus": {
              "type": "OccupancyStatus",
              "id": 9
            },
            "occupancyPercentage": {
              "type": "uint32",
              "id": 10
            },
            "multiCarriageDetails": {
              "rule": "repeated",
              "type": "CarriageDetails",
              "id": 11
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ],
          "nested": {
            "VehicleStopStatus": {
              "values": {
                "INCOMING_AT": 0,
                "STOPPED_AT": 1,
                "IN_TRANSIT_TO": 2
              }
            },
            "CongestionLevel": {
              "values": {
                "UNKNOWN_CONGESTION_LEVEL": 0,
                "RUNNING_SMOOTHLY": 1,
                "STOP_AND_GO": 2,
                "CONGESTION": 3,
                "SEVERE_CONGESTION": 4
              }
            },
            "OccupancyStatus": {
              "values": {
                "EMPTY": 0,
                "MANY_SEATS_AVAILABLE": 1,
                "FEW_SEATS_AVAILABLE": 2,
                "STANDING_ROOM_ONLY": 3,
                "CRUSHED_STANDING_ROOM_ONLY": 4,
                "FULL": 5,
                "NOT_ACCEPTING_PASSENGERS": 6,
                "NO_DATA_AVAILABLE": 7,
                "NOT_BOARDABLE": 8
              }
            },
            "CarriageDetails": {
              "fields": {
                "id": {
                  "type": "string",
                  "id": 1
                },
                "label": {
                  "type": "string",
                  "id": 2
                },
                "occupancyStatus": {
                  "type": "OccupancyStatus",
                  "id": 3,
                  "options": {
                    "default": "NO_DATA_AVAILABLE"
                  }
                },
                "occupancyPercentage": {
                  "type": "int32",
                  "id": 4,
                  "options": {
                    "default": -1
                  }
                },
                "carriageSequence": {
                  "type": "uint32",
                  "id": 5
                }
              },
              "extensions": [
                [
                  1000,
                  1999
                ],
                [
                  9000,
                  9999
                ]
              ]
            }
          }
        },
        "Alert": {
          "edition": "proto2",
          "fields": {
            "activePeriod": {
              "rule": "repeated",
              "type": "TimeRange",
              "id": 1
            },
            "informedEntity": {
              "rule": "repeated",
              "type": "EntitySelector",
              "id": 5
            },
            "cause": {
              "type": "Cause",
              "id": 6,
              "options": {
                "default": "UNKNOWN_CAUSE"
              }
            },
            "effect": {
              "type": "Effect",
              "id": 7,
              "options": {
                "default": "UNKNOWN_EFFECT"
              }
            },
            "url": {
              "type": "TranslatedString",
              "id": 8
            },
            "headerText": {
              "type": "TranslatedString",
              "id": 10
            },
            "descriptionText": {
              "type": "TranslatedString",
              "id": 11
            },
            "ttsHeaderText": {
              "type": "TranslatedString",
              "id": 12
            },
            "ttsDescriptionText": {
              "type": "TranslatedString",
              "id": 13
            },
            "severityLevel": {
              "type": "SeverityLevel",
              "id": 14,
              "options": {
                "default": "UNKNOWN_SEVERITY"
              }
            },
            "image": {
              "type": "TranslatedImage",
              "id": 15
            },
            "imageAlternativeText": {
              "type": "TranslatedString",
              "id": 16
            },
            "causeDetail": {
              "type": "TranslatedString",
              "id": 17
            },
            "effectDetail": {
              "type": "TranslatedString",
              "id": 18
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ],
          "nested": {
            "Cause": {
              "values": {
                "UNKNOWN_CAUSE": 1,
                "OTHER_CAUSE": 2,
                "TECHNICAL_PROBLEM": 3,
                "STRIKE": 4,
                "DEMONSTRATION": 5,
                "ACCIDENT": 6,
                "HOLIDAY": 7,
                "WEATHER": 8,
                "MAINTENANCE": 9,
                "CONSTRUCTION": 10,
                "POLICE_ACTIVITY": 11,
                "MEDICAL_EMERGENCY": 12
              }
            },
            "Effect": {
              "values": {
                "NO_SERVICE": 1,
                "REDUCED_SERVICE": 2,
                "SIGNIFICANT_DELAYS": 3,
                "DETOUR": 4,
                "ADDITIONAL_SERVICE": 5,
                "MODIFIED_SERVICE": 6,
                "OTHER_EFFECT": 7,
                "UNKNOWN_EFFECT": 8,
                "STOP_MOVED": 9,
                "NO_EFFECT": 10,
                "ACCESSIBILITY_ISSUE": 11
              }
            },
            "SeverityLevel": {
              "values": {
                "UNKNOWN_SEVERITY": 1,
                "INFO": 2,
                "WARNING": 3,
                "SEVERE": 4
              }
            }
          }
        },
        "TimeRange": {
          "edition": "proto2",
          "fields": {
            "start": {
              "type": "uint64",
              "id": 1
            },
            "end": {
              "type": "uint64",
              "id": 2
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ]
        },
        "Position": {
          "edition": "proto2",
          "fields": {
            "latitude": {
              "rule": "required",
              "type": "float",
              "id": 1
            },
            "longitude": {
              "rule": "required",
              "type": "float",
              "id": 2
            },
            "bearing": {
              "type": "float",
              "id": 3
            },
            "odometer": {
              "type": "double",
              "id": 4
            },
            "speed": {
              "type": "float",
              "id": 5
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ]
        },
        "TripDescriptor": {
          "edition": "proto2",
          "fields": {
            "tripId": {
              "type": "string",
              "id": 1
            },
            "routeId": {
              "type": "string",
              "id": 5
            },
            "directionId": {
              "type": "uint32",
              "id": 6
            },
            "startTime": {
              "type": "string",
              "id": 2
            },
            "startDate": {
              "type": "string",
              "id": 3
            },
            "scheduleRelationship": {
              "type": "ScheduleRelationship",
              "id": 4
            },
            "modifiedTrip": {
              "type": "ModifiedTripSelector",
              "id": 7
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ],
          "nested": {
            "ScheduleRelationship": {
              "valuesOptions": {
                "ADDED": {
                  "deprecated": true
                }
              },
              "values": {
                "SCHEDULED": 0,
                "ADDED": 1,
                "UNSCHEDULED": 2,
                "CANCELED": 3,
                "REPLACEMENT": 5,
                "DUPLICATED": 6,
                "DELETED": 7,
                "NEW": 8
              }
            },
            "ModifiedTripSelector": {
              "fields": {
                "modificationsId": {
                  "type": "string",
                  "id": 1
                },
                "affectedTripId": {
                  "type": "string",
                  "id": 2
                },
                "startTime": {
                  "type": "string",
                  "id": 3
                },
                "startDate": {
                  "type": "string",
                  "id": 4
                }
              },
              "extensions": [
                [
                  1000,
                  1999
                ],
                [
                  9000,
                  9999
                ]
              ]
            }
          }
        },
        "VehicleDescriptor": {
          "edition": "proto2",
          "fields": {
            "id": {
              "type": "string",
              "id": 1
            },
            "label": {
              "type": "string",
              "id": 2
            },
            "licensePlate": {
              "type": "string",
              "id": 3
            },
            "wheelchairAccessible": {
              "type": "WheelchairAccessible",
              "id": 4,
              "options": {
                "default": "NO_VALUE"
              }
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ],
          "nested": {
            "WheelchairAccessible": {
              "values": {
                "NO_VALUE": 0,
                "UNKNOWN": 1,
                "WHEELCHAIR_ACCESSIBLE": 2,
                "WHEELCHAIR_INACCESSIBLE": 3
              }
            }
          }
        },
        "EntitySelector": {
          "edition": "proto2",
          "fields": {
            "agencyId": {
              "type": "string",
              "id": 1
            },
            "routeId": {
              "type": "string",
              "id": 2
            },
            "routeType": {
              "type": "int32",
              "id": 3
            },
            "trip": {
              "type": "TripDescriptor",
              "id": 4
            },
            "stopId": {
              "type": "string",
              "id": 5
            },
            "directionId": {
              "type": "uint32",
              "id": 6
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ]
        },
        "TranslatedString": {
          "edition": "proto2",
          "fields": {
            "translation": {
              "rule": "repeated",
              "type": "Translation",
              "id": 1
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ],
          "nested": {
            "Translation": {
              "fields": {
                "text": {
                  "rule": "required",
                  "type": "string",
                  "id": 1
                },
                "language": {
                  "type": "string",
                  "id": 2
                }
              },
              "extensions": [
                [
                  1000,
                  1999
                ],
                [
                  9000,
                  9999
                ]
              ]
            }
          }
        },
        "TranslatedImage": {
          "edition": "proto2",
          "fields": {
            "localizedImage": {
              "rule": "repeated",
              "type": "LocalizedImage",
              "id": 1
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ],
          "nested": {
            "LocalizedImage": {
              "fields": {
                "url": {
                  "rule": "required",
                  "type": "string",
                  "id": 1
                },
                "mediaType": {
                  "rule": "required",
                  "type": "string",
                  "id": 2
                },
                "language": {
                  "type": "string",
                  "id": 3
                }
              },
              "extensions": [
                [
                  1000,
                  1999
                ],
                [
                  9000,
                  9999
                ]
              ]
            }
          }
        },
        "Shape": {
          "edition": "proto2",
          "fields": {
            "shapeId": {
              "type": "string",
              "id": 1
            },
            "encodedPolyline": {
              "type": "string",
              "id": 2
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ]
        },
        "Stop": {
          "edition": "proto2",
          "fields": {
            "stopId": {
              "type": "string",
              "id": 1
            },
            "stopCode": {
              "type": "TranslatedString",
              "id": 2
            },
            "stopName": {
              "type": "TranslatedString",
              "id": 3
            },
            "ttsStopName": {
              "type": "TranslatedString",
              "id": 4
            },
            "stopDesc": {
              "type": "TranslatedString",
              "id": 5
            },
            "stopLat": {
              "type": "float",
              "id": 6
            },
            "stopLon": {
              "type": "float",
              "id": 7
            },
            "zoneId": {
              "type": "string",
              "id": 8
            },
            "stopUrl": {
              "type": "TranslatedString",
              "id": 9
            },
            "parentStation": {
              "type": "string",
              "id": 11
            },
            "stopTimezone": {
              "type": "string",
              "id": 12
            },
            "wheelchairBoarding": {
              "type": "WheelchairBoarding",
              "id": 13,
              "options": {
                "default": "UNKNOWN"
              }
            },
            "levelId": {
              "type": "string",
              "id": 14
            },
            "platformCode": {
              "type": "TranslatedString",
              "id": 15
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ],
          "nested": {
            "WheelchairBoarding": {
              "values": {
                "UNKNOWN": 0,
                "AVAILABLE": 1,
                "NOT_AVAILABLE": 2
              }
            }
          }
        },
        "TripModifications": {
          "edition": "proto2",
          "fields": {
            "selectedTrips": {
              "rule": "repeated",
              "type": "SelectedTrips",
              "id": 1
            },
            "startTimes": {
              "rule": "repeated",
              "type": "string",
              "id": 2
            },
            "serviceDates": {
              "rule": "repeated",
              "type": "string",
              "id": 3
            },
            "modifications": {
              "rule": "repeated",
              "type": "Modification",
              "id": 4
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ],
          "nested": {
            "Modification": {
              "fields": {
                "startStopSelector": {
                  "type": "StopSelector",
                  "id": 1
                },
                "endStopSelector": {
                  "type": "StopSelector",
                  "id": 2
                },
                "propagatedModificationDelay": {
                  "type": "int32",
                  "id": 3,
                  "options": {
                    "default": 0
                  }
                },
                "replacementStops": {
                  "rule": "repeated",
                  "type": "ReplacementStop",
                  "id": 4
                },
                "serviceAlertId": {
                  "type": "string",
                  "id": 5
                },
                "lastModifiedTime": {
                  "type": "uint64",
                  "id": 6
                }
              },
              "extensions": [
                [
                  1000,
                  1999
                ],
                [
                  9000,
                  9999
                ]
              ]
            },
            "SelectedTrips": {
              "fields": {
                "tripIds": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 1
                },
                "shapeId": {
                  "type": "string",
                  "id": 2
                }
              },
              "extensions": [
                [
                  1000,
                  1999
                ],
                [
                  9000,
                  9999
                ]
              ]
            }
          }
        },
        "StopSelector": {
          "edition": "proto2",
          "fields": {
            "stopSequence": {
              "type": "uint32",
              "id": 1
            },
            "stopId": {
              "type": "string",
              "id": 2
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ]
        },
        "ReplacementStop": {
          "edition": "proto2",
          "fields": {
            "travelTimeToStop": {
              "type": "int32",
              "id": 1
            },
            "stopId": {
              "type": "string",
              "id": 2
            }
          },
          "extensions": [
            [
              1000,
              1999
            ],
            [
              9000,
              9999
            ]
          ]
        }
      }
    }
  }
}