erDiagram
    BACKPAYITEM {
        Id Guid
        BackPayDate Date
        EarnedDate Date
        PaidFromDate Date
        PaidToDate Date
    }
    EMPLOYEE {
        Id Guid
        PersonOnPayrollId Guid
        Name String
        PersonalReference String
        StartDate Date
        PaymentMethod String
    }
    EMPLOYEEINPAYRUN {
        Id Guid
        EmployeeId Guid
        JobTitle String
        PayRunId Guid
    }
    EMPLOYEEPAYRUNVALUE {
        Id Guid
        PayRunId Guid
        PayslipItemGroupCode String
        EmployeeId Guid
        PayslipItemId Guid
        PotType String
        Discriminator String
        Tag String
        PayslipItemDefinitionRuleType String
        Value Decimal
        OccupancyId Guid
        Units Decimal
        Time Decimal
        Rate Decimal
    }
    EXPENSECLAIMINPERIOD {
        Id Guid
        PersonRef String
        PersonName String
        Department String
        FRN String
        PayslipItem String
        PaymentDate Date
        CreatedDateTime DateTimeOffset
        EarnedDate Date
        Comments String
        Units Decimal
        Time Decimal
        Rate Decimal
        Cash Decimal
        CreatedBySystemUserName String
        AuthorisedBy String
        ApprovalDateTime DateTimeOffset
        Payroll String
    }
    OCCUPANCY {
        Id Guid
        PersonId Guid
        StartDate Date
        EndDate Date
    }
    OCCUPANCYPAYELEMENTS {
        Id Guid
        PayslipItemId Guid
        EffectiveStartDate Date
        EffectiveEndDate Date
        Cash Decimal
        Rate Decimal
        Time Decimal
        Units Decimal
        Frequency String
    }
    PAYPERIOD {
        Id Guid
        PayrollId Guid
        StartDate Date
        EndDate Date
        PayDate Date
    }
    PAYRUN {
        Id Guid
        PayPeriodId Guid
        PaymentDate Date
        IsMainRun Boolean
        StateName String
    }
    PAYRUNEMPLOYEEDATASUMMARY {
        Id Guid
        Name String
        PersonalReference String
        StartDate Date
        LeaveDate Date
        Item String
        Value Decimal
        ItemId Guid
        PaymentMethod String
        Firstname String
        Lastname String
    }
    PAYROLL {
        Id Guid
        Name String
        Frequency String
    }
    PAYROLLSCHEMEANDBENEFIT {
        Id Guid
        FKPayslipItemId Guid
        FKOccupancyId Guid
        FKSchemeAndBenefitItemId Guid
        Cash Decimal
        Percentage Decimal
        StartDate Date
        EndDate Date
    }
    PAYROLLADJUSTMENT {
        Id Guid
        PotDefinitionId Guid
        PayRunId Guid
        PersonOnPayrollId Guid
        OccupancyId Guid
        AdjustmentTypeId String
        NiCategory String
        AttachmentOfEarningsReferenceNumber String
        Code String
    }
    PAYSLIPITEMGROUP {
        Code String
        Name String
    }
    PENSION {
        Name String
        StartDate Date
        EndDate Date
        PayslipItemId Guid
        PensionProvider String
        Id Guid
    }
    PENSIONOCCUPANCY {
        Id Guid
        OccupancyId Guid
        PersonOnPayrollId Guid
        MembershipReference String
        StartDate Date
        EndDate Date
        PensionId Guid
    }
    AUTOENROLMENTASSESSMENT {
        PersonOnPayrollId Guid
        OccupancyId Guid
        PayPeriodId Guid
        PensionSchemeDefinitionId Guid
        StartDate Date
        EndDate Date
        ActionState String
        AssessedAsOption String
        EnrolmentOption String
        DoNotEnrolOption String
        EmployerRefundAmount Decimal
        EmployeeRefundAmount Decimal
        AssessmentOption String
        Id Guid
    }
    PENSIONREPORTMAPPINGACCUMULATOR {
        Id Guid
        PayslipItemId Guid
        PayslipItemName String
        RelatedField String
        PensionReportMappingAccumulatorId Guid
        PensionReportTypeId Guid
        PensionReportType String
    }
    PERSONONPAYROLLINPERIODUKLEGISLATION {
        Id Guid
        PaymentDate Date
        PayrollReferenceNumber String
        TaxCode String
        TaxBasis Boolean
        NICategory String
    }
    PERSONONPAYROLLPENDINGCALCULATIONTOTAL {
        Id Guid
        Name String
        PersonOnPayrollIdCount Int32
    }
    RECONCILIATION {
        Id Guid
        Name String
        PensionName String
        ComparisonPayRunId Guid
        IsTotal Boolean
        SortOrderNumber Int32
        SortOrderGroup Int32
        ComparisonValue Decimal
        Value Decimal
        AdjustmentsValue Decimal
        DifferenceValue Decimal
        DifferencePercent Int32
        ComparisonYTDValue Decimal
        YTDValue Decimal
        ItemId String
    }
    RECONCILIATIONEMPLOYEEPAYRUNDEPARTMENT {
        Id Guid
        ComparisonPayRunId Guid
        Department String
    }
    RECONCILIATIONEMPLOYEEPAYRUNFRN {
        Id Guid
        ComparisonPayRunId Guid
        FinanceReferenceNumber String
    }
    RECONCILIATIONEMPLOYEEPAYRUNITEM {
        Id Guid
        ComparisonPayRunId Guid
        Item String
        ItemId Guid
        Value Decimal
        ComparisonValue Decimal
    }
    RECONCILIATIONEMPLOYEEPAYRUNJOBTITLE {
        Id Guid
        ComparisonPayRunId Guid
        JobTitle String
    }
    RECONCILIATIONEMPLOYEEPAYRUNLOCATION {
        Id Guid
        ComparisonPayRunId Guid
        Location String
    }
    RECONCILIATIONEMPLOYEEPAYRUNVALUE {
        Id Guid
        ComparisonPayRunId Guid
        SortOrderGroup Int32
        SortOrderNumber Int32
        ItemId Guid
        Firstname String
        Lastname String
        PensionName String
        Name String
        PersonalReference String
        PersonSocialSecurityNumber String
        Department String
        Location String
        FinanceReferenceNumber String
        JobTitle String
        StartDate Date
        LeaveDate Date
        Item String
        Value Decimal
        ComparisonValue Decimal
        AdjustmentsValue Decimal
        DifferenceValue Decimal
        DifferencePercent Int32
        ComparisonYTDValue Decimal
        YTDValue Decimal
        PaymentMethod String
        Payroll String
        PaymentDate Date
        ComparisonPaymentDate Date
    }
    RECONCILIATIONFRNPAYRUNITEM {
        Id Guid
        ComparisonPayRunId Guid
        FinanceReferenceNumber String
        Item String
        PensionName String
        Value Decimal
        ComparisonValue Decimal
        DifferenceValue Decimal
        DifferencePercent Int32
        ItemId Guid
    }
    RECONCILIATIONLOCATIONPAYRUNITEM {
        Id Guid
        ComparisonPayRunId Guid
        Location String
        Item String
        ItemId Guid
        PensionName String
        SortOrderNumber Int32
        SortOrderGroup Int32
        Value Decimal
        ComparisonValue Decimal
        DifferenceValue Decimal
        DifferencePercent Int32
    }
    EMPLOYEEPERIODVALUE {
        Id Guid
        PayPeriodId Guid
        PayslipItemGroupCode String
        EmployeeId Guid
        PotType String
        Discriminator String
        Tag String
        PayslipItemDefinitionRuleType String
        Value Decimal
    }
    PAYPERIODVALUE {
        Id Guid
        PayPeriodId Guid
        PayslipItemGroupCode String
        PotType String
        Discriminator String
        Tag String
        PayslipItemDefinitionRuleType String
        Value Decimal
    }
    EMPLOYEEINPAYPERIOD {
        Id Guid
        EmployeeId Guid
        PayPeriodId Guid
    }
    PAYRUNVALUE {
        Id Guid
        PayRunId Guid
        PayslipItemGroupCode String
        PotType String
        Discriminator String
        Tag String
        PayslipItemDefinitionRuleType String
        Value Decimal
        LegislativeConfiguration String
    }
    OCCUPANCYTITLEREVISION {
        Id Guid
        OccupancyId Guid
        Title String
        StartDate Date
    }
    Resource_Paths {
        BackPayItems URL
        People URL
        EmployeesInPayRun URL
        EmployeePayRunValues URL
        ExpenseClaimsInPeriod URL
        Occupancies URL
        OccupancyPayElements URL
        PayPeriods URL
        PayRuns URL
        PayRunEmployeeDataSummaries URL
        Payrolls URL
        SchemeAndBenefitPayslipItems URL
        PayrollAdjustments URL
        PayslipItemGroups URL
        Pensions URL
        PensionOccupancies URL
        AutoEnrolmentAssessments URL
        PensionReportMappingAccumulators URL
        PersonOnPayrollInPeriodUKLegislations URL
        PersonOnPayrollPendingCalculationTotals URL
        Reconciliations URL
        ReconciliationEmployeePayRunDepartments URL
        ReconciliationEmployeePayRunFrns URL
        ReconciliationEmployeePayRunItems URL
        ReconciliationEmployeePayRunJobTitles URL
        ReconciliationEmployeePayRunLocations URL
        ReconciliationEmployeePayRunValues URL
        ReconciliationFrnPayRunItems URL
        ReconciliationLocationPayRunItems URL
    }
    EMPLOYEEINPAYRUN o{--|| EMPLOYEE : Employee
    EMPLOYEEINPAYRUN o{--|| PAYRUN : PayRun
    EMPLOYEEPAYRUNVALUE o{--|| PAYRUN : PayRun
    EMPLOYEEPAYRUNVALUE o{--|| PAYSLIPITEMGROUP : PayslipItemGroup
    EMPLOYEEPAYRUNVALUE o{--|| EMPLOYEE : Employee
    EMPLOYEEPAYRUNVALUE o{--|| OCCUPANCY : Occupancy
    OCCUPANCY o{--|| EMPLOYEE : Employee
    PAYPERIOD o{--|| PAYROLL : Payroll
    PAYRUN o{--|| PAYPERIOD : PayPeriod
    EMPLOYEEPERIODVALUE o{--|| PAYPERIOD : PayPeriod
    EMPLOYEEPERIODVALUE o{--|| PAYSLIPITEMGROUP : PayslipItemGroup
    EMPLOYEEPERIODVALUE o{--|| EMPLOYEE : Employee
    PAYPERIODVALUE o{--|| PAYPERIOD : PayPeriod
    PAYPERIODVALUE o{--|| PAYSLIPITEMGROUP : PayslipItemGroup
    EMPLOYEEINPAYPERIOD o{--|| EMPLOYEE : Employee
    EMPLOYEEINPAYPERIOD o{--|| PAYPERIOD : PayPeriod
    PAYRUNVALUE o{--|| PAYRUN : PayRun
    PAYRUNVALUE o{--|| PAYSLIPITEMGROUP : PayslipItemGroup
    OCCUPANCYTITLEREVISION o{--|| OCCUPANCY : Occupancy
    PAYROLLSCHEMEANDBENEFIT o{--|| OCCUPANCY : Occupancy
    PAYROLLADJUSTMENT o{--|| OCCUPANCY : Occupancy
    PAYROLLADJUSTMENT o{--|| PAYRUN : Payrun