// This is a generated file - do not edit.
//
// Generated from siteBooking.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:async' as $async;
import 'dart:core' as $core;

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

import 'siteBooking.pb.dart' as $0;

export 'siteBooking.pb.dart';

@$pb.GrpcServiceName('api.BookingService')
class BookingServiceClient extends $grpc.Client {
  /// The hostname for this service.
  static const $core.String defaultHost = '';

  /// OAuth scopes needed for the client.
  static const $core.List<$core.String> oauthScopes = [
    '',
  ];

  BookingServiceClient(super.channel, {super.options, super.interceptors});

  $grpc.ResponseFuture<$0.GetBookingSlotsResponse> getAvailableSlots($0.GetBookingSlotsRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$getAvailableSlots, request, options: options);
  }

  $grpc.ResponseFuture<$0.GetBookingSlotsResponse> getAllSlots($0.GetBookingSlotsRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$getAllSlots, request, options: options);
  }

  $grpc.ResponseFuture<$0.BookBookingAppointmentResponse> bookAppointment($0.BookBookingAppointmentRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$bookAppointment, request, options: options);
  }

  $grpc.ResponseFuture<$0.BookBookingAppointmentResponse> bookAppointmentNoReference($0.BookBookingAppointmentRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$bookAppointmentNoReference, request, options: options);
  }

  $grpc.ResponseFuture<$0.BookBookingAppointmentResponse> forceBookAppointment($0.BookBookingAppointmentRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$forceBookAppointment, request, options: options);
  }

  $grpc.ResponseFuture<$0.CancelBookingAppointmentResponse> cancelAppointment($0.CancelBookingAppointmentRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$cancelAppointment, request, options: options);
  }

  $grpc.ResponseFuture<$0.CancelBookingAppointmentResponse> forceCancelAppointment($0.CancelBookingAppointmentRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$forceCancelAppointment, request, options: options);
  }

  $grpc.ResponseFuture<$0.DeleteBookingAppointmentResponse> deleteAppointment($0.DeleteBookingAppointmentRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$deleteAppointment, request, options: options);
  }

  $grpc.ResponseFuture<$0.BookBookingAppointmentResponse> updateAppointment($0.UpdateBookingAppointmentRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$updateAppointment, request, options: options);
  }

  $grpc.ResponseFuture<$0.BookBookingAppointmentResponse> updateAppointmentNoReference($0.UpdateBookingAppointmentRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$updateAppointmentNoReference, request, options: options);
  }

  $grpc.ResponseFuture<$0.BookBookingAppointmentResponse> forceUpdateAppointment($0.UpdateBookingAppointmentRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$forceUpdateAppointment, request, options: options);
  }

  $grpc.ResponseFuture<$0.BookBookingAppointmentResponse> wMSUpdateAppointment($0.WMSUpdateBookingAppointmentRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$wMSUpdateAppointment, request, options: options);
  }

  $grpc.ResponseFuture<$0.BookBookingAppointmentResponse> rescheduleAppointment($0.RescheduleBookingAppointmentRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$rescheduleAppointment, request, options: options);
  }

  $grpc.ResponseFuture<$0.BookBookingAppointmentResponse> forceRescheduleAppointment($0.RescheduleBookingAppointmentRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$forceRescheduleAppointment, request, options: options);
  }

  $grpc.ResponseFuture<$0.CheckBookingAppointmentEditableResponse> checkAppointmentEditable($0.CheckBookingAppointmentEditableRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$checkAppointmentEditable, request, options: options);
  }

  $grpc.ResponseFuture<$0.LockBookingResponse> lockBooking($0.LockBookingRequest request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$lockBooking, request, options: options);
  }

    // method descriptors

  static final _$getAvailableSlots = $grpc.ClientMethod<$0.GetBookingSlotsRequest, $0.GetBookingSlotsResponse>(
      '/api.BookingService/GetAvailableSlots',
      ($0.GetBookingSlotsRequest value) => value.writeToBuffer(),
      $0.GetBookingSlotsResponse.fromBuffer);
  static final _$getAllSlots = $grpc.ClientMethod<$0.GetBookingSlotsRequest, $0.GetBookingSlotsResponse>(
      '/api.BookingService/GetAllSlots',
      ($0.GetBookingSlotsRequest value) => value.writeToBuffer(),
      $0.GetBookingSlotsResponse.fromBuffer);
  static final _$bookAppointment = $grpc.ClientMethod<$0.BookBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
      '/api.BookingService/BookAppointment',
      ($0.BookBookingAppointmentRequest value) => value.writeToBuffer(),
      $0.BookBookingAppointmentResponse.fromBuffer);
  static final _$bookAppointmentNoReference = $grpc.ClientMethod<$0.BookBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
      '/api.BookingService/BookAppointmentNoReference',
      ($0.BookBookingAppointmentRequest value) => value.writeToBuffer(),
      $0.BookBookingAppointmentResponse.fromBuffer);
  static final _$forceBookAppointment = $grpc.ClientMethod<$0.BookBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
      '/api.BookingService/ForceBookAppointment',
      ($0.BookBookingAppointmentRequest value) => value.writeToBuffer(),
      $0.BookBookingAppointmentResponse.fromBuffer);
  static final _$cancelAppointment = $grpc.ClientMethod<$0.CancelBookingAppointmentRequest, $0.CancelBookingAppointmentResponse>(
      '/api.BookingService/CancelAppointment',
      ($0.CancelBookingAppointmentRequest value) => value.writeToBuffer(),
      $0.CancelBookingAppointmentResponse.fromBuffer);
  static final _$forceCancelAppointment = $grpc.ClientMethod<$0.CancelBookingAppointmentRequest, $0.CancelBookingAppointmentResponse>(
      '/api.BookingService/ForceCancelAppointment',
      ($0.CancelBookingAppointmentRequest value) => value.writeToBuffer(),
      $0.CancelBookingAppointmentResponse.fromBuffer);
  static final _$deleteAppointment = $grpc.ClientMethod<$0.DeleteBookingAppointmentRequest, $0.DeleteBookingAppointmentResponse>(
      '/api.BookingService/DeleteAppointment',
      ($0.DeleteBookingAppointmentRequest value) => value.writeToBuffer(),
      $0.DeleteBookingAppointmentResponse.fromBuffer);
  static final _$updateAppointment = $grpc.ClientMethod<$0.UpdateBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
      '/api.BookingService/UpdateAppointment',
      ($0.UpdateBookingAppointmentRequest value) => value.writeToBuffer(),
      $0.BookBookingAppointmentResponse.fromBuffer);
  static final _$updateAppointmentNoReference = $grpc.ClientMethod<$0.UpdateBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
      '/api.BookingService/UpdateAppointmentNoReference',
      ($0.UpdateBookingAppointmentRequest value) => value.writeToBuffer(),
      $0.BookBookingAppointmentResponse.fromBuffer);
  static final _$forceUpdateAppointment = $grpc.ClientMethod<$0.UpdateBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
      '/api.BookingService/ForceUpdateAppointment',
      ($0.UpdateBookingAppointmentRequest value) => value.writeToBuffer(),
      $0.BookBookingAppointmentResponse.fromBuffer);
  static final _$wMSUpdateAppointment = $grpc.ClientMethod<$0.WMSUpdateBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
      '/api.BookingService/WMSUpdateAppointment',
      ($0.WMSUpdateBookingAppointmentRequest value) => value.writeToBuffer(),
      $0.BookBookingAppointmentResponse.fromBuffer);
  static final _$rescheduleAppointment = $grpc.ClientMethod<$0.RescheduleBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
      '/api.BookingService/RescheduleAppointment',
      ($0.RescheduleBookingAppointmentRequest value) => value.writeToBuffer(),
      $0.BookBookingAppointmentResponse.fromBuffer);
  static final _$forceRescheduleAppointment = $grpc.ClientMethod<$0.RescheduleBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
      '/api.BookingService/ForceRescheduleAppointment',
      ($0.RescheduleBookingAppointmentRequest value) => value.writeToBuffer(),
      $0.BookBookingAppointmentResponse.fromBuffer);
  static final _$checkAppointmentEditable = $grpc.ClientMethod<$0.CheckBookingAppointmentEditableRequest, $0.CheckBookingAppointmentEditableResponse>(
      '/api.BookingService/CheckAppointmentEditable',
      ($0.CheckBookingAppointmentEditableRequest value) => value.writeToBuffer(),
      $0.CheckBookingAppointmentEditableResponse.fromBuffer);
  static final _$lockBooking = $grpc.ClientMethod<$0.LockBookingRequest, $0.LockBookingResponse>(
      '/api.BookingService/LockBooking',
      ($0.LockBookingRequest value) => value.writeToBuffer(),
      $0.LockBookingResponse.fromBuffer);
}

