// This is a generated file - do not edit.
//
// Generated from calendar.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 'shared.pb.dart' as $1;

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

class WorkTimeDay extends $pb.GeneratedMessage {
  factory WorkTimeDay({
    $1.WeekDay? weekDay,
    $core.bool? isWorkingDay,
    $core.Iterable<$1.TimeRange>? timeRanges,
  }) {
    final result = create();
    if (weekDay != null) result.weekDay = weekDay;
    if (isWorkingDay != null) result.isWorkingDay = isWorkingDay;
    if (timeRanges != null) result.timeRanges.addAll(timeRanges);
    return result;
  }

  WorkTimeDay._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'WorkTimeDay', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..e<$1.WeekDay>(1, _omitFieldNames ? '' : 'WeekDay', $pb.PbFieldType.OE, protoName: 'WeekDay', defaultOrMaker: $1.WeekDay.WEEKDAY_UNDEFINED, valueOf: $1.WeekDay.valueOf, enumValues: $1.WeekDay.values)
    ..aOB(2, _omitFieldNames ? '' : 'IsWorkingDay', protoName: 'IsWorkingDay')
    ..pc<$1.TimeRange>(3, _omitFieldNames ? '' : 'TimeRanges', $pb.PbFieldType.PM, protoName: 'TimeRanges', subBuilder: $1.TimeRange.create)
    ..hasRequiredFields = false
  ;

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

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

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

  /// Day of the week
  @$pb.TagNumber(1)
  $1.WeekDay get weekDay => $_getN(0);
  @$pb.TagNumber(1)
  set weekDay($1.WeekDay value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasWeekDay() => $_has(0);
  @$pb.TagNumber(1)
  void clearWeekDay() => $_clearField(1);

  /// Is a workingDay
  @$pb.TagNumber(2)
  $core.bool get isWorkingDay => $_getBF(1);
  @$pb.TagNumber(2)
  set isWorkingDay($core.bool value) => $_setBool(1, value);
  @$pb.TagNumber(2)
  $core.bool hasIsWorkingDay() => $_has(1);
  @$pb.TagNumber(2)
  void clearIsWorkingDay() => $_clearField(2);

  /// Opening hours definition according to filters
  @$pb.TagNumber(3)
  $pb.PbList<$1.TimeRange> get timeRanges => $_getList(2);
}

class ExceptionalClosure extends $pb.GeneratedMessage {
  factory ExceptionalClosure({
    $core.Iterable<$1.LabelByLanguage>? labels,
    $core.String? startDate,
    $core.String? endDate,
    $core.bool? fullDay,
    $core.String? startHour,
    $core.String? endHour,
  }) {
    final result = create();
    if (labels != null) result.labels.addAll(labels);
    if (startDate != null) result.startDate = startDate;
    if (endDate != null) result.endDate = endDate;
    if (fullDay != null) result.fullDay = fullDay;
    if (startHour != null) result.startHour = startHour;
    if (endHour != null) result.endHour = endHour;
    return result;
  }

  ExceptionalClosure._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ExceptionalClosure', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..pc<$1.LabelByLanguage>(1, _omitFieldNames ? '' : 'Labels', $pb.PbFieldType.PM, protoName: 'Labels', subBuilder: $1.LabelByLanguage.create)
    ..aOS(2, _omitFieldNames ? '' : 'StartDate', protoName: 'StartDate')
    ..aOS(3, _omitFieldNames ? '' : 'EndDate', protoName: 'EndDate')
    ..aOB(4, _omitFieldNames ? '' : 'FullDay', protoName: 'FullDay')
    ..aOS(5, _omitFieldNames ? '' : 'StartHour', protoName: 'StartHour')
    ..aOS(6, _omitFieldNames ? '' : 'EndHour', protoName: 'EndHour')
    ..hasRequiredFields = false
  ;

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

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

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

  /// Name of the holiday
  @$pb.TagNumber(1)
  $pb.PbList<$1.LabelByLanguage> get labels => $_getList(0);

