class CheckActivationCodeRegisterReq {
  int? patientMobileNumber;
  String? patientMobileNumberOthers;
  String? mobileNo;
  String? deviceToken;
  bool? projectOutSA;
  int? loginType;
  String? zipCode;
  bool? isRegister;
  String? logInTokenID;
  int? searchType;
  int? patientID;
  dynamic nationalID;
  dynamic patientIdentificationID;
  String? activationCode;
  bool? isSilentLogin;
  double? versionID;
  int? channel;
  int? languageID;
  String? iPAdress;
  String? generalid;
  int? patientOutSA;
  dynamic sessionID;
  bool? isDentalAllowedBackend;
  int? deviceTypeID;
  bool? forRegisteration;
  String? dob;
  int? isHijri;
  String? healthId;

  CheckActivationCodeRegisterReq({
    this.patientMobileNumber,
    this.patientMobileNumberOthers,
    this.mobileNo,
    this.deviceToken,
    this.projectOutSA,
    this.loginType,
    this.zipCode,
    this.isRegister,
    this.logInTokenID,
    this.searchType,
    this.patientID,
    this.nationalID,
    this.patientIdentificationID,
    this.activationCode,
    this.isSilentLogin,
    this.versionID,
    this.channel,
    this.languageID,
    this.iPAdress,
    this.generalid,
    this.patientOutSA,
    this.sessionID,
    this.isDentalAllowedBackend,
    this.deviceTypeID,
    this.forRegisteration,
    this.dob,
    this.isHijri,
    this.healthId,
  });

  CheckActivationCodeRegisterReq.fromJson(Map<String, dynamic> json) {
    patientMobileNumber = json['PatientMobileNumber'];
    patientMobileNumberOthers = json['PatientMobileNumber_Others'];
    mobileNo = json['MobileNo'];
    deviceToken = json['DeviceToken'];
    projectOutSA = json['ProjectOutSA'];
    loginType = json['LoginType'];
    zipCode = json['ZipCode'];
    isRegister = json['isRegister'];
    logInTokenID = json['LogInTokenID'];
    searchType = json['SearchType'];
    patientID = json['PatientID'];
    nationalID = json['NationalID'];
    patientIdentificationID = json['PatientIdentificationID'];
    activationCode = json['activationCode'];
    isSilentLogin = json['IsSilentLogin'];
    versionID = json['VersionID'];
    channel = json['Channel'];
    languageID = json['LanguageID'];
    iPAdress = json['IPAdress'];
    generalid = json['generalid'];
    patientOutSA = json['PatientOutSA'];
    sessionID = json['SessionID'];
    isDentalAllowedBackend = json['isDentalAllowedBackend'];
    deviceTypeID = json['DeviceTypeID'];
    forRegisteration = json['ForRegisteration'];
    dob = json['DOB'];
    isHijri = json['IsHijri'];
    healthId = json['HealthId'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = <String, dynamic>{};
    // Only send PatientMobileNumber_Others if it's set, otherwise send PatientMobileNumber
    if (patientMobileNumberOthers != null) {
      data['PatientMobileNumber_Others'] = patientMobileNumberOthers;
    } else if (patientMobileNumber != null) {
      data['PatientMobileNumber'] = patientMobileNumber;
    }
    data['DeviceToken'] = deviceToken;
    data['MobileNo'] = mobileNo;
    data['ProjectOutSA'] = projectOutSA;
    data['LoginType'] = loginType;
    data['ZipCode'] = zipCode;
    data['isRegister'] = isRegister;
    data['LogInTokenID'] = logInTokenID;
    data['SearchType'] = searchType;
    data['PatientID'] = patientID;
    data['NationalID'] = nationalID;
    data['PatientIdentificationID'] = patientIdentificationID;
    data['activationCode'] = activationCode;
    data['IsSilentLogin'] = isSilentLogin;
    data['VersionID'] = versionID;
    data['Channel'] = channel;
    data['LanguageID'] = languageID;
    data['IPAdress'] = iPAdress;
    data['generalid'] = generalid;
    data['PatientOutSA'] = patientOutSA;
    data['SessionID'] = sessionID;
    data['isDentalAllowedBackend'] = isDentalAllowedBackend;
    data['DeviceTypeID'] = deviceTypeID;
    data['ForRegisteration'] = forRegisteration;
    data['DOB'] = dob;
    data['IsHijri'] = isHijri;
    data['HealthId'] = healthId;
    return data;
  }
}
