// This is a generated file - do not edit.
//
// Generated from appointmentAction.proto.

// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names
// ignore_for_file: curly_braces_in_flow_control_structures
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
// ignore_for_file: non_constant_identifier_names

import 'dart:core' as $core;

import 'package:protobuf/protobuf.dart' as $pb;

import 'repositoryShared.pb.dart' as $2;
import 'shared.pb.dart' as $1;
import 'slotbooking.pb.dart' as $0;

export 'package:protobuf/protobuf.dart' show GeneratedMessageGenericExtensions;

///
/// Notify : Push the appointment event to partner apps
class AppointmentNotifyPayload extends $pb.GeneratedMessage {
  factory AppointmentNotifyPayload({
    $1.AppointmentType? appointmentType,
    $0.Slot? slot,
    $1.AppointmentStatusStruct? status,
    $core.String? creationDate,
    $core.Iterable<$1.MetadataElement>? metaData,
    $core.Iterable<$1.AttachmentSummary>? attachments,
    $core.int? attachmentNumber,
    $core.String? reason,
    $core.bool? instructionAck,
    $core.Iterable<$1.MetadataElement>? carrierInformation,
    $core.String? timeZone,
    $0.AppointmentContent? loading,
    $0.AppointmentContent? unloading,
    $core.Iterable<$core.String>? attendees,
    $core.Iterable<$core.String>? removedAttendees,
    $core.Iterable<$1.MetadataElement>? segmentationKeys,
    $core.bool? wMSCreated,
  }) {
    final result = create();
    if (appointmentType != null) result.appointmentType = appointmentType;
    if (slot != null) result.slot = slot;
    if (status != null) result.status = status;
    if (creationDate != null) result.creationDate = creationDate;
    if (metaData != null) result.metaData.addAll(metaData);
    if (attachments != null) result.attachments.addAll(attachments);
    if (attachmentNumber != null) result.attachmentNumber = attachmentNumber;
    if (reason != null) result.reason = reason;
    if (instructionAck != null) result.instructionAck = instructionAck;
    if (carrierInformation != null) result.carrierInformation.addAll(carrierInformation);
    if (timeZone != null) result.timeZone = timeZone;
    if (loading != null) result.loading = loading;
    if (unloading != null) result.unloading = unloading;
    if (attendees != null) result.attendees.addAll(attendees);
    if (removedAttendees != null) result.removedAttendees.addAll(removedAttendees);
    if (segmentationKeys != null) result.segmentationKeys.addAll(segmentationKeys);
    if (wMSCreated != null) result.wMSCreated = wMSCreated;
    return result;
  }

  AppointmentNotifyPayload._();

  factory AppointmentNotifyPayload.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentNotifyPayload.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentNotifyPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<$1.AppointmentType>(1, _omitFieldNames ? '' : 'AppointmentType', $pb.PbFieldType.OE, protoName: 'AppointmentType', defaultOrMaker: $1.AppointmentType.APPOINTMENT_TYPE_UNKNOWN, valueOf: $1.AppointmentType.valueOf, enumValues: $1.AppointmentType.values)
    ..aOM<$0.Slot>(6, _omitFieldNames ? '' : 'Slot', protoName: 'Slot', subBuilder: $0.Slot.create)
    ..aOM<$1.AppointmentStatusStruct>(8, _omitFieldNames ? '' : 'Status', protoName: 'Status', subBuilder: $1.AppointmentStatusStruct.create)
    ..aOS(9, _omitFieldNames ? '' : 'CreationDate', protoName: 'CreationDate')
    ..pc<$1.MetadataElement>(10, _omitFieldNames ? '' : 'MetaData', $pb.PbFieldType.PM, protoName: 'MetaData', subBuilder: $1.MetadataElement.create)
    ..pc<$1.AttachmentSummary>(13, _omitFieldNames ? '' : 'Attachments', $pb.PbFieldType.PM, protoName: 'Attachments', subBuilder: $1.AttachmentSummary.create)
    ..a<$core.int>(14, _omitFieldNames ? '' : 'AttachmentNumber', $pb.PbFieldType.O3, protoName: 'AttachmentNumber')
    ..aOS(17, _omitFieldNames ? '' : 'Reason', protoName: 'Reason')
    ..aOB(18, _omitFieldNames ? '' : 'InstructionAck', protoName: 'InstructionAck')
    ..pc<$1.MetadataElement>(19, _omitFieldNames ? '' : 'CarrierInformation', $pb.PbFieldType.PM, protoName: 'CarrierInformation', subBuilder: $1.MetadataElement.create)
    ..aOS(20, _omitFieldNames ? '' : 'TimeZone', protoName: 'TimeZone')
    ..aOM<$0.AppointmentContent>(21, _omitFieldNames ? '' : 'Loading', protoName: 'Loading', subBuilder: $0.AppointmentContent.create)
    ..aOM<$0.AppointmentContent>(22, _omitFieldNames ? '' : 'Unloading', protoName: 'Unloading', subBuilder: $0.AppointmentContent.create)
    ..pPS(23, _omitFieldNames ? '' : 'Attendees', protoName: 'Attendees')
    ..pPS(24, _omitFieldNames ? '' : 'RemovedAttendees', protoName: 'RemovedAttendees')
    ..pc<$1.MetadataElement>(25, _omitFieldNames ? '' : 'SegmentationKeys', $pb.PbFieldType.PM, protoName: 'SegmentationKeys', subBuilder: $1.MetadataElement.create)
    ..aOB(26, _omitFieldNames ? '' : 'WMSCreated', protoName: 'WMSCreated')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentNotifyPayload clone() => AppointmentNotifyPayload()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentNotifyPayload copyWith(void Function(AppointmentNotifyPayload) updates) => super.copyWith((message) => updates(message as AppointmentNotifyPayload)) as AppointmentNotifyPayload;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentNotifyPayload create() => AppointmentNotifyPayload._();
  @$core.override
  AppointmentNotifyPayload createEmptyInstance() => create();
  static $pb.PbList<AppointmentNotifyPayload> createRepeated() => $pb.PbList<AppointmentNotifyPayload>();
  @$core.pragma('dart2js:noInline')
  static AppointmentNotifyPayload getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentNotifyPayload>(create);
  static AppointmentNotifyPayload? _defaultInstance;

