// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Assignment {
    #[prost(bool, tag = "1")]
    pub is_assigned: bool,
    #[prost(string, tag = "2")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub expected_robot_name: ::prost::alloc::string::String,
}
impl ::prost::Name for Assignment {
    const NAME: &'static str = "Assignment";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.Assignment".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.Assignment".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DispatchState {
    #[prost(string, tag = "1")]
    pub task_id: ::prost::alloc::string::String,
    #[prost(int32, tag = "2")]
    pub status: i32,
    #[prost(message, optional, tag = "3")]
    pub assignment: ::core::option::Option<Assignment>,
    #[prost(string, repeated, tag = "4")]
    pub errors: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for DispatchState {
    const NAME: &'static str = "DispatchState";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.DispatchState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.DispatchState".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DispatchStates {
    #[prost(message, repeated, tag = "1")]
    pub active: ::prost::alloc::vec::Vec<DispatchState>,
    #[prost(message, repeated, tag = "2")]
    pub finished: ::prost::alloc::vec::Vec<DispatchState>,
}
impl ::prost::Name for DispatchStates {
    const NAME: &'static str = "DispatchStates";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.DispatchStates".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.DispatchStates".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clean {
    #[prost(string, tag = "1")]
    pub start_waypoint: ::prost::alloc::string::String,
}
impl ::prost::Name for Clean {
    const NAME: &'static str = "Clean";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.Clean".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.Clean".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BehaviorParameter {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
impl ::prost::Name for BehaviorParameter {
    const NAME: &'static str = "BehaviorParameter";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.BehaviorParameter".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.BehaviorParameter".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Behavior {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "2")]
    pub parameters: ::prost::alloc::vec::Vec<BehaviorParameter>,
}
impl ::prost::Name for Behavior {
    const NAME: &'static str = "Behavior";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.Behavior".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.Behavior".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Delivery {
    #[prost(string, tag = "1")]
    pub task_id: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "2")]
    pub items: ::prost::alloc::vec::Vec<
        super::super::rmf_dispenser_msgs::msg::DispenserRequestItem,
    >,
    #[prost(string, tag = "3")]
    pub pickup_place_name: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub pickup_dispenser: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "5")]
    pub pickup_behavior: ::core::option::Option<Behavior>,
    #[prost(string, tag = "6")]
    pub dropoff_place_name: ::prost::alloc::string::String,
    #[prost(string, tag = "7")]
    pub dropoff_ingestor: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "8")]
    pub dropoff_behavior: ::core::option::Option<Behavior>,
}
impl ::prost::Name for Delivery {
    const NAME: &'static str = "Delivery";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.Delivery".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.Delivery".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Loop {
    #[prost(string, tag = "1")]
    pub task_id: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub robot_type: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub num_loops: u32,
    #[prost(string, tag = "4")]
    pub start_name: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub finish_name: ::prost::alloc::string::String,
}
impl ::prost::Name for Loop {
    const NAME: &'static str = "Loop";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.Loop".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.Loop".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Priority {
    #[prost(uint64, tag = "1")]
    pub value: u64,
}
impl ::prost::Name for Priority {
    const NAME: &'static str = "Priority";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.Priority".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.Priority".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Station {
    #[prost(string, tag = "1")]
    pub task_id: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub robot_type: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub place_name: ::prost::alloc::string::String,
}
impl ::prost::Name for Station {
    const NAME: &'static str = "Station";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.Station".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.Station".into()
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TaskType {
    #[prost(uint32, tag = "1")]
    pub r#type: u32,
}
impl ::prost::Name for TaskType {
    const NAME: &'static str = "TaskType";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.TaskType".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.TaskType".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TaskDescription {
    #[prost(message, optional, tag = "1")]
    pub start_time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(message, optional, tag = "2")]
    pub priority: ::core::option::Option<Priority>,
    #[prost(message, optional, tag = "3")]
    pub task_type: ::core::option::Option<TaskType>,
    #[prost(message, optional, tag = "4")]
    pub station: ::core::option::Option<Station>,
    #[prost(message, optional, tag = "5")]
    pub r#loop: ::core::option::Option<Loop>,
    #[prost(message, optional, tag = "6")]
    pub delivery: ::core::option::Option<Delivery>,
    #[prost(message, optional, tag = "7")]
    pub clean: ::core::option::Option<Clean>,
}
impl ::prost::Name for TaskDescription {
    const NAME: &'static str = "TaskDescription";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.TaskDescription".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.TaskDescription".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TaskProfile {
    #[prost(string, tag = "1")]
    pub task_id: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "2")]
    pub submission_time: ::core::option::Option<
        super::super::builtin_interfaces::msg::Time,
    >,
    #[prost(message, optional, tag = "3")]
    pub description: ::core::option::Option<TaskDescription>,
}
impl ::prost::Name for TaskProfile {
    const NAME: &'static str = "TaskProfile";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.TaskProfile".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.TaskProfile".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TaskSummary {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub task_id: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub task_profile: ::core::option::Option<TaskProfile>,
    #[prost(uint32, tag = "4")]
    pub state: u32,
    #[prost(string, tag = "5")]
    pub status: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "6")]
    pub submission_time: ::core::option::Option<
        super::super::builtin_interfaces::msg::Time,
    >,
    #[prost(message, optional, tag = "7")]
    pub start_time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(message, optional, tag = "8")]
    pub end_time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(string, tag = "9")]
    pub robot_name: ::prost::alloc::string::String,
}
impl ::prost::Name for TaskSummary {
    const NAME: &'static str = "TaskSummary";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.TaskSummary".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.TaskSummary".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Tasks {
    #[prost(message, repeated, tag = "1")]
    pub tasks: ::prost::alloc::vec::Vec<TaskSummary>,
}
impl ::prost::Name for Tasks {
    const NAME: &'static str = "Tasks";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.Tasks".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.Tasks".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Tow {
    #[prost(string, tag = "1")]
    pub task_id: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub object_type: ::prost::alloc::string::String,
    #[prost(bool, tag = "3")]
    pub is_object_id_known: bool,
    #[prost(string, tag = "4")]
    pub object_id: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub pickup_place_name: ::prost::alloc::string::String,
    #[prost(bool, tag = "6")]
    pub is_dropoff_place_known: bool,
    #[prost(string, tag = "7")]
    pub dropoff_place_name: ::prost::alloc::string::String,
}
impl ::prost::Name for Tow {
    const NAME: &'static str = "Tow";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.Tow".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.Tow".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BidProposal {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub expected_robot_name: ::prost::alloc::string::String,
    #[prost(double, tag = "3")]
    pub prev_cost: f64,
    #[prost(double, tag = "4")]
    pub new_cost: f64,
    #[prost(message, optional, tag = "5")]
    pub finish_time: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
}
impl ::prost::Name for BidProposal {
    const NAME: &'static str = "BidProposal";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.BidProposal".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.BidProposal".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BidResponse {
    #[prost(string, tag = "1")]
    pub task_id: ::prost::alloc::string::String,
    #[prost(bool, tag = "2")]
    pub has_proposal: bool,
    #[prost(message, optional, tag = "3")]
    pub proposal: ::core::option::Option<BidProposal>,
    #[prost(string, repeated, tag = "4")]
    pub errors: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for BidResponse {
    const NAME: &'static str = "BidResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.BidResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.BidResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DispatchAck {
    #[prost(uint64, tag = "1")]
    pub dispatch_id: u64,
    #[prost(bool, tag = "2")]
    pub success: bool,
    #[prost(string, repeated, tag = "3")]
    pub errors: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for DispatchAck {
    const NAME: &'static str = "DispatchAck";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.DispatchAck".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.DispatchAck".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApiRequest {
    #[prost(string, tag = "1")]
    pub json_msg: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub request_id: ::prost::alloc::string::String,
}
impl ::prost::Name for ApiRequest {
    const NAME: &'static str = "ApiRequest";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.ApiRequest".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.ApiRequest".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DispatchCommand {
    #[prost(string, tag = "1")]
    pub fleet_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub task_id: ::prost::alloc::string::String,
    #[prost(uint64, tag = "3")]
    pub dispatch_id: u64,
    #[prost(message, optional, tag = "4")]
    pub timestamp: ::core::option::Option<super::super::builtin_interfaces::msg::Time>,
    #[prost(uint32, tag = "5")]
    pub r#type: u32,
}
impl ::prost::Name for DispatchCommand {
    const NAME: &'static str = "DispatchCommand";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.DispatchCommand".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.DispatchCommand".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApiResponse {
    #[prost(uint32, tag = "1")]
    pub r#type: u32,
    #[prost(string, tag = "2")]
    pub json_msg: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub request_id: ::prost::alloc::string::String,
}
impl ::prost::Name for ApiResponse {
    const NAME: &'static str = "ApiResponse";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.ApiResponse".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.ApiResponse".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BidNotice {
    #[prost(string, tag = "1")]
    pub request: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub task_id: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub time_window: ::core::option::Option<
        super::super::builtin_interfaces::msg::Duration,
    >,
}
impl ::prost::Name for BidNotice {
    const NAME: &'static str = "BidNotice";
    const PACKAGE: &'static str = "make87_messages_ros2.jazzy.rmf_task_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.jazzy.rmf_task_msgs.msg.BidNotice".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.jazzy.rmf_task_msgs.msg.BidNotice".into()
    }
}
