class SendActivationRequest {
  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;
  int? oTPSendType;
  int? languageID;
  double? versionID;
  int? channel;
  String? iPAdress;
  String? generalid;
  int? patientOutSA;
  dynamic sessionID;
  bool? isDentalAllowedBackend;
  int? deviceTypeID;
  String? sMSSignature;
  String? dob;
  int? isHijri;
  String? healthId;
  int? responseID;
  int? status;
  int? familyRegionID;
  bool? isPatientExcluded;
  String? turnstileToken;

  SendActivationRequest(
      {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.oTPSendType,
      this.languageID,
      this.versionID,
      this.channel,
      this.iPAdress,
      this.generalid,
      this.patientOutSA,
      this.sessionID,
      this.isDentalAllowedBackend,
      this.deviceTypeID,
      this.sMSSignature,
      this.dob,
      this.isHijri,
      this.healthId,
      this.responseID,
      this.status,
      this.familyRegionID,
      this.isPatientExcluded,
      this.turnstileToken});

  SendActivationRequest.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'];
    oTPSendType = json['OTP_SendType'];
    languageID = json['LanguageID'];
    versionID = json['VersionID'];
    channel = json['Channel'];
    iPAdress = json['IPAdress'];
    generalid = json['generalid'];
    patientOutSA = json['PatientOutSA'];
    sessionID = json['SessionID'];
    isDentalAllowedBackend = json['isDentalAllowedBackend'];
    deviceTypeID = json['DeviceTypeID'];
    sMSSignature = json['SMSSignature'];
    dob = json['DOB'];
    isHijri = json['IsHijri'];
    healthId = json['HealthId'];
    responseID = json['ReponseID'];
    status = json['Status'];
    familyRegionID = json['FamilyRegionID'];
    isPatientExcluded = json['IsPatientExcluded'];
    turnstileToken = json['TurnstileToken'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<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['MobileNo'] = mobileNo;
    data['DeviceToken'] = deviceToken;
    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['OTP_SendType'] = oTPSendType;
    data['LanguageID'] = languageID;
    data['VersionID'] = versionID;
    data['Channel'] = channel;
    data['IPAdress'] = iPAdress;
    data['generalid'] = generalid;
    data['PatientOutSA'] = patientOutSA;
    data['SessionID'] = sessionID;
    data['isDentalAllowedBackend'] = isDentalAllowedBackend;
    data['DeviceTypeID'] = deviceTypeID;
    data['SMSSignature'] = sMSSignature;
    data['DOB'] = dob;
    data['IsHijri'] = isHijri;
    data['HealthId'] = healthId;
    data['ResponseID'] = responseID;
    data['Status'] = status;
    data['FamilyRegionID'] = familyRegionID;
    data['IsPatientExcluded'] = isPatientExcluded;
    if (turnstileToken != null) {
      data['TurnstileToken'] = turnstileToken;
    }
    return data;
  }
}