  /// Start of the ExceptionalClosure, format yyyy-mm-dd //TODO are we sure about the format
  @$pb.TagNumber(2)
  $core.String get startDate => $_getSZ(1);
  @$pb.TagNumber(2)
  set startDate($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasStartDate() => $_has(1);
  @$pb.TagNumber(2)
  void clearStartDate() => $_clearField(2);

  /// End of the ExceptionalClosure, format yyyy-mm-dd //TODO are we sure about the format
  @$pb.TagNumber(3)
  $core.String get endDate => $_getSZ(2);
  @$pb.TagNumber(3)
  set endDate($core.String value) => $_setString(2, value);
  @$pb.TagNumber(3)
  $core.bool hasEndDate() => $_has(2);
  @$pb.TagNumber(3)
  void clearEndDate() => $_clearField(3);

  /// Set to true if the ExceptionalClosure is a complete closure for the impacted days
  @$pb.TagNumber(4)
  $core.bool get fullDay => $_getBF(3);
  @$pb.TagNumber(4)
  set fullDay($core.bool value) => $_setBool(3, value);
  @$pb.TagNumber(4)
  $core.bool hasFullDay() => $_has(3);
  @$pb.TagNumber(4)
  void clearFullDay() => $_clearField(4);

  /// Start of the ExceptionalClosure hour if FullDay is set to false, format hh:mm
  @$pb.TagNumber(5)
  $core.String get startHour => $_getSZ(4);
  @$pb.TagNumber(5)
  set startHour($core.String value) => $_setString(4, value);
  @$pb.TagNumber(5)
  $core.bool hasStartHour() => $_has(4);
  @$pb.TagNumber(5)
  void clearStartHour() => $_clearField(5);

  /// End of the ExceptionalClosure hour if FullDay is set to false, format hh:mm
  @$pb.TagNumber(6)
  $core.String get endHour => $_getSZ(5);
  @$pb.TagNumber(6)
  set endHour($core.String value) => $_setString(5, value);
  @$pb.TagNumber(6)
  $core.bool hasEndHour() => $_has(5);
  @$pb.TagNumber(6)
  void clearEndHour() => $_clearField(6);
}

class Calendar extends $pb.GeneratedMessage {
  factory Calendar({
    $core.String? iD,
    $1.ResourceType? rscType,
    $core.String? resourceID,
    $core.String? name,
    $core.String? description,
    $core.Iterable<ExceptionalClosure>? exceptionalClosures,
    $core.Iterable<WorkTimeDay>? workTimeDays,
  }) {
    final result = create();
    if (iD != null) result.iD = iD;
    if (rscType != null) result.rscType = rscType;
    if (resourceID != null) result.resourceID = resourceID;
    if (name != null) result.name = name;
    if (description != null) result.description = description;
    if (exceptionalClosures != null) result.exceptionalClosures.addAll(exceptionalClosures);
    if (workTimeDays != null) result.workTimeDays.addAll(workTimeDays);
    return result;
  }

  Calendar._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Calendar', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..e<$1.ResourceType>(2, _omitFieldNames ? '' : 'RscType', $pb.PbFieldType.OE, protoName: 'RscType', defaultOrMaker: $1.ResourceType.RESOURCE_TYPE_UNKNOWN, valueOf: $1.ResourceType.valueOf, enumValues: $1.ResourceType.values)
    ..aOS(3, _omitFieldNames ? '' : 'ResourceID', protoName: 'ResourceID')
    ..aOS(4, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOS(5, _omitFieldNames ? '' : 'Description', protoName: 'Description')
    ..pc<ExceptionalClosure>(6, _omitFieldNames ? '' : 'ExceptionalClosures', $pb.PbFieldType.PM, protoName: 'ExceptionalClosures', subBuilder: ExceptionalClosure.create)
    ..pc<WorkTimeDay>(7, _omitFieldNames ? '' : 'WorkTimeDays', $pb.PbFieldType.PM, protoName: 'WorkTimeDays', subBuilder: WorkTimeDay.create)
    ..hasRequiredFields = false
  ;

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

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

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

  /// Identifier of the calendar
  @$pb.TagNumber(1)
  $core.String get iD => $_getSZ(0);
  @$pb.TagNumber(1)
  set iD($core.String value) => $_setString(0, value);
  @$pb.TagNumber(1)
  $core.bool hasID() => $_has(0);
  @$pb.TagNumber(1)
  void clearID() => $_clearField(1);

  /// Resource type on which the calendar is referenced
  @$pb.TagNumber(2)
  $1.ResourceType get rscType => $_getN(1);
  @$pb.TagNumber(2)
  set rscType($1.ResourceType value) => $_setField(2, value);
  @$pb.TagNumber(2)
  $core.bool hasRscType() => $_has(1);
  @$pb.TagNumber(2)
  void clearRscType() => $_clearField(2);

  @$pb.TagNumber(3)
  $core.String get resourceID => $_getSZ(2);
  @$pb.TagNumber(3)
  set resourceID($core.String value) => $_setString(2, value);
  @$pb.TagNumber(3)
  $core.bool hasResourceID() => $_has(2);
  @$pb.TagNumber(3)
  void clearResourceID() => $_clearField(3);

  /// Name of the calendar
  @$pb.TagNumber(4)
  $core.String get name => $_getSZ(3);
  @$pb.TagNumber(4)
  set name($core.String value) => $_setString(3, value);
  @$pb.TagNumber(4)
  $core.bool hasName() => $_has(3);
  @$pb.TagNumber(4)
  void clearName() => $_clearField(4);

  /// Description of the calendar
  @$pb.TagNumber(5)
  $core.String get description => $_getSZ(4);
  @$pb.TagNumber(5)
  set description($core.String value) => $_setString(4, value);
  @$pb.TagNumber(5)
  $core.bool hasDescription() => $_has(4);
  @$pb.TagNumber(5)
  void clearDescription() => $_clearField(5);

  /// List of Exceptional closure
  @$pb.TagNumber(6)
  $pb.PbList<ExceptionalClosure> get exceptionalClosures => $_getList(5);

  /// Definition of the opening hours by week day
  @$pb.TagNumber(7)
  $pb.PbList<WorkTimeDay> get workTimeDays => $_getList(6);
}

/// Create a calendar at organisation level
class CreateOnOrganisationRequest extends $pb.GeneratedMessage {
  factory CreateOnOrganisationRequest({
    $1.RequestOrganisationHeader? header,
    $core.String? name,
    $core.String? description,
    $core.Iterable<ExceptionalClosure>? exceptionalClosures,
    $core.Iterable<WorkTimeDay>? workTimeDays,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (name != null) result.name = name;
    if (description != null) result.description = description;
    if (exceptionalClosures != null) result.exceptionalClosures.addAll(exceptionalClosures);
    if (workTimeDays != null) result.workTimeDays.addAll(workTimeDays);
    return result;
  }

  CreateOnOrganisationRequest._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateOnOrganisationRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestOrganisationHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestOrganisationHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOS(3, _omitFieldNames ? '' : 'Description', protoName: 'Description')
    ..pc<ExceptionalClosure>(4, _omitFieldNames ? '' : 'ExceptionalClosures', $pb.PbFieldType.PM, protoName: 'ExceptionalClosures', subBuilder: ExceptionalClosure.create)
    ..pc<WorkTimeDay>(7, _omitFieldNames ? '' : 'WorkTimeDays', $pb.PbFieldType.PM, protoName: 'WorkTimeDays', subBuilder: WorkTimeDay.create)
    ..hasRequiredFields = false
  ;

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

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

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

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

  /// Name of the calendar
  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  /// Description of the calendar
  @$pb.TagNumber(3)
  $core.String get description => $_getSZ(2);
  @$pb.TagNumber(3)
  set description($core.String value) => $_setString(2, value);
  @$pb.TagNumber(3)
  $core.bool hasDescription() => $_has(2);
  @$pb.TagNumber(3)
  void clearDescription() => $_clearField(3);

  /// List of Exceptional closure
  @$pb.TagNumber(4)
  $pb.PbList<ExceptionalClosure> get exceptionalClosures => $_getList(3);

  /// Definition of the opening hours by week day
  @$pb.TagNumber(7)
  $pb.PbList<WorkTimeDay> get workTimeDays => $_getList(4);
}

class CreateOnOrganisationResponse extends $pb.GeneratedMessage {
  factory CreateOnOrganisationResponse({
    Calendar? calendar,
  }) {
    final result = create();
    if (calendar != null) result.calendar = calendar;
    return result;
  }

