class DoctorsListResponseModel {
  int? clinicID;
  String? clinicName;
  String? clinicNameN;
  String? doctorTitle;
  int? iD;
  String? name;
  int? projectID;
  String? projectName;
  num? actualDoctorRate;
  int? clinicRoomNo;
  dynamic date;
  dynamic dayName;
  num? decimalDoctorRate;
  dynamic doctorAvailability;
  int? doctorID;
  String? doctorImageURL;
  String? doctorMobileNumber;
  dynamic doctorProfile;
  dynamic doctorProfileInfo;
  num? doctorRate;
  num? doctorStarsRate;
  int? employmentType;
  int? gender;
  String? genderDescription;
  int? hISRegionId;
  bool? isActive;
  bool? isAllowWaitList;
  bool? isAppointmentAllowed;
  bool? isDoctorAllowVedioCall;
  bool? isDoctorDummy;
  bool? isDoctorHasPrePostImages;
  bool? isHMC;
  bool? isHmg;
  bool? isLiveCare;
  String? latitude;
  String? longitude;
  String? nationalityFlagURL;
  String? nationalityID;
  String? nationalityName;
  dynamic nearestFreeSlot;
  int? noOfFreeSlotsAvailable;
  num? noOfPatientsRate;
  dynamic originalClinicID;
  int? personRate;
  num? projectDistanceInKiloMeters;
  String? projectNameBottom;
  String? projectNameTop;
  String? qR;
  dynamic qRString;
  num? rateNumber;
  String? regionName;
  dynamic regionNameN;
  dynamic serviceID;
  String? setupID;
  List<String>? speciality;
  List<String>? specialityN;
  int? transactionType;
  int? virtualEmploymentType;
  dynamic workingHours;
  dynamic vida3Id;
  String? region;
  String? regionArabic;
  String? regionEnglish;
  String? regionID;
  String? projectBottomName;
  String? projectTopName;
  int? calcID;

  DoctorsListResponseModel({
    this.clinicID,
    this.clinicName,
    this.clinicNameN,
    this.doctorTitle,
    this.iD,
    this.name,
    this.projectID,
    this.projectName,
    this.actualDoctorRate,
    this.clinicRoomNo,
    this.date,
    this.dayName,
    this.decimalDoctorRate,
    this.doctorAvailability,
    this.doctorID,
    this.doctorImageURL,
    this.doctorMobileNumber,
    this.doctorProfile,
    this.doctorProfileInfo,
    this.doctorRate,
    this.doctorStarsRate,
    this.employmentType,
    this.gender,
    this.genderDescription,
    this.hISRegionId,
    this.isActive,
    this.isAllowWaitList,
    this.isAppointmentAllowed,
    this.isDoctorAllowVedioCall,
    this.isDoctorDummy,
    this.isDoctorHasPrePostImages,
    this.isHMC,
    this.isHmg,
    this.isLiveCare,
    this.latitude,
    this.longitude,
    this.nationalityFlagURL,
    this.nationalityID,
    this.nationalityName,
    this.nearestFreeSlot,
    this.noOfFreeSlotsAvailable,
    this.noOfPatientsRate,
    this.originalClinicID,
    this.personRate,
    this.projectDistanceInKiloMeters,
    this.projectNameBottom,
    this.projectNameTop,
    this.qR,
    this.qRString,
    this.rateNumber,
    this.regionName,
    this.regionNameN,
    this.serviceID,
    this.setupID,
    this.speciality,
    this.specialityN,
    this.transactionType,
    this.virtualEmploymentType,
    this.workingHours,
    this.vida3Id,
    this.region,
    this.regionArabic,
    this.regionEnglish,
    this.regionID,
    this.projectBottomName,
    this.projectTopName,
    this.calcID,
  });

