DownloadFormat : 'JsonDownloadFormat'
Entities :

  Employee:
    PurgeStrategy:
      ReplaceWithValue:
        match_by:
          - {match: empNumber}
        parameters:
          - {field: "firstName" ,class: 'FormatWithPurgeString'}
          - {field: "lastName" ,class: 'FormatWithPurgeString'}
          - {field: "middleName" ,class: 'FormatWithEmptyString'}
          - {field: "nickName" ,class: 'FormatWithEmptyString'}
          - {field: "smoker" ,class: 'FormatWithZero'}
          - {field: "emp_gender" ,class: 'FormatWithNull'}
          - {field: "emp_marital_status" ,class: 'FormatWithNull'}
          - {field: "nation_code" ,class: 'FormatWithNull'}
          - {field: "ssn" ,class: 'FormatWithEmptyString'}
          - {field: "sin" ,class: 'FormatWithEmptyString'}
          - {field: "otherId" ,class: 'FormatWithEmptyString'}
          - {field: "licenseNo" ,class: 'FormatWithEmptyString'}
          - {field: "emp_dri_lice_exp_date" ,class: 'FormatWithNull'}
          - {field: "militaryService" ,class: 'FormatWithEmptyString'}
          - {field: "emp_status" ,class: 'FormatWithNull'}
          - {field: "job_title_code" ,class: 'FormatWithNull'}
          - {field: "work_station" ,class: 'FormatWithNull'}
          - {field: "street1" ,class: 'FormatWithEmptyString'}
          - {field: "street2" ,class: 'FormatWithEmptyString'}
          - {field: "city" ,class: 'FormatWithEmptyString'}
          - {field: "country" ,class: 'FormatWithEmptyString'}
          - {field: "province" ,class: 'FormatWithEmptyString'}
          - {field: "emp_zipcode" ,class: 'FormatWithNull'}
          - {field: "emp_hm_telephone" ,class: 'FormatWithNull'}
          - {field: "emp_birthday" ,class: 'FormatWithNull'}
          - {field: "emp_mobile" ,class: 'FormatWithNull'}
          - {field: "emp_work_telephone" ,class: 'FormatWithNull'}
          - {field: "emp_work_email" ,class: 'FormatWithNull'}
          - {field: "emp_oth_email" ,class: 'FormatWithNull'}
          - {field: "custom1" ,class: 'FormatWithNull'}
          - {field: "custom2" ,class: 'FormatWithNull'}
          - {field: "custom3" ,class: 'FormatWithNull'}
          - {field: "custom4" ,class: 'FormatWithNull'}
          - {field: "custom5" ,class: 'FormatWithNull'}
          - {field: "custom6" ,class: 'FormatWithNull'}
          - {field: "custom7" ,class: 'FormatWithNull'}
          - {field: "custom8" ,class: 'FormatWithNull'}
          - {field: "custom9" ,class: 'FormatWithNull'}
          - {field: "custom10" ,class: 'FormatWithNull'}
          - {field: "purged_at" ,class: 'FormatWithPurgeTime'}
          - {field: "eeo_cat_code" ,class: 'FormatWithNull'}
          - {field: "joined_date" ,class: 'FormatWithNull'}
    AccessStrategy:
      Basic:
        match_by:
          - {match: empNumber}
        parameters:
          - {field: "firstName" ,class: ''}
          - {field: "lastName" ,class: ''}
          - {field: "middleName" ,class: ''}
          - {field: "employeeId" ,class: ''}
          - {field: "nickName" ,class: ''}
          - {field: "smoker" ,class: 'FormatWithSmoker'}
          - {field: "emp_gender" ,class: 'FormatWithGender'}
          - {field: "emp_marital_status" ,class: ''}
          - {field: "nation_code" ,class: 'FormatWithNationality'}
          - {field: "ssn" ,class: ''}
          - {field: "sin" ,class: ''}
          - {field: "otherId" ,class: ''}
          - {field: "licenseNo" ,class: ''}
          - {field: "emp_dri_lice_exp_date" ,class: ''}
          - {field: "militaryService" ,class: ''}
          - {field: "emp_status" ,class: ''}
          - {field: "job_title_code" ,class: 'FormatWithJobTitle'}
          - {field: "work_station" ,class: 'FormatWithWorkStation'}
          - {field: "street1" ,class: ''}
          - {field: "street2" ,class: ''}
          - {field: "city" ,class: ''}
          - {field: "country" ,class: ''}
          - {field: "province" ,class: ''}
          - {field: "emp_zipcode" ,class: ''}
          - {field: "emp_hm_telephone" ,class: ''}
          - {field: "emp_birthday" ,class: ''}
          - {field: "emp_mobile" ,class: ''}
          - {field: "emp_work_telephone" ,class: ''}
          - {field: "emp_work_email" ,class: ''}
          - {field: "emp_oth_email" ,class: ''}
          - {field: "custom1" ,class: ''}
          - {field: "custom2" ,class: ''}
          - {field: "custom3" ,class: ''}
          - {field: "custom4" ,class: ''}
          - {field: "custom5" ,class: ''}
          - {field: "custom6" ,class: ''}
          - {field: "custom7" ,class: ''}
          - {field: "custom8" ,class: ''}
          - {field: "custom9" ,class: ''}
          - {field: "custom10" ,class: ''}
          - {field: "purged_at" ,class: ''}
          - {field: "eeo_cat_code" ,class: 'FormatWithJobCategory'}
          - {field: "joined_date" ,class: ''}

  EmpPicture:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "picture" ,class: 'FormatWithBase64Encode'}
          - {field: "filename" ,class: ''}
          - {field: "file_type" ,class: ''}

  EmployeeAttachment:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "filename" ,class: ''}
          - {field: "size" ,class: ''}
          - {field: "attachment" ,class: 'FormatWithBase64Encode'}
          - {field: "file_type" ,class: ''}
          - {field: "attached_time" ,class: ''}

  EmpEmergencyContact:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "name" ,class: ''}
          - {field: "relationship" ,class: ''}
          - {field: "home_phone" ,class: ''}
          - {field: "mobile_phone" ,class: ''}
          - {field: "office_phone" ,class: ''}

  EmpDependent:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "name" ,class: ''}
          - {field: "relationship_type" ,class: ''}
          - {field: "relationship" ,class: ''}
          - {field: "date_of_birth" ,class: ''}

  EmployeeImmigrationRecord:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "number" ,class: ''}
          - {field: "issuedDate" ,class: ''}
          - {field: "expiryDate" ,class: ''}
          - {field: "notes" ,class: ''}
          - {field: "type" ,class: 'FormatWithPassportType'}
          - {field: "status" ,class: ''}
          - {field: "reviewDate" ,class: ''}
          - {field: "countryCode" ,class: 'FormatWithCountryCode'}

  EmpWorkExperience:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "employer" ,class: ''}
          - {field: "jobtitle" ,class: ''}
          - {field: "from_date" ,class: ''}
          - {field: "to_date" ,class: ''}
          - {field: "comments" ,class: ''}
          - {field: "internal" ,class: ''}

  EmployeeEducation:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "educationId" ,class: 'FormatWithEducation'}
          - {field: "institute" ,class: ''}
          - {field: "major" ,class: ''}
          - {field: "year" ,class: ''}
          - {field: "score" ,class: ''}
          - {field: "startDate" ,class: ''}
          - {field: "endDate" ,class: ''}

  EmployeeSkill:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "skillId" ,class: 'FormatWithSkill'}
          - {field: "years_of_exp" ,class: ''}
          - {field: "comments" ,class: ''}

  EmployeeLanguage:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "langId" ,class: 'FormatWithLanguage'}
          - {field: "fluency" ,class: 'FormatWithFluency'}
          - {field: "competency" ,class: 'FormatWithCompetency'}
          - {field: "comments" ,class: ''}

  EmployeeMembership:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "membershipId" ,class: 'FormatWithMembershipId'}
          - {field: "subscriptionFee" ,class: ''}
          - {field: "subscriptionPaidBy" ,class: ''}
          - {field: "subscriptionCurrency" ,class: ''}
          - {field: "subscriptionCommenceDate" ,class: ''}
          - {field: "subscriptionRenewalDate" ,class: ''}

  EmpUsTaxExemption:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "federalStatus" ,class: ''}
          - {field: "federalExemptions" ,class: ''}
          - {field: "state" ,class: ''}
          - {field: "stateStatus" ,class: ''}
          - {field: "stateExemptions" ,class: ''}
          - {field: "unemploymentState" ,class: ''}

  EmployeeLicense:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "licenseId" ,class: 'FormatWithLicenseId'}
          - {field: "licenseNo" ,class: ''}
          - {field: "licenseIssuedDate" ,class: ''}
          - {field: "licenseExpiryDate" ,class: ''}

  EmployeeSalary:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "payGradeId" ,class: 'FormatWithPayGradeId'}
          - {field: "currencyCode" ,class: ''}
          - {field: "amount" ,class: ''}
          - {field: "payPeriodId" ,class: 'FormatWithPayPeriodId'}
          - {field: "salaryName" ,class: ''}
          - {field: "notes" ,class: ''}

  EmpLocations:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "locationId" ,class: 'FormatWithLocationId'}

  EmpContract:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "start_date" ,class: ''}
          - {field: "end_date" ,class: ''}

  SystemUser:
    PurgeStrategy:
      Destroy:
        match_by:
          - {match: emp_number}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "user_name" ,class: ''}
          - {field: "date_entered" ,class: ''}
          - {field: "date_modified" ,class: ''}

  ReportTo:
    PurgeStrategy:
      DestroyReportTo:
        match_by:
          - {match: THIS IS A EXCEPTION}
    AccessStrategy:
      ReportTo:
        match_by:
          - {match: THIS IS A EXCEPTION}
        parameters:
          - {field: "supervisorId" ,class: 'FormatWithEmployeeName'}
          - {field: "subordinateId" ,class: 'FormatWithEmployeeName'}
          - {field: "reportingMethodId" ,class: 'FormatWithReportMethod'}

  PerformanceReview:
    PurgeStrategy:
      ReplaceWithValue:
        match_by:
          - {match: employee_number}
        parameters:
          - {field: "finalComment" ,class: 'FormatWithEmptyString'}
    AccessStrategy:
      Basic:
        match_by:
          - {match: employee_number}
        parameters:
          - {field: "jobTitleCode" ,class: 'FormatWithJobTitle'}
          - {field: "workPeriodStart" ,class: ''}
          - {field: "workPeriodEnd" ,class: ''}
          - {field: "departmentId" ,class: ''}
          - {field: "dueDate" ,class: ''}
          - {field: "completedDate" ,class: ''}
          - {field: "activatedDate" ,class: ''}
          - {field: "finalComment" ,class: ''}
          - {field: "finalRate" ,class: ''}

  ReviewerRating:
    PurgeStrategy:
      ReplaceWithValue:
        match_by:
          - {match: employee_number,  join: performanceReview}
        parameters:
          - {field: "comment" ,class: 'FormatWithEmptyString'}
    AccessStrategy:
      Basic:
        match_by:
          - {match: employee_number, join: performanceReview}
        parameters:
          - {field: "kpiId" ,class: 'FormatWithKPIId'}
          - {field: "rating" ,class: ''}
          - {field: "comment" ,class: ''}

  Reviewer:
    PurgeStrategy:
      ReplaceWithValue:
        match_by:
          - {match: t.employee_number, join: review}
        parameters:
          - {field: "comment" ,class: 'FormatWithEmptyString'}
    AccessStrategy:
      Basic:
        match_by:
          - {match: t.employee_number, join: review}
        parameters:
          - {field: "employeeNumber" ,class: ''}
          - {field: "completedDate" ,class: ''}
          - {field: "comment" ,class: ''}

  PerformanceTrackerLog:
    PurgeStrategy:
      ReplaceWithValue:
        match_by:
          - {match: emp_number,  join: PerformanceTrack}
        parameters:
          - {field: "comment" ,class: 'FormatWithEmptyString'}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number, join: PerformanceTrack}
        parameters:
          - {field: "log" ,class: ''}
          - {field: "comment" ,class: ''}
          - {field: "achievement" ,class: 'FormatWithAchievement'}
          - {field: "added_date" ,class: ''}
          - {field: "modified_date" ,class: ''}

  LeaveRequestComment:
    PurgeStrategy:
      ReplaceWithValue:
        match_by:
          - {match: emp_number, join: LeaveRequest}
        parameters:
          - {field: "comments" ,class: 'FormatWithPurgeString'}
          - {field: "created_by_name" ,class: 'FormatWithEmptyString'}

    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number, join: LeaveRequest}
        parameters:
          - {field: "created" ,class: ''}
          - {field: "created_by_name" ,class: ''}
          - {field: "comments" ,class: ''}

  LeaveRequest:
    PurgeStrategy:
      ReplaceWithValue:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "comments" ,class: 'FormatWithPurgeString'}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "leave_type_id" ,class: ''}
          - {field: "date_applied" ,class: ''}
          - {field: "comments" ,class: ''}

  LeaveComment:
    PurgeStrategy:
      ReplaceWithValue:
        match_by:
          - {match: emp_number, join: Leave}
        parameters:
          - {field: "comments" ,class: 'FormatWithPurgeString'}
          - {field: "created_by_name" ,class: 'FormatWithEmptyString'}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number, join: Leave}
        parameters:
          - {field: "created_by_name" ,class: ''}
          - {field: "created" ,class: ''}
          - {field: "comments" ,class: ''}
  Leave:
    PurgeStrategy:
      ReplaceWithValue:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "comments" ,class: 'FormatWithPurgeString'}
    AccessStrategy:
      Basic:
        match_by:
          - {match: emp_number}
        parameters:
          - {field: "date" ,class: ''}
          - {field: "length_hours" ,class: ''}
          - {field: "length_days" ,class: ''}
          - {field: "comments" ,class: ''}
          - {field: "start_time" ,class: ''}
          - {field: "end_time" ,class: ''}