  @$pb.TagNumber(1)
  $1.AppointmentType get appointmentType => $_getN(0);
  @$pb.TagNumber(1)
  set appointmentType($1.AppointmentType value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasAppointmentType() => $_has(0);
  @$pb.TagNumber(1)
  void clearAppointmentType() => $_clearField(1);

  @$pb.TagNumber(6)
  $0.Slot get slot => $_getN(1);
  @$pb.TagNumber(6)
  set slot($0.Slot value) => $_setField(6, value);
  @$pb.TagNumber(6)
  $core.bool hasSlot() => $_has(1);
  @$pb.TagNumber(6)
  void clearSlot() => $_clearField(6);
  @$pb.TagNumber(6)
  $0.Slot ensureSlot() => $_ensure(1);

  /// repeated string Emails = 7;
  /// repeated string RemovedEmails = 16;
  @$pb.TagNumber(8)
  $1.AppointmentStatusStruct get status => $_getN(2);
  @$pb.TagNumber(8)
  set status($1.AppointmentStatusStruct value) => $_setField(8, value);
  @$pb.TagNumber(8)
  $core.bool hasStatus() => $_has(2);
  @$pb.TagNumber(8)
  void clearStatus() => $_clearField(8);
  @$pb.TagNumber(8)
  $1.AppointmentStatusStruct ensureStatus() => $_ensure(2);

  @$pb.TagNumber(9)
  $core.String get creationDate => $_getSZ(3);
  @$pb.TagNumber(9)
  set creationDate($core.String value) => $_setString(3, value);
  @$pb.TagNumber(9)
  $core.bool hasCreationDate() => $_has(3);
  @$pb.TagNumber(9)
  void clearCreationDate() => $_clearField(9);

  @$pb.TagNumber(10)
  $pb.PbList<$1.MetadataElement> get metaData => $_getList(4);

  /// string CarrierID = 11;
  /// string CarrierName = 12;
  @$pb.TagNumber(13)
  $pb.PbList<$1.AttachmentSummary> get attachments => $_getList(5);

  @$pb.TagNumber(14)
  $core.int get attachmentNumber => $_getIZ(6);
  @$pb.TagNumber(14)
  set attachmentNumber($core.int value) => $_setSignedInt32(6, value);
  @$pb.TagNumber(14)
  $core.bool hasAttachmentNumber() => $_has(6);
  @$pb.TagNumber(14)
  void clearAttachmentNumber() => $_clearField(14);

  @$pb.TagNumber(17)
  $core.String get reason => $_getSZ(7);
  @$pb.TagNumber(17)
  set reason($core.String value) => $_setString(7, value);
  @$pb.TagNumber(17)
  $core.bool hasReason() => $_has(7);
  @$pb.TagNumber(17)
  void clearReason() => $_clearField(17);

  @$pb.TagNumber(18)
  $core.bool get instructionAck => $_getBF(8);
  @$pb.TagNumber(18)
  set instructionAck($core.bool value) => $_setBool(8, value);
  @$pb.TagNumber(18)
  $core.bool hasInstructionAck() => $_has(8);
  @$pb.TagNumber(18)
  void clearInstructionAck() => $_clearField(18);

  @$pb.TagNumber(19)
  $pb.PbList<$1.MetadataElement> get carrierInformation => $_getList(9);

  @$pb.TagNumber(20)
  $core.String get timeZone => $_getSZ(10);
  @$pb.TagNumber(20)
  set timeZone($core.String value) => $_setString(10, value);
  @$pb.TagNumber(20)
  $core.bool hasTimeZone() => $_has(10);
  @$pb.TagNumber(20)
  void clearTimeZone() => $_clearField(20);

  @$pb.TagNumber(21)
  $0.AppointmentContent get loading => $_getN(11);
  @$pb.TagNumber(21)
  set loading($0.AppointmentContent value) => $_setField(21, value);
  @$pb.TagNumber(21)
  $core.bool hasLoading() => $_has(11);
  @$pb.TagNumber(21)
  void clearLoading() => $_clearField(21);
  @$pb.TagNumber(21)
  $0.AppointmentContent ensureLoading() => $_ensure(11);

  @$pb.TagNumber(22)
  $0.AppointmentContent get unloading => $_getN(12);
  @$pb.TagNumber(22)
  set unloading($0.AppointmentContent value) => $_setField(22, value);
  @$pb.TagNumber(22)
  $core.bool hasUnloading() => $_has(12);
  @$pb.TagNumber(22)
  void clearUnloading() => $_clearField(22);
  @$pb.TagNumber(22)
  $0.AppointmentContent ensureUnloading() => $_ensure(12);

  @$pb.TagNumber(23)
  $pb.PbList<$core.String> get attendees => $_getList(13);

  @$pb.TagNumber(24)
  $pb.PbList<$core.String> get removedAttendees => $_getList(14);

  /// repeated AppointmentCommission Commissions = 2;
  /// repeated SegmentationSelection SegmentationSelections = 4;
  @$pb.TagNumber(25)
  $pb.PbList<$1.MetadataElement> get segmentationKeys => $_getList(15);

  @$pb.TagNumber(26)
  $core.bool get wMSCreated => $_getBF(16);
  @$pb.TagNumber(26)
  set wMSCreated($core.bool value) => $_setBool(16, value);
  @$pb.TagNumber(26)
  $core.bool hasWMSCreated() => $_has(16);
  @$pb.TagNumber(26)
  void clearWMSCreated() => $_clearField(26);
}

class AppointmentNotify extends $pb.GeneratedMessage {
  factory AppointmentNotify({
    $1.CommandHeader? header,
    $1.EntityID? iD,
    AppointmentNotifyPayload? payload,
    AppointmentNotifyPayload? eventPayload,
    AppointmentNotifyPayload? previousPayload,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    if (payload != null) result.payload = payload;
    if (eventPayload != null) result.eventPayload = eventPayload;
    if (previousPayload != null) result.previousPayload = previousPayload;
    return result;
  }

  AppointmentNotify._();

  factory AppointmentNotify.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentNotify.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentNotify', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.CommandHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.CommandHeader.create)
    ..aOM<$1.EntityID>(2, _omitFieldNames ? '' : 'ID', protoName: 'ID', subBuilder: $1.EntityID.create)
    ..aOM<AppointmentNotifyPayload>(3, _omitFieldNames ? '' : 'Payload', protoName: 'Payload', subBuilder: AppointmentNotifyPayload.create)
    ..aOM<AppointmentNotifyPayload>(4, _omitFieldNames ? '' : 'EventPayload', protoName: 'EventPayload', subBuilder: AppointmentNotifyPayload.create)
    ..aOM<AppointmentNotifyPayload>(5, _omitFieldNames ? '' : 'PreviousPayload', protoName: 'PreviousPayload', subBuilder: AppointmentNotifyPayload.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentNotify clone() => AppointmentNotify()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentNotify copyWith(void Function(AppointmentNotify) updates) => super.copyWith((message) => updates(message as AppointmentNotify)) as AppointmentNotify;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentNotify create() => AppointmentNotify._();
  @$core.override
  AppointmentNotify createEmptyInstance() => create();
  static $pb.PbList<AppointmentNotify> createRepeated() => $pb.PbList<AppointmentNotify>();
  @$core.pragma('dart2js:noInline')
  static AppointmentNotify getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentNotify>(create);
  static AppointmentNotify? _defaultInstance;

  @$pb.TagNumber(1)
  $1.CommandHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.CommandHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.CommandHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $1.EntityID get iD => $_getN(1);
  @$pb.TagNumber(2)
  set iD($1.EntityID value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
  @$pb.TagNumber(2)
  $1.EntityID ensureID() => $_ensure(1);

  @$pb.TagNumber(3)
  AppointmentNotifyPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(AppointmentNotifyPayload value) => $_setField(3, value);
  @$pb.TagNumber(3)
  $core.bool hasPayload() => $_has(2);
  @$pb.TagNumber(3)
  void clearPayload() => $_clearField(3);
  @$pb.TagNumber(3)
  AppointmentNotifyPayload ensurePayload() => $_ensure(2);

  @$pb.TagNumber(4)
  AppointmentNotifyPayload get eventPayload => $_getN(3);
  @$pb.TagNumber(4)
  set eventPayload(AppointmentNotifyPayload value) => $_setField(4, value);
  @$pb.TagNumber(4)
  $core.bool hasEventPayload() => $_has(3);
  @$pb.TagNumber(4)
  void clearEventPayload() => $_clearField(4);
  @$pb.TagNumber(4)
  AppointmentNotifyPayload ensureEventPayload() => $_ensure(3);

  @$pb.TagNumber(5)
  AppointmentNotifyPayload get previousPayload => $_getN(4);
  @$pb.TagNumber(5)
  set previousPayload(AppointmentNotifyPayload value) => $_setField(5, value);
  @$pb.TagNumber(5)
  $core.bool hasPreviousPayload() => $_has(4);
  @$pb.TagNumber(5)
  void clearPreviousPayload() => $_clearField(5);
  @$pb.TagNumber(5)
  AppointmentNotifyPayload ensurePreviousPayload() => $_ensure(4);
}

///
/// Mail : Push the appointment event to watchers
class AppointmentMailPayload extends $pb.GeneratedMessage {
  factory AppointmentMailPayload({
    $1.AppointmentType? appointmentType,
    $0.Slot? slot,
    $1.AppointmentStatusStruct? status,
    $core.String? creationDate,
    $core.Iterable<$1.MetadataElement>? metaData,
    $core.Iterable<$1.AttachmentSummary>? attachments,
    $core.int? attachmentNumber,
    $core.String? reason,
    $2.Address? address,
    $core.Iterable<$1.MetadataElement>? carrierInformation,
    $core.String? siteName,
    $0.AppointmentContent? loading,
    $0.AppointmentContent? unloading,
    $core.Iterable<$core.String>? attendees,
    $core.Iterable<$core.String>? removedAttendees,
    $core.Iterable<$1.MetadataElement>? segmentationKeys,
  }) {
    final result = create();
    if (appointmentType != null) result.appointmentType = appointmentType;
    if (slot != null) result.slot = slot;
    if (status != null) result.status = status;
    if (creationDate != null) result.creationDate = creationDate;
    if (metaData != null) result.metaData.addAll(metaData);
    if (attachments != null) result.attachments.addAll(attachments);
    if (attachmentNumber != null) result.attachmentNumber = attachmentNumber;
    if (reason != null) result.reason = reason;
    if (address != null) result.address = address;
    if (carrierInformation != null) result.carrierInformation.addAll(carrierInformation);
    if (siteName != null) result.siteName = siteName;
    if (loading != null) result.loading = loading;
    if (unloading != null) result.unloading = unloading;
    if (attendees != null) result.attendees.addAll(attendees);
    if (removedAttendees != null) result.removedAttendees.addAll(removedAttendees);
    if (segmentationKeys != null) result.segmentationKeys.addAll(segmentationKeys);
    return result;
  }

  AppointmentMailPayload._();

  factory AppointmentMailPayload.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentMailPayload.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentMailPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<$1.AppointmentType>(1, _omitFieldNames ? '' : 'AppointmentType', $pb.PbFieldType.OE, protoName: 'AppointmentType', defaultOrMaker: $1.AppointmentType.APPOINTMENT_TYPE_UNKNOWN, valueOf: $1.AppointmentType.valueOf, enumValues: $1.AppointmentType.values)
    ..aOM<$0.Slot>(6, _omitFieldNames ? '' : 'Slot', protoName: 'Slot', subBuilder: $0.Slot.create)
    ..aOM<$1.AppointmentStatusStruct>(8, _omitFieldNames ? '' : 'Status', protoName: 'Status', subBuilder: $1.AppointmentStatusStruct.create)
    ..aOS(9, _omitFieldNames ? '' : 'CreationDate', protoName: 'CreationDate')
    ..pc<$1.MetadataElement>(10, _omitFieldNames ? '' : 'MetaData', $pb.PbFieldType.PM, protoName: 'MetaData', subBuilder: $1.MetadataElement.create)
    ..pc<$1.AttachmentSummary>(13, _omitFieldNames ? '' : 'Attachments', $pb.PbFieldType.PM, protoName: 'Attachments', subBuilder: $1.AttachmentSummary.create)
    ..a<$core.int>(14, _omitFieldNames ? '' : 'AttachmentNumber', $pb.PbFieldType.O3, protoName: 'AttachmentNumber')
    ..aOS(17, _omitFieldNames ? '' : 'Reason', protoName: 'Reason')
    ..aOM<$2.Address>(18, _omitFieldNames ? '' : 'Address', protoName: 'Address', subBuilder: $2.Address.create)
    ..pc<$1.MetadataElement>(19, _omitFieldNames ? '' : 'CarrierInformation', $pb.PbFieldType.PM, protoName: 'CarrierInformation', subBuilder: $1.MetadataElement.create)
    ..aOS(20, _omitFieldNames ? '' : 'SiteName', protoName: 'SiteName')
    ..aOM<$0.AppointmentContent>(21, _omitFieldNames ? '' : 'Loading', protoName: 'Loading', subBuilder: $0.AppointmentContent.create)
    ..aOM<$0.AppointmentContent>(22, _omitFieldNames ? '' : 'Unloading', protoName: 'Unloading', subBuilder: $0.AppointmentContent.create)
    ..pPS(23, _omitFieldNames ? '' : 'Attendees', protoName: 'Attendees')
    ..pPS(24, _omitFieldNames ? '' : 'RemovedAttendees', protoName: 'RemovedAttendees')
    ..pc<$1.MetadataElement>(25, _omitFieldNames ? '' : 'SegmentationKeys', $pb.PbFieldType.PM, protoName: 'SegmentationKeys', subBuilder: $1.MetadataElement.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentMailPayload clone() => AppointmentMailPayload()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentMailPayload copyWith(void Function(AppointmentMailPayload) updates) => super.copyWith((message) => updates(message as AppointmentMailPayload)) as AppointmentMailPayload;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentMailPayload create() => AppointmentMailPayload._();
  @$core.override
  AppointmentMailPayload createEmptyInstance() => create();
  static $pb.PbList<AppointmentMailPayload> createRepeated() => $pb.PbList<AppointmentMailPayload>();
  @$core.pragma('dart2js:noInline')
  static AppointmentMailPayload getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentMailPayload>(create);
  static AppointmentMailPayload? _defaultInstance;

  @$pb.TagNumber(1)
  $1.AppointmentType get appointmentType => $_getN(0);
  @$pb.TagNumber(1)
  set appointmentType($1.AppointmentType value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasAppointmentType() => $_has(0);
  @$pb.TagNumber(1)
  void clearAppointmentType() => $_clearField(1);

  @$pb.TagNumber(6)
  $0.Slot get slot => $_getN(1);
  @$pb.TagNumber(6)
  set slot($0.Slot value) => $_setField(6, value);
  @$pb.TagNumber(6)
  $core.bool hasSlot() => $_has(1);
  @$pb.TagNumber(6)
  void clearSlot() => $_clearField(6);
  @$pb.TagNumber(6)
  $0.Slot ensureSlot() => $_ensure(1);

  /// repeated string Emails = 7;
  /// repeated string RemovedEmails = 16;
  @$pb.TagNumber(8)
  $1.AppointmentStatusStruct get status => $_getN(2);
  @$pb.TagNumber(8)
  set status($1.AppointmentStatusStruct value) => $_setField(8, value);
  @$pb.TagNumber(8)
  $core.bool hasStatus() => $_has(2);
  @$pb.TagNumber(8)
  void clearStatus() => $_clearField(8);
  @$pb.TagNumber(8)
  $1.AppointmentStatusStruct ensureStatus() => $_ensure(2);

  @$pb.TagNumber(9)
  $core.String get creationDate => $_getSZ(3);
  @$pb.TagNumber(9)
  set creationDate($core.String value) => $_setString(3, value);
  @$pb.TagNumber(9)
  $core.bool hasCreationDate() => $_has(3);
  @$pb.TagNumber(9)
  void clearCreationDate() => $_clearField(9);

  @$pb.TagNumber(10)
  $pb.PbList<$1.MetadataElement> get metaData => $_getList(4);

  /// string CarrierID = 11;
  /// string CarrierName = 12;
  @$pb.TagNumber(13)
  $pb.PbList<$1.AttachmentSummary> get attachments => $_getList(5);

  @$pb.TagNumber(14)
  $core.int get attachmentNumber => $_getIZ(6);
  @$pb.TagNumber(14)
  set attachmentNumber($core.int value) => $_setSignedInt32(6, value);
  @$pb.TagNumber(14)
  $core.bool hasAttachmentNumber() => $_has(6);
  @$pb.TagNumber(14)
  void clearAttachmentNumber() => $_clearField(14);

  @$pb.TagNumber(17)
  $core.String get reason => $_getSZ(7);
  @$pb.TagNumber(17)
  set reason($core.String value) => $_setString(7, value);
  @$pb.TagNumber(17)
  $core.bool hasReason() => $_has(7);
  @$pb.TagNumber(17)
  void clearReason() => $_clearField(17);

  /// Address of the appointment site
  @$pb.TagNumber(18)
  $2.Address get address => $_getN(8);
  @$pb.TagNumber(18)
  set address($2.Address value) => $_setField(18, value);
  @$pb.TagNumber(18)
  $core.bool hasAddress() => $_has(8);
  @$pb.TagNumber(18)
  void clearAddress() => $_clearField(18);
  @$pb.TagNumber(18)
  $2.Address ensureAddress() => $_ensure(8);

  @$pb.TagNumber(19)
  $pb.PbList<$1.MetadataElement> get carrierInformation => $_getList(9);

  /// Name of the appointment site
  @$pb.TagNumber(20)
  $core.String get siteName => $_getSZ(10);
  @$pb.TagNumber(20)
  set siteName($core.String value) => $_setString(10, value);
  @$pb.TagNumber(20)
  $core.bool hasSiteName() => $_has(10);
  @$pb.TagNumber(20)
  void clearSiteName() => $_clearField(20);

  @$pb.TagNumber(21)
  $0.AppointmentContent get loading => $_getN(11);
  @$pb.TagNumber(21)
  set loading($0.AppointmentContent value) => $_setField(21, value);
  @$pb.TagNumber(21)
  $core.bool hasLoading() => $_has(11);
  @$pb.TagNumber(21)
  void clearLoading() => $_clearField(21);
  @$pb.TagNumber(21)
  $0.AppointmentContent ensureLoading() => $_ensure(11);

  @$pb.TagNumber(22)
  $0.AppointmentContent get unloading => $_getN(12);
  @$pb.TagNumber(22)
  set unloading($0.AppointmentContent value) => $_setField(22, value);
  @$pb.TagNumber(22)
  $core.bool hasUnloading() => $_has(12);
  @$pb.TagNumber(22)
  void clearUnloading() => $_clearField(22);
  @$pb.TagNumber(22)
  $0.AppointmentContent ensureUnloading() => $_ensure(12);

  @$pb.TagNumber(23)
  $pb.PbList<$core.String> get attendees => $_getList(13);

  @$pb.TagNumber(24)
  $pb.PbList<$core.String> get removedAttendees => $_getList(14);

  /// repeated AppointmentCommission Commissions = 2;
  /// repeated SegmentationSelection SegmentationSelections = 4;
  @$pb.TagNumber(25)
  $pb.PbList<$1.MetadataElement> get segmentationKeys => $_getList(15);
}

class AppointmentMail extends $pb.GeneratedMessage {
  factory AppointmentMail({
    $1.CommandHeader? header,
    $1.EntityID? iD,
    AppointmentMailPayload? payload,
    AppointmentMailPayload? eventPayload,
    AppointmentMailPayload? previousPayload,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    if (payload != null) result.payload = payload;
    if (eventPayload != null) result.eventPayload = eventPayload;
    if (previousPayload != null) result.previousPayload = previousPayload;
    return result;
  }

  AppointmentMail._();

  factory AppointmentMail.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentMail.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentMail', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.CommandHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.CommandHeader.create)
    ..aOM<$1.EntityID>(2, _omitFieldNames ? '' : 'ID', protoName: 'ID', subBuilder: $1.EntityID.create)
    ..aOM<AppointmentMailPayload>(3, _omitFieldNames ? '' : 'Payload', protoName: 'Payload', subBuilder: AppointmentMailPayload.create)
    ..aOM<AppointmentMailPayload>(4, _omitFieldNames ? '' : 'EventPayload', protoName: 'EventPayload', subBuilder: AppointmentMailPayload.create)
    ..aOM<AppointmentMailPayload>(5, _omitFieldNames ? '' : 'PreviousPayload', protoName: 'PreviousPayload', subBuilder: AppointmentMailPayload.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentMail clone() => AppointmentMail()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentMail copyWith(void Function(AppointmentMail) updates) => super.copyWith((message) => updates(message as AppointmentMail)) as AppointmentMail;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentMail create() => AppointmentMail._();
  @$core.override
  AppointmentMail createEmptyInstance() => create();
  static $pb.PbList<AppointmentMail> createRepeated() => $pb.PbList<AppointmentMail>();
  @$core.pragma('dart2js:noInline')
  static AppointmentMail getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentMail>(create);
  static AppointmentMail? _defaultInstance;

  @$pb.TagNumber(1)
  $1.CommandHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.CommandHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.CommandHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $1.EntityID get iD => $_getN(1);
  @$pb.TagNumber(2)
  set iD($1.EntityID value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
  @$pb.TagNumber(2)
  $1.EntityID ensureID() => $_ensure(1);

  @$pb.TagNumber(3)
  AppointmentMailPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(AppointmentMailPayload value) => $_setField(3, value);
  @$pb.TagNumber(3)
  $core.bool hasPayload() => $_has(2);
  @$pb.TagNumber(3)
  void clearPayload() => $_clearField(3);
  @$pb.TagNumber(3)
  AppointmentMailPayload ensurePayload() => $_ensure(2);

  @$pb.TagNumber(4)
  AppointmentMailPayload get eventPayload => $_getN(3);
  @$pb.TagNumber(4)
  set eventPayload(AppointmentMailPayload value) => $_setField(4, value);
  @$pb.TagNumber(4)
  $core.bool hasEventPayload() => $_has(3);
  @$pb.TagNumber(4)
  void clearEventPayload() => $_clearField(4);
  @$pb.TagNumber(4)
  AppointmentMailPayload ensureEventPayload() => $_ensure(3);

  @$pb.TagNumber(5)
  AppointmentMailPayload get previousPayload => $_getN(4);
  @$pb.TagNumber(5)
  set previousPayload(AppointmentMailPayload value) => $_setField(5, value);
  @$pb.TagNumber(5)
  $core.bool hasPreviousPayload() => $_has(4);
  @$pb.TagNumber(5)
  void clearPreviousPayload() => $_clearField(5);
  @$pb.TagNumber(5)
  AppointmentMailPayload ensurePreviousPayload() => $_ensure(4);
}

///
/// LockBooking : Push the appointment event to watchers
class AppointmentLockBookingPayload extends $pb.GeneratedMessage {
  factory AppointmentLockBookingPayload({
    $1.AppointmentStatusStruct? status,
  }) {
    final result = create();
    if (status != null) result.status = status;
    return result;
  }

  AppointmentLockBookingPayload._();

  factory AppointmentLockBookingPayload.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentLockBookingPayload.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentLockBookingPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.AppointmentStatusStruct>(1, _omitFieldNames ? '' : 'Status', protoName: 'Status', subBuilder: $1.AppointmentStatusStruct.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentLockBookingPayload clone() => AppointmentLockBookingPayload()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentLockBookingPayload copyWith(void Function(AppointmentLockBookingPayload) updates) => super.copyWith((message) => updates(message as AppointmentLockBookingPayload)) as AppointmentLockBookingPayload;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentLockBookingPayload create() => AppointmentLockBookingPayload._();
  @$core.override
  AppointmentLockBookingPayload createEmptyInstance() => create();
  static $pb.PbList<AppointmentLockBookingPayload> createRepeated() => $pb.PbList<AppointmentLockBookingPayload>();
  @$core.pragma('dart2js:noInline')
  static AppointmentLockBookingPayload getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentLockBookingPayload>(create);
  static AppointmentLockBookingPayload? _defaultInstance;

  @$pb.TagNumber(1)
  $1.AppointmentStatusStruct get status => $_getN(0);
  @$pb.TagNumber(1)
  set status($1.AppointmentStatusStruct value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasStatus() => $_has(0);
  @$pb.TagNumber(1)
  void clearStatus() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.AppointmentStatusStruct ensureStatus() => $_ensure(0);
}

class AppointmentLockBooking extends $pb.GeneratedMessage {
  factory AppointmentLockBooking({
    $1.CommandHeader? header,
    $1.EntityID? iD,
    AppointmentLockBookingPayload? payload,
    AppointmentLockBookingPayload? eventPayload,
    AppointmentLockBookingPayload? previousPayload,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    if (payload != null) result.payload = payload;
    if (eventPayload != null) result.eventPayload = eventPayload;
    if (previousPayload != null) result.previousPayload = previousPayload;
    return result;
  }

  AppointmentLockBooking._();

  factory AppointmentLockBooking.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentLockBooking.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentLockBooking', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.CommandHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.CommandHeader.create)
    ..aOM<$1.EntityID>(2, _omitFieldNames ? '' : 'ID', protoName: 'ID', subBuilder: $1.EntityID.create)
    ..aOM<AppointmentLockBookingPayload>(3, _omitFieldNames ? '' : 'Payload', protoName: 'Payload', subBuilder: AppointmentLockBookingPayload.create)
    ..aOM<AppointmentLockBookingPayload>(4, _omitFieldNames ? '' : 'EventPayload', protoName: 'EventPayload', subBuilder: AppointmentLockBookingPayload.create)
    ..aOM<AppointmentLockBookingPayload>(5, _omitFieldNames ? '' : 'PreviousPayload', protoName: 'PreviousPayload', subBuilder: AppointmentLockBookingPayload.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentLockBooking clone() => AppointmentLockBooking()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentLockBooking copyWith(void Function(AppointmentLockBooking) updates) => super.copyWith((message) => updates(message as AppointmentLockBooking)) as AppointmentLockBooking;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentLockBooking create() => AppointmentLockBooking._();
  @$core.override
  AppointmentLockBooking createEmptyInstance() => create();
  static $pb.PbList<AppointmentLockBooking> createRepeated() => $pb.PbList<AppointmentLockBooking>();
  @$core.pragma('dart2js:noInline')
  static AppointmentLockBooking getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentLockBooking>(create);
  static AppointmentLockBooking? _defaultInstance;

  @$pb.TagNumber(1)
  $1.CommandHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.CommandHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.CommandHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $1.EntityID get iD => $_getN(1);
  @$pb.TagNumber(2)
  set iD($1.EntityID value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
  @$pb.TagNumber(2)
  $1.EntityID ensureID() => $_ensure(1);

  @$pb.TagNumber(3)
  AppointmentLockBookingPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(AppointmentLockBookingPayload value) => $_setField(3, value);
  @$pb.TagNumber(3)
  $core.bool hasPayload() => $_has(2);
  @$pb.TagNumber(3)
  void clearPayload() => $_clearField(3);
  @$pb.TagNumber(3)
  AppointmentLockBookingPayload ensurePayload() => $_ensure(2);

  @$pb.TagNumber(4)
  AppointmentLockBookingPayload get eventPayload => $_getN(3);
  @$pb.TagNumber(4)
  set eventPayload(AppointmentLockBookingPayload value) => $_setField(4, value);
  @$pb.TagNumber(4)
  $core.bool hasEventPayload() => $_has(3);
  @$pb.TagNumber(4)
  void clearEventPayload() => $_clearField(4);
  @$pb.TagNumber(4)
  AppointmentLockBookingPayload ensureEventPayload() => $_ensure(3);

  @$pb.TagNumber(5)
  AppointmentLockBookingPayload get previousPayload => $_getN(4);
  @$pb.TagNumber(5)
  set previousPayload(AppointmentLockBookingPayload value) => $_setField(5, value);
  @$pb.TagNumber(5)
  $core.bool hasPreviousPayload() => $_has(4);
  @$pb.TagNumber(5)
  void clearPreviousPayload() => $_clearField(5);
  @$pb.TagNumber(5)
  AppointmentLockBookingPayload ensurePreviousPayload() => $_ensure(4);
}

///
/// AppointmentSummaryToOrder : map the appointment information to the corresponding trade order entity
class AppointmentSummaryToOrderPayload extends $pb.GeneratedMessage {
  factory AppointmentSummaryToOrderPayload({
    $0.AppointmentContent? loading,
    $0.AppointmentContent? unloading,
    $1.AppointmentStatusStruct? status,
  }) {
    final result = create();
    if (loading != null) result.loading = loading;
    if (unloading != null) result.unloading = unloading;
    if (status != null) result.status = status;
    return result;
  }

  AppointmentSummaryToOrderPayload._();

  factory AppointmentSummaryToOrderPayload.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentSummaryToOrderPayload.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentSummaryToOrderPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$0.AppointmentContent>(1, _omitFieldNames ? '' : 'Loading', protoName: 'Loading', subBuilder: $0.AppointmentContent.create)
    ..aOM<$0.AppointmentContent>(2, _omitFieldNames ? '' : 'Unloading', protoName: 'Unloading', subBuilder: $0.AppointmentContent.create)
    ..aOM<$1.AppointmentStatusStruct>(3, _omitFieldNames ? '' : 'Status', protoName: 'Status', subBuilder: $1.AppointmentStatusStruct.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentSummaryToOrderPayload clone() => AppointmentSummaryToOrderPayload()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentSummaryToOrderPayload copyWith(void Function(AppointmentSummaryToOrderPayload) updates) => super.copyWith((message) => updates(message as AppointmentSummaryToOrderPayload)) as AppointmentSummaryToOrderPayload;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentSummaryToOrderPayload create() => AppointmentSummaryToOrderPayload._();
  @$core.override
  AppointmentSummaryToOrderPayload createEmptyInstance() => create();
  static $pb.PbList<AppointmentSummaryToOrderPayload> createRepeated() => $pb.PbList<AppointmentSummaryToOrderPayload>();
  @$core.pragma('dart2js:noInline')
  static AppointmentSummaryToOrderPayload getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentSummaryToOrderPayload>(create);
  static AppointmentSummaryToOrderPayload? _defaultInstance;

  @$pb.TagNumber(1)
  $0.AppointmentContent get loading => $_getN(0);
  @$pb.TagNumber(1)
  set loading($0.AppointmentContent value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasLoading() => $_has(0);
  @$pb.TagNumber(1)
  void clearLoading() => $_clearField(1);
  @$pb.TagNumber(1)
  $0.AppointmentContent ensureLoading() => $_ensure(0);

  @$pb.TagNumber(2)
  $0.AppointmentContent get unloading => $_getN(1);
  @$pb.TagNumber(2)
  set unloading($0.AppointmentContent value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasUnloading() => $_has(1);
  @$pb.TagNumber(2)
  void clearUnloading() => $_clearField(2);
  @$pb.TagNumber(2)
  $0.AppointmentContent ensureUnloading() => $_ensure(1);

  @$pb.TagNumber(3)
  $1.AppointmentStatusStruct get status => $_getN(2);
  @$pb.TagNumber(3)
  set status($1.AppointmentStatusStruct value) => $_setField(3, value);
  @$pb.TagNumber(3)
  $core.bool hasStatus() => $_has(2);
  @$pb.TagNumber(3)
  void clearStatus() => $_clearField(3);
  @$pb.TagNumber(3)
  $1.AppointmentStatusStruct ensureStatus() => $_ensure(2);
}

class AppointmentSummaryToOrder extends $pb.GeneratedMessage {
  factory AppointmentSummaryToOrder({
    $1.CommandHeader? header,
    $1.EntityID? iD,
    AppointmentSummaryToOrderPayload? payload,
    AppointmentSummaryToOrderPayload? eventPayload,
    AppointmentSummaryToOrderPayload? previousPayload,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    if (payload != null) result.payload = payload;
    if (eventPayload != null) result.eventPayload = eventPayload;
    if (previousPayload != null) result.previousPayload = previousPayload;
    return result;
  }

  AppointmentSummaryToOrder._();

  factory AppointmentSummaryToOrder.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentSummaryToOrder.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentSummaryToOrder', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.CommandHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.CommandHeader.create)
    ..aOM<$1.EntityID>(2, _omitFieldNames ? '' : 'ID', protoName: 'ID', subBuilder: $1.EntityID.create)
    ..aOM<AppointmentSummaryToOrderPayload>(3, _omitFieldNames ? '' : 'Payload', protoName: 'Payload', subBuilder: AppointmentSummaryToOrderPayload.create)
    ..aOM<AppointmentSummaryToOrderPayload>(4, _omitFieldNames ? '' : 'EventPayload', protoName: 'EventPayload', subBuilder: AppointmentSummaryToOrderPayload.create)
    ..aOM<AppointmentSummaryToOrderPayload>(5, _omitFieldNames ? '' : 'PreviousPayload', protoName: 'PreviousPayload', subBuilder: AppointmentSummaryToOrderPayload.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentSummaryToOrder clone() => AppointmentSummaryToOrder()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentSummaryToOrder copyWith(void Function(AppointmentSummaryToOrder) updates) => super.copyWith((message) => updates(message as AppointmentSummaryToOrder)) as AppointmentSummaryToOrder;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentSummaryToOrder create() => AppointmentSummaryToOrder._();
  @$core.override
  AppointmentSummaryToOrder createEmptyInstance() => create();
  static $pb.PbList<AppointmentSummaryToOrder> createRepeated() => $pb.PbList<AppointmentSummaryToOrder>();
  @$core.pragma('dart2js:noInline')
  static AppointmentSummaryToOrder getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentSummaryToOrder>(create);
  static AppointmentSummaryToOrder? _defaultInstance;

  @$pb.TagNumber(1)
  $1.CommandHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.CommandHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.CommandHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $1.EntityID get iD => $_getN(1);
  @$pb.TagNumber(2)
  set iD($1.EntityID value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
  @$pb.TagNumber(2)
  $1.EntityID ensureID() => $_ensure(1);

  @$pb.TagNumber(3)
  AppointmentSummaryToOrderPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(AppointmentSummaryToOrderPayload value) => $_setField(3, value);
  @$pb.TagNumber(3)
  $core.bool hasPayload() => $_has(2);
  @$pb.TagNumber(3)
  void clearPayload() => $_clearField(3);
  @$pb.TagNumber(3)
  AppointmentSummaryToOrderPayload ensurePayload() => $_ensure(2);

  @$pb.TagNumber(4)
  AppointmentSummaryToOrderPayload get eventPayload => $_getN(3);
  @$pb.TagNumber(4)
  set eventPayload(AppointmentSummaryToOrderPayload value) => $_setField(4, value);
  @$pb.TagNumber(4)
  $core.bool hasEventPayload() => $_has(3);
  @$pb.TagNumber(4)
  void clearEventPayload() => $_clearField(4);
  @$pb.TagNumber(4)
  AppointmentSummaryToOrderPayload ensureEventPayload() => $_ensure(3);

  @$pb.TagNumber(5)
  AppointmentSummaryToOrderPayload get previousPayload => $_getN(4);
  @$pb.TagNumber(5)
  set previousPayload(AppointmentSummaryToOrderPayload value) => $_setField(5, value);
  @$pb.TagNumber(5)
  $core.bool hasPreviousPayload() => $_has(4);
  @$pb.TagNumber(5)
  void clearPreviousPayload() => $_clearField(5);
  @$pb.TagNumber(5)
  AppointmentSummaryToOrderPayload ensurePreviousPayload() => $_ensure(4);
}

///
/// AppointmentSummaryToExecutionflow : map the appointment information to the corresponding trade executionflow entity
class AppointmentSummaryToExecutionflowPayload extends $pb.GeneratedMessage {
  factory AppointmentSummaryToExecutionflowPayload({
    $0.AppointmentContent? loading,
    $0.AppointmentContent? unloading,
    $1.AppointmentStatusStruct? status,
  }) {
    final result = create();
    if (loading != null) result.loading = loading;
    if (unloading != null) result.unloading = unloading;
    if (status != null) result.status = status;
    return result;
  }

  AppointmentSummaryToExecutionflowPayload._();

  factory AppointmentSummaryToExecutionflowPayload.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentSummaryToExecutionflowPayload.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentSummaryToExecutionflowPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$0.AppointmentContent>(1, _omitFieldNames ? '' : 'Loading', protoName: 'Loading', subBuilder: $0.AppointmentContent.create)
    ..aOM<$0.AppointmentContent>(2, _omitFieldNames ? '' : 'Unloading', protoName: 'Unloading', subBuilder: $0.AppointmentContent.create)
    ..aOM<$1.AppointmentStatusStruct>(3, _omitFieldNames ? '' : 'Status', protoName: 'Status', subBuilder: $1.AppointmentStatusStruct.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentSummaryToExecutionflowPayload clone() => AppointmentSummaryToExecutionflowPayload()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentSummaryToExecutionflowPayload copyWith(void Function(AppointmentSummaryToExecutionflowPayload) updates) => super.copyWith((message) => updates(message as AppointmentSummaryToExecutionflowPayload)) as AppointmentSummaryToExecutionflowPayload;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentSummaryToExecutionflowPayload create() => AppointmentSummaryToExecutionflowPayload._();
  @$core.override
  AppointmentSummaryToExecutionflowPayload createEmptyInstance() => create();
  static $pb.PbList<AppointmentSummaryToExecutionflowPayload> createRepeated() => $pb.PbList<AppointmentSummaryToExecutionflowPayload>();
  @$core.pragma('dart2js:noInline')
  static AppointmentSummaryToExecutionflowPayload getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentSummaryToExecutionflowPayload>(create);
  static AppointmentSummaryToExecutionflowPayload? _defaultInstance;

  @$pb.TagNumber(1)
  $0.AppointmentContent get loading => $_getN(0);
  @$pb.TagNumber(1)
  set loading($0.AppointmentContent value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasLoading() => $_has(0);
  @$pb.TagNumber(1)
  void clearLoading() => $_clearField(1);
  @$pb.TagNumber(1)
  $0.AppointmentContent ensureLoading() => $_ensure(0);

  @$pb.TagNumber(2)
  $0.AppointmentContent get unloading => $_getN(1);
  @$pb.TagNumber(2)
  set unloading($0.AppointmentContent value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasUnloading() => $_has(1);
  @$pb.TagNumber(2)
  void clearUnloading() => $_clearField(2);
  @$pb.TagNumber(2)
  $0.AppointmentContent ensureUnloading() => $_ensure(1);

  @$pb.TagNumber(3)
  $1.AppointmentStatusStruct get status => $_getN(2);
  @$pb.TagNumber(3)
  set status($1.AppointmentStatusStruct value) => $_setField(3, value);
  @$pb.TagNumber(3)
  $core.bool hasStatus() => $_has(2);
  @$pb.TagNumber(3)
  void clearStatus() => $_clearField(3);
  @$pb.TagNumber(3)
  $1.AppointmentStatusStruct ensureStatus() => $_ensure(2);
}

class AppointmentSummaryToExecutionflow extends $pb.GeneratedMessage {
  factory AppointmentSummaryToExecutionflow({
    $1.CommandHeader? header,
    $1.EntityID? iD,
    AppointmentSummaryToExecutionflowPayload? payload,
    AppointmentSummaryToExecutionflowPayload? eventPayload,
    AppointmentSummaryToExecutionflowPayload? previousPayload,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    if (payload != null) result.payload = payload;
    if (eventPayload != null) result.eventPayload = eventPayload;
    if (previousPayload != null) result.previousPayload = previousPayload;
    return result;
  }

  AppointmentSummaryToExecutionflow._();

  factory AppointmentSummaryToExecutionflow.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentSummaryToExecutionflow.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentSummaryToExecutionflow', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.CommandHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.CommandHeader.create)
    ..aOM<$1.EntityID>(2, _omitFieldNames ? '' : 'ID', protoName: 'ID', subBuilder: $1.EntityID.create)
    ..aOM<AppointmentSummaryToExecutionflowPayload>(3, _omitFieldNames ? '' : 'Payload', protoName: 'Payload', subBuilder: AppointmentSummaryToExecutionflowPayload.create)
    ..aOM<AppointmentSummaryToExecutionflowPayload>(4, _omitFieldNames ? '' : 'EventPayload', protoName: 'EventPayload', subBuilder: AppointmentSummaryToExecutionflowPayload.create)
    ..aOM<AppointmentSummaryToExecutionflowPayload>(5, _omitFieldNames ? '' : 'PreviousPayload', protoName: 'PreviousPayload', subBuilder: AppointmentSummaryToExecutionflowPayload.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentSummaryToExecutionflow clone() => AppointmentSummaryToExecutionflow()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentSummaryToExecutionflow copyWith(void Function(AppointmentSummaryToExecutionflow) updates) => super.copyWith((message) => updates(message as AppointmentSummaryToExecutionflow)) as AppointmentSummaryToExecutionflow;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentSummaryToExecutionflow create() => AppointmentSummaryToExecutionflow._();
  @$core.override
  AppointmentSummaryToExecutionflow createEmptyInstance() => create();
  static $pb.PbList<AppointmentSummaryToExecutionflow> createRepeated() => $pb.PbList<AppointmentSummaryToExecutionflow>();
  @$core.pragma('dart2js:noInline')
  static AppointmentSummaryToExecutionflow getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentSummaryToExecutionflow>(create);
  static AppointmentSummaryToExecutionflow? _defaultInstance;

  @$pb.TagNumber(1)
  $1.CommandHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.CommandHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.CommandHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $1.EntityID get iD => $_getN(1);
  @$pb.TagNumber(2)
  set iD($1.EntityID value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
  @$pb.TagNumber(2)
  $1.EntityID ensureID() => $_ensure(1);

  @$pb.TagNumber(3)
  AppointmentSummaryToExecutionflowPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(AppointmentSummaryToExecutionflowPayload value) => $_setField(3, value);
  @$pb.TagNumber(3)
  $core.bool hasPayload() => $_has(2);
  @$pb.TagNumber(3)
  void clearPayload() => $_clearField(3);
  @$pb.TagNumber(3)
  AppointmentSummaryToExecutionflowPayload ensurePayload() => $_ensure(2);

  @$pb.TagNumber(4)
  AppointmentSummaryToExecutionflowPayload get eventPayload => $_getN(3);
  @$pb.TagNumber(4)
  set eventPayload(AppointmentSummaryToExecutionflowPayload value) => $_setField(4, value);
  @$pb.TagNumber(4)
  $core.bool hasEventPayload() => $_has(3);
  @$pb.TagNumber(4)
  void clearEventPayload() => $_clearField(4);
  @$pb.TagNumber(4)
  AppointmentSummaryToExecutionflowPayload ensureEventPayload() => $_ensure(3);

  @$pb.TagNumber(5)
  AppointmentSummaryToExecutionflowPayload get previousPayload => $_getN(4);
  @$pb.TagNumber(5)
  set previousPayload(AppointmentSummaryToExecutionflowPayload value) => $_setField(5, value);
  @$pb.TagNumber(5)
  $core.bool hasPreviousPayload() => $_has(4);
  @$pb.TagNumber(5)
  void clearPreviousPayload() => $_clearField(5);
  @$pb.TagNumber(5)
  AppointmentSummaryToExecutionflowPayload ensurePreviousPayload() => $_ensure(4);
}

///
/// AppointmentRemovedFromOrder : remove the appointment information from the corresponding trade order entity
class AppointmentRemovedFromOrderPayload extends $pb.GeneratedMessage {
  factory AppointmentRemovedFromOrderPayload({
    $0.AppointmentContent? loading,
    $0.AppointmentContent? unloading,
  }) {
    final result = create();
    if (loading != null) result.loading = loading;
    if (unloading != null) result.unloading = unloading;
    return result;
  }

  AppointmentRemovedFromOrderPayload._();

  factory AppointmentRemovedFromOrderPayload.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentRemovedFromOrderPayload.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentRemovedFromOrderPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$0.AppointmentContent>(1, _omitFieldNames ? '' : 'Loading', protoName: 'Loading', subBuilder: $0.AppointmentContent.create)
    ..aOM<$0.AppointmentContent>(2, _omitFieldNames ? '' : 'Unloading', protoName: 'Unloading', subBuilder: $0.AppointmentContent.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentRemovedFromOrderPayload clone() => AppointmentRemovedFromOrderPayload()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentRemovedFromOrderPayload copyWith(void Function(AppointmentRemovedFromOrderPayload) updates) => super.copyWith((message) => updates(message as AppointmentRemovedFromOrderPayload)) as AppointmentRemovedFromOrderPayload;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentRemovedFromOrderPayload create() => AppointmentRemovedFromOrderPayload._();
  @$core.override
  AppointmentRemovedFromOrderPayload createEmptyInstance() => create();
  static $pb.PbList<AppointmentRemovedFromOrderPayload> createRepeated() => $pb.PbList<AppointmentRemovedFromOrderPayload>();
  @$core.pragma('dart2js:noInline')
  static AppointmentRemovedFromOrderPayload getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentRemovedFromOrderPayload>(create);
  static AppointmentRemovedFromOrderPayload? _defaultInstance;

  @$pb.TagNumber(1)
  $0.AppointmentContent get loading => $_getN(0);
  @$pb.TagNumber(1)
  set loading($0.AppointmentContent value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasLoading() => $_has(0);
  @$pb.TagNumber(1)
  void clearLoading() => $_clearField(1);
  @$pb.TagNumber(1)
  $0.AppointmentContent ensureLoading() => $_ensure(0);

  @$pb.TagNumber(2)
  $0.AppointmentContent get unloading => $_getN(1);
  @$pb.TagNumber(2)
  set unloading($0.AppointmentContent value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasUnloading() => $_has(1);
  @$pb.TagNumber(2)
  void clearUnloading() => $_clearField(2);
  @$pb.TagNumber(2)
  $0.AppointmentContent ensureUnloading() => $_ensure(1);
}

class AppointmentRemovedFromOrder extends $pb.GeneratedMessage {
  factory AppointmentRemovedFromOrder({
    $1.CommandHeader? header,
    $1.EntityID? iD,
    AppointmentRemovedFromOrderPayload? payload,
    AppointmentRemovedFromOrderPayload? eventPayload,
    AppointmentRemovedFromOrderPayload? previousPayload,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    if (payload != null) result.payload = payload;
    if (eventPayload != null) result.eventPayload = eventPayload;
    if (previousPayload != null) result.previousPayload = previousPayload;
    return result;
  }

  AppointmentRemovedFromOrder._();

  factory AppointmentRemovedFromOrder.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentRemovedFromOrder.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentRemovedFromOrder', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.CommandHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.CommandHeader.create)
    ..aOM<$1.EntityID>(2, _omitFieldNames ? '' : 'ID', protoName: 'ID', subBuilder: $1.EntityID.create)
    ..aOM<AppointmentRemovedFromOrderPayload>(3, _omitFieldNames ? '' : 'Payload', protoName: 'Payload', subBuilder: AppointmentRemovedFromOrderPayload.create)
    ..aOM<AppointmentRemovedFromOrderPayload>(4, _omitFieldNames ? '' : 'EventPayload', protoName: 'EventPayload', subBuilder: AppointmentRemovedFromOrderPayload.create)
    ..aOM<AppointmentRemovedFromOrderPayload>(5, _omitFieldNames ? '' : 'PreviousPayload', protoName: 'PreviousPayload', subBuilder: AppointmentRemovedFromOrderPayload.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentRemovedFromOrder clone() => AppointmentRemovedFromOrder()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentRemovedFromOrder copyWith(void Function(AppointmentRemovedFromOrder) updates) => super.copyWith((message) => updates(message as AppointmentRemovedFromOrder)) as AppointmentRemovedFromOrder;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentRemovedFromOrder create() => AppointmentRemovedFromOrder._();
  @$core.override
  AppointmentRemovedFromOrder createEmptyInstance() => create();
  static $pb.PbList<AppointmentRemovedFromOrder> createRepeated() => $pb.PbList<AppointmentRemovedFromOrder>();
  @$core.pragma('dart2js:noInline')
  static AppointmentRemovedFromOrder getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentRemovedFromOrder>(create);
  static AppointmentRemovedFromOrder? _defaultInstance;

  @$pb.TagNumber(1)
  $1.CommandHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.CommandHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.CommandHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $1.EntityID get iD => $_getN(1);
  @$pb.TagNumber(2)
  set iD($1.EntityID value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
  @$pb.TagNumber(2)
  $1.EntityID ensureID() => $_ensure(1);

  @$pb.TagNumber(3)
  AppointmentRemovedFromOrderPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(AppointmentRemovedFromOrderPayload value) => $_setField(3, value);
  @$pb.TagNumber(3)
  $core.bool hasPayload() => $_has(2);
  @$pb.TagNumber(3)
  void clearPayload() => $_clearField(3);
  @$pb.TagNumber(3)
  AppointmentRemovedFromOrderPayload ensurePayload() => $_ensure(2);

  @$pb.TagNumber(4)
  AppointmentRemovedFromOrderPayload get eventPayload => $_getN(3);
  @$pb.TagNumber(4)
  set eventPayload(AppointmentRemovedFromOrderPayload value) => $_setField(4, value);
  @$pb.TagNumber(4)
  $core.bool hasEventPayload() => $_has(3);
  @$pb.TagNumber(4)
  void clearEventPayload() => $_clearField(4);
  @$pb.TagNumber(4)
  AppointmentRemovedFromOrderPayload ensureEventPayload() => $_ensure(3);

  @$pb.TagNumber(5)
  AppointmentRemovedFromOrderPayload get previousPayload => $_getN(4);
  @$pb.TagNumber(5)
  set previousPayload(AppointmentRemovedFromOrderPayload value) => $_setField(5, value);
  @$pb.TagNumber(5)
  $core.bool hasPreviousPayload() => $_has(4);
  @$pb.TagNumber(5)
  void clearPreviousPayload() => $_clearField(5);
  @$pb.TagNumber(5)
  AppointmentRemovedFromOrderPayload ensurePreviousPayload() => $_ensure(4);
}

///
/// AppointmentRemovedFromExecutionflow : remove the appointment information from the corresponding trade executionflow entity
class AppointmentRemovedFromExecutionflowPayload extends $pb.GeneratedMessage {
  factory AppointmentRemovedFromExecutionflowPayload({
    $0.AppointmentContent? loading,
    $0.AppointmentContent? unloading,
  }) {
    final result = create();
    if (loading != null) result.loading = loading;
    if (unloading != null) result.unloading = unloading;
    return result;
  }

  AppointmentRemovedFromExecutionflowPayload._();

  factory AppointmentRemovedFromExecutionflowPayload.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentRemovedFromExecutionflowPayload.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentRemovedFromExecutionflowPayload', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$0.AppointmentContent>(1, _omitFieldNames ? '' : 'Loading', protoName: 'Loading', subBuilder: $0.AppointmentContent.create)
    ..aOM<$0.AppointmentContent>(2, _omitFieldNames ? '' : 'Unloading', protoName: 'Unloading', subBuilder: $0.AppointmentContent.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentRemovedFromExecutionflowPayload clone() => AppointmentRemovedFromExecutionflowPayload()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentRemovedFromExecutionflowPayload copyWith(void Function(AppointmentRemovedFromExecutionflowPayload) updates) => super.copyWith((message) => updates(message as AppointmentRemovedFromExecutionflowPayload)) as AppointmentRemovedFromExecutionflowPayload;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentRemovedFromExecutionflowPayload create() => AppointmentRemovedFromExecutionflowPayload._();
  @$core.override
  AppointmentRemovedFromExecutionflowPayload createEmptyInstance() => create();
  static $pb.PbList<AppointmentRemovedFromExecutionflowPayload> createRepeated() => $pb.PbList<AppointmentRemovedFromExecutionflowPayload>();
  @$core.pragma('dart2js:noInline')
  static AppointmentRemovedFromExecutionflowPayload getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentRemovedFromExecutionflowPayload>(create);
  static AppointmentRemovedFromExecutionflowPayload? _defaultInstance;

  @$pb.TagNumber(1)
  $0.AppointmentContent get loading => $_getN(0);
  @$pb.TagNumber(1)
  set loading($0.AppointmentContent value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasLoading() => $_has(0);
  @$pb.TagNumber(1)
  void clearLoading() => $_clearField(1);
  @$pb.TagNumber(1)
  $0.AppointmentContent ensureLoading() => $_ensure(0);

  @$pb.TagNumber(2)
  $0.AppointmentContent get unloading => $_getN(1);
  @$pb.TagNumber(2)
  set unloading($0.AppointmentContent value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasUnloading() => $_has(1);
  @$pb.TagNumber(2)
  void clearUnloading() => $_clearField(2);
  @$pb.TagNumber(2)
  $0.AppointmentContent ensureUnloading() => $_ensure(1);
}

class AppointmentRemovedFromExecutionflow extends $pb.GeneratedMessage {
  factory AppointmentRemovedFromExecutionflow({
    $1.CommandHeader? header,
    $1.EntityID? iD,
    AppointmentRemovedFromExecutionflowPayload? payload,
    AppointmentRemovedFromExecutionflowPayload? eventPayload,
    AppointmentRemovedFromExecutionflowPayload? previousPayload,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    if (payload != null) result.payload = payload;
    if (eventPayload != null) result.eventPayload = eventPayload;
    if (previousPayload != null) result.previousPayload = previousPayload;
    return result;
  }

  AppointmentRemovedFromExecutionflow._();

  factory AppointmentRemovedFromExecutionflow.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry);
  factory AppointmentRemovedFromExecutionflow.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AppointmentRemovedFromExecutionflow', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.CommandHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.CommandHeader.create)
    ..aOM<$1.EntityID>(2, _omitFieldNames ? '' : 'ID', protoName: 'ID', subBuilder: $1.EntityID.create)
    ..aOM<AppointmentRemovedFromExecutionflowPayload>(3, _omitFieldNames ? '' : 'Payload', protoName: 'Payload', subBuilder: AppointmentRemovedFromExecutionflowPayload.create)
    ..aOM<AppointmentRemovedFromExecutionflowPayload>(4, _omitFieldNames ? '' : 'EventPayload', protoName: 'EventPayload', subBuilder: AppointmentRemovedFromExecutionflowPayload.create)
    ..aOM<AppointmentRemovedFromExecutionflowPayload>(5, _omitFieldNames ? '' : 'PreviousPayload', protoName: 'PreviousPayload', subBuilder: AppointmentRemovedFromExecutionflowPayload.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentRemovedFromExecutionflow clone() => AppointmentRemovedFromExecutionflow()..mergeFromMessage(this);
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
  AppointmentRemovedFromExecutionflow copyWith(void Function(AppointmentRemovedFromExecutionflow) updates) => super.copyWith((message) => updates(message as AppointmentRemovedFromExecutionflow)) as AppointmentRemovedFromExecutionflow;

  @$core.override
  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AppointmentRemovedFromExecutionflow create() => AppointmentRemovedFromExecutionflow._();
  @$core.override
  AppointmentRemovedFromExecutionflow createEmptyInstance() => create();
  static $pb.PbList<AppointmentRemovedFromExecutionflow> createRepeated() => $pb.PbList<AppointmentRemovedFromExecutionflow>();
  @$core.pragma('dart2js:noInline')
  static AppointmentRemovedFromExecutionflow getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AppointmentRemovedFromExecutionflow>(create);
  static AppointmentRemovedFromExecutionflow? _defaultInstance;

  @$pb.TagNumber(1)
  $1.CommandHeader get header => $_getN(0);
  @$pb.TagNumber(1)
  set header($1.CommandHeader value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasHeader() => $_has(0);
  @$pb.TagNumber(1)
  void clearHeader() => $_clearField(1);
  @$pb.TagNumber(1)
  $1.CommandHeader ensureHeader() => $_ensure(0);

  @$pb.TagNumber(2)
  $1.EntityID get iD => $_getN(1);
  @$pb.TagNumber(2)
  set iD($1.EntityID value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
  @$pb.TagNumber(2)
  $1.EntityID ensureID() => $_ensure(1);

  @$pb.TagNumber(3)
  AppointmentRemovedFromExecutionflowPayload get payload => $_getN(2);
  @$pb.TagNumber(3)
  set payload(AppointmentRemovedFromExecutionflowPayload value) => $_setField(3, value);
  @$pb.TagNumber(3)
  $core.bool hasPayload() => $_has(2);
  @$pb.TagNumber(3)
  void clearPayload() => $_clearField(3);
  @$pb.TagNumber(3)
  AppointmentRemovedFromExecutionflowPayload ensurePayload() => $_ensure(2);

  @$pb.TagNumber(4)
  AppointmentRemovedFromExecutionflowPayload get eventPayload => $_getN(3);
  @$pb.TagNumber(4)
  set eventPayload(AppointmentRemovedFromExecutionflowPayload value) => $_setField(4, value);
  @$pb.TagNumber(4)
  $core.bool hasEventPayload() => $_has(3);
  @$pb.TagNumber(4)
  void clearEventPayload() => $_clearField(4);
  @$pb.TagNumber(4)
  AppointmentRemovedFromExecutionflowPayload ensureEventPayload() => $_ensure(3);

  @$pb.TagNumber(5)
  AppointmentRemovedFromExecutionflowPayload get previousPayload => $_getN(4);
  @$pb.TagNumber(5)
  set previousPayload(AppointmentRemovedFromExecutionflowPayload value) => $_setField(5, value);
  @$pb.TagNumber(5)
  $core.bool hasPreviousPayload() => $_has(4);
  @$pb.TagNumber(5)
  void clearPreviousPayload() => $_clearField(5);
  @$pb.TagNumber(5)
  AppointmentRemovedFromExecutionflowPayload ensurePreviousPayload() => $_ensure(4);
}


const $core.bool _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
const $core.bool _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
