class attendanceRequestDetailsResponse {
  RequestDetails? requestDetails;
  String? error;
  String? message;
  int? sessionExists;

  attendanceRequestDetailsResponse(
      {this.requestDetails, this.error, this.message, this.sessionExists});

  attendanceRequestDetailsResponse.fromJson(Map<String, dynamic> json) {
    requestDetails = json['request_details'] != null
        ? new RequestDetails.fromJson(json['request_details'])
        : null;
    error = json['error'];
    message = json['message'];
    sessionExists = json['session_exists'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    if (this.requestDetails != null) {
      data['request_details'] = this.requestDetails!.toJson();
    }
    data['error'] = this.error;
    data['message'] = this.message;
    data['session_exists'] = this.sessionExists;
    return data;
  }
}

class RequestDetails {
  String? id;
  String? attendanceType;
  String? type;
  String? date;
  String? checkInType;
  String? checkInTime;
  String? chechOutType;
  String? checkOutTime;
  String? status;
  String? requestedDatetime;
  String? createdEmpName;
  String? employeeName;
  String? level1Remarks;
  String? level1EmpName;
  String? level2Remarks;
  String? checkInProofDirFilePath;
  String? checkOutProofDirFilePath;
  String? level2EmpName;
  String? note;
  String? checkInLocation;
  String? checkOutLocation;
  String? location;

  RequestDetails(
      {this.id,
        this.attendanceType,
        this.type,
        this.date,
        this.checkInType,
        this.checkInTime,
        this.chechOutType,
        this.checkOutTime,
        this.status,
        this.requestedDatetime,
        this.createdEmpName,
        this.employeeName,
        this.level1Remarks,
        this.level1EmpName,
        this.level2Remarks,
        this.checkInProofDirFilePath,
        this.checkOutProofDirFilePath,
        this.level2EmpName,
        this.note,
        this.checkInLocation,
        this.checkOutLocation,
        this.location
      });

  RequestDetails.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    attendanceType = json['attendance_type'];
    type = json['type'];
    date = json['date'];
    checkInType = json['check_in_type'];
    checkInTime = json['check_in_time'];
    chechOutType = json['chech_out_type'];
    checkOutTime = json['check_out_time'];
    status = json['status'];
    requestedDatetime = json['requested_datetime'];
    createdEmpName = json['created_emp_name'];
    employeeName = json['employee_name'];
    level1Remarks = json['level1_remarks'];
    level1EmpName = json['level1_emp_name'];
    level2Remarks = json['level2_remarks'];
    checkInProofDirFilePath = json['check_in_proof_dir_file_path'];
    checkOutProofDirFilePath = json['check_out_proof_dir_file_path'];
    level2EmpName = json['level2_emp_name'];
    note = json['note'];
    checkInLocation = json['check_in_location'];
    checkOutLocation = json['check_out_location'];
    location = json['location'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['id'] = this.id;
    data['attendance_type'] = this.attendanceType;
    data['type'] = this.type;
    data['date'] = this.date;
    data['check_in_type'] = this.checkInType;
    data['check_in_time'] = this.checkInTime;
    data['chech_out_type'] = this.chechOutType;
    data['check_out_time'] = this.checkOutTime;
    data['status'] = this.status;
    data['requested_datetime'] = this.requestedDatetime;
    data['created_emp_name'] = this.createdEmpName;
    data['employee_name'] = this.employeeName;
    data['level1_remarks'] = this.level1Remarks;
    data['level1_emp_name'] = this.level1EmpName;
    data['level2_remarks'] = this.level2Remarks;
    data['check_in_proof_dir_file_path'] = this.checkInProofDirFilePath;
    data['check_out_proof_dir_file_path'] = this.checkOutProofDirFilePath;
    data['level2_emp_name'] = this.level2EmpName;
    data['note'] = this.note;
    data['check_in_location'] = this.checkInLocation;
    data['check_out_location'] = this.location;
    data['location'] = this.location;
    return data;
  }
}