#Time modul
  AttendanceRecord:
    PurgeStrategy:
      ReplaceWithValue:
        match_by:
          - {match: employee_id}
        parameters:
          - {field: "punchInNote" ,class: 'FormatWithPurgeString'}
          - {field: "punchOutNote" ,class: 'FormatWithPurgeString'}
    AccessStrategy:
      Basic:
        match_by:
          - {match: employee_id}
        parameters:
          - {field: "punchInUtcTime" ,class: ''}
          - {field: "punchInNote" ,class: ''}
          - {field: "punchInTimeOffset" ,class: ''}
          - {field: "punchInUserTime" ,class: ''}
          - {field: "punchOutUtcTime" ,class: ''}
          - {field: "punchOutNote" ,class: ''}
          - {field: "punchOutTimeOffset" ,class: ''}
          - {field: "punchOutUserTime" ,class: ''}
          - {field: "state" ,class: ''}

  TimesheetItem:
    PurgeStrategy:
      ReplaceWithValue:
        match_by:
          - {match: employee_id}
        parameters:
          - {field: "comment" ,class: 'FormatWithPurgeString'}
    AccessStrategy:
      Basic:
        match_by:
          - {match: employee_id}
        parameters:
          - {field: "projectId" ,class: 'FormatWithProject'}
          - {field: "activityId" ,class: 'FormatWithActivity'}
          - {field: "date" ,class: ''}
          - {field: "duration" ,class: ''}
          - {field: "comment" ,class: ''}