  CreateOnOrganisationResponse._();

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

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

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

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

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

  @$pb.TagNumber(1)
  Calendar get calendar => $_getN(0);
  @$pb.TagNumber(1)
  set calendar(Calendar value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasCalendar() => $_has(0);
  @$pb.TagNumber(1)
  void clearCalendar() => $_clearField(1);
  @$pb.TagNumber(1)
  Calendar ensureCalendar() => $_ensure(0);
}

/// Get a calendar at organisation level
class GetOnOrganisationRequest extends $pb.GeneratedMessage {
  factory GetOnOrganisationRequest({
    $1.RequestOrganisationHeader? header,
    $core.String? iD,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    return result;
  }

  GetOnOrganisationRequest._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetOnOrganisationRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestOrganisationHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestOrganisationHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..hasRequiredFields = false
  ;

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

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

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

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

  @$pb.TagNumber(2)
  $core.String get iD => $_getSZ(1);
  @$pb.TagNumber(2)
  set iD($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
}

class GetOnOrganisationResponse extends $pb.GeneratedMessage {
  factory GetOnOrganisationResponse({
    Calendar? calendar,
  }) {
    final result = create();
    if (calendar != null) result.calendar = calendar;
    return result;
  }

  GetOnOrganisationResponse._();

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

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

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

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

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

  @$pb.TagNumber(1)
  Calendar get calendar => $_getN(0);
  @$pb.TagNumber(1)
  set calendar(Calendar value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasCalendar() => $_has(0);
  @$pb.TagNumber(1)
  void clearCalendar() => $_clearField(1);
  @$pb.TagNumber(1)
  Calendar ensureCalendar() => $_ensure(0);
}

/// List  a calendar at organisation level
class ListOnOrganisationRequest extends $pb.GeneratedMessage {
  factory ListOnOrganisationRequest({
    $1.RequestOrganisationHeader? header,
  }) {
    final result = create();
    if (header != null) result.header = header;
    return result;
  }

  ListOnOrganisationRequest._();

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

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

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

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

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

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

class ListOnOrganisationResponse extends $pb.GeneratedMessage {
  factory ListOnOrganisationResponse({
    $core.Iterable<Calendar>? calendars,
  }) {
    final result = create();
    if (calendars != null) result.calendars.addAll(calendars);
    return result;
  }

  ListOnOrganisationResponse._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListOnOrganisationResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..pc<Calendar>(1, _omitFieldNames ? '' : 'Calendars', $pb.PbFieldType.PM, protoName: 'Calendars', subBuilder: Calendar.create)
    ..hasRequiredFields = false
  ;

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

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

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

  @$pb.TagNumber(1)
  $pb.PbList<Calendar> get calendars => $_getList(0);
}

/// Update a calendar at organisation level
class UpdateOnOrganisationRequest extends $pb.GeneratedMessage {
  factory UpdateOnOrganisationRequest({
    $1.RequestOrganisationHeader? header,
    $core.String? iD,
    $core.String? name,
    $core.String? description,
    $core.Iterable<ExceptionalClosure>? exceptionalClosures,
    $core.Iterable<WorkTimeDay>? workTimeDays,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    if (name != null) result.name = name;
    if (description != null) result.description = description;
    if (exceptionalClosures != null) result.exceptionalClosures.addAll(exceptionalClosures);
    if (workTimeDays != null) result.workTimeDays.addAll(workTimeDays);
    return result;
  }

  UpdateOnOrganisationRequest._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateOnOrganisationRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestOrganisationHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestOrganisationHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..aOS(3, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOS(4, _omitFieldNames ? '' : 'Description', protoName: 'Description')
    ..pc<ExceptionalClosure>(5, _omitFieldNames ? '' : 'ExceptionalClosures', $pb.PbFieldType.PM, protoName: 'ExceptionalClosures', subBuilder: ExceptionalClosure.create)
    ..pc<WorkTimeDay>(7, _omitFieldNames ? '' : 'WorkTimeDays', $pb.PbFieldType.PM, protoName: 'WorkTimeDays', subBuilder: WorkTimeDay.create)
    ..hasRequiredFields = false
  ;

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

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

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

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

  /// Identifier of the calendar
  @$pb.TagNumber(2)
  $core.String get iD => $_getSZ(1);
  @$pb.TagNumber(2)
  set iD($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);

  /// Name of the calendar
  @$pb.TagNumber(3)
  $core.String get name => $_getSZ(2);
  @$pb.TagNumber(3)
  set name($core.String value) => $_setString(2, value);
  @$pb.TagNumber(3)
  $core.bool hasName() => $_has(2);
  @$pb.TagNumber(3)
  void clearName() => $_clearField(3);

  /// Description of the calendar
  @$pb.TagNumber(4)
  $core.String get description => $_getSZ(3);
  @$pb.TagNumber(4)
  set description($core.String value) => $_setString(3, value);
  @$pb.TagNumber(4)
  $core.bool hasDescription() => $_has(3);
  @$pb.TagNumber(4)
  void clearDescription() => $_clearField(4);

  /// List of Exceptional closure
  @$pb.TagNumber(5)
  $pb.PbList<ExceptionalClosure> get exceptionalClosures => $_getList(4);

  /// Definition of the opening hours by week day
  @$pb.TagNumber(7)
  $pb.PbList<WorkTimeDay> get workTimeDays => $_getList(5);
}

class UpdateOnOrganisationResponse extends $pb.GeneratedMessage {
  factory UpdateOnOrganisationResponse({
    Calendar? calendar,
  }) {
    final result = create();
    if (calendar != null) result.calendar = calendar;
    return result;
  }

  UpdateOnOrganisationResponse._();

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

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

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

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

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

  @$pb.TagNumber(1)
  Calendar get calendar => $_getN(0);
  @$pb.TagNumber(1)
  set calendar(Calendar value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasCalendar() => $_has(0);
  @$pb.TagNumber(1)
  void clearCalendar() => $_clearField(1);
  @$pb.TagNumber(1)
  Calendar ensureCalendar() => $_ensure(0);
}

/// Delete a calendar at organisation level
class DeleteOnOrganisationRequest extends $pb.GeneratedMessage {
  factory DeleteOnOrganisationRequest({
    $1.RequestOrganisationHeader? header,
    $core.String? iD,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    return result;
  }

  DeleteOnOrganisationRequest._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteOnOrganisationRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestOrganisationHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestOrganisationHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..hasRequiredFields = false
  ;

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

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

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

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

  @$pb.TagNumber(2)
  $core.String get iD => $_getSZ(1);
  @$pb.TagNumber(2)
  set iD($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
}

class DeleteOnOrganisationResponse extends $pb.GeneratedMessage {
  factory DeleteOnOrganisationResponse() => create();

  DeleteOnOrganisationResponse._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteOnOrganisationResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

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

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

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

/// GetPublicHolidays request
class GetPublicHolidaysRequest extends $pb.GeneratedMessage {
  factory GetPublicHolidaysRequest({
    $core.String? countryCode,
    $core.int? upToYear,
  }) {
    final result = create();
    if (countryCode != null) result.countryCode = countryCode;
    if (upToYear != null) result.upToYear = upToYear;
    return result;
  }

  GetPublicHolidaysRequest._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetPublicHolidaysRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'CountryCode', protoName: 'CountryCode')
    ..a<$core.int>(2, _omitFieldNames ? '' : 'UpToYear', $pb.PbFieldType.OU3, protoName: 'UpToYear')
    ..hasRequiredFields = false
  ;

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

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

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

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

  /// Year up to which generate the public holidays (from 2025 to 2199)
  @$pb.TagNumber(2)
  $core.int get upToYear => $_getIZ(1);
  @$pb.TagNumber(2)
  set upToYear($core.int value) => $_setUnsignedInt32(1, value);
  @$pb.TagNumber(2)
  $core.bool hasUpToYear() => $_has(1);
  @$pb.TagNumber(2)
  void clearUpToYear() => $_clearField(2);
}

/// GetPublicHolidays response
class GetPublicHolidaysResponse extends $pb.GeneratedMessage {
  factory GetPublicHolidaysResponse({
    $core.Iterable<ExceptionalClosure>? holidays,
  }) {
    final result = create();
    if (holidays != null) result.holidays.addAll(holidays);
    return result;
  }

  GetPublicHolidaysResponse._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetPublicHolidaysResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..pc<ExceptionalClosure>(1, _omitFieldNames ? '' : 'Holidays', $pb.PbFieldType.PM, protoName: 'Holidays', subBuilder: ExceptionalClosure.create)
    ..hasRequiredFields = false
  ;

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

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

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

  /// List of public holidays generated
  @$pb.TagNumber(1)
  $pb.PbList<ExceptionalClosure> get holidays => $_getList(0);
}

/// ComputeSLAPeriodOnOrganisationRequest
class ComputeSLAPeriodOnOrganisationRequest extends $pb.GeneratedMessage {
  factory ComputeSLAPeriodOnOrganisationRequest({
    $1.RequestOrganisationHeader? header,
    $core.String? iD,
    $core.Iterable<$1.Period>? minPeriods,
    $core.Iterable<$1.Period>? maxPeriods,
    $core.String? startSearchTime,
    $core.String? limitSearchTime,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    if (minPeriods != null) result.minPeriods.addAll(minPeriods);
    if (maxPeriods != null) result.maxPeriods.addAll(maxPeriods);
    if (startSearchTime != null) result.startSearchTime = startSearchTime;
    if (limitSearchTime != null) result.limitSearchTime = limitSearchTime;
    return result;
  }

  ComputeSLAPeriodOnOrganisationRequest._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ComputeSLAPeriodOnOrganisationRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestOrganisationHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestOrganisationHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..pc<$1.Period>(3, _omitFieldNames ? '' : 'minPeriods', $pb.PbFieldType.PM, protoName: 'minPeriods', subBuilder: $1.Period.create)
    ..pc<$1.Period>(4, _omitFieldNames ? '' : 'maxPeriods', $pb.PbFieldType.PM, protoName: 'maxPeriods', subBuilder: $1.Period.create)
    ..aOS(5, _omitFieldNames ? '' : 'StartSearchTime', protoName: 'StartSearchTime')
    ..aOS(6, _omitFieldNames ? '' : 'LimitSearchTime', protoName: 'LimitSearchTime')
    ..hasRequiredFields = false
  ;

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

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

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

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

  @$pb.TagNumber(2)
  $core.String get iD => $_getSZ(1);
  @$pb.TagNumber(2)
  set iD($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);

  @$pb.TagNumber(3)
  $pb.PbList<$1.Period> get minPeriods => $_getList(2);

  @$pb.TagNumber(4)
  $pb.PbList<$1.Period> get maxPeriods => $_getList(3);

  @$pb.TagNumber(5)
  $core.String get startSearchTime => $_getSZ(4);
  @$pb.TagNumber(5)
  set startSearchTime($core.String value) => $_setString(4, value);
  @$pb.TagNumber(5)
  $core.bool hasStartSearchTime() => $_has(4);
  @$pb.TagNumber(5)
  void clearStartSearchTime() => $_clearField(5);

  @$pb.TagNumber(6)
  $core.String get limitSearchTime => $_getSZ(5);
  @$pb.TagNumber(6)
  set limitSearchTime($core.String value) => $_setString(5, value);
  @$pb.TagNumber(6)
  $core.bool hasLimitSearchTime() => $_has(5);
  @$pb.TagNumber(6)
  void clearLimitSearchTime() => $_clearField(6);
}

/// Create a calendar at site level
class CreateOnSiteRequest extends $pb.GeneratedMessage {
  factory CreateOnSiteRequest({
    $1.RequestProjectHeader? header,
    $core.String? name,
    $core.String? description,
    $core.Iterable<ExceptionalClosure>? exceptionalClosures,
    $core.Iterable<WorkTimeDay>? workTimeDays,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (name != null) result.name = name;
    if (description != null) result.description = description;
    if (exceptionalClosures != null) result.exceptionalClosures.addAll(exceptionalClosures);
    if (workTimeDays != null) result.workTimeDays.addAll(workTimeDays);
    return result;
  }

  CreateOnSiteRequest._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateOnSiteRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOS(3, _omitFieldNames ? '' : 'Description', protoName: 'Description')
    ..pc<ExceptionalClosure>(4, _omitFieldNames ? '' : 'ExceptionalClosures', $pb.PbFieldType.PM, protoName: 'ExceptionalClosures', subBuilder: ExceptionalClosure.create)
    ..pc<WorkTimeDay>(7, _omitFieldNames ? '' : 'WorkTimeDays', $pb.PbFieldType.PM, protoName: 'WorkTimeDays', subBuilder: WorkTimeDay.create)
    ..hasRequiredFields = false
  ;

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

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

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

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

  /// Name of the calendar
  @$pb.TagNumber(2)
  $core.String get name => $_getSZ(1);
  @$pb.TagNumber(2)
  set name($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasName() => $_has(1);
  @$pb.TagNumber(2)
  void clearName() => $_clearField(2);

  /// Description of the calendar
  @$pb.TagNumber(3)
  $core.String get description => $_getSZ(2);
  @$pb.TagNumber(3)
  set description($core.String value) => $_setString(2, value);
  @$pb.TagNumber(3)
  $core.bool hasDescription() => $_has(2);
  @$pb.TagNumber(3)
  void clearDescription() => $_clearField(3);

  /// List of Exceptional closure
  @$pb.TagNumber(4)
  $pb.PbList<ExceptionalClosure> get exceptionalClosures => $_getList(3);

  /// Definition of the opening hours by week day
  @$pb.TagNumber(7)
  $pb.PbList<WorkTimeDay> get workTimeDays => $_getList(4);
}

class CreateOnSiteResponse extends $pb.GeneratedMessage {
  factory CreateOnSiteResponse({
    Calendar? calendar,
  }) {
    final result = create();
    if (calendar != null) result.calendar = calendar;
    return result;
  }

  CreateOnSiteResponse._();

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

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

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

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

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

  @$pb.TagNumber(1)
  Calendar get calendar => $_getN(0);
  @$pb.TagNumber(1)
  set calendar(Calendar value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasCalendar() => $_has(0);
  @$pb.TagNumber(1)
  void clearCalendar() => $_clearField(1);
  @$pb.TagNumber(1)
  Calendar ensureCalendar() => $_ensure(0);
}

/// Get a calendar at site level
class GetOnSiteRequest extends $pb.GeneratedMessage {
  factory GetOnSiteRequest({
    $1.RequestProjectHeader? header,
    $core.String? iD,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    return result;
  }

  GetOnSiteRequest._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetOnSiteRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..hasRequiredFields = false
  ;

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

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

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

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

  @$pb.TagNumber(2)
  $core.String get iD => $_getSZ(1);
  @$pb.TagNumber(2)
  set iD($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
}

class GetOnSiteResponse extends $pb.GeneratedMessage {
  factory GetOnSiteResponse({
    Calendar? calendar,
  }) {
    final result = create();
    if (calendar != null) result.calendar = calendar;
    return result;
  }

  GetOnSiteResponse._();

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

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

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

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

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

  @$pb.TagNumber(1)
  Calendar get calendar => $_getN(0);
  @$pb.TagNumber(1)
  set calendar(Calendar value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasCalendar() => $_has(0);
  @$pb.TagNumber(1)
  void clearCalendar() => $_clearField(1);
  @$pb.TagNumber(1)
  Calendar ensureCalendar() => $_ensure(0);
}

/// List  a calendar at site level
class ListOnSiteRequest extends $pb.GeneratedMessage {
  factory ListOnSiteRequest({
    $1.RequestProjectHeader? header,
  }) {
    final result = create();
    if (header != null) result.header = header;
    return result;
  }

  ListOnSiteRequest._();

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

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

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

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

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

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

class ListOnSiteResponse extends $pb.GeneratedMessage {
  factory ListOnSiteResponse({
    $core.Iterable<Calendar>? calendars,
  }) {
    final result = create();
    if (calendars != null) result.calendars.addAll(calendars);
    return result;
  }

  ListOnSiteResponse._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListOnSiteResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..pc<Calendar>(1, _omitFieldNames ? '' : 'Calendars', $pb.PbFieldType.PM, protoName: 'Calendars', subBuilder: Calendar.create)
    ..hasRequiredFields = false
  ;

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

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

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

  @$pb.TagNumber(1)
  $pb.PbList<Calendar> get calendars => $_getList(0);
}

/// Update a calendar at site level
class UpdateOnSiteRequest extends $pb.GeneratedMessage {
  factory UpdateOnSiteRequest({
    $1.RequestProjectHeader? header,
    $core.String? iD,
    $core.String? name,
    $core.String? description,
    $core.Iterable<ExceptionalClosure>? exceptionalClosures,
    $core.Iterable<WorkTimeDay>? workTimeDays,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    if (name != null) result.name = name;
    if (description != null) result.description = description;
    if (exceptionalClosures != null) result.exceptionalClosures.addAll(exceptionalClosures);
    if (workTimeDays != null) result.workTimeDays.addAll(workTimeDays);
    return result;
  }

  UpdateOnSiteRequest._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateOnSiteRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..aOS(3, _omitFieldNames ? '' : 'Name', protoName: 'Name')
    ..aOS(4, _omitFieldNames ? '' : 'Description', protoName: 'Description')
    ..pc<ExceptionalClosure>(5, _omitFieldNames ? '' : 'ExceptionalClosures', $pb.PbFieldType.PM, protoName: 'ExceptionalClosures', subBuilder: ExceptionalClosure.create)
    ..pc<WorkTimeDay>(7, _omitFieldNames ? '' : 'WorkTimeDays', $pb.PbFieldType.PM, protoName: 'WorkTimeDays', subBuilder: WorkTimeDay.create)
    ..hasRequiredFields = false
  ;

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

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

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

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

  /// Identifier of the calendar
  @$pb.TagNumber(2)
  $core.String get iD => $_getSZ(1);
  @$pb.TagNumber(2)
  set iD($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);

  /// Name of the calendar
  @$pb.TagNumber(3)
  $core.String get name => $_getSZ(2);
  @$pb.TagNumber(3)
  set name($core.String value) => $_setString(2, value);
  @$pb.TagNumber(3)
  $core.bool hasName() => $_has(2);
  @$pb.TagNumber(3)
  void clearName() => $_clearField(3);

  /// Description of the calendar
  @$pb.TagNumber(4)
  $core.String get description => $_getSZ(3);
  @$pb.TagNumber(4)
  set description($core.String value) => $_setString(3, value);
  @$pb.TagNumber(4)
  $core.bool hasDescription() => $_has(3);
  @$pb.TagNumber(4)
  void clearDescription() => $_clearField(4);

  /// List of Exceptional closure
  @$pb.TagNumber(5)
  $pb.PbList<ExceptionalClosure> get exceptionalClosures => $_getList(4);

  /// Definition of the opening hours by week day
  @$pb.TagNumber(7)
  $pb.PbList<WorkTimeDay> get workTimeDays => $_getList(5);
}

class UpdateOnSiteResponse extends $pb.GeneratedMessage {
  factory UpdateOnSiteResponse({
    Calendar? calendar,
  }) {
    final result = create();
    if (calendar != null) result.calendar = calendar;
    return result;
  }

  UpdateOnSiteResponse._();

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

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

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

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

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

  @$pb.TagNumber(1)
  Calendar get calendar => $_getN(0);
  @$pb.TagNumber(1)
  set calendar(Calendar value) => $_setField(1, value);
  @$pb.TagNumber(1)
  $core.bool hasCalendar() => $_has(0);
  @$pb.TagNumber(1)
  void clearCalendar() => $_clearField(1);
  @$pb.TagNumber(1)
  Calendar ensureCalendar() => $_ensure(0);
}

/// Delete a calendar at site level
class DeleteOnSiteRequest extends $pb.GeneratedMessage {
  factory DeleteOnSiteRequest({
    $1.RequestProjectHeader? header,
    $core.String? iD,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    return result;
  }

  DeleteOnSiteRequest._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteOnSiteRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..hasRequiredFields = false
  ;

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

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

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

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

  @$pb.TagNumber(2)
  $core.String get iD => $_getSZ(1);
  @$pb.TagNumber(2)
  set iD($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);
}

class DeleteOnSiteResponse extends $pb.GeneratedMessage {
  factory DeleteOnSiteResponse() => create();

  DeleteOnSiteResponse._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteOnSiteResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

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

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

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

/// ComputeSLAPeriodOnSiteRequest
class ComputeSLAPeriodOnSiteRequest extends $pb.GeneratedMessage {
  factory ComputeSLAPeriodOnSiteRequest({
    $1.RequestProjectHeader? header,
    $core.String? iD,
    $core.Iterable<$1.Period>? minPeriods,
    $core.Iterable<$1.Period>? maxPeriods,
    $core.String? startSearchTime,
    $core.String? limitSearchTime,
  }) {
    final result = create();
    if (header != null) result.header = header;
    if (iD != null) result.iD = iD;
    if (minPeriods != null) result.minPeriods.addAll(minPeriods);
    if (maxPeriods != null) result.maxPeriods.addAll(maxPeriods);
    if (startSearchTime != null) result.startSearchTime = startSearchTime;
    if (limitSearchTime != null) result.limitSearchTime = limitSearchTime;
    return result;
  }

  ComputeSLAPeriodOnSiteRequest._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ComputeSLAPeriodOnSiteRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..aOM<$1.RequestProjectHeader>(1, _omitFieldNames ? '' : 'Header', protoName: 'Header', subBuilder: $1.RequestProjectHeader.create)
    ..aOS(2, _omitFieldNames ? '' : 'ID', protoName: 'ID')
    ..pc<$1.Period>(3, _omitFieldNames ? '' : 'minPeriods', $pb.PbFieldType.PM, protoName: 'minPeriods', subBuilder: $1.Period.create)
    ..pc<$1.Period>(4, _omitFieldNames ? '' : 'maxPeriods', $pb.PbFieldType.PM, protoName: 'maxPeriods', subBuilder: $1.Period.create)
    ..aOS(5, _omitFieldNames ? '' : 'StartSearchTime', protoName: 'StartSearchTime')
    ..aOS(6, _omitFieldNames ? '' : 'LimitSearchTime', protoName: 'LimitSearchTime')
    ..hasRequiredFields = false
  ;

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

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

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

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

  @$pb.TagNumber(2)
  $core.String get iD => $_getSZ(1);
  @$pb.TagNumber(2)
  set iD($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasID() => $_has(1);
  @$pb.TagNumber(2)
  void clearID() => $_clearField(2);

  @$pb.TagNumber(3)
  $pb.PbList<$1.Period> get minPeriods => $_getList(2);

  @$pb.TagNumber(4)
  $pb.PbList<$1.Period> get maxPeriods => $_getList(3);

  @$pb.TagNumber(5)
  $core.String get startSearchTime => $_getSZ(4);
  @$pb.TagNumber(5)
  set startSearchTime($core.String value) => $_setString(4, value);
  @$pb.TagNumber(5)
  $core.bool hasStartSearchTime() => $_has(4);
  @$pb.TagNumber(5)
  void clearStartSearchTime() => $_clearField(5);

  @$pb.TagNumber(6)
  $core.String get limitSearchTime => $_getSZ(5);
  @$pb.TagNumber(6)
  set limitSearchTime($core.String value) => $_setString(5, value);
  @$pb.TagNumber(6)
  $core.bool hasLimitSearchTime() => $_has(5);
  @$pb.TagNumber(6)
  void clearLimitSearchTime() => $_clearField(6);
}

class ComputeSLAPeriodResponse extends $pb.GeneratedMessage {
  factory ComputeSLAPeriodResponse({
    $core.String? startSLA,
    $core.String? endSLA,
  }) {
    final result = create();
    if (startSLA != null) result.startSLA = startSLA;
    if (endSLA != null) result.endSLA = endSLA;
    return result;
  }

  ComputeSLAPeriodResponse._();

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

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

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

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

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

  @$pb.TagNumber(1)
  $core.String get startSLA => $_getSZ(0);
  @$pb.TagNumber(1)
  set startSLA($core.String value) => $_setString(0, value);
  @$pb.TagNumber(1)
  $core.bool hasStartSLA() => $_has(0);
  @$pb.TagNumber(1)
  void clearStartSLA() => $_clearField(1);

  @$pb.TagNumber(2)
  $core.String get endSLA => $_getSZ(1);
  @$pb.TagNumber(2)
  set endSLA($core.String value) => $_setString(1, value);
  @$pb.TagNumber(2)
  $core.bool hasEndSLA() => $_has(1);
  @$pb.TagNumber(2)
  void clearEndSLA() => $_clearField(2);
}

/// Delete all calendars for an organisation
class DeleteAllForOrganisationRequest extends $pb.GeneratedMessage {
  factory DeleteAllForOrganisationRequest({
    $core.String? organisationID,
  }) {
    final result = create();
    if (organisationID != null) result.organisationID = organisationID;
    return result;
  }

  DeleteAllForOrganisationRequest._();

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

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

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

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

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

  @$pb.TagNumber(1)
  $core.String get organisationID => $_getSZ(0);
  @$pb.TagNumber(1)
  set organisationID($core.String value) => $_setString(0, value);
  @$pb.TagNumber(1)
  $core.bool hasOrganisationID() => $_has(0);
  @$pb.TagNumber(1)
  void clearOrganisationID() => $_clearField(1);
}

class DeleteAllForOrganisationResponse extends $pb.GeneratedMessage {
  factory DeleteAllForOrganisationResponse() => create();

  DeleteAllForOrganisationResponse._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteAllForOrganisationResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

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

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

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

/// Delete all calendars for a project
class DeleteAllForProjectRequest extends $pb.GeneratedMessage {
  factory DeleteAllForProjectRequest({
    $core.String? projectID,
  }) {
    final result = create();
    if (projectID != null) result.projectID = projectID;
    return result;
  }

  DeleteAllForProjectRequest._();

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

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

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

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

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

  @$pb.TagNumber(1)
  $core.String get projectID => $_getSZ(0);
  @$pb.TagNumber(1)
  set projectID($core.String value) => $_setString(0, value);
  @$pb.TagNumber(1)
  $core.bool hasProjectID() => $_has(0);
  @$pb.TagNumber(1)
  void clearProjectID() => $_clearField(1);
}

class DeleteAllForProjectResponse extends $pb.GeneratedMessage {
  factory DeleteAllForProjectResponse() => create();

  DeleteAllForProjectResponse._();

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

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeleteAllForProjectResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'api'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

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

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

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


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