  DoctorsListResponseModel.fromJson(Map<String, dynamic> json) {
    clinicID = json['ClinicID'];
    clinicName = json['ClinicName'];
    clinicNameN = json['ClinicNameN'];
    doctorTitle = json['DoctorTitle'];
    iD = json['ID'];
    name = json['Name'] ?? json["DoctorName"];
    projectID = json['ProjectID'];
    projectName = json['ProjectName'];
    actualDoctorRate = json['ActualDoctorRate'];
    clinicRoomNo = json['ClinicRoomNo'];
    date = json['Date'];
    dayName = json['DayName'];
    decimalDoctorRate = json['DecimalDoctorRate'];
    doctorAvailability = json['DoctorAvailability'];
    doctorID = json['DoctorID'];
    doctorImageURL = json['DoctorImageURL'];
    doctorMobileNumber = json['DoctorMobileNumber'];
    doctorProfile = json['DoctorProfile'];
    doctorProfileInfo = json['DoctorProfileInfo'];
    doctorRate = json['DoctorRate'];
    doctorStarsRate = json['DoctorStarsRate'];
    employmentType = json['EmploymentType'];
    gender = json['Gender'];
    genderDescription = json['GenderDescription'];
    hISRegionId = json['HISRegionId'];
    isActive = json['IsActive'];
    isAllowWaitList = json['IsAllowWaitList'];
    isAppointmentAllowed = json['IsAppointmentAllowed'];
    isDoctorAllowVedioCall = json['IsDoctorAllowVedioCall'];
    isDoctorDummy = json['IsDoctorDummy'];
    isDoctorHasPrePostImages = json['IsDoctorHasPrePostImages'];
    isHMC = json['IsHMC'];
    isHmg = json['IsHmg'];
    isLiveCare = json['IsLiveCare'];
    latitude = json['Latitude'];
    longitude = json['Longitude'];
    nationalityFlagURL = json['NationalityFlagURL'];
    nationalityID = json['NationalityID'];
    nationalityName = json['NationalityName'] ?? json["Nationality"];
    nearestFreeSlot = json['NearestFreeSlot'];
    noOfFreeSlotsAvailable = json['NoOfFreeSlotsAvailable'];
    noOfPatientsRate = json['NoOfPatientsRate'];
    originalClinicID = json['OriginalClinicID'];
    personRate = json['PersonRate'];
    projectDistanceInKiloMeters = json['ProjectDistanceInKiloMeters'];
    projectNameBottom = json['ProjectNameBottom'];
    projectNameTop = json['ProjectNameTop'];
    qR = json['QR'];
    qRString = json['QRString'];
    rateNumber = json['RateNumber'];
    regionName = json['RegionName'];
    regionNameN = json['RegionNameN'];
    serviceID = json['ServiceID'];
    setupID = json['SetupID'];
    speciality = json['Speciality'] != null ? json['Speciality'].cast<String>() : [];
    specialityN = json['SpecialityN'] != null ? json['SpecialityN'].cast<String>() : [];
    transactionType = json['TransactionType'];
    virtualEmploymentType = json['VirtualEmploymentType'];
    workingHours = json['WorkingHours'];
    vida3Id = json['vida3Id'];
    regionArabic = json['RegionNameN'];
    regionEnglish = json['RegionName'];
    projectBottomName = json['ProjectNameBottom'];
    projectTopName = json['ProjectNameTop'];
    calcID = json["CalcID"];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['ClinicID'] = this.clinicID;
    data['ClinicName'] = this.clinicName;
    data['ClinicNameN'] = this.clinicNameN;
    data['DoctorTitle'] = this.doctorTitle;
    data['ID'] = this.iD;
    data['Name'] = this.name;
    data['ProjectID'] = this.projectID;
    data['ProjectName'] = this.projectName;
    data['ActualDoctorRate'] = this.actualDoctorRate;
    data['ClinicRoomNo'] = this.clinicRoomNo;
    data['Date'] = this.date;
    data['DayName'] = this.dayName;
    data['DecimalDoctorRate'] = this.decimalDoctorRate;
    data['DoctorAvailability'] = this.doctorAvailability;
    data['DoctorID'] = this.doctorID;
    data['DoctorImageURL'] = this.doctorImageURL;
    data['DoctorMobileNumber'] = this.doctorMobileNumber;
    data['DoctorProfile'] = this.doctorProfile;
    data['DoctorProfileInfo'] = this.doctorProfileInfo;
    data['DoctorRate'] = this.doctorRate;
    data['DoctorStarsRate'] = this.doctorStarsRate;
    data['EmploymentType'] = this.employmentType;
    data['Gender'] = this.gender;
    data['GenderDescription'] = this.genderDescription;
    data['HISRegionId'] = this.hISRegionId;
    data['IsActive'] = this.isActive;
    data['IsAllowWaitList'] = this.isAllowWaitList;
    data['IsAppointmentAllowed'] = this.isAppointmentAllowed;
    data['IsDoctorAllowVedioCall'] = this.isDoctorAllowVedioCall;
    data['IsDoctorDummy'] = this.isDoctorDummy;
    data['IsDoctorHasPrePostImages'] = this.isDoctorHasPrePostImages;
    data['IsHMC'] = this.isHMC;
    data['IsHmg'] = this.isHmg;
    data['IsLiveCare'] = this.isLiveCare;
    data['Latitude'] = this.latitude;
    data['Longitude'] = this.longitude;
    data['NationalityFlagURL'] = this.nationalityFlagURL;
    data['NationalityID'] = this.nationalityID;
    data['NationalityName'] = this.nationalityName;
    data['NearestFreeSlot'] = this.nearestFreeSlot;
    data['NoOfFreeSlotsAvailable'] = this.noOfFreeSlotsAvailable;
    data['NoOfPatientsRate'] = this.noOfPatientsRate;
    data['OriginalClinicID'] = this.originalClinicID;
    data['PersonRate'] = this.personRate;
    data['ProjectDistanceInKiloMeters'] = this.projectDistanceInKiloMeters;
    data['ProjectNameBottom'] = this.projectNameBottom;
    data['ProjectNameTop'] = this.projectNameTop;
    data['QR'] = this.qR;
    data['QRString'] = this.qRString;
    data['RateNumber'] = this.rateNumber;
    data['RegionName'] = this.regionName;
    data['RegionNameN'] = this.regionNameN;
    data['ServiceID'] = this.serviceID;
    data['SetupID'] = this.setupID;
    data['Speciality'] = this.speciality;
    data['SpecialityN'] = this.specialityN;
    data['TransactionType'] = this.transactionType;
    data['VirtualEmploymentType'] = this.virtualEmploymentType;
    data['WorkingHours'] = this.workingHours;
    data['vida3Id'] = this.vida3Id;
    data['CalcID'] = this.calcID;
    return data;
  }

  String? getRegionName(bool isArabic) {
    if (isArabic) {
      return regionArabic;
    }
    return regionEnglish;
  }

  String getProjectCompleteName() {
    return "${this.projectTopName} ${this.projectBottomName}";
  }

  String getProjectCompleteNameWithLocale({bool isArabic = false}) {
    if (isArabic) {
      return "${this.projectBottomName} ${this.projectTopName}";
    }
    return "${this.projectTopName} ${this.projectBottomName}";
  }
}
