// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClosedLanes {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(uint64, repeated, tag = "2")]
    pub closed_lanes: ::prost::alloc::vec::Vec<u64>,
}
impl ::prost::Name for ClosedLanes {
    const NAME: &'static str = "ClosedLanes";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.ClosedLanes".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.ClosedLanes".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ModeParameter {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
impl ::prost::Name for ModeParameter {
    const NAME: &'static str = "ModeParameter";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.ModeParameter".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.ModeParameter".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RobotMode {
    #[prost(uint32, tag = "1")]
    pub mode: u32,
    #[prost(uint64, tag = "2")]
    pub mode_request_id: u64,
    #[prost(string, tag = "3")]
    pub performing_action: ::prost::alloc::string::String,
}
impl ::prost::Name for RobotMode {
    const NAME: &'static str = "RobotMode";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.RobotMode".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.RobotMode".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ModeRequest {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub robot_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub mode: ::core::option::Option<RobotMode>,
    #[prost(string, tag = "4")]
    pub task_id: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "5")]
    pub parameters: ::prost::alloc::vec::Vec<ModeParameter>,
}
impl ::prost::Name for ModeRequest {
    const NAME: &'static str = "ModeRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.ModeRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.ModeRequest".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpeedLimitedLane {
    #[prost(uint64, tag = "1")]
    pub lane_index: u64,
    #[prost(double, tag = "2")]
    pub speed_limit: f64,
}
impl ::prost::Name for SpeedLimitedLane {
    const NAME: &'static str = "SpeedLimitedLane";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.SpeedLimitedLane".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.SpeedLimitedLane".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Location {
    #[prost(message, optional, tag = "1")]
    pub t: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(float, tag = "2")]
    pub x: f32,
    #[prost(float, tag = "3")]
    pub y: f32,
    #[prost(float, tag = "4")]
    pub yaw: f32,
    #[prost(bool, tag = "5")]
    pub obey_approach_speed_limit: bool,
    #[prost(float, tag = "6")]
    pub approach_speed_limit: f32,
    #[prost(string, tag = "7")]
    pub level_name: ::prost::alloc::string::String,
    #[prost(uint64, tag = "8")]
    pub index: u64,
}
impl ::prost::Name for Location {
    const NAME: &'static str = "Location";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.Location".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.Location".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DockParameter {
    #[prost(string, tag = "1")]
    pub start: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub finish: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "3")]
    pub path: ::prost::alloc::vec::Vec<Location>,
}
impl ::prost::Name for DockParameter {
    const NAME: &'static str = "DockParameter";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DockParameter".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DockParameter".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutexGroupRequest {
    #[prost(string, tag = "1")]
    pub group: ::prost::alloc::string::String,
    #[prost(uint64, tag = "2")]
    pub claimant: u64,
    #[prost(message, optional, tag = "3")]
    pub claim_time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(uint32, tag = "4")]
    pub mode: u32,
}
impl ::prost::Name for MutexGroupRequest {
    const NAME: &'static str = "MutexGroupRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.MutexGroupRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.MutexGroupRequest".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeliveryAlertAction {
    #[prost(uint32, tag = "1")]
    pub value: u32,
}
impl ::prost::Name for DeliveryAlertAction {
    const NAME: &'static str = "DeliveryAlertAction";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DeliveryAlertAction".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DeliveryAlertAction".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutexGroupAssignment {
    #[prost(string, tag = "1")]
    pub group: ::prost::alloc::string::String,
    #[prost(uint64, tag = "2")]
    pub claimant: u64,
    #[prost(message, optional, tag = "3")]
    pub claim_time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
}
impl ::prost::Name for MutexGroupAssignment {
    const NAME: &'static str = "MutexGroupAssignment";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.MutexGroupAssignment".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.MutexGroupAssignment".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InterruptRequest {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub robot_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub interrupt_id: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "4")]
    pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(uint32, tag = "5")]
    pub r#type: u32,
}
impl ::prost::Name for InterruptRequest {
    const NAME: &'static str = "InterruptRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.InterruptRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.InterruptRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PauseRequest {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub robot_name: ::prost::alloc::string::String,
    #[prost(uint64, tag = "3")]
    pub mode_request_id: u64,
    #[prost(uint32, tag = "4")]
    pub r#type: u32,
    #[prost(uint32, tag = "5")]
    pub at_checkpoint: u32,
}
impl ::prost::Name for PauseRequest {
    const NAME: &'static str = "PauseRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.PauseRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.PauseRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutexGroupManualRelease {
    #[prost(string, repeated, tag = "1")]
    pub release_mutex_groups: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, tag = "2")]
    pub fleet: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub robot: ::prost::alloc::string::String,
}
impl ::prost::Name for MutexGroupManualRelease {
    const NAME: &'static str = "MutexGroupManualRelease";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.MutexGroupManualRelease".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.MutexGroupManualRelease".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeliveryAlertCategory {
    #[prost(uint32, tag = "1")]
    pub value: u32,
}
impl ::prost::Name for DeliveryAlertCategory {
    const NAME: &'static str = "DeliveryAlertCategory";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DeliveryAlertCategory".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DeliveryAlertCategory".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RobotState {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub model: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub task_id: ::prost::alloc::string::String,
    #[prost(uint64, tag = "4")]
    pub seq: u64,
    #[prost(message, optional, tag = "5")]
    pub mode: ::core::option::Option<RobotMode>,
    #[prost(float, tag = "6")]
    pub battery_percent: f32,
    #[prost(message, optional, tag = "7")]
    pub location: ::core::option::Option<Location>,
    #[prost(message, repeated, tag = "8")]
    pub path: ::prost::alloc::vec::Vec<Location>,
}
impl ::prost::Name for RobotState {
    const NAME: &'static str = "RobotState";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.RobotState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.RobotState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChargingAssignment {
    #[prost(string, tag = "1")]
    pub robot_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub waypoint_name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub mode: u32,
}
impl ::prost::Name for ChargingAssignment {
    const NAME: &'static str = "ChargingAssignment";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.ChargingAssignment".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.ChargingAssignment".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpeedLimitRequest {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "2")]
    pub speed_limits: ::prost::alloc::vec::Vec<SpeedLimitedLane>,
    #[prost(uint64, repeated, tag = "3")]
    pub remove_limits: ::prost::alloc::vec::Vec<u64>,
}
impl ::prost::Name for SpeedLimitRequest {
    const NAME: &'static str = "SpeedLimitRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.SpeedLimitRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.SpeedLimitRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dock {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "2")]
    pub params: ::prost::alloc::vec::Vec<DockParameter>,
}
impl ::prost::Name for Dock {
    const NAME: &'static str = "Dock";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.Dock".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.Dock".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MutexGroupStates {
    #[prost(message, repeated, tag = "1")]
    pub assignments: ::prost::alloc::vec::Vec<MutexGroupAssignment>,
}
impl ::prost::Name for MutexGroupStates {
    const NAME: &'static str = "MutexGroupStates";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.MutexGroupStates".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.MutexGroupStates".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DockSummary {
    #[prost(message, repeated, tag = "1")]
    pub docks: ::prost::alloc::vec::Vec<Dock>,
}
impl ::prost::Name for DockSummary {
    const NAME: &'static str = "DockSummary";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DockSummary".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DockSummary".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LaneStates {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(uint64, repeated, tag = "2")]
    pub closed_lanes: ::prost::alloc::vec::Vec<u64>,
    #[prost(message, repeated, tag = "3")]
    pub speed_limits: ::prost::alloc::vec::Vec<SpeedLimitedLane>,
}
impl ::prost::Name for LaneStates {
    const NAME: &'static str = "LaneStates";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.LaneStates".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.LaneStates".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BeaconState {
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    #[prost(bool, tag = "2")]
    pub online: bool,
    #[prost(string, tag = "3")]
    pub category: ::prost::alloc::string::String,
    #[prost(bool, tag = "4")]
    pub activated: bool,
    #[prost(string, tag = "5")]
    pub level: ::prost::alloc::string::String,
}
impl ::prost::Name for BeaconState {
    const NAME: &'static str = "BeaconState";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.BeaconState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.BeaconState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChargingAssignments {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "2")]
    pub assignments: ::prost::alloc::vec::Vec<ChargingAssignment>,
}
impl ::prost::Name for ChargingAssignments {
    const NAME: &'static str = "ChargingAssignments";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.ChargingAssignments".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.ChargingAssignments".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DestinationRequest {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub robot_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub destination: ::core::option::Option<Location>,
    #[prost(string, tag = "4")]
    pub task_id: ::prost::alloc::string::String,
}
impl ::prost::Name for DestinationRequest {
    const NAME: &'static str = "DestinationRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DestinationRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DestinationRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FleetState {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "2")]
    pub robots: ::prost::alloc::vec::Vec<RobotState>,
}
impl ::prost::Name for FleetState {
    const NAME: &'static str = "FleetState";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.FleetState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.FleetState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PathRequest {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub robot_name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "3")]
    pub path: ::prost::alloc::vec::Vec<Location>,
    #[prost(string, tag = "4")]
    pub task_id: ::prost::alloc::string::String,
}
impl ::prost::Name for PathRequest {
    const NAME: &'static str = "PathRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.PathRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.PathRequest".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeliveryAlertTier {
    #[prost(uint32, tag = "1")]
    pub value: u32,
}
impl ::prost::Name for DeliveryAlertTier {
    const NAME: &'static str = "DeliveryAlertTier";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DeliveryAlertTier".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DeliveryAlertTier".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeliveryAlert {
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "2")]
    pub category: ::core::option::Option<DeliveryAlertCategory>,
    #[prost(message, optional, tag = "3")]
    pub tier: ::core::option::Option<DeliveryAlertTier>,
    #[prost(string, tag = "4")]
    pub task_id: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "5")]
    pub action: ::core::option::Option<DeliveryAlertAction>,
    #[prost(string, tag = "6")]
    pub message: ::prost::alloc::string::String,
}
impl ::prost::Name for DeliveryAlert {
    const NAME: &'static str = "DeliveryAlert";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DeliveryAlert".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.DeliveryAlert".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LaneRequest {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(uint64, repeated, tag = "2")]
    pub open_lanes: ::prost::alloc::vec::Vec<u64>,
    #[prost(uint64, repeated, tag = "3")]
    pub close_lanes: ::prost::alloc::vec::Vec<u64>,
}
impl ::prost::Name for LaneRequest {
    const NAME: &'static str = "LaneRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.rolling.rmf_fleet_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.rolling.rmf_fleet_msgs.msg.LaneRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.rolling.rmf_fleet_msgs.msg.LaneRequest".into()
    }
}
