// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: process_message.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Message {

  /// <summary>Holder for reflection information generated from process_message.proto</summary>
  public static partial class ProcessMessageReflection {

    #region Descriptor
    /// <summary>File descriptor for process_message.proto</summary>
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static ProcessMessageReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "ChVwcm9jZXNzX21lc3NhZ2UucHJvdG8SB21lc3NhZ2UaEm1lc3NhZ2VfYmFz",
            "ZS5wcm90byKFAQoWQWxsb2Nfc3BhY2Vfc3RlcF9zdGF0dRIxCgpzdGVwX3N0",
            "YXR1GAEgASgOMhMubWVzc2FnZS5TdGVwX3N0YXR1OghlV2FpdGluZxIjCghj",
            "YXJfaW5mbxgCIAEoCzIRLm1lc3NhZ2UuQ2FyX2luZm8SEwoLZGVzY3JpcHRp",
            "b24YAyABKAkikgEKG0JhY2tfYWxsb2Nfc3BhY2Vfc3RlcF9zdGF0dRIxCgpz",
            "dGVwX3N0YXR1GAEgASgOMhMubWVzc2FnZS5TdGVwX3N0YXR1OghlV2FpdGlu",
            "ZxIrCgpzcGFjZV9pbmZvGAIgASgLMhcubWVzc2FnZS5QYXJrc3BhY2VfaW5m",
            "bxITCgtkZXNjcmlwdGlvbhgDIAEoCSKOAQoXU2VhcmNoX3NwYWNlX3N0ZXBf",
            "c3RhdHUSMQoKc3RlcF9zdGF0dRgBIAEoDjITLm1lc3NhZ2UuU3RlcF9zdGF0",
            "dToIZVdhaXRpbmcSKwoKc3BhY2VfaW5mbxgCIAEoCzIXLm1lc3NhZ2UuUGFy",
            "a3NwYWNlX2luZm8SEwoLZGVzY3JpcHRpb24YAyABKAkiiwEKHEJhY2tfc2Vh",
            "cmNoX3NwYWNlX3N0ZXBfc3RhdHUSMQoKc3RlcF9zdGF0dRgBIAEoDjITLm1l",
            "c3NhZ2UuU3RlcF9zdGF0dToIZVdhaXRpbmcSIwoIY2FyX2luZm8YAiABKAsy",
            "ES5tZXNzYWdlLkNhcl9pbmZvEhMKC2Rlc2NyaXB0aW9uGAMgASgJIo8BChhD",
            "b25maXJtX3NwYWNlX3N0ZXBfc3RhdHUSMQoKc3RlcF9zdGF0dRgBIAEoDjIT",
            "Lm1lc3NhZ2UuU3RlcF9zdGF0dToIZVdhaXRpbmcSKwoKc3BhY2VfaW5mbxgC",
            "IAEoCzIXLm1lc3NhZ2UuUGFya3NwYWNlX2luZm8SEwoLZGVzY3JpcHRpb24Y",
            "AyABKAkilAEKHUJhY2tfY29uZmlybV9zcGFjZV9zdGVwX3N0YXR1EjEKCnN0",
            "ZXBfc3RhdHUYASABKA4yEy5tZXNzYWdlLlN0ZXBfc3RhdHU6CGVXYWl0aW5n",
            "EisKCnNwYWNlX2luZm8YAiABKAsyFy5tZXNzYWdlLlBhcmtzcGFjZV9pbmZv",
            "EhMKC2Rlc2NyaXB0aW9uGAMgASgJIo8BChhSZWxlYXNlX3NwYWNlX3N0ZXBf",
            "c3RhdHUSMQoKc3RlcF9zdGF0dRgBIAEoDjITLm1lc3NhZ2UuU3RlcF9zdGF0",
            "dToIZVdhaXRpbmcSKwoKc3BhY2VfaW5mbxgCIAEoCzIXLm1lc3NhZ2UuUGFy",
            "a3NwYWNlX2luZm8SEwoLZGVzY3JpcHRpb24YAyABKAkilAEKHUJhY2tfcmVs",
            "ZWFzZV9zcGFjZV9zdGVwX3N0YXR1EjEKCnN0ZXBfc3RhdHUYASABKA4yEy5t",
            "ZXNzYWdlLlN0ZXBfc3RhdHU6CGVXYWl0aW5nEisKCnNwYWNlX2luZm8YAiAB",
            "KAsyFy5tZXNzYWdlLlBhcmtzcGFjZV9pbmZvEhMKC2Rlc2NyaXB0aW9uGAMg",
            "ASgJIo4BChJNZWFzdXJlX3N0ZXBfc3RhdHUSMQoKc3RlcF9zdGF0dRgBIAEo",
            "DjITLm1lc3NhZ2UuU3RlcF9zdGF0dToIZVdhaXRpbmcSMAoLbG9jYXRlX2lu",
            "Zm8YAiABKAsyGy5tZXNzYWdlLkxvY2F0ZV9pbmZvcm1hdGlvbhITCgtkZXNj",
            "cmlwdGlvbhgDIAEoCSJhChdCYWNrX21lYXN1cmVfc3RlcF9zdGF0dRIxCgpz",
            "dGVwX3N0YXR1GAEgASgOMhMubWVzc2FnZS5TdGVwX3N0YXR1OghlV2FpdGlu",
            "ZxITCgtkZXNjcmlwdGlvbhgDIAEoCSL/AQoSQ29tcGFyZV9zdGVwX3N0YXR1",
            "EjEKCnN0ZXBfc3RhdHUYASABKA4yEy5tZXNzYWdlLlN0ZXBfc3RhdHU6CGVX",
            "YWl0aW5nEjMKDmxvY2F0ZV9pbmZvX3dqGAIgASgLMhsubWVzc2FnZS5Mb2Nh",
            "dGVfaW5mb3JtYXRpb24SMwoObG9jYXRlX2luZm9fZGoYAyABKAsyGy5tZXNz",
            "YWdlLkxvY2F0ZV9pbmZvcm1hdGlvbhI3ChJsb2NhdGVfaW5mb19yZXN1bHQY",
            "BCABKAsyGy5tZXNzYWdlLkxvY2F0ZV9pbmZvcm1hdGlvbhITCgtkZXNjcmlw",
            "dGlvbhgFIAEoCSKEAgoXQmFja19jb21wYXJlX3N0ZXBfc3RhdHUSMQoKc3Rl",
            "cF9zdGF0dRgBIAEoDjITLm1lc3NhZ2UuU3RlcF9zdGF0dToIZVdhaXRpbmcS",
            "MwoObG9jYXRlX2luZm9fd2oYAiABKAsyGy5tZXNzYWdlLkxvY2F0ZV9pbmZv",
            "cm1hdGlvbhIzCg5sb2NhdGVfaW5mb19kahgDIAEoCzIbLm1lc3NhZ2UuTG9j",
            "YXRlX2luZm9ybWF0aW9uEjcKEmxvY2F0ZV9pbmZvX3Jlc3VsdBgEIAEoCzIb",
            "Lm1lc3NhZ2UuTG9jYXRlX2luZm9ybWF0aW9uEhMKC2Rlc2NyaXB0aW9uGAUg",
            "ASgJIsIBChlEaXNwYXRjaF9zdG9yZV9zdGVwX3N0YXR1EjEKCnN0ZXBfc3Rh",
            "dHUYASABKA4yEy5tZXNzYWdlLlN0ZXBfc3RhdHU6CGVXYWl0aW5nEjAKC2xv",
            "Y2F0ZV9pbmZvGAIgASgLMhsubWVzc2FnZS5Mb2NhdGVfaW5mb3JtYXRpb24S",
            "KwoKc3BhY2VfaW5mbxgDIAEoCzIXLm1lc3NhZ2UuUGFya3NwYWNlX2luZm8S",
            "EwoLZGVzY3JpcHRpb24YBCABKAkixwEKHkJhY2tfZGlzcGF0Y2hfc3RvcmVf",
            "c3RlcF9zdGF0dRIxCgpzdGVwX3N0YXR1GAEgASgOMhMubWVzc2FnZS5TdGVw",
            "X3N0YXR1OghlV2FpdGluZxIwCgtsb2NhdGVfaW5mbxgCIAEoCzIbLm1lc3Nh",
            "Z2UuTG9jYXRlX2luZm9ybWF0aW9uEisKCnNwYWNlX2luZm8YAyABKAsyFy5t",
            "ZXNzYWdlLlBhcmtzcGFjZV9pbmZvEhMKC2Rlc2NyaXB0aW9uGAQgASgJIo8B",
            "ChhEaXNwYXRjaF9waWNrX3N0ZXBfc3RhdHUSMQoKc3RlcF9zdGF0dRgBIAEo",
            "DjITLm1lc3NhZ2UuU3RlcF9zdGF0dToIZVdhaXRpbmcSKwoKc3BhY2VfaW5m",
            "bxgCIAEoCzIXLm1lc3NhZ2UuUGFya3NwYWNlX2luZm8SEwoLZGVzY3JpcHRp",
            "b24YAyABKAkilAEKHUJhY2tfZGlzcGF0Y2hfcGlja19zdGVwX3N0YXR1EjEK",
            "CnN0ZXBfc3RhdHUYASABKA4yEy5tZXNzYWdlLlN0ZXBfc3RhdHU6CGVXYWl0",
            "aW5nEisKCnNwYWNlX2luZm8YAiABKAsyFy5tZXNzYWdlLlBhcmtzcGFjZV9p",
            "bmZvEhMKC2Rlc2NyaXB0aW9uGAMgASgJIocBChhXYWl0Zm9yX2xlYXZlX3N0",
            "ZXBfc3RhdHUSMQoKc3RlcF9zdGF0dRgBIAEoDjITLm1lc3NhZ2UuU3RlcF9z",
            "dGF0dToIZVdhaXRpbmcSIwoIY2FyX2luZm8YAiABKAsyES5tZXNzYWdlLkNh",
            "cl9pbmZvEhMKC2Rlc2NyaXB0aW9uGAMgASgJIowBCh1CYWNrX3dhaXRmb3Jf",
            "bGVhdmVfc3RlcF9zdGF0dRIxCgpzdGVwX3N0YXR1GAEgASgOMhMubWVzc2Fn",
            "ZS5TdGVwX3N0YXR1OghlV2FpdGluZxIjCghjYXJfaW5mbxgCIAEoCzIRLm1l",
            "c3NhZ2UuQ2FyX2luZm8SEwoLZGVzY3JpcHRpb24YAyABKAkigwYKGVN0b3Jp",
            "bmdfcHJvY2Vzc19zdGF0dV9tc2cSJQoJYmFzZV9pbmZvGAEgAigLMhIubWVz",
            "c2FnZS5CYXNlX2luZm8SEwoLdGVybWluYWxfaWQYAiACKAUSDwoHbGljZW5z",
            "ZRgDIAIoCRI5ChBhbGxvY19zcGFjZV9zdGVwGAQgASgLMh8ubWVzc2FnZS5B",
            "bGxvY19zcGFjZV9zdGVwX3N0YXR1EjEKDG1lYXN1cmVfc3RlcBgFIAEoCzIb",
            "Lm1lc3NhZ2UuTWVhc3VyZV9zdGVwX3N0YXR1EjEKDGNvbXBhcmVfc3RlcBgG",
            "IAEoCzIbLm1lc3NhZ2UuQ29tcGFyZV9zdGVwX3N0YXR1EjkKDWRpc3BhdGNo",
            "X3N0ZXAYByABKAsyIi5tZXNzYWdlLkRpc3BhdGNoX3N0b3JlX3N0ZXBfc3Rh",
            "dHUSPQoSY29uZmlybV9zcGFjZV9zdGVwGAggASgLMiEubWVzc2FnZS5Db25m",
            "aXJtX3NwYWNlX3N0ZXBfc3RhdHUSGAoJY29tcGxldGVkGAkgASgIOgVmYWxz",
            "ZRJBChFiYWNrX2NvbmZpcm1fc3RlcBgKIAEoCzImLm1lc3NhZ2UuQmFja19j",
            "b25maXJtX3NwYWNlX3N0ZXBfc3RhdHUSQwoSYmFja19kaXNwYXRjaF9zdGVw",
            "GAsgASgLMicubWVzc2FnZS5CYWNrX2Rpc3BhdGNoX3N0b3JlX3N0ZXBfc3Rh",
            "dHUSOwoRYmFja19jb21wYXJlX3N0ZXAYDCABKAsyIC5tZXNzYWdlLkJhY2tf",
            "Y29tcGFyZV9zdGVwX3N0YXR1EjsKEWJhY2tfbWVhc3VyZV9zdGVwGA0gASgL",
            "MiAubWVzc2FnZS5CYWNrX21lYXN1cmVfc3RlcF9zdGF0dRJDChViYWNrX2Fs",
            "bG9jX3NwYWNlX3N0ZXAYDiABKAsyJC5tZXNzYWdlLkJhY2tfYWxsb2Nfc3Bh",
            "Y2Vfc3RlcF9zdGF0dRIdCg5iYWNrX2NvbXBsZXRlZBgPIAEoCDoFZmFsc2Ui",
            "8AQKGVBpY2tpbmdfcHJvY2Vzc19zdGF0dV9tc2cSJQoJYmFzZV9pbmZvGAEg",
            "AigLMhIubWVzc2FnZS5CYXNlX2luZm8SEwoLdGVybWluYWxfaWQYAiACKAUS",
            "DwoHbGljZW5zZRgDIAIoCRI7ChFzZWFyY2hfc3BhY2Vfc3RlcBgEIAEoCzIg",
            "Lm1lc3NhZ2UuU2VhcmNoX3NwYWNlX3N0ZXBfc3RhdHUSOAoNZGlzcGF0Y2hf",
            "c3RlcBgFIAEoCzIhLm1lc3NhZ2UuRGlzcGF0Y2hfcGlja19zdGVwX3N0YXR1",
            "Ej0KEnJlbGVhc2Vfc3BhY2Vfc3RlcBgGIAEoCzIhLm1lc3NhZ2UuUmVsZWFz",
            "ZV9zcGFjZV9zdGVwX3N0YXR1Ej0KEndhaXRmb3JfbGVhdmVfc3RlcBgHIAEo",
            "CzIhLm1lc3NhZ2UuV2FpdGZvcl9sZWF2ZV9zdGVwX3N0YXR1EhgKCWNvbXBs",
            "ZXRlZBgIIAEoCDoFZmFsc2USRwoXYmFja193YWl0Zm9yX2xlYXZlX3N0ZXAY",
            "CSABKAsyJi5tZXNzYWdlLkJhY2tfd2FpdGZvcl9sZWF2ZV9zdGVwX3N0YXR1",
            "EkIKEmJhY2tfZGlzcGF0Y2hfc3RlcBgKIAEoCzImLm1lc3NhZ2UuQmFja19k",
            "aXNwYXRjaF9waWNrX3N0ZXBfc3RhdHUSSwocYmFja19zZWFyY2hfc3BhY2Vf",
            "c3RlcF9zdGF0dRgLIAEoCzIlLm1lc3NhZ2UuQmFja19zZWFyY2hfc3BhY2Vf",
            "c3RlcF9zdGF0dRIdCg5iYWNrX2NvbXBsZXRlZBgMIAEoCDoFZmFsc2U="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::Message.MessageBaseReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Alloc_space_step_statu), global::Message.Alloc_space_step_statu.Parser, new[]{ "StepStatu", "CarInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Back_alloc_space_step_statu), global::Message.Back_alloc_space_step_statu.Parser, new[]{ "StepStatu", "SpaceInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Search_space_step_statu), global::Message.Search_space_step_statu.Parser, new[]{ "StepStatu", "SpaceInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Back_search_space_step_statu), global::Message.Back_search_space_step_statu.Parser, new[]{ "StepStatu", "CarInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Confirm_space_step_statu), global::Message.Confirm_space_step_statu.Parser, new[]{ "StepStatu", "SpaceInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Back_confirm_space_step_statu), global::Message.Back_confirm_space_step_statu.Parser, new[]{ "StepStatu", "SpaceInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Release_space_step_statu), global::Message.Release_space_step_statu.Parser, new[]{ "StepStatu", "SpaceInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Back_release_space_step_statu), global::Message.Back_release_space_step_statu.Parser, new[]{ "StepStatu", "SpaceInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Measure_step_statu), global::Message.Measure_step_statu.Parser, new[]{ "StepStatu", "LocateInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Back_measure_step_statu), global::Message.Back_measure_step_statu.Parser, new[]{ "StepStatu", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Compare_step_statu), global::Message.Compare_step_statu.Parser, new[]{ "StepStatu", "LocateInfoWj", "LocateInfoDj", "LocateInfoResult", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Back_compare_step_statu), global::Message.Back_compare_step_statu.Parser, new[]{ "StepStatu", "LocateInfoWj", "LocateInfoDj", "LocateInfoResult", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Dispatch_store_step_statu), global::Message.Dispatch_store_step_statu.Parser, new[]{ "StepStatu", "LocateInfo", "SpaceInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Back_dispatch_store_step_statu), global::Message.Back_dispatch_store_step_statu.Parser, new[]{ "StepStatu", "LocateInfo", "SpaceInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Dispatch_pick_step_statu), global::Message.Dispatch_pick_step_statu.Parser, new[]{ "StepStatu", "SpaceInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Back_dispatch_pick_step_statu), global::Message.Back_dispatch_pick_step_statu.Parser, new[]{ "StepStatu", "SpaceInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Waitfor_leave_step_statu), global::Message.Waitfor_leave_step_statu.Parser, new[]{ "StepStatu", "CarInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Back_waitfor_leave_step_statu), global::Message.Back_waitfor_leave_step_statu.Parser, new[]{ "StepStatu", "CarInfo", "Description" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Storing_process_statu_msg), global::Message.Storing_process_statu_msg.Parser, new[]{ "BaseInfo", "TerminalId", "License", "AllocSpaceStep", "MeasureStep", "CompareStep", "DispatchStep", "ConfirmSpaceStep", "Completed", "BackConfirmStep", "BackDispatchStep", "BackCompareStep", "BackMeasureStep", "BackAllocSpaceStep", "BackCompleted" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Message.Picking_process_statu_msg), global::Message.Picking_process_statu_msg.Parser, new[]{ "BaseInfo", "TerminalId", "License", "SearchSpaceStep", "DispatchStep", "ReleaseSpaceStep", "WaitforLeaveStep", "Completed", "BackWaitforLeaveStep", "BackDispatchStep", "BackSearchSpaceStepStatu", "BackCompleted" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Messages
  /// <summary>
  ///停车流程
  ///分配车位步骤状态
  /// </summary>
  public sealed partial class Alloc_space_step_statu : pb::IMessage<Alloc_space_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Alloc_space_step_statu> _parser = new pb::MessageParser<Alloc_space_step_statu>(() => new Alloc_space_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Alloc_space_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Alloc_space_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Alloc_space_step_statu(Alloc_space_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      carInfo_ = other.carInfo_ != null ? other.carInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Alloc_space_step_statu Clone() {
      return new Alloc_space_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "car_info" field.</summary>
    public const int CarInfoFieldNumber = 2;
    private global::Message.Car_info carInfo_;
    /// <summary>
    ///当前状态附带信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Car_info CarInfo {
      get { return carInfo_; }
      set {
        carInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Alloc_space_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Alloc_space_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(CarInfo, other.CarInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (carInfo_ != null) hash ^= CarInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (carInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(CarInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (carInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(CarInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (carInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CarInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Alloc_space_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.carInfo_ != null) {
        if (carInfo_ == null) {
          CarInfo = new global::Message.Car_info();
        }
        CarInfo.MergeFrom(other.CarInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (carInfo_ == null) {
              CarInfo = new global::Message.Car_info();
            }
            input.ReadMessage(CarInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (carInfo_ == null) {
              CarInfo = new global::Message.Car_info();
            }
            input.ReadMessage(CarInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Back_alloc_space_step_statu : pb::IMessage<Back_alloc_space_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Back_alloc_space_step_statu> _parser = new pb::MessageParser<Back_alloc_space_step_statu>(() => new Back_alloc_space_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Back_alloc_space_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_alloc_space_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_alloc_space_step_statu(Back_alloc_space_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      spaceInfo_ = other.spaceInfo_ != null ? other.spaceInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_alloc_space_step_statu Clone() {
      return new Back_alloc_space_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "space_info" field.</summary>
    public const int SpaceInfoFieldNumber = 2;
    private global::Message.Parkspace_info spaceInfo_;
    /// <summary>
    ///当前状态附带信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Parkspace_info SpaceInfo {
      get { return spaceInfo_; }
      set {
        spaceInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Back_alloc_space_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Back_alloc_space_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(SpaceInfo, other.SpaceInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (spaceInfo_ != null) hash ^= SpaceInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpaceInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Back_alloc_space_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.spaceInfo_ != null) {
        if (spaceInfo_ == null) {
          SpaceInfo = new global::Message.Parkspace_info();
        }
        SpaceInfo.MergeFrom(other.SpaceInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///取车流程
  ///查询车位步骤状态
  /// </summary>
  public sealed partial class Search_space_step_statu : pb::IMessage<Search_space_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Search_space_step_statu> _parser = new pb::MessageParser<Search_space_step_statu>(() => new Search_space_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Search_space_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Search_space_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Search_space_step_statu(Search_space_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      spaceInfo_ = other.spaceInfo_ != null ? other.spaceInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Search_space_step_statu Clone() {
      return new Search_space_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "space_info" field.</summary>
    public const int SpaceInfoFieldNumber = 2;
    private global::Message.Parkspace_info spaceInfo_;
    /// <summary>
    ///当前状态附带信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Parkspace_info SpaceInfo {
      get { return spaceInfo_; }
      set {
        spaceInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Search_space_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Search_space_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(SpaceInfo, other.SpaceInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (spaceInfo_ != null) hash ^= SpaceInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpaceInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Search_space_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.spaceInfo_ != null) {
        if (spaceInfo_ == null) {
          SpaceInfo = new global::Message.Parkspace_info();
        }
        SpaceInfo.MergeFrom(other.SpaceInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Back_search_space_step_statu : pb::IMessage<Back_search_space_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Back_search_space_step_statu> _parser = new pb::MessageParser<Back_search_space_step_statu>(() => new Back_search_space_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Back_search_space_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[3]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_search_space_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_search_space_step_statu(Back_search_space_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      carInfo_ = other.carInfo_ != null ? other.carInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_search_space_step_statu Clone() {
      return new Back_search_space_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "car_info" field.</summary>
    public const int CarInfoFieldNumber = 2;
    private global::Message.Car_info carInfo_;
    /// <summary>
    ///当前状态附带信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Car_info CarInfo {
      get { return carInfo_; }
      set {
        carInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Back_search_space_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Back_search_space_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(CarInfo, other.CarInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (carInfo_ != null) hash ^= CarInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (carInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(CarInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (carInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(CarInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (carInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CarInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Back_search_space_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.carInfo_ != null) {
        if (carInfo_ == null) {
          CarInfo = new global::Message.Car_info();
        }
        CarInfo.MergeFrom(other.CarInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (carInfo_ == null) {
              CarInfo = new global::Message.Car_info();
            }
            input.ReadMessage(CarInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (carInfo_ == null) {
              CarInfo = new global::Message.Car_info();
            }
            input.ReadMessage(CarInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///停车流程
  ///确认占用车位步骤状态
  /// </summary>
  public sealed partial class Confirm_space_step_statu : pb::IMessage<Confirm_space_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Confirm_space_step_statu> _parser = new pb::MessageParser<Confirm_space_step_statu>(() => new Confirm_space_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Confirm_space_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[4]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Confirm_space_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Confirm_space_step_statu(Confirm_space_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      spaceInfo_ = other.spaceInfo_ != null ? other.spaceInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Confirm_space_step_statu Clone() {
      return new Confirm_space_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "space_info" field.</summary>
    public const int SpaceInfoFieldNumber = 2;
    private global::Message.Parkspace_info spaceInfo_;
    /// <summary>
    ///当前状态附带信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Parkspace_info SpaceInfo {
      get { return spaceInfo_; }
      set {
        spaceInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Confirm_space_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Confirm_space_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(SpaceInfo, other.SpaceInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (spaceInfo_ != null) hash ^= SpaceInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpaceInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Confirm_space_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.spaceInfo_ != null) {
        if (spaceInfo_ == null) {
          SpaceInfo = new global::Message.Parkspace_info();
        }
        SpaceInfo.MergeFrom(other.SpaceInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Back_confirm_space_step_statu : pb::IMessage<Back_confirm_space_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Back_confirm_space_step_statu> _parser = new pb::MessageParser<Back_confirm_space_step_statu>(() => new Back_confirm_space_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Back_confirm_space_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[5]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_confirm_space_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_confirm_space_step_statu(Back_confirm_space_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      spaceInfo_ = other.spaceInfo_ != null ? other.spaceInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_confirm_space_step_statu Clone() {
      return new Back_confirm_space_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "space_info" field.</summary>
    public const int SpaceInfoFieldNumber = 2;
    private global::Message.Parkspace_info spaceInfo_;
    /// <summary>
    ///当前状态附带信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Parkspace_info SpaceInfo {
      get { return spaceInfo_; }
      set {
        spaceInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Back_confirm_space_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Back_confirm_space_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(SpaceInfo, other.SpaceInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (spaceInfo_ != null) hash ^= SpaceInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpaceInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Back_confirm_space_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.spaceInfo_ != null) {
        if (spaceInfo_ == null) {
          SpaceInfo = new global::Message.Parkspace_info();
        }
        SpaceInfo.MergeFrom(other.SpaceInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///解锁/释放车位步骤状态
  /// </summary>
  public sealed partial class Release_space_step_statu : pb::IMessage<Release_space_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Release_space_step_statu> _parser = new pb::MessageParser<Release_space_step_statu>(() => new Release_space_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Release_space_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[6]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Release_space_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Release_space_step_statu(Release_space_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      spaceInfo_ = other.spaceInfo_ != null ? other.spaceInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Release_space_step_statu Clone() {
      return new Release_space_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "space_info" field.</summary>
    public const int SpaceInfoFieldNumber = 2;
    private global::Message.Parkspace_info spaceInfo_;
    /// <summary>
    ///当前状态附带信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Parkspace_info SpaceInfo {
      get { return spaceInfo_; }
      set {
        spaceInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Release_space_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Release_space_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(SpaceInfo, other.SpaceInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (spaceInfo_ != null) hash ^= SpaceInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpaceInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Release_space_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.spaceInfo_ != null) {
        if (spaceInfo_ == null) {
          SpaceInfo = new global::Message.Parkspace_info();
        }
        SpaceInfo.MergeFrom(other.SpaceInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Back_release_space_step_statu : pb::IMessage<Back_release_space_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Back_release_space_step_statu> _parser = new pb::MessageParser<Back_release_space_step_statu>(() => new Back_release_space_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Back_release_space_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[7]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_release_space_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_release_space_step_statu(Back_release_space_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      spaceInfo_ = other.spaceInfo_ != null ? other.spaceInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_release_space_step_statu Clone() {
      return new Back_release_space_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "space_info" field.</summary>
    public const int SpaceInfoFieldNumber = 2;
    private global::Message.Parkspace_info spaceInfo_;
    /// <summary>
    ///当前状态附带信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Parkspace_info SpaceInfo {
      get { return spaceInfo_; }
      set {
        spaceInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Back_release_space_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Back_release_space_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(SpaceInfo, other.SpaceInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (spaceInfo_ != null) hash ^= SpaceInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpaceInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Back_release_space_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.spaceInfo_ != null) {
        if (spaceInfo_ == null) {
          SpaceInfo = new global::Message.Parkspace_info();
        }
        SpaceInfo.MergeFrom(other.SpaceInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///停车过程
  ///测量步骤状态
  /// </summary>
  public sealed partial class Measure_step_statu : pb::IMessage<Measure_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Measure_step_statu> _parser = new pb::MessageParser<Measure_step_statu>(() => new Measure_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Measure_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[8]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Measure_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Measure_step_statu(Measure_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      locateInfo_ = other.locateInfo_ != null ? other.locateInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Measure_step_statu Clone() {
      return new Measure_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "locate_info" field.</summary>
    public const int LocateInfoFieldNumber = 2;
    private global::Message.Locate_information locateInfo_;
    /// <summary>
    ///定位结果
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Locate_information LocateInfo {
      get { return locateInfo_; }
      set {
        locateInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Measure_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Measure_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(LocateInfo, other.LocateInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (locateInfo_ != null) hash ^= LocateInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (locateInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(LocateInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (locateInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(LocateInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (locateInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocateInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Measure_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.locateInfo_ != null) {
        if (locateInfo_ == null) {
          LocateInfo = new global::Message.Locate_information();
        }
        LocateInfo.MergeFrom(other.LocateInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (locateInfo_ == null) {
              LocateInfo = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (locateInfo_ == null) {
              LocateInfo = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Back_measure_step_statu : pb::IMessage<Back_measure_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Back_measure_step_statu> _parser = new pb::MessageParser<Back_measure_step_statu>(() => new Back_measure_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Back_measure_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[9]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_measure_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_measure_step_statu(Back_measure_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_measure_step_statu Clone() {
      return new Back_measure_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Back_measure_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Back_measure_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Back_measure_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///不同雷达所测汽车结果对比节点
  /// </summary>
  public sealed partial class Compare_step_statu : pb::IMessage<Compare_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Compare_step_statu> _parser = new pb::MessageParser<Compare_step_statu>(() => new Compare_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Compare_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[10]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Compare_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Compare_step_statu(Compare_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      locateInfoWj_ = other.locateInfoWj_ != null ? other.locateInfoWj_.Clone() : null;
      locateInfoDj_ = other.locateInfoDj_ != null ? other.locateInfoDj_.Clone() : null;
      locateInfoResult_ = other.locateInfoResult_ != null ? other.locateInfoResult_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Compare_step_statu Clone() {
      return new Compare_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "locate_info_wj" field.</summary>
    public const int LocateInfoWjFieldNumber = 2;
    private global::Message.Locate_information locateInfoWj_;
    /// <summary>
    ///wj定位结果（雷达1）
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Locate_information LocateInfoWj {
      get { return locateInfoWj_; }
      set {
        locateInfoWj_ = value;
      }
    }

    /// <summary>Field number for the "locate_info_dj" field.</summary>
    public const int LocateInfoDjFieldNumber = 3;
    private global::Message.Locate_information locateInfoDj_;
    /// <summary>
    ///wj定位结果（雷达2）
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Locate_information LocateInfoDj {
      get { return locateInfoDj_; }
      set {
        locateInfoDj_ = value;
      }
    }

    /// <summary>Field number for the "locate_info_result" field.</summary>
    public const int LocateInfoResultFieldNumber = 4;
    private global::Message.Locate_information locateInfoResult_;
    /// <summary>
    ///wj定位结果（最终结果）
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Locate_information LocateInfoResult {
      get { return locateInfoResult_; }
      set {
        locateInfoResult_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 5;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Compare_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Compare_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(LocateInfoWj, other.LocateInfoWj)) return false;
      if (!object.Equals(LocateInfoDj, other.LocateInfoDj)) return false;
      if (!object.Equals(LocateInfoResult, other.LocateInfoResult)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (locateInfoWj_ != null) hash ^= LocateInfoWj.GetHashCode();
      if (locateInfoDj_ != null) hash ^= LocateInfoDj.GetHashCode();
      if (locateInfoResult_ != null) hash ^= LocateInfoResult.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (locateInfoWj_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(LocateInfoWj);
      }
      if (locateInfoDj_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(LocateInfoDj);
      }
      if (locateInfoResult_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(LocateInfoResult);
      }
      if (HasDescription) {
        output.WriteRawTag(42);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (locateInfoWj_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(LocateInfoWj);
      }
      if (locateInfoDj_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(LocateInfoDj);
      }
      if (locateInfoResult_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(LocateInfoResult);
      }
      if (HasDescription) {
        output.WriteRawTag(42);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (locateInfoWj_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocateInfoWj);
      }
      if (locateInfoDj_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocateInfoDj);
      }
      if (locateInfoResult_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocateInfoResult);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Compare_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.locateInfoWj_ != null) {
        if (locateInfoWj_ == null) {
          LocateInfoWj = new global::Message.Locate_information();
        }
        LocateInfoWj.MergeFrom(other.LocateInfoWj);
      }
      if (other.locateInfoDj_ != null) {
        if (locateInfoDj_ == null) {
          LocateInfoDj = new global::Message.Locate_information();
        }
        LocateInfoDj.MergeFrom(other.LocateInfoDj);
      }
      if (other.locateInfoResult_ != null) {
        if (locateInfoResult_ == null) {
          LocateInfoResult = new global::Message.Locate_information();
        }
        LocateInfoResult.MergeFrom(other.LocateInfoResult);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (locateInfoWj_ == null) {
              LocateInfoWj = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfoWj);
            break;
          }
          case 26: {
            if (locateInfoDj_ == null) {
              LocateInfoDj = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfoDj);
            break;
          }
          case 34: {
            if (locateInfoResult_ == null) {
              LocateInfoResult = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfoResult);
            break;
          }
          case 42: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (locateInfoWj_ == null) {
              LocateInfoWj = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfoWj);
            break;
          }
          case 26: {
            if (locateInfoDj_ == null) {
              LocateInfoDj = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfoDj);
            break;
          }
          case 34: {
            if (locateInfoResult_ == null) {
              LocateInfoResult = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfoResult);
            break;
          }
          case 42: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Back_compare_step_statu : pb::IMessage<Back_compare_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Back_compare_step_statu> _parser = new pb::MessageParser<Back_compare_step_statu>(() => new Back_compare_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Back_compare_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[11]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_compare_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_compare_step_statu(Back_compare_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      locateInfoWj_ = other.locateInfoWj_ != null ? other.locateInfoWj_.Clone() : null;
      locateInfoDj_ = other.locateInfoDj_ != null ? other.locateInfoDj_.Clone() : null;
      locateInfoResult_ = other.locateInfoResult_ != null ? other.locateInfoResult_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_compare_step_statu Clone() {
      return new Back_compare_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "locate_info_wj" field.</summary>
    public const int LocateInfoWjFieldNumber = 2;
    private global::Message.Locate_information locateInfoWj_;
    /// <summary>
    ///wj定位结果
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Locate_information LocateInfoWj {
      get { return locateInfoWj_; }
      set {
        locateInfoWj_ = value;
      }
    }

    /// <summary>Field number for the "locate_info_dj" field.</summary>
    public const int LocateInfoDjFieldNumber = 3;
    private global::Message.Locate_information locateInfoDj_;
    /// <summary>
    ///wj定位结果
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Locate_information LocateInfoDj {
      get { return locateInfoDj_; }
      set {
        locateInfoDj_ = value;
      }
    }

    /// <summary>Field number for the "locate_info_result" field.</summary>
    public const int LocateInfoResultFieldNumber = 4;
    private global::Message.Locate_information locateInfoResult_;
    /// <summary>
    ///wj定位结果
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Locate_information LocateInfoResult {
      get { return locateInfoResult_; }
      set {
        locateInfoResult_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 5;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Back_compare_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Back_compare_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(LocateInfoWj, other.LocateInfoWj)) return false;
      if (!object.Equals(LocateInfoDj, other.LocateInfoDj)) return false;
      if (!object.Equals(LocateInfoResult, other.LocateInfoResult)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (locateInfoWj_ != null) hash ^= LocateInfoWj.GetHashCode();
      if (locateInfoDj_ != null) hash ^= LocateInfoDj.GetHashCode();
      if (locateInfoResult_ != null) hash ^= LocateInfoResult.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (locateInfoWj_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(LocateInfoWj);
      }
      if (locateInfoDj_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(LocateInfoDj);
      }
      if (locateInfoResult_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(LocateInfoResult);
      }
      if (HasDescription) {
        output.WriteRawTag(42);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (locateInfoWj_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(LocateInfoWj);
      }
      if (locateInfoDj_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(LocateInfoDj);
      }
      if (locateInfoResult_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(LocateInfoResult);
      }
      if (HasDescription) {
        output.WriteRawTag(42);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (locateInfoWj_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocateInfoWj);
      }
      if (locateInfoDj_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocateInfoDj);
      }
      if (locateInfoResult_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocateInfoResult);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Back_compare_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.locateInfoWj_ != null) {
        if (locateInfoWj_ == null) {
          LocateInfoWj = new global::Message.Locate_information();
        }
        LocateInfoWj.MergeFrom(other.LocateInfoWj);
      }
      if (other.locateInfoDj_ != null) {
        if (locateInfoDj_ == null) {
          LocateInfoDj = new global::Message.Locate_information();
        }
        LocateInfoDj.MergeFrom(other.LocateInfoDj);
      }
      if (other.locateInfoResult_ != null) {
        if (locateInfoResult_ == null) {
          LocateInfoResult = new global::Message.Locate_information();
        }
        LocateInfoResult.MergeFrom(other.LocateInfoResult);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (locateInfoWj_ == null) {
              LocateInfoWj = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfoWj);
            break;
          }
          case 26: {
            if (locateInfoDj_ == null) {
              LocateInfoDj = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfoDj);
            break;
          }
          case 34: {
            if (locateInfoResult_ == null) {
              LocateInfoResult = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfoResult);
            break;
          }
          case 42: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (locateInfoWj_ == null) {
              LocateInfoWj = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfoWj);
            break;
          }
          case 26: {
            if (locateInfoDj_ == null) {
              LocateInfoDj = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfoDj);
            break;
          }
          case 34: {
            if (locateInfoResult_ == null) {
              LocateInfoResult = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfoResult);
            break;
          }
          case 42: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///停车调度步骤状态
  /// </summary>
  public sealed partial class Dispatch_store_step_statu : pb::IMessage<Dispatch_store_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Dispatch_store_step_statu> _parser = new pb::MessageParser<Dispatch_store_step_statu>(() => new Dispatch_store_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Dispatch_store_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[12]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Dispatch_store_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Dispatch_store_step_statu(Dispatch_store_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      locateInfo_ = other.locateInfo_ != null ? other.locateInfo_.Clone() : null;
      spaceInfo_ = other.spaceInfo_ != null ? other.spaceInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Dispatch_store_step_statu Clone() {
      return new Dispatch_store_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "locate_info" field.</summary>
    public const int LocateInfoFieldNumber = 2;
    private global::Message.Locate_information locateInfo_;
    /// <summary>
    ///定位结果
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Locate_information LocateInfo {
      get { return locateInfo_; }
      set {
        locateInfo_ = value;
      }
    }

    /// <summary>Field number for the "space_info" field.</summary>
    public const int SpaceInfoFieldNumber = 3;
    private global::Message.Parkspace_info spaceInfo_;
    /// <summary>
    ///目标车位
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Parkspace_info SpaceInfo {
      get { return spaceInfo_; }
      set {
        spaceInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 4;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Dispatch_store_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Dispatch_store_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(LocateInfo, other.LocateInfo)) return false;
      if (!object.Equals(SpaceInfo, other.SpaceInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (locateInfo_ != null) hash ^= LocateInfo.GetHashCode();
      if (spaceInfo_ != null) hash ^= SpaceInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (locateInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(LocateInfo);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(34);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (locateInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(LocateInfo);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(34);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (locateInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocateInfo);
      }
      if (spaceInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpaceInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Dispatch_store_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.locateInfo_ != null) {
        if (locateInfo_ == null) {
          LocateInfo = new global::Message.Locate_information();
        }
        LocateInfo.MergeFrom(other.LocateInfo);
      }
      if (other.spaceInfo_ != null) {
        if (spaceInfo_ == null) {
          SpaceInfo = new global::Message.Parkspace_info();
        }
        SpaceInfo.MergeFrom(other.SpaceInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (locateInfo_ == null) {
              LocateInfo = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfo);
            break;
          }
          case 26: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 34: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (locateInfo_ == null) {
              LocateInfo = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfo);
            break;
          }
          case 26: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 34: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Back_dispatch_store_step_statu : pb::IMessage<Back_dispatch_store_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Back_dispatch_store_step_statu> _parser = new pb::MessageParser<Back_dispatch_store_step_statu>(() => new Back_dispatch_store_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Back_dispatch_store_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[13]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_dispatch_store_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_dispatch_store_step_statu(Back_dispatch_store_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      locateInfo_ = other.locateInfo_ != null ? other.locateInfo_.Clone() : null;
      spaceInfo_ = other.spaceInfo_ != null ? other.spaceInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_dispatch_store_step_statu Clone() {
      return new Back_dispatch_store_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "locate_info" field.</summary>
    public const int LocateInfoFieldNumber = 2;
    private global::Message.Locate_information locateInfo_;
    /// <summary>
    ///定位结果
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Locate_information LocateInfo {
      get { return locateInfo_; }
      set {
        locateInfo_ = value;
      }
    }

    /// <summary>Field number for the "space_info" field.</summary>
    public const int SpaceInfoFieldNumber = 3;
    private global::Message.Parkspace_info spaceInfo_;
    /// <summary>
    ///目标车位
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Parkspace_info SpaceInfo {
      get { return spaceInfo_; }
      set {
        spaceInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 4;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Back_dispatch_store_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Back_dispatch_store_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(LocateInfo, other.LocateInfo)) return false;
      if (!object.Equals(SpaceInfo, other.SpaceInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (locateInfo_ != null) hash ^= LocateInfo.GetHashCode();
      if (spaceInfo_ != null) hash ^= SpaceInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (locateInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(LocateInfo);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(34);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (locateInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(LocateInfo);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(34);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (locateInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocateInfo);
      }
      if (spaceInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpaceInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Back_dispatch_store_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.locateInfo_ != null) {
        if (locateInfo_ == null) {
          LocateInfo = new global::Message.Locate_information();
        }
        LocateInfo.MergeFrom(other.LocateInfo);
      }
      if (other.spaceInfo_ != null) {
        if (spaceInfo_ == null) {
          SpaceInfo = new global::Message.Parkspace_info();
        }
        SpaceInfo.MergeFrom(other.SpaceInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (locateInfo_ == null) {
              LocateInfo = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfo);
            break;
          }
          case 26: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 34: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (locateInfo_ == null) {
              LocateInfo = new global::Message.Locate_information();
            }
            input.ReadMessage(LocateInfo);
            break;
          }
          case 26: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 34: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///取车调度步骤状态
  /// </summary>
  public sealed partial class Dispatch_pick_step_statu : pb::IMessage<Dispatch_pick_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Dispatch_pick_step_statu> _parser = new pb::MessageParser<Dispatch_pick_step_statu>(() => new Dispatch_pick_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Dispatch_pick_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[14]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Dispatch_pick_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Dispatch_pick_step_statu(Dispatch_pick_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      spaceInfo_ = other.spaceInfo_ != null ? other.spaceInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Dispatch_pick_step_statu Clone() {
      return new Dispatch_pick_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "space_info" field.</summary>
    public const int SpaceInfoFieldNumber = 2;
    private global::Message.Parkspace_info spaceInfo_;
    /// <summary>
    ///目标车位
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Parkspace_info SpaceInfo {
      get { return spaceInfo_; }
      set {
        spaceInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Dispatch_pick_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Dispatch_pick_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(SpaceInfo, other.SpaceInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (spaceInfo_ != null) hash ^= SpaceInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpaceInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Dispatch_pick_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.spaceInfo_ != null) {
        if (spaceInfo_ == null) {
          SpaceInfo = new global::Message.Parkspace_info();
        }
        SpaceInfo.MergeFrom(other.SpaceInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Back_dispatch_pick_step_statu : pb::IMessage<Back_dispatch_pick_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Back_dispatch_pick_step_statu> _parser = new pb::MessageParser<Back_dispatch_pick_step_statu>(() => new Back_dispatch_pick_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Back_dispatch_pick_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[15]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_dispatch_pick_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_dispatch_pick_step_statu(Back_dispatch_pick_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      spaceInfo_ = other.spaceInfo_ != null ? other.spaceInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_dispatch_pick_step_statu Clone() {
      return new Back_dispatch_pick_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "space_info" field.</summary>
    public const int SpaceInfoFieldNumber = 2;
    private global::Message.Parkspace_info spaceInfo_;
    /// <summary>
    ///目标车位
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Parkspace_info SpaceInfo {
      get { return spaceInfo_; }
      set {
        spaceInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Back_dispatch_pick_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Back_dispatch_pick_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(SpaceInfo, other.SpaceInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (spaceInfo_ != null) hash ^= SpaceInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(SpaceInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (spaceInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpaceInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Back_dispatch_pick_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.spaceInfo_ != null) {
        if (spaceInfo_ == null) {
          SpaceInfo = new global::Message.Parkspace_info();
        }
        SpaceInfo.MergeFrom(other.SpaceInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (spaceInfo_ == null) {
              SpaceInfo = new global::Message.Parkspace_info();
            }
            input.ReadMessage(SpaceInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///取车等待车辆离开
  /// </summary>
  public sealed partial class Waitfor_leave_step_statu : pb::IMessage<Waitfor_leave_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Waitfor_leave_step_statu> _parser = new pb::MessageParser<Waitfor_leave_step_statu>(() => new Waitfor_leave_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Waitfor_leave_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[16]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Waitfor_leave_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Waitfor_leave_step_statu(Waitfor_leave_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      carInfo_ = other.carInfo_ != null ? other.carInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Waitfor_leave_step_statu Clone() {
      return new Waitfor_leave_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "car_info" field.</summary>
    public const int CarInfoFieldNumber = 2;
    private global::Message.Car_info carInfo_;
    /// <summary>
    ///车辆信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Car_info CarInfo {
      get { return carInfo_; }
      set {
        carInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Waitfor_leave_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Waitfor_leave_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(CarInfo, other.CarInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (carInfo_ != null) hash ^= CarInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (carInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(CarInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (carInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(CarInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (carInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CarInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Waitfor_leave_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.carInfo_ != null) {
        if (carInfo_ == null) {
          CarInfo = new global::Message.Car_info();
        }
        CarInfo.MergeFrom(other.CarInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (carInfo_ == null) {
              CarInfo = new global::Message.Car_info();
            }
            input.ReadMessage(CarInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (carInfo_ == null) {
              CarInfo = new global::Message.Car_info();
            }
            input.ReadMessage(CarInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  public sealed partial class Back_waitfor_leave_step_statu : pb::IMessage<Back_waitfor_leave_step_statu>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Back_waitfor_leave_step_statu> _parser = new pb::MessageParser<Back_waitfor_leave_step_statu>(() => new Back_waitfor_leave_step_statu());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Back_waitfor_leave_step_statu> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[17]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_waitfor_leave_step_statu() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_waitfor_leave_step_statu(Back_waitfor_leave_step_statu other) : this() {
      _hasBits0 = other._hasBits0;
      stepStatu_ = other.stepStatu_;
      carInfo_ = other.carInfo_ != null ? other.carInfo_.Clone() : null;
      description_ = other.description_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Back_waitfor_leave_step_statu Clone() {
      return new Back_waitfor_leave_step_statu(this);
    }

    /// <summary>Field number for the "step_statu" field.</summary>
    public const int StepStatuFieldNumber = 1;
    private readonly static global::Message.Step_statu StepStatuDefaultValue = global::Message.Step_statu.EWaiting;

    private global::Message.Step_statu stepStatu_;
    /// <summary>
    ///状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Step_statu StepStatu {
      get { if ((_hasBits0 & 1) != 0) { return stepStatu_; } else { return StepStatuDefaultValue; } }
      set {
        _hasBits0 |= 1;
        stepStatu_ = value;
      }
    }
    /// <summary>Gets whether the "step_statu" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasStepStatu {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "step_statu" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearStepStatu() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "car_info" field.</summary>
    public const int CarInfoFieldNumber = 2;
    private global::Message.Car_info carInfo_;
    /// <summary>
    ///车辆信息
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Car_info CarInfo {
      get { return carInfo_; }
      set {
        carInfo_ = value;
      }
    }

    /// <summary>Field number for the "description" field.</summary>
    public const int DescriptionFieldNumber = 3;
    private readonly static string DescriptionDefaultValue = "";

    private string description_;
    /// <summary>
    ///状态说明/错误说明
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string Description {
      get { return description_ ?? DescriptionDefaultValue; }
      set {
        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "description" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasDescription {
      get { return description_ != null; }
    }
    /// <summary>Clears the value of the "description" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearDescription() {
      description_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Back_waitfor_leave_step_statu);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Back_waitfor_leave_step_statu other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StepStatu != other.StepStatu) return false;
      if (!object.Equals(CarInfo, other.CarInfo)) return false;
      if (Description != other.Description) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (HasStepStatu) hash ^= StepStatu.GetHashCode();
      if (carInfo_ != null) hash ^= CarInfo.GetHashCode();
      if (HasDescription) hash ^= Description.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (carInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(CarInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (HasStepStatu) {
        output.WriteRawTag(8);
        output.WriteEnum((int) StepStatu);
      }
      if (carInfo_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(CarInfo);
      }
      if (HasDescription) {
        output.WriteRawTag(26);
        output.WriteString(Description);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (HasStepStatu) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) StepStatu);
      }
      if (carInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CarInfo);
      }
      if (HasDescription) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Back_waitfor_leave_step_statu other) {
      if (other == null) {
        return;
      }
      if (other.HasStepStatu) {
        StepStatu = other.StepStatu;
      }
      if (other.carInfo_ != null) {
        if (carInfo_ == null) {
          CarInfo = new global::Message.Car_info();
        }
        CarInfo.MergeFrom(other.CarInfo);
      }
      if (other.HasDescription) {
        Description = other.Description;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (carInfo_ == null) {
              CarInfo = new global::Message.Car_info();
            }
            input.ReadMessage(CarInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            StepStatu = (global::Message.Step_statu) input.ReadEnum();
            break;
          }
          case 18: {
            if (carInfo_ == null) {
              CarInfo = new global::Message.Car_info();
            }
            input.ReadMessage(CarInfo);
            break;
          }
          case 26: {
            Description = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///停车流程进度消息
  /// </summary>
  public sealed partial class Storing_process_statu_msg : pb::IMessage<Storing_process_statu_msg>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Storing_process_statu_msg> _parser = new pb::MessageParser<Storing_process_statu_msg>(() => new Storing_process_statu_msg());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Storing_process_statu_msg> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[18]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Storing_process_statu_msg() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Storing_process_statu_msg(Storing_process_statu_msg other) : this() {
      _hasBits0 = other._hasBits0;
      baseInfo_ = other.baseInfo_ != null ? other.baseInfo_.Clone() : null;
      terminalId_ = other.terminalId_;
      license_ = other.license_;
      allocSpaceStep_ = other.allocSpaceStep_ != null ? other.allocSpaceStep_.Clone() : null;
      measureStep_ = other.measureStep_ != null ? other.measureStep_.Clone() : null;
      compareStep_ = other.compareStep_ != null ? other.compareStep_.Clone() : null;
      dispatchStep_ = other.dispatchStep_ != null ? other.dispatchStep_.Clone() : null;
      confirmSpaceStep_ = other.confirmSpaceStep_ != null ? other.confirmSpaceStep_.Clone() : null;
      completed_ = other.completed_;
      backConfirmStep_ = other.backConfirmStep_ != null ? other.backConfirmStep_.Clone() : null;
      backDispatchStep_ = other.backDispatchStep_ != null ? other.backDispatchStep_.Clone() : null;
      backCompareStep_ = other.backCompareStep_ != null ? other.backCompareStep_.Clone() : null;
      backMeasureStep_ = other.backMeasureStep_ != null ? other.backMeasureStep_.Clone() : null;
      backAllocSpaceStep_ = other.backAllocSpaceStep_ != null ? other.backAllocSpaceStep_.Clone() : null;
      backCompleted_ = other.backCompleted_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Storing_process_statu_msg Clone() {
      return new Storing_process_statu_msg(this);
    }

    /// <summary>Field number for the "base_info" field.</summary>
    public const int BaseInfoFieldNumber = 1;
    private global::Message.Base_info baseInfo_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Base_info BaseInfo {
      get { return baseInfo_; }
      set {
        baseInfo_ = value;
      }
    }

    /// <summary>Field number for the "terminal_id" field.</summary>
    public const int TerminalIdFieldNumber = 2;
    private readonly static int TerminalIdDefaultValue = 0;

    private int terminalId_;
    /// <summary>
    ///终端id
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int TerminalId {
      get { if ((_hasBits0 & 1) != 0) { return terminalId_; } else { return TerminalIdDefaultValue; } }
      set {
        _hasBits0 |= 1;
        terminalId_ = value;
      }
    }
    /// <summary>Gets whether the "terminal_id" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasTerminalId {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "terminal_id" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearTerminalId() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "license" field.</summary>
    public const int LicenseFieldNumber = 3;
    private readonly static string LicenseDefaultValue = "";

    private string license_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string License {
      get { return license_ ?? LicenseDefaultValue; }
      set {
        license_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "license" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasLicense {
      get { return license_ != null; }
    }
    /// <summary>Clears the value of the "license" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearLicense() {
      license_ = null;
    }

    /// <summary>Field number for the "alloc_space_step" field.</summary>
    public const int AllocSpaceStepFieldNumber = 4;
    private global::Message.Alloc_space_step_statu allocSpaceStep_;
    /// <summary>
    ///分配车位步骤状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Alloc_space_step_statu AllocSpaceStep {
      get { return allocSpaceStep_; }
      set {
        allocSpaceStep_ = value;
      }
    }

    /// <summary>Field number for the "measure_step" field.</summary>
    public const int MeasureStepFieldNumber = 5;
    private global::Message.Measure_step_statu measureStep_;
    /// <summary>
    ///测量步骤状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Measure_step_statu MeasureStep {
      get { return measureStep_; }
      set {
        measureStep_ = value;
      }
    }

    /// <summary>Field number for the "compare_step" field.</summary>
    public const int CompareStepFieldNumber = 6;
    private global::Message.Compare_step_statu compareStep_;
    /// <summary>
    ///不同雷达所测汽车结果对比节点
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Compare_step_statu CompareStep {
      get { return compareStep_; }
      set {
        compareStep_ = value;
      }
    }

    /// <summary>Field number for the "dispatch_step" field.</summary>
    public const int DispatchStepFieldNumber = 7;
    private global::Message.Dispatch_store_step_statu dispatchStep_;
    /// <summary>
    ///停车调度步骤状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Dispatch_store_step_statu DispatchStep {
      get { return dispatchStep_; }
      set {
        dispatchStep_ = value;
      }
    }

    /// <summary>Field number for the "confirm_space_step" field.</summary>
    public const int ConfirmSpaceStepFieldNumber = 8;
    private global::Message.Confirm_space_step_statu confirmSpaceStep_;
    /// <summary>
    ///确认占用车位步骤状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Confirm_space_step_statu ConfirmSpaceStep {
      get { return confirmSpaceStep_; }
      set {
        confirmSpaceStep_ = value;
      }
    }

    /// <summary>Field number for the "completed" field.</summary>
    public const int CompletedFieldNumber = 9;
    private readonly static bool CompletedDefaultValue = false;

    private bool completed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Completed {
      get { if ((_hasBits0 & 2) != 0) { return completed_; } else { return CompletedDefaultValue; } }
      set {
        _hasBits0 |= 2;
        completed_ = value;
      }
    }
    /// <summary>Gets whether the "completed" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasCompleted {
      get { return (_hasBits0 & 2) != 0; }
    }
    /// <summary>Clears the value of the "completed" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearCompleted() {
      _hasBits0 &= ~2;
    }

    /// <summary>Field number for the "back_confirm_step" field.</summary>
    public const int BackConfirmStepFieldNumber = 10;
    private global::Message.Back_confirm_space_step_statu backConfirmStep_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Back_confirm_space_step_statu BackConfirmStep {
      get { return backConfirmStep_; }
      set {
        backConfirmStep_ = value;
      }
    }

    /// <summary>Field number for the "back_dispatch_step" field.</summary>
    public const int BackDispatchStepFieldNumber = 11;
    private global::Message.Back_dispatch_store_step_statu backDispatchStep_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Back_dispatch_store_step_statu BackDispatchStep {
      get { return backDispatchStep_; }
      set {
        backDispatchStep_ = value;
      }
    }

    /// <summary>Field number for the "back_compare_step" field.</summary>
    public const int BackCompareStepFieldNumber = 12;
    private global::Message.Back_compare_step_statu backCompareStep_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Back_compare_step_statu BackCompareStep {
      get { return backCompareStep_; }
      set {
        backCompareStep_ = value;
      }
    }

    /// <summary>Field number for the "back_measure_step" field.</summary>
    public const int BackMeasureStepFieldNumber = 13;
    private global::Message.Back_measure_step_statu backMeasureStep_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Back_measure_step_statu BackMeasureStep {
      get { return backMeasureStep_; }
      set {
        backMeasureStep_ = value;
      }
    }

    /// <summary>Field number for the "back_alloc_space_step" field.</summary>
    public const int BackAllocSpaceStepFieldNumber = 14;
    private global::Message.Back_alloc_space_step_statu backAllocSpaceStep_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Back_alloc_space_step_statu BackAllocSpaceStep {
      get { return backAllocSpaceStep_; }
      set {
        backAllocSpaceStep_ = value;
      }
    }

    /// <summary>Field number for the "back_completed" field.</summary>
    public const int BackCompletedFieldNumber = 15;
    private readonly static bool BackCompletedDefaultValue = false;

    private bool backCompleted_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool BackCompleted {
      get { if ((_hasBits0 & 4) != 0) { return backCompleted_; } else { return BackCompletedDefaultValue; } }
      set {
        _hasBits0 |= 4;
        backCompleted_ = value;
      }
    }
    /// <summary>Gets whether the "back_completed" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasBackCompleted {
      get { return (_hasBits0 & 4) != 0; }
    }
    /// <summary>Clears the value of the "back_completed" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearBackCompleted() {
      _hasBits0 &= ~4;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Storing_process_statu_msg);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Storing_process_statu_msg other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(BaseInfo, other.BaseInfo)) return false;
      if (TerminalId != other.TerminalId) return false;
      if (License != other.License) return false;
      if (!object.Equals(AllocSpaceStep, other.AllocSpaceStep)) return false;
      if (!object.Equals(MeasureStep, other.MeasureStep)) return false;
      if (!object.Equals(CompareStep, other.CompareStep)) return false;
      if (!object.Equals(DispatchStep, other.DispatchStep)) return false;
      if (!object.Equals(ConfirmSpaceStep, other.ConfirmSpaceStep)) return false;
      if (Completed != other.Completed) return false;
      if (!object.Equals(BackConfirmStep, other.BackConfirmStep)) return false;
      if (!object.Equals(BackDispatchStep, other.BackDispatchStep)) return false;
      if (!object.Equals(BackCompareStep, other.BackCompareStep)) return false;
      if (!object.Equals(BackMeasureStep, other.BackMeasureStep)) return false;
      if (!object.Equals(BackAllocSpaceStep, other.BackAllocSpaceStep)) return false;
      if (BackCompleted != other.BackCompleted) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (baseInfo_ != null) hash ^= BaseInfo.GetHashCode();
      if (HasTerminalId) hash ^= TerminalId.GetHashCode();
      if (HasLicense) hash ^= License.GetHashCode();
      if (allocSpaceStep_ != null) hash ^= AllocSpaceStep.GetHashCode();
      if (measureStep_ != null) hash ^= MeasureStep.GetHashCode();
      if (compareStep_ != null) hash ^= CompareStep.GetHashCode();
      if (dispatchStep_ != null) hash ^= DispatchStep.GetHashCode();
      if (confirmSpaceStep_ != null) hash ^= ConfirmSpaceStep.GetHashCode();
      if (HasCompleted) hash ^= Completed.GetHashCode();
      if (backConfirmStep_ != null) hash ^= BackConfirmStep.GetHashCode();
      if (backDispatchStep_ != null) hash ^= BackDispatchStep.GetHashCode();
      if (backCompareStep_ != null) hash ^= BackCompareStep.GetHashCode();
      if (backMeasureStep_ != null) hash ^= BackMeasureStep.GetHashCode();
      if (backAllocSpaceStep_ != null) hash ^= BackAllocSpaceStep.GetHashCode();
      if (HasBackCompleted) hash ^= BackCompleted.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (baseInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(BaseInfo);
      }
      if (HasTerminalId) {
        output.WriteRawTag(16);
        output.WriteInt32(TerminalId);
      }
      if (HasLicense) {
        output.WriteRawTag(26);
        output.WriteString(License);
      }
      if (allocSpaceStep_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(AllocSpaceStep);
      }
      if (measureStep_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(MeasureStep);
      }
      if (compareStep_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(CompareStep);
      }
      if (dispatchStep_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(DispatchStep);
      }
      if (confirmSpaceStep_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(ConfirmSpaceStep);
      }
      if (HasCompleted) {
        output.WriteRawTag(72);
        output.WriteBool(Completed);
      }
      if (backConfirmStep_ != null) {
        output.WriteRawTag(82);
        output.WriteMessage(BackConfirmStep);
      }
      if (backDispatchStep_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(BackDispatchStep);
      }
      if (backCompareStep_ != null) {
        output.WriteRawTag(98);
        output.WriteMessage(BackCompareStep);
      }
      if (backMeasureStep_ != null) {
        output.WriteRawTag(106);
        output.WriteMessage(BackMeasureStep);
      }
      if (backAllocSpaceStep_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(BackAllocSpaceStep);
      }
      if (HasBackCompleted) {
        output.WriteRawTag(120);
        output.WriteBool(BackCompleted);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (baseInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(BaseInfo);
      }
      if (HasTerminalId) {
        output.WriteRawTag(16);
        output.WriteInt32(TerminalId);
      }
      if (HasLicense) {
        output.WriteRawTag(26);
        output.WriteString(License);
      }
      if (allocSpaceStep_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(AllocSpaceStep);
      }
      if (measureStep_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(MeasureStep);
      }
      if (compareStep_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(CompareStep);
      }
      if (dispatchStep_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(DispatchStep);
      }
      if (confirmSpaceStep_ != null) {
        output.WriteRawTag(66);
        output.WriteMessage(ConfirmSpaceStep);
      }
      if (HasCompleted) {
        output.WriteRawTag(72);
        output.WriteBool(Completed);
      }
      if (backConfirmStep_ != null) {
        output.WriteRawTag(82);
        output.WriteMessage(BackConfirmStep);
      }
      if (backDispatchStep_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(BackDispatchStep);
      }
      if (backCompareStep_ != null) {
        output.WriteRawTag(98);
        output.WriteMessage(BackCompareStep);
      }
      if (backMeasureStep_ != null) {
        output.WriteRawTag(106);
        output.WriteMessage(BackMeasureStep);
      }
      if (backAllocSpaceStep_ != null) {
        output.WriteRawTag(114);
        output.WriteMessage(BackAllocSpaceStep);
      }
      if (HasBackCompleted) {
        output.WriteRawTag(120);
        output.WriteBool(BackCompleted);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (baseInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BaseInfo);
      }
      if (HasTerminalId) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TerminalId);
      }
      if (HasLicense) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(License);
      }
      if (allocSpaceStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(AllocSpaceStep);
      }
      if (measureStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(MeasureStep);
      }
      if (compareStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(CompareStep);
      }
      if (dispatchStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DispatchStep);
      }
      if (confirmSpaceStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ConfirmSpaceStep);
      }
      if (HasCompleted) {
        size += 1 + 1;
      }
      if (backConfirmStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BackConfirmStep);
      }
      if (backDispatchStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BackDispatchStep);
      }
      if (backCompareStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BackCompareStep);
      }
      if (backMeasureStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BackMeasureStep);
      }
      if (backAllocSpaceStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BackAllocSpaceStep);
      }
      if (HasBackCompleted) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Storing_process_statu_msg other) {
      if (other == null) {
        return;
      }
      if (other.baseInfo_ != null) {
        if (baseInfo_ == null) {
          BaseInfo = new global::Message.Base_info();
        }
        BaseInfo.MergeFrom(other.BaseInfo);
      }
      if (other.HasTerminalId) {
        TerminalId = other.TerminalId;
      }
      if (other.HasLicense) {
        License = other.License;
      }
      if (other.allocSpaceStep_ != null) {
        if (allocSpaceStep_ == null) {
          AllocSpaceStep = new global::Message.Alloc_space_step_statu();
        }
        AllocSpaceStep.MergeFrom(other.AllocSpaceStep);
      }
      if (other.measureStep_ != null) {
        if (measureStep_ == null) {
          MeasureStep = new global::Message.Measure_step_statu();
        }
        MeasureStep.MergeFrom(other.MeasureStep);
      }
      if (other.compareStep_ != null) {
        if (compareStep_ == null) {
          CompareStep = new global::Message.Compare_step_statu();
        }
        CompareStep.MergeFrom(other.CompareStep);
      }
      if (other.dispatchStep_ != null) {
        if (dispatchStep_ == null) {
          DispatchStep = new global::Message.Dispatch_store_step_statu();
        }
        DispatchStep.MergeFrom(other.DispatchStep);
      }
      if (other.confirmSpaceStep_ != null) {
        if (confirmSpaceStep_ == null) {
          ConfirmSpaceStep = new global::Message.Confirm_space_step_statu();
        }
        ConfirmSpaceStep.MergeFrom(other.ConfirmSpaceStep);
      }
      if (other.HasCompleted) {
        Completed = other.Completed;
      }
      if (other.backConfirmStep_ != null) {
        if (backConfirmStep_ == null) {
          BackConfirmStep = new global::Message.Back_confirm_space_step_statu();
        }
        BackConfirmStep.MergeFrom(other.BackConfirmStep);
      }
      if (other.backDispatchStep_ != null) {
        if (backDispatchStep_ == null) {
          BackDispatchStep = new global::Message.Back_dispatch_store_step_statu();
        }
        BackDispatchStep.MergeFrom(other.BackDispatchStep);
      }
      if (other.backCompareStep_ != null) {
        if (backCompareStep_ == null) {
          BackCompareStep = new global::Message.Back_compare_step_statu();
        }
        BackCompareStep.MergeFrom(other.BackCompareStep);
      }
      if (other.backMeasureStep_ != null) {
        if (backMeasureStep_ == null) {
          BackMeasureStep = new global::Message.Back_measure_step_statu();
        }
        BackMeasureStep.MergeFrom(other.BackMeasureStep);
      }
      if (other.backAllocSpaceStep_ != null) {
        if (backAllocSpaceStep_ == null) {
          BackAllocSpaceStep = new global::Message.Back_alloc_space_step_statu();
        }
        BackAllocSpaceStep.MergeFrom(other.BackAllocSpaceStep);
      }
      if (other.HasBackCompleted) {
        BackCompleted = other.BackCompleted;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (baseInfo_ == null) {
              BaseInfo = new global::Message.Base_info();
            }
            input.ReadMessage(BaseInfo);
            break;
          }
          case 16: {
            TerminalId = input.ReadInt32();
            break;
          }
          case 26: {
            License = input.ReadString();
            break;
          }
          case 34: {
            if (allocSpaceStep_ == null) {
              AllocSpaceStep = new global::Message.Alloc_space_step_statu();
            }
            input.ReadMessage(AllocSpaceStep);
            break;
          }
          case 42: {
            if (measureStep_ == null) {
              MeasureStep = new global::Message.Measure_step_statu();
            }
            input.ReadMessage(MeasureStep);
            break;
          }
          case 50: {
            if (compareStep_ == null) {
              CompareStep = new global::Message.Compare_step_statu();
            }
            input.ReadMessage(CompareStep);
            break;
          }
          case 58: {
            if (dispatchStep_ == null) {
              DispatchStep = new global::Message.Dispatch_store_step_statu();
            }
            input.ReadMessage(DispatchStep);
            break;
          }
          case 66: {
            if (confirmSpaceStep_ == null) {
              ConfirmSpaceStep = new global::Message.Confirm_space_step_statu();
            }
            input.ReadMessage(ConfirmSpaceStep);
            break;
          }
          case 72: {
            Completed = input.ReadBool();
            break;
          }
          case 82: {
            if (backConfirmStep_ == null) {
              BackConfirmStep = new global::Message.Back_confirm_space_step_statu();
            }
            input.ReadMessage(BackConfirmStep);
            break;
          }
          case 90: {
            if (backDispatchStep_ == null) {
              BackDispatchStep = new global::Message.Back_dispatch_store_step_statu();
            }
            input.ReadMessage(BackDispatchStep);
            break;
          }
          case 98: {
            if (backCompareStep_ == null) {
              BackCompareStep = new global::Message.Back_compare_step_statu();
            }
            input.ReadMessage(BackCompareStep);
            break;
          }
          case 106: {
            if (backMeasureStep_ == null) {
              BackMeasureStep = new global::Message.Back_measure_step_statu();
            }
            input.ReadMessage(BackMeasureStep);
            break;
          }
          case 114: {
            if (backAllocSpaceStep_ == null) {
              BackAllocSpaceStep = new global::Message.Back_alloc_space_step_statu();
            }
            input.ReadMessage(BackAllocSpaceStep);
            break;
          }
          case 120: {
            BackCompleted = input.ReadBool();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (baseInfo_ == null) {
              BaseInfo = new global::Message.Base_info();
            }
            input.ReadMessage(BaseInfo);
            break;
          }
          case 16: {
            TerminalId = input.ReadInt32();
            break;
          }
          case 26: {
            License = input.ReadString();
            break;
          }
          case 34: {
            if (allocSpaceStep_ == null) {
              AllocSpaceStep = new global::Message.Alloc_space_step_statu();
            }
            input.ReadMessage(AllocSpaceStep);
            break;
          }
          case 42: {
            if (measureStep_ == null) {
              MeasureStep = new global::Message.Measure_step_statu();
            }
            input.ReadMessage(MeasureStep);
            break;
          }
          case 50: {
            if (compareStep_ == null) {
              CompareStep = new global::Message.Compare_step_statu();
            }
            input.ReadMessage(CompareStep);
            break;
          }
          case 58: {
            if (dispatchStep_ == null) {
              DispatchStep = new global::Message.Dispatch_store_step_statu();
            }
            input.ReadMessage(DispatchStep);
            break;
          }
          case 66: {
            if (confirmSpaceStep_ == null) {
              ConfirmSpaceStep = new global::Message.Confirm_space_step_statu();
            }
            input.ReadMessage(ConfirmSpaceStep);
            break;
          }
          case 72: {
            Completed = input.ReadBool();
            break;
          }
          case 82: {
            if (backConfirmStep_ == null) {
              BackConfirmStep = new global::Message.Back_confirm_space_step_statu();
            }
            input.ReadMessage(BackConfirmStep);
            break;
          }
          case 90: {
            if (backDispatchStep_ == null) {
              BackDispatchStep = new global::Message.Back_dispatch_store_step_statu();
            }
            input.ReadMessage(BackDispatchStep);
            break;
          }
          case 98: {
            if (backCompareStep_ == null) {
              BackCompareStep = new global::Message.Back_compare_step_statu();
            }
            input.ReadMessage(BackCompareStep);
            break;
          }
          case 106: {
            if (backMeasureStep_ == null) {
              BackMeasureStep = new global::Message.Back_measure_step_statu();
            }
            input.ReadMessage(BackMeasureStep);
            break;
          }
          case 114: {
            if (backAllocSpaceStep_ == null) {
              BackAllocSpaceStep = new global::Message.Back_alloc_space_step_statu();
            }
            input.ReadMessage(BackAllocSpaceStep);
            break;
          }
          case 120: {
            BackCompleted = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///取车流程进度消息
  /// </summary>
  public sealed partial class Picking_process_statu_msg : pb::IMessage<Picking_process_statu_msg>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Picking_process_statu_msg> _parser = new pb::MessageParser<Picking_process_statu_msg>(() => new Picking_process_statu_msg());
    private pb::UnknownFieldSet _unknownFields;
    private int _hasBits0;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pb::MessageParser<Picking_process_statu_msg> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Message.ProcessMessageReflection.Descriptor.MessageTypes[19]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Picking_process_statu_msg() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Picking_process_statu_msg(Picking_process_statu_msg other) : this() {
      _hasBits0 = other._hasBits0;
      baseInfo_ = other.baseInfo_ != null ? other.baseInfo_.Clone() : null;
      terminalId_ = other.terminalId_;
      license_ = other.license_;
      searchSpaceStep_ = other.searchSpaceStep_ != null ? other.searchSpaceStep_.Clone() : null;
      dispatchStep_ = other.dispatchStep_ != null ? other.dispatchStep_.Clone() : null;
      releaseSpaceStep_ = other.releaseSpaceStep_ != null ? other.releaseSpaceStep_.Clone() : null;
      waitforLeaveStep_ = other.waitforLeaveStep_ != null ? other.waitforLeaveStep_.Clone() : null;
      completed_ = other.completed_;
      backWaitforLeaveStep_ = other.backWaitforLeaveStep_ != null ? other.backWaitforLeaveStep_.Clone() : null;
      backDispatchStep_ = other.backDispatchStep_ != null ? other.backDispatchStep_.Clone() : null;
      backSearchSpaceStepStatu_ = other.backSearchSpaceStepStatu_ != null ? other.backSearchSpaceStepStatu_.Clone() : null;
      backCompleted_ = other.backCompleted_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public Picking_process_statu_msg Clone() {
      return new Picking_process_statu_msg(this);
    }

    /// <summary>Field number for the "base_info" field.</summary>
    public const int BaseInfoFieldNumber = 1;
    private global::Message.Base_info baseInfo_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Base_info BaseInfo {
      get { return baseInfo_; }
      set {
        baseInfo_ = value;
      }
    }

    /// <summary>Field number for the "terminal_id" field.</summary>
    public const int TerminalIdFieldNumber = 2;
    private readonly static int TerminalIdDefaultValue = 0;

    private int terminalId_;
    /// <summary>
    ///终端id
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int TerminalId {
      get { if ((_hasBits0 & 1) != 0) { return terminalId_; } else { return TerminalIdDefaultValue; } }
      set {
        _hasBits0 |= 1;
        terminalId_ = value;
      }
    }
    /// <summary>Gets whether the "terminal_id" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasTerminalId {
      get { return (_hasBits0 & 1) != 0; }
    }
    /// <summary>Clears the value of the "terminal_id" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearTerminalId() {
      _hasBits0 &= ~1;
    }

    /// <summary>Field number for the "license" field.</summary>
    public const int LicenseFieldNumber = 3;
    private readonly static string LicenseDefaultValue = "";

    private string license_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public string License {
      get { return license_ ?? LicenseDefaultValue; }
      set {
        license_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }
    /// <summary>Gets whether the "license" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasLicense {
      get { return license_ != null; }
    }
    /// <summary>Clears the value of the "license" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearLicense() {
      license_ = null;
    }

    /// <summary>Field number for the "search_space_step" field.</summary>
    public const int SearchSpaceStepFieldNumber = 4;
    private global::Message.Search_space_step_statu searchSpaceStep_;
    /// <summary>
    ///查询车位步骤状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Search_space_step_statu SearchSpaceStep {
      get { return searchSpaceStep_; }
      set {
        searchSpaceStep_ = value;
      }
    }

    /// <summary>Field number for the "dispatch_step" field.</summary>
    public const int DispatchStepFieldNumber = 5;
    private global::Message.Dispatch_pick_step_statu dispatchStep_;
    /// <summary>
    ///取车调度步骤状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Dispatch_pick_step_statu DispatchStep {
      get { return dispatchStep_; }
      set {
        dispatchStep_ = value;
      }
    }

    /// <summary>Field number for the "release_space_step" field.</summary>
    public const int ReleaseSpaceStepFieldNumber = 6;
    private global::Message.Release_space_step_statu releaseSpaceStep_;
    /// <summary>
    ///解锁/释放车位步骤状态
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Release_space_step_statu ReleaseSpaceStep {
      get { return releaseSpaceStep_; }
      set {
        releaseSpaceStep_ = value;
      }
    }

    /// <summary>Field number for the "waitfor_leave_step" field.</summary>
    public const int WaitforLeaveStepFieldNumber = 7;
    private global::Message.Waitfor_leave_step_statu waitforLeaveStep_;
    /// <summary>
    ///取车等待车辆离开
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Waitfor_leave_step_statu WaitforLeaveStep {
      get { return waitforLeaveStep_; }
      set {
        waitforLeaveStep_ = value;
      }
    }

    /// <summary>Field number for the "completed" field.</summary>
    public const int CompletedFieldNumber = 8;
    private readonly static bool CompletedDefaultValue = false;

    private bool completed_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Completed {
      get { if ((_hasBits0 & 2) != 0) { return completed_; } else { return CompletedDefaultValue; } }
      set {
        _hasBits0 |= 2;
        completed_ = value;
      }
    }
    /// <summary>Gets whether the "completed" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasCompleted {
      get { return (_hasBits0 & 2) != 0; }
    }
    /// <summary>Clears the value of the "completed" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearCompleted() {
      _hasBits0 &= ~2;
    }

    /// <summary>Field number for the "back_waitfor_leave_step" field.</summary>
    public const int BackWaitforLeaveStepFieldNumber = 9;
    private global::Message.Back_waitfor_leave_step_statu backWaitforLeaveStep_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Back_waitfor_leave_step_statu BackWaitforLeaveStep {
      get { return backWaitforLeaveStep_; }
      set {
        backWaitforLeaveStep_ = value;
      }
    }

    /// <summary>Field number for the "back_dispatch_step" field.</summary>
    public const int BackDispatchStepFieldNumber = 10;
    private global::Message.Back_dispatch_pick_step_statu backDispatchStep_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Back_dispatch_pick_step_statu BackDispatchStep {
      get { return backDispatchStep_; }
      set {
        backDispatchStep_ = value;
      }
    }

    /// <summary>Field number for the "back_search_space_step_statu" field.</summary>
    public const int BackSearchSpaceStepStatuFieldNumber = 11;
    private global::Message.Back_search_space_step_statu backSearchSpaceStepStatu_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public global::Message.Back_search_space_step_statu BackSearchSpaceStepStatu {
      get { return backSearchSpaceStepStatu_; }
      set {
        backSearchSpaceStepStatu_ = value;
      }
    }

    /// <summary>Field number for the "back_completed" field.</summary>
    public const int BackCompletedFieldNumber = 12;
    private readonly static bool BackCompletedDefaultValue = false;

    private bool backCompleted_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool BackCompleted {
      get { if ((_hasBits0 & 4) != 0) { return backCompleted_; } else { return BackCompletedDefaultValue; } }
      set {
        _hasBits0 |= 4;
        backCompleted_ = value;
      }
    }
    /// <summary>Gets whether the "back_completed" field is set</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool HasBackCompleted {
      get { return (_hasBits0 & 4) != 0; }
    }
    /// <summary>Clears the value of the "back_completed" field</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void ClearBackCompleted() {
      _hasBits0 &= ~4;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Picking_process_statu_msg);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Picking_process_statu_msg other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(BaseInfo, other.BaseInfo)) return false;
      if (TerminalId != other.TerminalId) return false;
      if (License != other.License) return false;
      if (!object.Equals(SearchSpaceStep, other.SearchSpaceStep)) return false;
      if (!object.Equals(DispatchStep, other.DispatchStep)) return false;
      if (!object.Equals(ReleaseSpaceStep, other.ReleaseSpaceStep)) return false;
      if (!object.Equals(WaitforLeaveStep, other.WaitforLeaveStep)) return false;
      if (Completed != other.Completed) return false;
      if (!object.Equals(BackWaitforLeaveStep, other.BackWaitforLeaveStep)) return false;
      if (!object.Equals(BackDispatchStep, other.BackDispatchStep)) return false;
      if (!object.Equals(BackSearchSpaceStepStatu, other.BackSearchSpaceStepStatu)) return false;
      if (BackCompleted != other.BackCompleted) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (baseInfo_ != null) hash ^= BaseInfo.GetHashCode();
      if (HasTerminalId) hash ^= TerminalId.GetHashCode();
      if (HasLicense) hash ^= License.GetHashCode();
      if (searchSpaceStep_ != null) hash ^= SearchSpaceStep.GetHashCode();
      if (dispatchStep_ != null) hash ^= DispatchStep.GetHashCode();
      if (releaseSpaceStep_ != null) hash ^= ReleaseSpaceStep.GetHashCode();
      if (waitforLeaveStep_ != null) hash ^= WaitforLeaveStep.GetHashCode();
      if (HasCompleted) hash ^= Completed.GetHashCode();
      if (backWaitforLeaveStep_ != null) hash ^= BackWaitforLeaveStep.GetHashCode();
      if (backDispatchStep_ != null) hash ^= BackDispatchStep.GetHashCode();
      if (backSearchSpaceStepStatu_ != null) hash ^= BackSearchSpaceStepStatu.GetHashCode();
      if (HasBackCompleted) hash ^= BackCompleted.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (baseInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(BaseInfo);
      }
      if (HasTerminalId) {
        output.WriteRawTag(16);
        output.WriteInt32(TerminalId);
      }
      if (HasLicense) {
        output.WriteRawTag(26);
        output.WriteString(License);
      }
      if (searchSpaceStep_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(SearchSpaceStep);
      }
      if (dispatchStep_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DispatchStep);
      }
      if (releaseSpaceStep_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(ReleaseSpaceStep);
      }
      if (waitforLeaveStep_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(WaitforLeaveStep);
      }
      if (HasCompleted) {
        output.WriteRawTag(64);
        output.WriteBool(Completed);
      }
      if (backWaitforLeaveStep_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(BackWaitforLeaveStep);
      }
      if (backDispatchStep_ != null) {
        output.WriteRawTag(82);
        output.WriteMessage(BackDispatchStep);
      }
      if (backSearchSpaceStepStatu_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(BackSearchSpaceStepStatu);
      }
      if (HasBackCompleted) {
        output.WriteRawTag(96);
        output.WriteBool(BackCompleted);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (baseInfo_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(BaseInfo);
      }
      if (HasTerminalId) {
        output.WriteRawTag(16);
        output.WriteInt32(TerminalId);
      }
      if (HasLicense) {
        output.WriteRawTag(26);
        output.WriteString(License);
      }
      if (searchSpaceStep_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(SearchSpaceStep);
      }
      if (dispatchStep_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(DispatchStep);
      }
      if (releaseSpaceStep_ != null) {
        output.WriteRawTag(50);
        output.WriteMessage(ReleaseSpaceStep);
      }
      if (waitforLeaveStep_ != null) {
        output.WriteRawTag(58);
        output.WriteMessage(WaitforLeaveStep);
      }
      if (HasCompleted) {
        output.WriteRawTag(64);
        output.WriteBool(Completed);
      }
      if (backWaitforLeaveStep_ != null) {
        output.WriteRawTag(74);
        output.WriteMessage(BackWaitforLeaveStep);
      }
      if (backDispatchStep_ != null) {
        output.WriteRawTag(82);
        output.WriteMessage(BackDispatchStep);
      }
      if (backSearchSpaceStepStatu_ != null) {
        output.WriteRawTag(90);
        output.WriteMessage(BackSearchSpaceStepStatu);
      }
      if (HasBackCompleted) {
        output.WriteRawTag(96);
        output.WriteBool(BackCompleted);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (baseInfo_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BaseInfo);
      }
      if (HasTerminalId) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TerminalId);
      }
      if (HasLicense) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(License);
      }
      if (searchSpaceStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(SearchSpaceStep);
      }
      if (dispatchStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(DispatchStep);
      }
      if (releaseSpaceStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ReleaseSpaceStep);
      }
      if (waitforLeaveStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(WaitforLeaveStep);
      }
      if (HasCompleted) {
        size += 1 + 1;
      }
      if (backWaitforLeaveStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BackWaitforLeaveStep);
      }
      if (backDispatchStep_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BackDispatchStep);
      }
      if (backSearchSpaceStepStatu_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(BackSearchSpaceStepStatu);
      }
      if (HasBackCompleted) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(Picking_process_statu_msg other) {
      if (other == null) {
        return;
      }
      if (other.baseInfo_ != null) {
        if (baseInfo_ == null) {
          BaseInfo = new global::Message.Base_info();
        }
        BaseInfo.MergeFrom(other.BaseInfo);
      }
      if (other.HasTerminalId) {
        TerminalId = other.TerminalId;
      }
      if (other.HasLicense) {
        License = other.License;
      }
      if (other.searchSpaceStep_ != null) {
        if (searchSpaceStep_ == null) {
          SearchSpaceStep = new global::Message.Search_space_step_statu();
        }
        SearchSpaceStep.MergeFrom(other.SearchSpaceStep);
      }
      if (other.dispatchStep_ != null) {
        if (dispatchStep_ == null) {
          DispatchStep = new global::Message.Dispatch_pick_step_statu();
        }
        DispatchStep.MergeFrom(other.DispatchStep);
      }
      if (other.releaseSpaceStep_ != null) {
        if (releaseSpaceStep_ == null) {
          ReleaseSpaceStep = new global::Message.Release_space_step_statu();
        }
        ReleaseSpaceStep.MergeFrom(other.ReleaseSpaceStep);
      }
      if (other.waitforLeaveStep_ != null) {
        if (waitforLeaveStep_ == null) {
          WaitforLeaveStep = new global::Message.Waitfor_leave_step_statu();
        }
        WaitforLeaveStep.MergeFrom(other.WaitforLeaveStep);
      }
      if (other.HasCompleted) {
        Completed = other.Completed;
      }
      if (other.backWaitforLeaveStep_ != null) {
        if (backWaitforLeaveStep_ == null) {
          BackWaitforLeaveStep = new global::Message.Back_waitfor_leave_step_statu();
        }
        BackWaitforLeaveStep.MergeFrom(other.BackWaitforLeaveStep);
      }
      if (other.backDispatchStep_ != null) {
        if (backDispatchStep_ == null) {
          BackDispatchStep = new global::Message.Back_dispatch_pick_step_statu();
        }
        BackDispatchStep.MergeFrom(other.BackDispatchStep);
      }
      if (other.backSearchSpaceStepStatu_ != null) {
        if (backSearchSpaceStepStatu_ == null) {
          BackSearchSpaceStepStatu = new global::Message.Back_search_space_step_statu();
        }
        BackSearchSpaceStepStatu.MergeFrom(other.BackSearchSpaceStepStatu);
      }
      if (other.HasBackCompleted) {
        BackCompleted = other.BackCompleted;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (baseInfo_ == null) {
              BaseInfo = new global::Message.Base_info();
            }
            input.ReadMessage(BaseInfo);
            break;
          }
          case 16: {
            TerminalId = input.ReadInt32();
            break;
          }
          case 26: {
            License = input.ReadString();
            break;
          }
          case 34: {
            if (searchSpaceStep_ == null) {
              SearchSpaceStep = new global::Message.Search_space_step_statu();
            }
            input.ReadMessage(SearchSpaceStep);
            break;
          }
          case 42: {
            if (dispatchStep_ == null) {
              DispatchStep = new global::Message.Dispatch_pick_step_statu();
            }
            input.ReadMessage(DispatchStep);
            break;
          }
          case 50: {
            if (releaseSpaceStep_ == null) {
              ReleaseSpaceStep = new global::Message.Release_space_step_statu();
            }
            input.ReadMessage(ReleaseSpaceStep);
            break;
          }
          case 58: {
            if (waitforLeaveStep_ == null) {
              WaitforLeaveStep = new global::Message.Waitfor_leave_step_statu();
            }
            input.ReadMessage(WaitforLeaveStep);
            break;
          }
          case 64: {
            Completed = input.ReadBool();
            break;
          }
          case 74: {
            if (backWaitforLeaveStep_ == null) {
              BackWaitforLeaveStep = new global::Message.Back_waitfor_leave_step_statu();
            }
            input.ReadMessage(BackWaitforLeaveStep);
            break;
          }
          case 82: {
            if (backDispatchStep_ == null) {
              BackDispatchStep = new global::Message.Back_dispatch_pick_step_statu();
            }
            input.ReadMessage(BackDispatchStep);
            break;
          }
          case 90: {
            if (backSearchSpaceStepStatu_ == null) {
              BackSearchSpaceStepStatu = new global::Message.Back_search_space_step_statu();
            }
            input.ReadMessage(BackSearchSpaceStepStatu);
            break;
          }
          case 96: {
            BackCompleted = input.ReadBool();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (baseInfo_ == null) {
              BaseInfo = new global::Message.Base_info();
            }
            input.ReadMessage(BaseInfo);
            break;
          }
          case 16: {
            TerminalId = input.ReadInt32();
            break;
          }
          case 26: {
            License = input.ReadString();
            break;
          }
          case 34: {
            if (searchSpaceStep_ == null) {
              SearchSpaceStep = new global::Message.Search_space_step_statu();
            }
            input.ReadMessage(SearchSpaceStep);
            break;
          }
          case 42: {
            if (dispatchStep_ == null) {
              DispatchStep = new global::Message.Dispatch_pick_step_statu();
            }
            input.ReadMessage(DispatchStep);
            break;
          }
          case 50: {
            if (releaseSpaceStep_ == null) {
              ReleaseSpaceStep = new global::Message.Release_space_step_statu();
            }
            input.ReadMessage(ReleaseSpaceStep);
            break;
          }
          case 58: {
            if (waitforLeaveStep_ == null) {
              WaitforLeaveStep = new global::Message.Waitfor_leave_step_statu();
            }
            input.ReadMessage(WaitforLeaveStep);
            break;
          }
          case 64: {
            Completed = input.ReadBool();
            break;
          }
          case 74: {
            if (backWaitforLeaveStep_ == null) {
              BackWaitforLeaveStep = new global::Message.Back_waitfor_leave_step_statu();
            }
            input.ReadMessage(BackWaitforLeaveStep);
            break;
          }
          case 82: {
            if (backDispatchStep_ == null) {
              BackDispatchStep = new global::Message.Back_dispatch_pick_step_statu();
            }
            input.ReadMessage(BackDispatchStep);
            break;
          }
          case 90: {
            if (backSearchSpaceStepStatu_ == null) {
              BackSearchSpaceStepStatu = new global::Message.Back_search_space_step_statu();
            }
            input.ReadMessage(BackSearchSpaceStepStatu);
            break;
          }
          case 96: {
            BackCompleted = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