@$pb.GrpcServiceName('api.BookingService')
abstract class BookingServiceBase extends $grpc.Service {
  $core.String get $name => 'api.BookingService';

  BookingServiceBase() {
    $addMethod($grpc.ServiceMethod<$0.GetBookingSlotsRequest, $0.GetBookingSlotsResponse>(
        'GetAvailableSlots',
        getAvailableSlots_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.GetBookingSlotsRequest.fromBuffer(value),
        ($0.GetBookingSlotsResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.GetBookingSlotsRequest, $0.GetBookingSlotsResponse>(
        'GetAllSlots',
        getAllSlots_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.GetBookingSlotsRequest.fromBuffer(value),
        ($0.GetBookingSlotsResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.BookBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
        'BookAppointment',
        bookAppointment_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.BookBookingAppointmentRequest.fromBuffer(value),
        ($0.BookBookingAppointmentResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.BookBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
        'BookAppointmentNoReference',
        bookAppointmentNoReference_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.BookBookingAppointmentRequest.fromBuffer(value),
        ($0.BookBookingAppointmentResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.BookBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
        'ForceBookAppointment',
        forceBookAppointment_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.BookBookingAppointmentRequest.fromBuffer(value),
        ($0.BookBookingAppointmentResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.CancelBookingAppointmentRequest, $0.CancelBookingAppointmentResponse>(
        'CancelAppointment',
        cancelAppointment_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.CancelBookingAppointmentRequest.fromBuffer(value),
        ($0.CancelBookingAppointmentResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.CancelBookingAppointmentRequest, $0.CancelBookingAppointmentResponse>(
        'ForceCancelAppointment',
        forceCancelAppointment_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.CancelBookingAppointmentRequest.fromBuffer(value),
        ($0.CancelBookingAppointmentResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.DeleteBookingAppointmentRequest, $0.DeleteBookingAppointmentResponse>(
        'DeleteAppointment',
        deleteAppointment_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.DeleteBookingAppointmentRequest.fromBuffer(value),
        ($0.DeleteBookingAppointmentResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.UpdateBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
        'UpdateAppointment',
        updateAppointment_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.UpdateBookingAppointmentRequest.fromBuffer(value),
        ($0.BookBookingAppointmentResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.UpdateBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
        'UpdateAppointmentNoReference',
        updateAppointmentNoReference_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.UpdateBookingAppointmentRequest.fromBuffer(value),
        ($0.BookBookingAppointmentResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.UpdateBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
        'ForceUpdateAppointment',
        forceUpdateAppointment_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.UpdateBookingAppointmentRequest.fromBuffer(value),
        ($0.BookBookingAppointmentResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.WMSUpdateBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
        'WMSUpdateAppointment',
        wMSUpdateAppointment_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.WMSUpdateBookingAppointmentRequest.fromBuffer(value),
        ($0.BookBookingAppointmentResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.RescheduleBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
        'RescheduleAppointment',
        rescheduleAppointment_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.RescheduleBookingAppointmentRequest.fromBuffer(value),
        ($0.BookBookingAppointmentResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.RescheduleBookingAppointmentRequest, $0.BookBookingAppointmentResponse>(
        'ForceRescheduleAppointment',
        forceRescheduleAppointment_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.RescheduleBookingAppointmentRequest.fromBuffer(value),
        ($0.BookBookingAppointmentResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.CheckBookingAppointmentEditableRequest, $0.CheckBookingAppointmentEditableResponse>(
        'CheckAppointmentEditable',
        checkAppointmentEditable_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.CheckBookingAppointmentEditableRequest.fromBuffer(value),
        ($0.CheckBookingAppointmentEditableResponse value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.LockBookingRequest, $0.LockBookingResponse>(
        'LockBooking',
        lockBooking_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.LockBookingRequest.fromBuffer(value),
        ($0.LockBookingResponse value) => value.writeToBuffer()));
  }

  $async.Future<$0.GetBookingSlotsResponse> getAvailableSlots_Pre($grpc.ServiceCall $call, $async.Future<$0.GetBookingSlotsRequest> $request) async {
    return getAvailableSlots($call, await $request);
  }

  $async.Future<$0.GetBookingSlotsResponse> getAvailableSlots($grpc.ServiceCall call, $0.GetBookingSlotsRequest request);

  $async.Future<$0.GetBookingSlotsResponse> getAllSlots_Pre($grpc.ServiceCall $call, $async.Future<$0.GetBookingSlotsRequest> $request) async {
    return getAllSlots($call, await $request);
  }

  $async.Future<$0.GetBookingSlotsResponse> getAllSlots($grpc.ServiceCall call, $0.GetBookingSlotsRequest request);

  $async.Future<$0.BookBookingAppointmentResponse> bookAppointment_Pre($grpc.ServiceCall $call, $async.Future<$0.BookBookingAppointmentRequest> $request) async {
    return bookAppointment($call, await $request);
  }

  $async.Future<$0.BookBookingAppointmentResponse> bookAppointment($grpc.ServiceCall call, $0.BookBookingAppointmentRequest request);

  $async.Future<$0.BookBookingAppointmentResponse> bookAppointmentNoReference_Pre($grpc.ServiceCall $call, $async.Future<$0.BookBookingAppointmentRequest> $request) async {
    return bookAppointmentNoReference($call, await $request);
  }

  $async.Future<$0.BookBookingAppointmentResponse> bookAppointmentNoReference($grpc.ServiceCall call, $0.BookBookingAppointmentRequest request);

  $async.Future<$0.BookBookingAppointmentResponse> forceBookAppointment_Pre($grpc.ServiceCall $call, $async.Future<$0.BookBookingAppointmentRequest> $request) async {
    return forceBookAppointment($call, await $request);
  }

  $async.Future<$0.BookBookingAppointmentResponse> forceBookAppointment($grpc.ServiceCall call, $0.BookBookingAppointmentRequest request);

  $async.Future<$0.CancelBookingAppointmentResponse> cancelAppointment_Pre($grpc.ServiceCall $call, $async.Future<$0.CancelBookingAppointmentRequest> $request) async {
    return cancelAppointment($call, await $request);
  }

  $async.Future<$0.CancelBookingAppointmentResponse> cancelAppointment($grpc.ServiceCall call, $0.CancelBookingAppointmentRequest request);

  $async.Future<$0.CancelBookingAppointmentResponse> forceCancelAppointment_Pre($grpc.ServiceCall $call, $async.Future<$0.CancelBookingAppointmentRequest> $request) async {
    return forceCancelAppointment($call, await $request);
  }

  $async.Future<$0.CancelBookingAppointmentResponse> forceCancelAppointment($grpc.ServiceCall call, $0.CancelBookingAppointmentRequest request);

  $async.Future<$0.DeleteBookingAppointmentResponse> deleteAppointment_Pre($grpc.ServiceCall $call, $async.Future<$0.DeleteBookingAppointmentRequest> $request) async {
    return deleteAppointment($call, await $request);
  }

  $async.Future<$0.DeleteBookingAppointmentResponse> deleteAppointment($grpc.ServiceCall call, $0.DeleteBookingAppointmentRequest request);

  $async.Future<$0.BookBookingAppointmentResponse> updateAppointment_Pre($grpc.ServiceCall $call, $async.Future<$0.UpdateBookingAppointmentRequest> $request) async {
    return updateAppointment($call, await $request);
  }

  $async.Future<$0.BookBookingAppointmentResponse> updateAppointment($grpc.ServiceCall call, $0.UpdateBookingAppointmentRequest request);

  $async.Future<$0.BookBookingAppointmentResponse> updateAppointmentNoReference_Pre($grpc.ServiceCall $call, $async.Future<$0.UpdateBookingAppointmentRequest> $request) async {
    return updateAppointmentNoReference($call, await $request);
  }

  $async.Future<$0.BookBookingAppointmentResponse> updateAppointmentNoReference($grpc.ServiceCall call, $0.UpdateBookingAppointmentRequest request);

  $async.Future<$0.BookBookingAppointmentResponse> forceUpdateAppointment_Pre($grpc.ServiceCall $call, $async.Future<$0.UpdateBookingAppointmentRequest> $request) async {
    return forceUpdateAppointment($call, await $request);
  }

  $async.Future<$0.BookBookingAppointmentResponse> forceUpdateAppointment($grpc.ServiceCall call, $0.UpdateBookingAppointmentRequest request);

  $async.Future<$0.BookBookingAppointmentResponse> wMSUpdateAppointment_Pre($grpc.ServiceCall $call, $async.Future<$0.WMSUpdateBookingAppointmentRequest> $request) async {
    return wMSUpdateAppointment($call, await $request);
  }

  $async.Future<$0.BookBookingAppointmentResponse> wMSUpdateAppointment($grpc.ServiceCall call, $0.WMSUpdateBookingAppointmentRequest request);

  $async.Future<$0.BookBookingAppointmentResponse> rescheduleAppointment_Pre($grpc.ServiceCall $call, $async.Future<$0.RescheduleBookingAppointmentRequest> $request) async {
    return rescheduleAppointment($call, await $request);
  }

  $async.Future<$0.BookBookingAppointmentResponse> rescheduleAppointment($grpc.ServiceCall call, $0.RescheduleBookingAppointmentRequest request);

  $async.Future<$0.BookBookingAppointmentResponse> forceRescheduleAppointment_Pre($grpc.ServiceCall $call, $async.Future<$0.RescheduleBookingAppointmentRequest> $request) async {
    return forceRescheduleAppointment($call, await $request);
  }

  $async.Future<$0.BookBookingAppointmentResponse> forceRescheduleAppointment($grpc.ServiceCall call, $0.RescheduleBookingAppointmentRequest request);

  $async.Future<$0.CheckBookingAppointmentEditableResponse> checkAppointmentEditable_Pre($grpc.ServiceCall $call, $async.Future<$0.CheckBookingAppointmentEditableRequest> $request) async {
    return checkAppointmentEditable($call, await $request);
  }

  $async.Future<$0.CheckBookingAppointmentEditableResponse> checkAppointmentEditable($grpc.ServiceCall call, $0.CheckBookingAppointmentEditableRequest request);

  $async.Future<$0.LockBookingResponse> lockBooking_Pre($grpc.ServiceCall $call, $async.Future<$0.LockBookingRequest> $request) async {
    return lockBooking($call, await $request);
  }

  $async.Future<$0.LockBookingResponse> lockBooking($grpc.ServiceCall call, $0.LockBookingRequest request);

}
