//
//  Generated code. Do not modify.
//  source: repositoryShared.proto
//
// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names, library_prefixes
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import

import 'dart:core' as $core;

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

import 'repositoryShared.pbenum.dart';
import 'shared.pb.dart' as $3;

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

export 'repositoryShared.pbenum.dart';

class ActorStatus extends $pb.GeneratedMessage {
  factory ActorStatus({
    ActorStatusCode? statusCode,
    $core.String? date,
    $3.DateTime? actualDate,
  }) {
    final $result = create();
    if (statusCode != null) {
      $result.statusCode = statusCode;
    }
    if (date != null) {
      $result.date = date;
    }
    if (actualDate != null) {
      $result.actualDate = actualDate;
    }
    return $result;
  }
  ActorStatus._() : super();
  factory ActorStatus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ActorStatus.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ActorStatus', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<ActorStatusCode>(1, _omitFieldNames ? '' : 'StatusCode', $pb.PbFieldType.OE, protoName: 'StatusCode', defaultOrMaker: ActorStatusCode.SITE_0000_UNKNOWN, valueOf: ActorStatusCode.valueOf, enumValues: ActorStatusCode.values)
    ..aOS(2, _omitFieldNames ? '' : 'Date', protoName: 'Date')
    ..aOM<$3.DateTime>(3, _omitFieldNames ? '' : 'ActualDate', protoName: 'ActualDate', subBuilder: $3.DateTime.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ActorStatus clone() => ActorStatus()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ActorStatus copyWith(void Function(ActorStatus) updates) => super.copyWith((message) => updates(message as ActorStatus)) as ActorStatus;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  ActorStatusCode get statusCode => $_getN(0);
  @$pb.TagNumber(1)
  set statusCode(ActorStatusCode v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasStatusCode() => $_has(0);
  @$pb.TagNumber(1)
  void clearStatusCode() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get date => $_getSZ(1);
  @$pb.TagNumber(2)
  set date($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasDate() => $_has(1);
  @$pb.TagNumber(2)
  void clearDate() => $_clearField(2);

  /// Status effective date. Set by the event's RefDate that triggered the status change.
  @$pb.TagNumber(3)
  $3.DateTime get actualDate => $_getN(2);
  @$pb.TagNumber(3)
  set actualDate($3.DateTime v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasActualDate() => $_has(2);
  @$pb.TagNumber(3)
  void clearActualDate() => $_clearField(3);
  @$pb.TagNumber(3)
  $3.DateTime ensureActualDate() => $_ensure(2);
}

class ActorStatusStruct extends $pb.GeneratedMessage {
  factory ActorStatusStruct({
    ActorStatus? current,
    $core.Iterable<ActorStatus>? history,
    $core.String? creationDate,
    $core.int? version,
  }) {
    final $result = create();
    if (current != null) {
      $result.current = current;
    }
    if (history != null) {
      $result.history.addAll(history);
    }
    if (creationDate != null) {
      $result.creationDate = creationDate;
    }
    if (version != null) {
      $result.version = version;
    }
    return $result;
  }
  ActorStatusStruct._() : super();
  factory ActorStatusStruct.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ActorStatusStruct.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ActorStatusStruct', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<ActorStatus>(1, _omitFieldNames ? '' : 'Current', protoName: 'Current', subBuilder: ActorStatus.create)
    ..pc<ActorStatus>(2, _omitFieldNames ? '' : 'History', $pb.PbFieldType.PM, protoName: 'History', subBuilder: ActorStatus.create)
    ..aOS(3, _omitFieldNames ? '' : 'CreationDate', protoName: 'CreationDate')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'Version', $pb.PbFieldType.OU3, protoName: 'Version')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ActorStatusStruct clone() => ActorStatusStruct()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ActorStatusStruct copyWith(void Function(ActorStatusStruct) updates) => super.copyWith((message) => updates(message as ActorStatusStruct)) as ActorStatusStruct;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  ActorStatus get current => $_getN(0);
  @$pb.TagNumber(1)
  set current(ActorStatus v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasCurrent() => $_has(0);
  @$pb.TagNumber(1)
  void clearCurrent() => $_clearField(1);
  @$pb.TagNumber(1)
  ActorStatus ensureCurrent() => $_ensure(0);

  @$pb.TagNumber(2)
  $pb.PbList<ActorStatus> get history => $_getList(1);

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

  @$pb.TagNumber(4)
  $core.int get version => $_getIZ(3);
  @$pb.TagNumber(4)
  set version($core.int v) { $_setUnsignedInt32(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasVersion() => $_has(3);
  @$pb.TagNumber(4)
  void clearVersion() => $_clearField(4);
}

class PartnerStatus extends $pb.GeneratedMessage {
  factory PartnerStatus({
    PartnerStatusCode? statusCode,
    $core.String? date,
    $3.DateTime? actualDate,
  }) {
    final $result = create();
    if (statusCode != null) {
      $result.statusCode = statusCode;
    }
    if (date != null) {
      $result.date = date;
    }
    if (actualDate != null) {
      $result.actualDate = actualDate;
    }
    return $result;
  }
  PartnerStatus._() : super();
  factory PartnerStatus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory PartnerStatus.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PartnerStatus', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<PartnerStatusCode>(1, _omitFieldNames ? '' : 'StatusCode', $pb.PbFieldType.OE, protoName: 'StatusCode', defaultOrMaker: PartnerStatusCode.PARTNER_0000_UNKNOWN, valueOf: PartnerStatusCode.valueOf, enumValues: PartnerStatusCode.values)
    ..aOS(2, _omitFieldNames ? '' : 'Date', protoName: 'Date')
    ..aOM<$3.DateTime>(3, _omitFieldNames ? '' : 'ActualDate', protoName: 'ActualDate', subBuilder: $3.DateTime.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  PartnerStatus clone() => PartnerStatus()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  PartnerStatus copyWith(void Function(PartnerStatus) updates) => super.copyWith((message) => updates(message as PartnerStatus)) as PartnerStatus;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  PartnerStatusCode get statusCode => $_getN(0);
  @$pb.TagNumber(1)
  set statusCode(PartnerStatusCode v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasStatusCode() => $_has(0);
  @$pb.TagNumber(1)
  void clearStatusCode() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get date => $_getSZ(1);
  @$pb.TagNumber(2)
  set date($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasDate() => $_has(1);
  @$pb.TagNumber(2)
  void clearDate() => $_clearField(2);

  /// Status effective date. Set by the event's RefDate that triggered the status change.
  @$pb.TagNumber(3)
  $3.DateTime get actualDate => $_getN(2);
  @$pb.TagNumber(3)
  set actualDate($3.DateTime v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasActualDate() => $_has(2);
  @$pb.TagNumber(3)
  void clearActualDate() => $_clearField(3);
  @$pb.TagNumber(3)
  $3.DateTime ensureActualDate() => $_ensure(2);
}

class PartnerStatusStruct extends $pb.GeneratedMessage {
  factory PartnerStatusStruct({
    PartnerStatus? current,
    $core.Iterable<PartnerStatus>? history,
    $core.String? creationDate,
  }) {
    final $result = create();
    if (current != null) {
      $result.current = current;
    }
    if (history != null) {
      $result.history.addAll(history);
    }
    if (creationDate != null) {
      $result.creationDate = creationDate;
    }
    return $result;
  }
  PartnerStatusStruct._() : super();
  factory PartnerStatusStruct.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory PartnerStatusStruct.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PartnerStatusStruct', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<PartnerStatus>(1, _omitFieldNames ? '' : 'Current', protoName: 'Current', subBuilder: PartnerStatus.create)
    ..pc<PartnerStatus>(2, _omitFieldNames ? '' : 'History', $pb.PbFieldType.PM, protoName: 'History', subBuilder: PartnerStatus.create)
    ..aOS(3, _omitFieldNames ? '' : 'CreationDate', protoName: 'CreationDate')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  PartnerStatusStruct clone() => PartnerStatusStruct()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  PartnerStatusStruct copyWith(void Function(PartnerStatusStruct) updates) => super.copyWith((message) => updates(message as PartnerStatusStruct)) as PartnerStatusStruct;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  PartnerStatus get current => $_getN(0);
  @$pb.TagNumber(1)
  set current(PartnerStatus v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasCurrent() => $_has(0);
  @$pb.TagNumber(1)
  void clearCurrent() => $_clearField(1);
  @$pb.TagNumber(1)
  PartnerStatus ensureCurrent() => $_ensure(0);

  @$pb.TagNumber(2)
  $pb.PbList<PartnerStatus> get history => $_getList(1);

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

///
/// 	Error entity status structure
class ErrorStatus extends $pb.GeneratedMessage {
  factory ErrorStatus({
    PartnerStatusCode? statusCode,
    $core.String? date,
  }) {
    final $result = create();
    if (statusCode != null) {
      $result.statusCode = statusCode;
    }
    if (date != null) {
      $result.date = date;
    }
    return $result;
  }
  ErrorStatus._() : super();
  factory ErrorStatus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ErrorStatus.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ErrorStatus', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<PartnerStatusCode>(1, _omitFieldNames ? '' : 'StatusCode', $pb.PbFieldType.OE, protoName: 'StatusCode', defaultOrMaker: PartnerStatusCode.PARTNER_0000_UNKNOWN, valueOf: PartnerStatusCode.valueOf, enumValues: PartnerStatusCode.values)
    ..aOS(2, _omitFieldNames ? '' : 'Date', protoName: 'Date')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ErrorStatus clone() => ErrorStatus()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ErrorStatus copyWith(void Function(ErrorStatus) updates) => super.copyWith((message) => updates(message as ErrorStatus)) as ErrorStatus;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  PartnerStatusCode get statusCode => $_getN(0);
  @$pb.TagNumber(1)
  set statusCode(PartnerStatusCode v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasStatusCode() => $_has(0);
  @$pb.TagNumber(1)
  void clearStatusCode() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get date => $_getSZ(1);
  @$pb.TagNumber(2)
  set date($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasDate() => $_has(1);
  @$pb.TagNumber(2)
  void clearDate() => $_clearField(2);
}

///
/// 	ErrorStatusStruct statuses structure
class ErrorStatusStruct extends $pb.GeneratedMessage {
  factory ErrorStatusStruct({
    ErrorStatus? current,
    $core.Iterable<ErrorStatus>? history,
    $core.String? creationDate,
  }) {
    final $result = create();
    if (current != null) {
      $result.current = current;
    }
    if (history != null) {
      $result.history.addAll(history);
    }
    if (creationDate != null) {
      $result.creationDate = creationDate;
    }
    return $result;
  }
  ErrorStatusStruct._() : super();
  factory ErrorStatusStruct.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ErrorStatusStruct.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ErrorStatusStruct', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<ErrorStatus>(1, _omitFieldNames ? '' : 'Current', protoName: 'Current', subBuilder: ErrorStatus.create)
    ..pc<ErrorStatus>(2, _omitFieldNames ? '' : 'History', $pb.PbFieldType.PM, protoName: 'History', subBuilder: ErrorStatus.create)
    ..aOS(3, _omitFieldNames ? '' : 'CreationDate', protoName: 'CreationDate')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ErrorStatusStruct clone() => ErrorStatusStruct()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ErrorStatusStruct copyWith(void Function(ErrorStatusStruct) updates) => super.copyWith((message) => updates(message as ErrorStatusStruct)) as ErrorStatusStruct;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  ErrorStatus get current => $_getN(0);
  @$pb.TagNumber(1)
  set current(ErrorStatus v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasCurrent() => $_has(0);
  @$pb.TagNumber(1)
  void clearCurrent() => $_clearField(1);
  @$pb.TagNumber(1)
  ErrorStatus ensureCurrent() => $_ensure(0);

  @$pb.TagNumber(2)
  $pb.PbList<ErrorStatus> get history => $_getList(1);

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

///
/// 	Item entity status structure
class ItemStatus extends $pb.GeneratedMessage {
  factory ItemStatus({
    ItemStatusCode? statusCode,
    $core.String? date,
    $3.DateTime? actualDate,
  }) {
    final $result = create();
    if (statusCode != null) {
      $result.statusCode = statusCode;
    }
    if (date != null) {
      $result.date = date;
    }
    if (actualDate != null) {
      $result.actualDate = actualDate;
    }
    return $result;
  }
  ItemStatus._() : super();
  factory ItemStatus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ItemStatus.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ItemStatus', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<ItemStatusCode>(1, _omitFieldNames ? '' : 'StatusCode', $pb.PbFieldType.OE, protoName: 'StatusCode', defaultOrMaker: ItemStatusCode.ITEM_0000_UNKNOWN, valueOf: ItemStatusCode.valueOf, enumValues: ItemStatusCode.values)
    ..aOS(2, _omitFieldNames ? '' : 'Date', protoName: 'Date')
    ..aOM<$3.DateTime>(3, _omitFieldNames ? '' : 'ActualDate', protoName: 'ActualDate', subBuilder: $3.DateTime.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ItemStatus clone() => ItemStatus()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ItemStatus copyWith(void Function(ItemStatus) updates) => super.copyWith((message) => updates(message as ItemStatus)) as ItemStatus;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  ItemStatusCode get statusCode => $_getN(0);
  @$pb.TagNumber(1)
  set statusCode(ItemStatusCode v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasStatusCode() => $_has(0);
  @$pb.TagNumber(1)
  void clearStatusCode() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get date => $_getSZ(1);
  @$pb.TagNumber(2)
  set date($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasDate() => $_has(1);
  @$pb.TagNumber(2)
  void clearDate() => $_clearField(2);

  /// Status effective date. Set by the event's RefDate that triggered the status change.
  @$pb.TagNumber(3)
  $3.DateTime get actualDate => $_getN(2);
  @$pb.TagNumber(3)
  set actualDate($3.DateTime v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasActualDate() => $_has(2);
  @$pb.TagNumber(3)
  void clearActualDate() => $_clearField(3);
  @$pb.TagNumber(3)
  $3.DateTime ensureActualDate() => $_ensure(2);
}

class ItemStatusStruct extends $pb.GeneratedMessage {
  factory ItemStatusStruct({
    ItemStatus? current,
    $core.Iterable<ItemStatus>? history,
    $core.String? creationDate,
    $core.int? version,
  }) {
    final $result = create();
    if (current != null) {
      $result.current = current;
    }
    if (history != null) {
      $result.history.addAll(history);
    }
    if (creationDate != null) {
      $result.creationDate = creationDate;
    }
    if (version != null) {
      $result.version = version;
    }
    return $result;
  }
  ItemStatusStruct._() : super();
  factory ItemStatusStruct.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ItemStatusStruct.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ItemStatusStruct', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<ItemStatus>(1, _omitFieldNames ? '' : 'Current', protoName: 'Current', subBuilder: ItemStatus.create)
    ..pc<ItemStatus>(2, _omitFieldNames ? '' : 'History', $pb.PbFieldType.PM, protoName: 'History', subBuilder: ItemStatus.create)
    ..aOS(3, _omitFieldNames ? '' : 'CreationDate', protoName: 'CreationDate')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'Version', $pb.PbFieldType.OU3, protoName: 'Version')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ItemStatusStruct clone() => ItemStatusStruct()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ItemStatusStruct copyWith(void Function(ItemStatusStruct) updates) => super.copyWith((message) => updates(message as ItemStatusStruct)) as ItemStatusStruct;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  ItemStatus get current => $_getN(0);
  @$pb.TagNumber(1)
  set current(ItemStatus v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasCurrent() => $_has(0);
  @$pb.TagNumber(1)
  void clearCurrent() => $_clearField(1);
  @$pb.TagNumber(1)
  ItemStatus ensureCurrent() => $_ensure(0);

  /// List of all status history of the Item entity
  @$pb.TagNumber(2)
  $pb.PbList<ItemStatus> get history => $_getList(1);

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

  @$pb.TagNumber(4)
  $core.int get version => $_getIZ(3);
  @$pb.TagNumber(4)
  set version($core.int v) { $_setUnsignedInt32(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasVersion() => $_has(3);
  @$pb.TagNumber(4)
  void clearVersion() => $_clearField(4);
}

///
/// 	Family entity status structure
class FamilyStatus extends $pb.GeneratedMessage {
  factory FamilyStatus({
    FamilyStatusCode? statusCode,
    $core.String? date,
    $3.DateTime? actualDate,
  }) {
    final $result = create();
    if (statusCode != null) {
      $result.statusCode = statusCode;
    }
    if (date != null) {
      $result.date = date;
    }
    if (actualDate != null) {
      $result.actualDate = actualDate;
    }
    return $result;
  }
  FamilyStatus._() : super();
  factory FamilyStatus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory FamilyStatus.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FamilyStatus', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<FamilyStatusCode>(1, _omitFieldNames ? '' : 'StatusCode', $pb.PbFieldType.OE, protoName: 'StatusCode', defaultOrMaker: FamilyStatusCode.FAMILY_0000_UNKNOWN, valueOf: FamilyStatusCode.valueOf, enumValues: FamilyStatusCode.values)
    ..aOS(2, _omitFieldNames ? '' : 'Date', protoName: 'Date')
    ..aOM<$3.DateTime>(3, _omitFieldNames ? '' : 'ActualDate', protoName: 'ActualDate', subBuilder: $3.DateTime.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  FamilyStatus clone() => FamilyStatus()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  FamilyStatus copyWith(void Function(FamilyStatus) updates) => super.copyWith((message) => updates(message as FamilyStatus)) as FamilyStatus;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  FamilyStatusCode get statusCode => $_getN(0);
  @$pb.TagNumber(1)
  set statusCode(FamilyStatusCode v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasStatusCode() => $_has(0);
  @$pb.TagNumber(1)
  void clearStatusCode() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get date => $_getSZ(1);
  @$pb.TagNumber(2)
  set date($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasDate() => $_has(1);
  @$pb.TagNumber(2)
  void clearDate() => $_clearField(2);

  /// Status effective date. Set by the event's RefDate that triggered the status change.
  @$pb.TagNumber(3)
  $3.DateTime get actualDate => $_getN(2);
  @$pb.TagNumber(3)
  set actualDate($3.DateTime v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasActualDate() => $_has(2);
  @$pb.TagNumber(3)
  void clearActualDate() => $_clearField(3);
  @$pb.TagNumber(3)
  $3.DateTime ensureActualDate() => $_ensure(2);
}

///
/// 	FamilyStatusStruct statuses structure
class FamilyStatusStruct extends $pb.GeneratedMessage {
  factory FamilyStatusStruct({
    FamilyStatus? current,
    $core.Iterable<FamilyStatus>? history,
    $core.String? creationDate,
  }) {
    final $result = create();
    if (current != null) {
      $result.current = current;
    }
    if (history != null) {
      $result.history.addAll(history);
    }
    if (creationDate != null) {
      $result.creationDate = creationDate;
    }
    return $result;
  }
  FamilyStatusStruct._() : super();
  factory FamilyStatusStruct.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory FamilyStatusStruct.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FamilyStatusStruct', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<FamilyStatus>(1, _omitFieldNames ? '' : 'Current', protoName: 'Current', subBuilder: FamilyStatus.create)
    ..pc<FamilyStatus>(2, _omitFieldNames ? '' : 'History', $pb.PbFieldType.PM, protoName: 'History', subBuilder: FamilyStatus.create)
    ..aOS(3, _omitFieldNames ? '' : 'CreationDate', protoName: 'CreationDate')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  FamilyStatusStruct clone() => FamilyStatusStruct()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  FamilyStatusStruct copyWith(void Function(FamilyStatusStruct) updates) => super.copyWith((message) => updates(message as FamilyStatusStruct)) as FamilyStatusStruct;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  FamilyStatus get current => $_getN(0);
  @$pb.TagNumber(1)
  set current(FamilyStatus v) { $_setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasCurrent() => $_has(0);
  @$pb.TagNumber(1)
  void clearCurrent() => $_clearField(1);
  @$pb.TagNumber(1)
  FamilyStatus ensureCurrent() => $_ensure(0);

  @$pb.TagNumber(2)
  $pb.PbList<FamilyStatus> get history => $_getList(1);

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

///
/// item components
class ExpiryConstraint extends $pb.GeneratedMessage {
  factory ExpiryConstraint({
    $core.bool? willExpire,
    ExpiryConstraintType? type,
  }) {
    final $result = create();
    if (willExpire != null) {
      $result.willExpire = willExpire;
    }
    if (type != null) {
      $result.type = type;
    }
    return $result;
  }
  ExpiryConstraint._() : super();
  factory ExpiryConstraint.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ExpiryConstraint.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExpiryConstraint', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOB(1, _omitFieldNames ? '' : 'WillExpire', protoName: 'WillExpire')
    ..e<ExpiryConstraintType>(2, _omitFieldNames ? '' : 'Type', $pb.PbFieldType.OE, protoName: 'Type', defaultOrMaker: ExpiryConstraintType.UNKNOWN_DATE, valueOf: ExpiryConstraintType.valueOf, enumValues: ExpiryConstraintType.values)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ExpiryConstraint clone() => ExpiryConstraint()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ExpiryConstraint copyWith(void Function(ExpiryConstraint) updates) => super.copyWith((message) => updates(message as ExpiryConstraint)) as ExpiryConstraint;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.bool get willExpire => $_getBF(0);
  @$pb.TagNumber(1)
  set willExpire($core.bool v) { $_setBool(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasWillExpire() => $_has(0);
  @$pb.TagNumber(1)
  void clearWillExpire() => $_clearField(1);

  @$pb.TagNumber(2)
  ExpiryConstraintType get type => $_getN(1);
  @$pb.TagNumber(2)
  set type(ExpiryConstraintType v) { $_setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasType() => $_has(1);
  @$pb.TagNumber(2)
  void clearType() => $_clearField(2);
}

class TradeItemDescriptions extends $pb.GeneratedMessage {
  factory TradeItemDescriptions({
    $core.String? shortDescription,
    $core.String? longDescription,
    $core.String? technicalDetails,
    $core.String? languageCodeISO6391,
  }) {
    final $result = create();
    if (shortDescription != null) {
      $result.shortDescription = shortDescription;
    }
    if (longDescription != null) {
      $result.longDescription = longDescription;
    }
    if (technicalDetails != null) {
      $result.technicalDetails = technicalDetails;
    }
    if (languageCodeISO6391 != null) {
      $result.languageCodeISO6391 = languageCodeISO6391;
    }
    return $result;
  }
  TradeItemDescriptions._() : super();
  factory TradeItemDescriptions.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory TradeItemDescriptions.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TradeItemDescriptions', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ShortDescription', protoName: 'ShortDescription')
    ..aOS(2, _omitFieldNames ? '' : 'LongDescription', protoName: 'LongDescription')
    ..aOS(3, _omitFieldNames ? '' : 'TechnicalDetails', protoName: 'TechnicalDetails')
    ..aOS(4, _omitFieldNames ? '' : 'LanguageCodeISO6391', protoName: 'LanguageCodeISO6391')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  TradeItemDescriptions clone() => TradeItemDescriptions()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  TradeItemDescriptions copyWith(void Function(TradeItemDescriptions) updates) => super.copyWith((message) => updates(message as TradeItemDescriptions)) as TradeItemDescriptions;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get shortDescription => $_getSZ(0);
  @$pb.TagNumber(1)
  set shortDescription($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasShortDescription() => $_has(0);
  @$pb.TagNumber(1)
  void clearShortDescription() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get longDescription => $_getSZ(1);
  @$pb.TagNumber(2)
  set longDescription($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasLongDescription() => $_has(1);
  @$pb.TagNumber(2)
  void clearLongDescription() => $_clearField(2);

  @$pb.TagNumber(3)
  $core.String get technicalDetails => $_getSZ(2);
  @$pb.TagNumber(3)
  set technicalDetails($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasTechnicalDetails() => $_has(2);
  @$pb.TagNumber(3)
  void clearTechnicalDetails() => $_clearField(3);

  @$pb.TagNumber(4)
  $core.String get languageCodeISO6391 => $_getSZ(3);
  @$pb.TagNumber(4)
  set languageCodeISO6391($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasLanguageCodeISO6391() => $_has(3);
  @$pb.TagNumber(4)
  void clearLanguageCodeISO6391() => $_clearField(4);
}

class LogisticVariant extends $pb.GeneratedMessage {
  factory LogisticVariant({
    $core.Iterable<OtherID>? codes,
    $core.Iterable<$3.MetadataElement>? metaData,
    $core.bool? isBaseLogisticVariant,
    $core.String? refLV,
    $core.double? quantityInRefLV,
    $3.QuantityVolume? volume,
    $3.QuantityArea? area,
    $3.QuantityLength? height,
    $3.QuantityLength? width,
    $3.QuantityLength? length,
    $core.String? lVID,
    $core.double? quantityInBaseLV,
    $core.String? name,
    $3.QuantityWeight? netWeight,
    $3.QuantityWeight? grossWeight,
    $core.Iterable<$core.String>? branchIDs,
    $core.String? refLVName,
  }) {
    final $result = create();
    if (codes != null) {
      $result.codes.addAll(codes);
    }
    if (metaData != null) {
      $result.metaData.addAll(metaData);
    }
    if (isBaseLogisticVariant != null) {
      $result.isBaseLogisticVariant = isBaseLogisticVariant;
    }
    if (refLV != null) {
      $result.refLV = refLV;
    }
    if (quantityInRefLV != null) {
      $result.quantityInRefLV = quantityInRefLV;
    }
    if (volume != null) {
      $result.volume = volume;
    }
    if (area != null) {
      $result.area = area;
    }
    if (height != null) {
      $result.height = height;
    }
    if (width != null) {
      $result.width = width;
    }
    if (length != null) {
      $result.length = length;
    }
    if (lVID != null) {
      $result.lVID = lVID;
    }
    if (quantityInBaseLV != null) {
      $result.quantityInBaseLV = quantityInBaseLV;
    }
    if (name != null) {
      $result.name = name;
    }
    if (netWeight != null) {
      $result.netWeight = netWeight;
    }
    if (grossWeight != null) {
      $result.grossWeight = grossWeight;
    }
    if (branchIDs != null) {
      $result.branchIDs.addAll(branchIDs);
    }
    if (refLVName != null) {
      $result.refLVName = refLVName;
    }
    return $result;
  }
  LogisticVariant._() : super();
  factory LogisticVariant.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory LogisticVariant.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'LogisticVariant', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..pc<OtherID>(2, _omitFieldNames ? '' : 'Codes', $pb.PbFieldType.PM, protoName: 'Codes', subBuilder: OtherID.create)
    ..pc<$3.MetadataElement>(3, _omitFieldNames ? '' : 'MetaData', $pb.PbFieldType.PM, protoName: 'MetaData', subBuilder: $3.MetadataElement.create)
    ..aOB(4, _omitFieldNames ? '' : 'IsBaseLogisticVariant', protoName: 'IsBaseLogisticVariant')
    ..aOS(5, _omitFieldNames ? '' : 'RefLV', protoName: 'RefLV')
    ..a<$core.double>(6, _omitFieldNames ? '' : 'QuantityInRefLV', $pb.PbFieldType.OF, protoName: 'QuantityInRefLV')
    ..aOM<$3.QuantityVolume>(8, _omitFieldNames ? '' : 'Volume', protoName: 'Volume', subBuilder: $3.QuantityVolume.create)
    ..aOM<$3.QuantityArea>(9, _omitFieldNames ? '' : 'Area', protoName: 'Area', subBuilder: $3.QuantityArea.create)
    ..aOM<$3.QuantityLength>(10, _omitFieldNames ? '' : 'Height', protoName: 'Height', subBuilder: $3.QuantityLength.create)
    ..aOM<$3.QuantityLength>(11, _omitFieldNames ? '' : 'Width', protoName: 'Width', subBuilder: $3.QuantityLength.create)
    ..aOM<$3.QuantityLength>(12, _omitFieldNames ? '' : 'Length', protoName: 'Length', subBuilder: $3.QuantityLength.create)
    ..aOS(13, _omitFieldNames ? '' : 'LVID', protoName: 'LVID')
    ..a<$core.double>(14, _omitFieldNames ? '' : 'QuantityInBaseLV', $pb.PbFieldType.OF, protoName: 'QuantityInBaseLV')
    ..aOS(15, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOM<$3.QuantityWeight>(16, _omitFieldNames ? '' : 'NetWeight', protoName: 'NetWeight', subBuilder: $3.QuantityWeight.create)
    ..aOM<$3.QuantityWeight>(17, _omitFieldNames ? '' : 'GrossWeight', protoName: 'GrossWeight', subBuilder: $3.QuantityWeight.create)
    ..pPS(18, _omitFieldNames ? '' : 'BranchIDs', protoName: 'BranchIDs')
    ..aOS(19, _omitFieldNames ? '' : 'RefLVName', protoName: 'RefLVName')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  LogisticVariant clone() => LogisticVariant()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  LogisticVariant copyWith(void Function(LogisticVariant) updates) => super.copyWith((message) => updates(message as LogisticVariant)) as LogisticVariant;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(2)
  $pb.PbList<OtherID> get codes => $_getList(0);

  /// Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)
  @$pb.TagNumber(3)
  $pb.PbList<$3.MetadataElement> get metaData => $_getList(1);

  @$pb.TagNumber(4)
  $core.bool get isBaseLogisticVariant => $_getBF(2);
  @$pb.TagNumber(4)
  set isBaseLogisticVariant($core.bool v) { $_setBool(2, v); }
  @$pb.TagNumber(4)
  $core.bool hasIsBaseLogisticVariant() => $_has(2);
  @$pb.TagNumber(4)
  void clearIsBaseLogisticVariant() => $_clearField(4);

  /// ID of the LV in which the quantity is given
  @$pb.TagNumber(5)
  $core.String get refLV => $_getSZ(3);
  @$pb.TagNumber(5)
  set refLV($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(5)
  $core.bool hasRefLV() => $_has(3);
  @$pb.TagNumber(5)
  void clearRefLV() => $_clearField(5);

  @$pb.TagNumber(6)
  $core.double get quantityInRefLV => $_getN(4);
  @$pb.TagNumber(6)
  set quantityInRefLV($core.double v) { $_setFloat(4, v); }
  @$pb.TagNumber(6)
  $core.bool hasQuantityInRefLV() => $_has(4);
  @$pb.TagNumber(6)
  void clearQuantityInRefLV() => $_clearField(6);

  @$pb.TagNumber(8)
  $3.QuantityVolume get volume => $_getN(5);
  @$pb.TagNumber(8)
  set volume($3.QuantityVolume v) { $_setField(8, v); }
  @$pb.TagNumber(8)
  $core.bool hasVolume() => $_has(5);
  @$pb.TagNumber(8)
  void clearVolume() => $_clearField(8);
  @$pb.TagNumber(8)
  $3.QuantityVolume ensureVolume() => $_ensure(5);

  @$pb.TagNumber(9)
  $3.QuantityArea get area => $_getN(6);
  @$pb.TagNumber(9)
  set area($3.QuantityArea v) { $_setField(9, v); }
  @$pb.TagNumber(9)
  $core.bool hasArea() => $_has(6);
  @$pb.TagNumber(9)
  void clearArea() => $_clearField(9);
  @$pb.TagNumber(9)
  $3.QuantityArea ensureArea() => $_ensure(6);

  @$pb.TagNumber(10)
  $3.QuantityLength get height => $_getN(7);
  @$pb.TagNumber(10)
  set height($3.QuantityLength v) { $_setField(10, v); }
  @$pb.TagNumber(10)
  $core.bool hasHeight() => $_has(7);
  @$pb.TagNumber(10)
  void clearHeight() => $_clearField(10);
  @$pb.TagNumber(10)
  $3.QuantityLength ensureHeight() => $_ensure(7);

  @$pb.TagNumber(11)
  $3.QuantityLength get width => $_getN(8);
  @$pb.TagNumber(11)
  set width($3.QuantityLength v) { $_setField(11, v); }
  @$pb.TagNumber(11)
  $core.bool hasWidth() => $_has(8);
  @$pb.TagNumber(11)
  void clearWidth() => $_clearField(11);
  @$pb.TagNumber(11)
  $3.QuantityLength ensureWidth() => $_ensure(8);

  @$pb.TagNumber(12)
  $3.QuantityLength get length => $_getN(9);
  @$pb.TagNumber(12)
  set length($3.QuantityLength v) { $_setField(12, v); }
  @$pb.TagNumber(12)
  $core.bool hasLength() => $_has(9);
  @$pb.TagNumber(12)
  void clearLength() => $_clearField(12);
  @$pb.TagNumber(12)
  $3.QuantityLength ensureLength() => $_ensure(9);

  /// Logistical variant ID
  @$pb.TagNumber(13)
  $core.String get lVID => $_getSZ(10);
  @$pb.TagNumber(13)
  set lVID($core.String v) { $_setString(10, v); }
  @$pb.TagNumber(13)
  $core.bool hasLVID() => $_has(10);
  @$pb.TagNumber(13)
  void clearLVID() => $_clearField(13);

  @$pb.TagNumber(14)
  $core.double get quantityInBaseLV => $_getN(11);
  @$pb.TagNumber(14)
  set quantityInBaseLV($core.double v) { $_setFloat(11, v); }
  @$pb.TagNumber(14)
  $core.bool hasQuantityInBaseLV() => $_has(11);
  @$pb.TagNumber(14)
  void clearQuantityInBaseLV() => $_clearField(14);

  @$pb.TagNumber(15)
  $core.String get name => $_getSZ(12);
  @$pb.TagNumber(15)
  set name($core.String v) { $_setString(12, v); }
  @$pb.TagNumber(15)
  $core.bool hasName() => $_has(12);
  @$pb.TagNumber(15)
  void clearName() => $_clearField(15);

  @$pb.TagNumber(16)
  $3.QuantityWeight get netWeight => $_getN(13);
  @$pb.TagNumber(16)
  set netWeight($3.QuantityWeight v) { $_setField(16, v); }
  @$pb.TagNumber(16)
  $core.bool hasNetWeight() => $_has(13);
  @$pb.TagNumber(16)
  void clearNetWeight() => $_clearField(16);
  @$pb.TagNumber(16)
  $3.QuantityWeight ensureNetWeight() => $_ensure(13);

  @$pb.TagNumber(17)
  $3.QuantityWeight get grossWeight => $_getN(14);
  @$pb.TagNumber(17)
  set grossWeight($3.QuantityWeight v) { $_setField(17, v); }
  @$pb.TagNumber(17)
  $core.bool hasGrossWeight() => $_has(14);
  @$pb.TagNumber(17)
  void clearGrossWeight() => $_clearField(17);
  @$pb.TagNumber(17)
  $3.QuantityWeight ensureGrossWeight() => $_ensure(14);

  @$pb.TagNumber(18)
  $pb.PbList<$core.String> get branchIDs => $_getList(15);

  /// Name of the LV in which the quantity is given
  @$pb.TagNumber(19)
  $core.String get refLVName => $_getSZ(16);
  @$pb.TagNumber(19)
  set refLVName($core.String v) { $_setString(16, v); }
  @$pb.TagNumber(19)
  $core.bool hasRefLVName() => $_has(16);
  @$pb.TagNumber(19)
  void clearRefLVName() => $_clearField(19);
}

class OtherID extends $pb.GeneratedMessage {
  factory OtherID({
    $core.String? key,
    $core.String? value,
  }) {
    final $result = create();
    if (key != null) {
      $result.key = key;
    }
    if (value != null) {
      $result.value = value;
    }
    return $result;
  }
  OtherID._() : super();
  factory OtherID.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory OtherID.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'OtherID', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Key', protoName: 'Key')
    ..aOS(2, _omitFieldNames ? '' : 'Value', protoName: 'Value')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  OtherID clone() => OtherID()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  OtherID copyWith(void Function(OtherID) updates) => super.copyWith((message) => updates(message as OtherID)) as OtherID;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get key => $_getSZ(0);
  @$pb.TagNumber(1)
  set key($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasKey() => $_has(0);
  @$pb.TagNumber(1)
  void clearKey() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get value => $_getSZ(1);
  @$pb.TagNumber(2)
  set value($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasValue() => $_has(1);
  @$pb.TagNumber(2)
  void clearValue() => $_clearField(2);
}

class ErrorTags extends $pb.GeneratedMessage {
  factory ErrorTags({
    $core.String? name,
    $core.String? value,
  }) {
    final $result = create();
    if (name != null) {
      $result.name = name;
    }
    if (value != null) {
      $result.value = value;
    }
    return $result;
  }
  ErrorTags._() : super();
  factory ErrorTags.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ErrorTags.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ErrorTags', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOS(2, _omitFieldNames ? '' : 'Value', protoName: 'Value')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ErrorTags clone() => ErrorTags()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ErrorTags copyWith(void Function(ErrorTags) updates) => super.copyWith((message) => updates(message as ErrorTags)) as ErrorTags;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get name => $_getSZ(0);
  @$pb.TagNumber(1)
  set name($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasName() => $_has(0);
  @$pb.TagNumber(1)
  void clearName() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get value => $_getSZ(1);
  @$pb.TagNumber(2)
  set value($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasValue() => $_has(1);
  @$pb.TagNumber(2)
  void clearValue() => $_clearField(2);
}

///
/// Family components
class FamilyNode extends $pb.GeneratedMessage {
  factory FamilyNode({
    $core.String? nodeID,
    $core.String? label,
    $core.String? parentNodeID,
    $core.int? level,
    $core.String? stringPath,
    $core.String? familyRefID,
  }) {
    final $result = create();
    if (nodeID != null) {
      $result.nodeID = nodeID;
    }
    if (label != null) {
      $result.label = label;
    }
    if (parentNodeID != null) {
      $result.parentNodeID = parentNodeID;
    }
    if (level != null) {
      $result.level = level;
    }
    if (stringPath != null) {
      $result.stringPath = stringPath;
    }
    if (familyRefID != null) {
      $result.familyRefID = familyRefID;
    }
    return $result;
  }
  FamilyNode._() : super();
  factory FamilyNode.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory FamilyNode.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FamilyNode', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'NodeID', protoName: 'NodeID')
    ..aOS(2, _omitFieldNames ? '' : 'Label', protoName: 'Label')
    ..aOS(3, _omitFieldNames ? '' : 'ParentNodeID', protoName: 'ParentNodeID')
    ..a<$core.int>(4, _omitFieldNames ? '' : 'Level', $pb.PbFieldType.O3, protoName: 'Level')
    ..aOS(5, _omitFieldNames ? '' : 'StringPath', protoName: 'StringPath')
    ..aOS(6, _omitFieldNames ? '' : 'FamilyRefID', protoName: 'FamilyRefID')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  FamilyNode clone() => FamilyNode()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  FamilyNode copyWith(void Function(FamilyNode) updates) => super.copyWith((message) => updates(message as FamilyNode)) as FamilyNode;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get nodeID => $_getSZ(0);
  @$pb.TagNumber(1)
  set nodeID($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasNodeID() => $_has(0);
  @$pb.TagNumber(1)
  void clearNodeID() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get label => $_getSZ(1);
  @$pb.TagNumber(2)
  set label($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasLabel() => $_has(1);
  @$pb.TagNumber(2)
  void clearLabel() => $_clearField(2);

  @$pb.TagNumber(3)
  $core.String get parentNodeID => $_getSZ(2);
  @$pb.TagNumber(3)
  set parentNodeID($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasParentNodeID() => $_has(2);
  @$pb.TagNumber(3)
  void clearParentNodeID() => $_clearField(3);

  @$pb.TagNumber(4)
  $core.int get level => $_getIZ(3);
  @$pb.TagNumber(4)
  set level($core.int v) { $_setSignedInt32(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasLevel() => $_has(3);
  @$pb.TagNumber(4)
  void clearLevel() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get stringPath => $_getSZ(4);
  @$pb.TagNumber(5)
  set stringPath($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasStringPath() => $_has(4);
  @$pb.TagNumber(5)
  void clearStringPath() => $_clearField(5);

  @$pb.TagNumber(6)
  $core.String get familyRefID => $_getSZ(5);
  @$pb.TagNumber(6)
  set familyRefID($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasFamilyRefID() => $_has(5);
  @$pb.TagNumber(6)
  void clearFamilyRefID() => $_clearField(6);
}

class Address extends $pb.GeneratedMessage {
  factory Address({
    $core.String? city,
    $core.String? countryCode,
    GeographicalCoordinates? geographicalCoordinates,
    $core.String? name,
    $core.String? pOBoxNumber,
    $core.String? postalCode,
    $core.String? provinceCode,
    $core.String? state,
    $core.String? streetAddressOne,
    $core.String? streetAddressTwo,
    $core.String? streetAddressThree,
    $core.String? plusCode,
  }) {
    final $result = create();
    if (city != null) {
      $result.city = city;
    }
    if (countryCode != null) {
      $result.countryCode = countryCode;
    }
    if (geographicalCoordinates != null) {
      $result.geographicalCoordinates = geographicalCoordinates;
    }
    if (name != null) {
      $result.name = name;
    }
    if (pOBoxNumber != null) {
      $result.pOBoxNumber = pOBoxNumber;
    }
    if (postalCode != null) {
      $result.postalCode = postalCode;
    }
    if (provinceCode != null) {
      $result.provinceCode = provinceCode;
    }
    if (state != null) {
      $result.state = state;
    }
    if (streetAddressOne != null) {
      $result.streetAddressOne = streetAddressOne;
    }
    if (streetAddressTwo != null) {
      $result.streetAddressTwo = streetAddressTwo;
    }
    if (streetAddressThree != null) {
      $result.streetAddressThree = streetAddressThree;
    }
    if (plusCode != null) {
      $result.plusCode = plusCode;
    }
    return $result;
  }
  Address._() : super();
  factory Address.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Address.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Address', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'City', protoName: 'City')
    ..aOS(2, _omitFieldNames ? '' : 'CountryCode', protoName: 'CountryCode')
    ..aOM<GeographicalCoordinates>(3, _omitFieldNames ? '' : 'GeographicalCoordinates', protoName: 'GeographicalCoordinates', subBuilder: GeographicalCoordinates.create)
    ..aOS(4, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOS(5, _omitFieldNames ? '' : 'POBoxNumber', protoName: 'POBoxNumber')
    ..aOS(6, _omitFieldNames ? '' : 'PostalCode', protoName: 'PostalCode')
    ..aOS(7, _omitFieldNames ? '' : 'ProvinceCode', protoName: 'ProvinceCode')
    ..aOS(8, _omitFieldNames ? '' : 'State', protoName: 'State')
    ..aOS(9, _omitFieldNames ? '' : 'StreetAddressOne', protoName: 'StreetAddressOne')
    ..aOS(10, _omitFieldNames ? '' : 'StreetAddressTwo', protoName: 'StreetAddressTwo')
    ..aOS(11, _omitFieldNames ? '' : 'StreetAddressThree', protoName: 'StreetAddressThree')
    ..aOS(12, _omitFieldNames ? '' : 'PlusCode', protoName: 'PlusCode')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  Address clone() => Address()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  Address copyWith(void Function(Address) updates) => super.copyWith((message) => updates(message as Address)) as Address;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get city => $_getSZ(0);
  @$pb.TagNumber(1)
  set city($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasCity() => $_has(0);
  @$pb.TagNumber(1)
  void clearCity() => $_clearField(1);

  /// Country Code in <a href='https://en.wikipedia.org/wiki/ISO_3166-1'>ISO_3166-1</a> format
  @$pb.TagNumber(2)
  $core.String get countryCode => $_getSZ(1);
  @$pb.TagNumber(2)
  set countryCode($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasCountryCode() => $_has(1);
  @$pb.TagNumber(2)
  void clearCountryCode() => $_clearField(2);

  @$pb.TagNumber(3)
  GeographicalCoordinates get geographicalCoordinates => $_getN(2);
  @$pb.TagNumber(3)
  set geographicalCoordinates(GeographicalCoordinates v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasGeographicalCoordinates() => $_has(2);
  @$pb.TagNumber(3)
  void clearGeographicalCoordinates() => $_clearField(3);
  @$pb.TagNumber(3)
  GeographicalCoordinates ensureGeographicalCoordinates() => $_ensure(2);

  @$pb.TagNumber(4)
  $core.String get name => $_getSZ(3);
  @$pb.TagNumber(4)
  set name($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasName() => $_has(3);
  @$pb.TagNumber(4)
  void clearName() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get pOBoxNumber => $_getSZ(4);
  @$pb.TagNumber(5)
  set pOBoxNumber($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasPOBoxNumber() => $_has(4);
  @$pb.TagNumber(5)
  void clearPOBoxNumber() => $_clearField(5);

  @$pb.TagNumber(6)
  $core.String get postalCode => $_getSZ(5);
  @$pb.TagNumber(6)
  set postalCode($core.String v) { $_setString(5, v); }
  @$pb.TagNumber(6)
  $core.bool hasPostalCode() => $_has(5);
  @$pb.TagNumber(6)
  void clearPostalCode() => $_clearField(6);

  @$pb.TagNumber(7)
  $core.String get provinceCode => $_getSZ(6);
  @$pb.TagNumber(7)
  set provinceCode($core.String v) { $_setString(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasProvinceCode() => $_has(6);
  @$pb.TagNumber(7)
  void clearProvinceCode() => $_clearField(7);

  @$pb.TagNumber(8)
  $core.String get state => $_getSZ(7);
  @$pb.TagNumber(8)
  set state($core.String v) { $_setString(7, v); }
  @$pb.TagNumber(8)
  $core.bool hasState() => $_has(7);
  @$pb.TagNumber(8)
  void clearState() => $_clearField(8);

  @$pb.TagNumber(9)
  $core.String get streetAddressOne => $_getSZ(8);
  @$pb.TagNumber(9)
  set streetAddressOne($core.String v) { $_setString(8, v); }
  @$pb.TagNumber(9)
  $core.bool hasStreetAddressOne() => $_has(8);
  @$pb.TagNumber(9)
  void clearStreetAddressOne() => $_clearField(9);

  @$pb.TagNumber(10)
  $core.String get streetAddressTwo => $_getSZ(9);
  @$pb.TagNumber(10)
  set streetAddressTwo($core.String v) { $_setString(9, v); }
  @$pb.TagNumber(10)
  $core.bool hasStreetAddressTwo() => $_has(9);
  @$pb.TagNumber(10)
  void clearStreetAddressTwo() => $_clearField(10);

  @$pb.TagNumber(11)
  $core.String get streetAddressThree => $_getSZ(10);
  @$pb.TagNumber(11)
  set streetAddressThree($core.String v) { $_setString(10, v); }
  @$pb.TagNumber(11)
  $core.bool hasStreetAddressThree() => $_has(10);
  @$pb.TagNumber(11)
  void clearStreetAddressThree() => $_clearField(11);

  @$pb.TagNumber(12)
  $core.String get plusCode => $_getSZ(11);
  @$pb.TagNumber(12)
  set plusCode($core.String v) { $_setString(11, v); }
  @$pb.TagNumber(12)
  $core.bool hasPlusCode() => $_has(11);
  @$pb.TagNumber(12)
  void clearPlusCode() => $_clearField(12);
}

///
/// ActorContact definition
class ActorContact extends $pb.GeneratedMessage {
  factory ActorContact({
    $core.String? contactTypeCode,
    $core.String? firstName,
    $core.String? lastName,
    $core.String? jobTitle,
    $core.String? departmentName,
    $core.Iterable<$core.String>? responsibilities,
    $core.String? emailAddress,
    $core.String? faxNumber,
    $core.String? telephoneNumber,
  }) {
    final $result = create();
    if (contactTypeCode != null) {
      $result.contactTypeCode = contactTypeCode;
    }
    if (firstName != null) {
      $result.firstName = firstName;
    }
    if (lastName != null) {
      $result.lastName = lastName;
    }
    if (jobTitle != null) {
      $result.jobTitle = jobTitle;
    }
    if (departmentName != null) {
      $result.departmentName = departmentName;
    }
    if (responsibilities != null) {
      $result.responsibilities.addAll(responsibilities);
    }
    if (emailAddress != null) {
      $result.emailAddress = emailAddress;
    }
    if (faxNumber != null) {
      $result.faxNumber = faxNumber;
    }
    if (telephoneNumber != null) {
      $result.telephoneNumber = telephoneNumber;
    }
    return $result;
  }
  ActorContact._() : super();
  factory ActorContact.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ActorContact.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ActorContact', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ContactTypeCode', protoName: 'ContactTypeCode')
    ..aOS(2, _omitFieldNames ? '' : 'FirstName', protoName: 'FirstName')
    ..aOS(3, _omitFieldNames ? '' : 'LastName', protoName: 'LastName')
    ..aOS(4, _omitFieldNames ? '' : 'JobTitle', protoName: 'JobTitle')
    ..aOS(5, _omitFieldNames ? '' : 'DepartmentName', protoName: 'DepartmentName')
    ..pPS(6, _omitFieldNames ? '' : 'Responsibilities', protoName: 'Responsibilities')
    ..aOS(7, _omitFieldNames ? '' : 'EmailAddress', protoName: 'EmailAddress')
    ..aOS(8, _omitFieldNames ? '' : 'FaxNumber', protoName: 'FaxNumber')
    ..aOS(9, _omitFieldNames ? '' : 'TelephoneNumber', protoName: 'TelephoneNumber')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ActorContact clone() => ActorContact()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ActorContact copyWith(void Function(ActorContact) updates) => super.copyWith((message) => updates(message as ActorContact)) as ActorContact;

  $pb.BuilderInfo get info_ => _i;

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

  /// 	for examples (GS1) : http://apps.gs1.org/GDD/Pages/clDetails.aspx?semanticURN=urn:gs1:gdd:cl:ContactTypeCode
  @$pb.TagNumber(1)
  $core.String get contactTypeCode => $_getSZ(0);
  @$pb.TagNumber(1)
  set contactTypeCode($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasContactTypeCode() => $_has(0);
  @$pb.TagNumber(1)
  void clearContactTypeCode() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get firstName => $_getSZ(1);
  @$pb.TagNumber(2)
  set firstName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasFirstName() => $_has(1);
  @$pb.TagNumber(2)
  void clearFirstName() => $_clearField(2);

  @$pb.TagNumber(3)
  $core.String get lastName => $_getSZ(2);
  @$pb.TagNumber(3)
  set lastName($core.String v) { $_setString(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasLastName() => $_has(2);
  @$pb.TagNumber(3)
  void clearLastName() => $_clearField(3);

  @$pb.TagNumber(4)
  $core.String get jobTitle => $_getSZ(3);
  @$pb.TagNumber(4)
  set jobTitle($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasJobTitle() => $_has(3);
  @$pb.TagNumber(4)
  void clearJobTitle() => $_clearField(4);

  @$pb.TagNumber(5)
  $core.String get departmentName => $_getSZ(4);
  @$pb.TagNumber(5)
  set departmentName($core.String v) { $_setString(4, v); }
  @$pb.TagNumber(5)
  $core.bool hasDepartmentName() => $_has(4);
  @$pb.TagNumber(5)
  void clearDepartmentName() => $_clearField(5);

  /// Define how to aggregate these Responsibilities or move to Map
  @$pb.TagNumber(6)
  $pb.PbList<$core.String> get responsibilities => $_getList(5);

  @$pb.TagNumber(7)
  $core.String get emailAddress => $_getSZ(6);
  @$pb.TagNumber(7)
  set emailAddress($core.String v) { $_setString(6, v); }
  @$pb.TagNumber(7)
  $core.bool hasEmailAddress() => $_has(6);
  @$pb.TagNumber(7)
  void clearEmailAddress() => $_clearField(7);

  @$pb.TagNumber(8)
  $core.String get faxNumber => $_getSZ(7);
  @$pb.TagNumber(8)
  set faxNumber($core.String v) { $_setString(7, v); }
  @$pb.TagNumber(8)
  $core.bool hasFaxNumber() => $_has(7);
  @$pb.TagNumber(8)
  void clearFaxNumber() => $_clearField(8);

  @$pb.TagNumber(9)
  $core.String get telephoneNumber => $_getSZ(8);
  @$pb.TagNumber(9)
  set telephoneNumber($core.String v) { $_setString(8, v); }
  @$pb.TagNumber(9)
  $core.bool hasTelephoneNumber() => $_has(8);
  @$pb.TagNumber(9)
  void clearTelephoneNumber() => $_clearField(9);
}

class Interlocutor extends $pb.GeneratedMessage {
  factory Interlocutor({
    $core.String? firstName,
    $core.String? lastName,
    $core.Iterable<$core.String>? emails,
    $core.Iterable<$core.String>? phones,
  }) {
    final $result = create();
    if (firstName != null) {
      $result.firstName = firstName;
    }
    if (lastName != null) {
      $result.lastName = lastName;
    }
    if (emails != null) {
      $result.emails.addAll(emails);
    }
    if (phones != null) {
      $result.phones.addAll(phones);
    }
    return $result;
  }
  Interlocutor._() : super();
  factory Interlocutor.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Interlocutor.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Interlocutor', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'FirstName', protoName: 'FirstName')
    ..aOS(2, _omitFieldNames ? '' : 'LastName', protoName: 'LastName')
    ..pPS(3, _omitFieldNames ? '' : 'Emails', protoName: 'Emails')
    ..pPS(4, _omitFieldNames ? '' : 'Phones', protoName: 'Phones')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  Interlocutor clone() => Interlocutor()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  Interlocutor copyWith(void Function(Interlocutor) updates) => super.copyWith((message) => updates(message as Interlocutor)) as Interlocutor;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get firstName => $_getSZ(0);
  @$pb.TagNumber(1)
  set firstName($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasFirstName() => $_has(0);
  @$pb.TagNumber(1)
  void clearFirstName() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get lastName => $_getSZ(1);
  @$pb.TagNumber(2)
  set lastName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasLastName() => $_has(1);
  @$pb.TagNumber(2)
  void clearLastName() => $_clearField(2);

  /// Must be a valid email address
  @$pb.TagNumber(3)
  $pb.PbList<$core.String> get emails => $_getList(2);

  @$pb.TagNumber(4)
  $pb.PbList<$core.String> get phones => $_getList(3);
}

class GeographicalCoordinates extends $pb.GeneratedMessage {
  factory GeographicalCoordinates({
    $core.String? latitude,
    $core.String? longitude,
  }) {
    final $result = create();
    if (latitude != null) {
      $result.latitude = latitude;
    }
    if (longitude != null) {
      $result.longitude = longitude;
    }
    return $result;
  }
  GeographicalCoordinates._() : super();
  factory GeographicalCoordinates.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory GeographicalCoordinates.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GeographicalCoordinates', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'Latitude', protoName: 'Latitude')
    ..aOS(2, _omitFieldNames ? '' : 'Longitude', protoName: 'Longitude')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  GeographicalCoordinates clone() => GeographicalCoordinates()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  GeographicalCoordinates copyWith(void Function(GeographicalCoordinates) updates) => super.copyWith((message) => updates(message as GeographicalCoordinates)) as GeographicalCoordinates;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get latitude => $_getSZ(0);
  @$pb.TagNumber(1)
  set latitude($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasLatitude() => $_has(0);
  @$pb.TagNumber(1)
  void clearLatitude() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get longitude => $_getSZ(1);
  @$pb.TagNumber(2)
  set longitude($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasLongitude() => $_has(1);
  @$pb.TagNumber(2)
  void clearLongitude() => $_clearField(2);
}

class ActorSnapshot extends $pb.GeneratedMessage {
  factory ActorSnapshot({
    $core.String? iD,
    $3.DateTime? endDateTime,
    $core.int? messageNb,
  }) {
    final $result = create();
    if (iD != null) {
      $result.iD = iD;
    }
    if (endDateTime != null) {
      $result.endDateTime = endDateTime;
    }
    if (messageNb != null) {
      $result.messageNb = messageNb;
    }
    return $result;
  }
  ActorSnapshot._() : super();
  factory ActorSnapshot.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ActorSnapshot.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ActorSnapshot', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..aOM<$3.DateTime>(3, _omitFieldNames ? '' : 'EndDateTime', protoName: 'EndDateTime', subBuilder: $3.DateTime.create)
    ..a<$core.int>(4, _omitFieldNames ? '' : 'MessageNb', $pb.PbFieldType.O3, protoName: 'MessageNb')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ActorSnapshot clone() => ActorSnapshot()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ActorSnapshot copyWith(void Function(ActorSnapshot) updates) => super.copyWith((message) => updates(message as ActorSnapshot)) as ActorSnapshot;

  $pb.BuilderInfo get info_ => _i;

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

  /// Must be unique ID
  @$pb.TagNumber(1)
  $core.String get iD => $_getSZ(0);
  @$pb.TagNumber(1)
  set iD($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasID() => $_has(0);
  @$pb.TagNumber(1)
  void clearID() => $_clearField(1);

  @$pb.TagNumber(3)
  $3.DateTime get endDateTime => $_getN(1);
  @$pb.TagNumber(3)
  set endDateTime($3.DateTime v) { $_setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasEndDateTime() => $_has(1);
  @$pb.TagNumber(3)
  void clearEndDateTime() => $_clearField(3);
  @$pb.TagNumber(3)
  $3.DateTime ensureEndDateTime() => $_ensure(1);

  @$pb.TagNumber(4)
  $core.int get messageNb => $_getIZ(2);
  @$pb.TagNumber(4)
  set messageNb($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(4)
  $core.bool hasMessageNb() => $_has(2);
  @$pb.TagNumber(4)
  void clearMessageNb() => $_clearField(4);
}

class CarrierService extends $pb.GeneratedMessage {
  factory CarrierService({
    $core.String? iD,
    $core.String? label,
  }) {
    final $result = create();
    if (iD != null) {
      $result.iD = iD;
    }
    if (label != null) {
      $result.label = label;
    }
    return $result;
  }
  CarrierService._() : super();
  factory CarrierService.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CarrierService.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CarrierService', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..aOS(2, _omitFieldNames ? '' : 'Label', protoName: 'Label')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CarrierService clone() => CarrierService()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CarrierService copyWith(void Function(CarrierService) updates) => super.copyWith((message) => updates(message as CarrierService)) as CarrierService;

  $pb.BuilderInfo get info_ => _i;

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

  /// Unique ID
  @$pb.TagNumber(1)
  $core.String get iD => $_getSZ(0);
  @$pb.TagNumber(1)
  set iD($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasID() => $_has(0);
  @$pb.TagNumber(1)
  void clearID() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get label => $_getSZ(1);
  @$pb.TagNumber(2)
  set label($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasLabel() => $_has(1);
  @$pb.TagNumber(2)
  void clearLabel() => $_clearField(2);
}

class LVDetailedQuantity extends $pb.GeneratedMessage {
  factory LVDetailedQuantity({
    $core.String? lVID,
    $core.String? lVName,
    $core.double? quantity,
  }) {
    final $result = create();
    if (lVID != null) {
      $result.lVID = lVID;
    }
    if (lVName != null) {
      $result.lVName = lVName;
    }
    if (quantity != null) {
      $result.quantity = quantity;
    }
    return $result;
  }
  LVDetailedQuantity._() : super();
  factory LVDetailedQuantity.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory LVDetailedQuantity.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'LVDetailedQuantity', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'LVID', protoName: 'LVID')
    ..aOS(2, _omitFieldNames ? '' : 'LVName', protoName: 'LVName')
    ..a<$core.double>(3, _omitFieldNames ? '' : 'Quantity', $pb.PbFieldType.OF, protoName: 'Quantity')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  LVDetailedQuantity clone() => LVDetailedQuantity()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  LVDetailedQuantity copyWith(void Function(LVDetailedQuantity) updates) => super.copyWith((message) => updates(message as LVDetailedQuantity)) as LVDetailedQuantity;

  $pb.BuilderInfo get info_ => _i;

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

  @$pb.TagNumber(1)
  $core.String get lVID => $_getSZ(0);
  @$pb.TagNumber(1)
  set lVID($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasLVID() => $_has(0);
  @$pb.TagNumber(1)
  void clearLVID() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get lVName => $_getSZ(1);
  @$pb.TagNumber(2)
  set lVName($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasLVName() => $_has(1);
  @$pb.TagNumber(2)
  void clearLVName() => $_clearField(2);

  @$pb.TagNumber(3)
  $core.double get quantity => $_getN(2);
  @$pb.TagNumber(3)
  set quantity($core.double v) { $_setFloat(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasQuantity() => $_has(2);
  @$pb.TagNumber(3)
  void clearQuantity() => $_clearField(3);
}


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