import {z} from 'zod' export type GetApiApiSalarystatementsOptions = {baseUrl?: string | undefined, basicAuth?: {username: string, password: string} | undefined, fetch?: typeof fetch | undefined}; export const intectVacationProvider = z.object({SENumber: z.string().optional(), NetsNumber: z.string().optional(), IsAdministrative: z.boolean().optional(), StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectCountry = z.object({IsSupported: z.boolean().optional(), DefaultLanguageId: z.number().int().optional(), ReleaseNoteLink: z.string().optional(), GetHelpOnlineLink: z.string().optional(), OperatingStatus: z.string().optional(), StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectPaymentMethod = z.object({RelevantCountries: z.array(intectCountry).optional(), StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectPaymentPlanType = z.object({IsSystemPaymentPlanType: z.boolean().optional(), RelevantCountries: z.array(intectCountry).optional(), StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectAddress = z.object({Id: z.number().int().optional(), Line1: z.string().optional(), Line2: z.string().optional(), PostalCode: z.string().optional(), City: z.string().optional(), CountryId: z.number().int().nullable().optional(), Created: z.string().optional(), Updated: z.string().optional(), Country: intectCountry.optional()}); export const intectCurrency = z.object({StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectPayment = z.object({DestinationCurrency: intectCurrency.optional(), Id: z.number().int().optional(), PaymentBatchId: z.number().int().nullable().optional(), DueDate: z.string().nullable().optional(), PaymentDate: z.string().nullable().optional(), SalaryBatchId: z.number().int().nullable().optional(), UserEmploymentId: z.number().int().nullable().optional(), SalaryStatementId: z.number().int().nullable().optional(), RecipientNetsNo: z.string().optional(), RecipientBankRegNo: z.string().optional(), RecipientBankAccountNo: z.string().optional(), ReferenceIdentifier: z.string().optional(), OwnReferenceText: z.string().optional(), RecipientMessage: z.string().optional(), NetsTransferType: z.number().int().nullable().optional(), NetsInfoType: z.number().int().nullable().optional(), AdditionalInfo: z.string().optional(), CompanyId: z.number().int().optional(), Amount: z.number().optional(), CompanyBankRegNo: z.string().optional(), CompanyBankAccountNo: z.string().optional(), UserIdentityNumber: z.string().optional(), CollectiveAgreementCode: z.string().optional(), RecipientName: z.string().optional(), AutoDetermineBankAccount: z.boolean().optional(), NovemberFirstBatchId: z.number().int().nullable().optional(), PaymentProviderId: z.number().int().optional(), RecipientIban: z.string().optional(), RecipientBicSwift: z.string().optional(), DestinationCurrencyId: z.number().int().nullable().optional(), PensionProviderId: z.number().int().nullable().optional(), ExternalPaymentPartnerId: z.number().int().nullable().optional(), PaymentTypeId: z.number().int().optional(), QuarterNumber: z.number().int().nullable().optional(), QuarterYear: z.number().int().nullable().optional(), PensionPolicyNumber: z.string().optional(), PaymentPlanTypeId: z.number().int().nullable().optional(), PensionEmployeeShare: z.number().nullable().optional(), PensionEmployeeShareAmount: z.number().nullable().optional(), PensionCompanyShareAmount: z.number().nullable().optional(), PensionCompanyShare: z.number().nullable().optional(), PensionBaseAmount: z.number().nullable().optional(), PensionVoluntaryShare: z.number().nullable().optional(), PensionVoluntaryAmount: z.number().nullable().optional(), NewFlexPensionAmount: z.number().nullable().optional(), RecurringPaymentPlanId: z.number().int().nullable().optional(), Created: z.string().optional(), Updated: z.string().optional(), PaymentPlanRecipientId: z.number().int().nullable().optional(), KidNumber: z.string().optional(), PaymentPlanRecipient: z.lazy(() => intectPaymentPlanRecipient.optional())}); export const intectPaymentPlanRecipient: z.ZodType = z.object({PaymentMethod: intectPaymentMethod.optional(), PaymentPlanType: intectPaymentPlanType.optional(), Id: z.number().int().optional(), Name: z.string().optional(), PaymentPlanTypeId: z.number().int().optional(), VATRegistrationNumber: z.string().optional(), TelFixed: z.string().optional(), Email: z.string().optional(), AddressId: z.number().int().optional(), IsSystemRecipient: z.boolean().optional(), CountryId: z.number().int().nullable().optional(), CompanyId: z.number().int().nullable().optional(), AccountNumber: z.number().int().nullable().optional(), PaymentMethodId: z.number().int().optional(), ExternalIdentifier: z.string().optional(), BasePaymentPlanRecipientId: z.number().int().nullable().optional(), KIDReference: z.string().optional(), MainDeductionAmount: z.number().nullable().optional(), MainDeductionShare: z.number().nullable().optional(), MainDeductionAmountMin: z.number().nullable().optional(), MainDeductionAmountMax: z.number().nullable().optional(), AdditionalDeductionAmount: z.number().nullable().optional(), AdditionalDeductionShare: z.number().nullable().optional(), AdditionalDeductionAmountMin: z.number().nullable().optional(), AdditionalDeductionAmountMax: z.number().nullable().optional(), InsuranceDeductionAmount: z.number().nullable().optional(), AdditionalDeductionAccountOverride: z.number().int().nullable().optional(), AdditionalDeductionKIDReferenceOverride: z.string().optional(), InsuranceDeductionAccountOverride: z.number().int().nullable().optional(), InsuranceDeductionKIDReferenceOverride: z.string().optional(), ERPReference: z.string().optional(), AdditionalDeductionERPReferenceOverride: z.string().optional(), InsuranceDeductionERPReferenceOverride: z.string().optional(), Address: intectAddress.optional(), Payments: z.array(intectPayment).optional(), SalaryBatchRecords: z.array(z.lazy(() => intectSalaryBatchRecord)).optional()}); export const intectSalaryBatchRecord: z.ZodType = z.object({Id: z.number().int().optional(), SalaryTypeId: z.number().int().optional(), Amount: z.number().optional(), Units: z.number().nullable().optional(), Description: z.string().optional(), CompanyUserId: z.number().int().optional(), UnitTypeId: z.number().int().nullable().optional(), UserEmploymentId: z.number().int().optional(), SalaryRecordId: z.number().int().nullable().optional(), SalaryBatchId: z.number().int().optional(), AmountPerUnit: z.number().nullable().optional(), BaseAmount: z.number().nullable().optional(), SalaryStatementId: z.number().int().nullable().optional(), IncludeInPayment: z.boolean().optional(), EIncomeCategory: z.number().int().optional(), EIncomeSubCategory: z.number().int().optional(), SummaryCategoryId: z.number().int().nullable().optional(), PeriodFactor: z.number().nullable().optional(), FromDate: z.string().nullable().optional(), ToDate: z.string().nullable().optional(), SortOrder: z.number().int().optional(), SpecialIdentifier: z.string().optional(), BaseSalaryTypeId: z.number().int().nullable().optional(), ExternalReferenceSalaryType: z.string().optional(), ExternalReferenceEmployee: z.string().optional(), ExternalReferenceDepartment: z.string().optional(), InformationOnly: z.boolean().optional(), Dimension1Value: z.string().optional(), Dimension2Value: z.string().optional(), Dimension3Value: z.string().optional(), SulinalFieldNumber: z.string().optional(), IsReportableIncome: z.boolean().optional(), SkatteverketAgiFieldCode: z.number().int().nullable().optional(), LegacyFlexEarningPercentage: z.number().nullable().optional(), NewFlexEarningPercentage: z.number().nullable().optional(), PensionPercentage: z.number().nullable().optional(), DisplayDates: z.boolean().optional(), Dimension1ValueId: z.number().int().nullable().optional(), Dimension2ValueId: z.number().int().nullable().optional(), Dimension3ValueId: z.number().int().nullable().optional(), PensionPercentageEmployee: z.number().nullable().optional(), IsBaseSalary: z.boolean().optional(), TriggersSecondaryEmployeeTax: z.boolean().optional(), TriggersMainEmployeeTax: z.boolean().optional(), TriggersPublicPension: z.boolean().optional(), TriggersPrimaryVacation: z.boolean().optional(), HideOnPayslip: z.boolean().optional(), Formula1Expression: z.string().optional(), EvaluatedFormula1Expression: z.string().optional(), Formula2Expression: z.string().optional(), EvaluatedFormula2Expression: z.string().optional(), Formula3Expression: z.string().optional(), EvaluatedFormula3Expression: z.string().optional(), DeductionRecurringPaymentPlanId: z.number().int().nullable().optional(), PaymentPlanRecipientId: z.number().int().nullable().optional(), PaymentPlanRecipient: intectPaymentPlanRecipient.optional()}); export const intectEmploymentConfigurationHistory = z.object({Id: z.number().int().optional(), UserEmploymentId: z.number().int().optional(), FromDate: z.string().optional(), StandardHoursPerWeek: z.number().nullable().optional(), StandardWorkDaysPerWeek: z.number().nullable().optional(), StandardWorkHoursMonday: z.number().nullable().optional(), StandardWorkHoursTuesday: z.number().nullable().optional(), StandardWorkHoursWednesday: z.number().nullable().optional(), StandardWorkHoursThursday: z.number().nullable().optional(), StandardWorkHoursFriday: z.number().nullable().optional(), StandardWorkHoursSaturday: z.number().nullable().optional(), StandardWorkHoursSunday: z.number().nullable().optional(), DegreeOfEmployment: z.number().nullable().optional(), VacationFactor: z.number().nullable().optional()}); export const intectVacationType = z.object({StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectUserImage = z.object({Id: z.number().int().optional(), Image: z.string().optional()}); export const intectDimensionValue = z.object({Id: z.number().int().optional(), CompanyId: z.number().int().optional(), DimensionNumber: z.number().int().optional(), Value: z.string().optional(), Description: z.string().optional(), ApproverCompanyUserId: z.number().int().nullable().optional(), LimitToDepartmentId: z.number().int().nullable().optional(), LimitToTemplateId: z.number().int().nullable().optional()}); export const intectExpenseError = z.object({Id: z.number().int().optional(), CompanyUserId: z.number().int().optional(), ErrorMessage: z.string().optional(), CompanyUser: z.lazy(() => intectCompanyUser.optional())}); export const intectCompanyUser: z.ZodType = z.object({Id: z.number().int().optional(), UserId: z.number().int().optional(), CompanyId: z.number().int().optional(), RoleId: z.number().int().optional(), IsActive: z.boolean().optional(), FirstName: z.string().optional(), MiddleName: z.string().optional(), LastName: z.string().optional(), BankRegNo: z.string().optional(), BankAccountNo: z.string().optional(), BicSwiftNo: z.string().optional(), IbanNo: z.string().optional(), AddressId: z.number().int().optional(), IsPaymentApprover: z.boolean().optional(), Initials: z.string().optional(), TelMobile: z.string().optional(), TelFixed: z.string().optional(), CompanyEmail: z.string().optional(), PersonalEmail: z.string().optional(), Created: z.string().optional(), DeactivationDate: z.string().nullable().optional(), PreferredCurrencyId: z.number().int().nullable().optional(), AutoDetermineBankAccount: z.boolean().optional(), MunicipalityId: z.number().int().nullable().optional(), Updated: z.string().optional(), TinNr: z.string().optional(), TinNrUnknown: z.boolean().optional(), ExpenseId: z.string().nullable().optional(), IsActiveInExpense: z.boolean().optional(), CreatedBy: z.number().int().nullable().optional(), UpdatedBy: z.number().int().nullable().optional(), RecycleBin: z.string().optional(), UserEmployments: z.array(z.lazy(() => intectUserEmployment)).optional(), Address: intectAddress.optional(), UserImage: intectUserImage.optional(), DimensionValues: z.array(intectDimensionValue).optional(), ExpenseErrors: z.array(intectExpenseError).optional(), FullName: z.string().optional(), UserLanguageId: z.number().int().optional(), UserIdentityNumber: z.string().optional(), UserDateOfBirth: z.string().nullable().optional(), UserIsFemale: z.boolean().nullable().optional(), HasDummyIdentityNumber: z.boolean().optional(), IsTemporaryNorwegianIdentityNumber: z.boolean().optional()}); export const intectUnitType = z.object({RelevantCountries: z.array(intectCountry).optional(), StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectSalaryRecordPersistenceType = z.object({StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectFormula = z.object({Id: z.number().int().optional(), CompanyId: z.number().int().nullable().optional(), AccountId: z.number().int().nullable().optional(), Name: z.string().optional(), Description: z.string().optional(), Expression: z.string().optional(), FormulaOutputTypeId: z.number().int().optional()}); export const intectTemplateSalaryRecord = z.object({UnitType: intectUnitType.optional(), PersistenceType: intectSalaryRecordPersistenceType.optional(), Id: z.number().int().optional(), EmploymentTemplateId: z.number().int().optional(), Units: z.number().nullable().optional(), IsActive: z.boolean().optional(), Description: z.string().optional(), UnitTypeId: z.number().int().nullable().optional(), AmountPerUnit: z.number().nullable().optional(), Amount: z.number().nullable().optional(), BaseAmount: z.number().nullable().optional(), SalaryTypeId: z.number().int().optional(), PersistenceTypeId: z.number().int().optional(), SortOrder: z.number().int().optional(), Formula1Id: z.number().int().nullable().optional(), Formula2Id: z.number().int().nullable().optional(), Formula3Id: z.number().int().nullable().optional(), Formula1: intectFormula.optional(), Formula2: intectFormula.optional(), Formula3: intectFormula.optional()}); export const intectSenioritySupplement = z.object({Id: z.number().int().optional(), EmploymentTemplateId: z.number().int().optional(), SeniorityMonthsStart: z.number().int().nullable().optional(), SeniorityMonthsEnd: z.number().int().nullable().optional(), SupplementAmount: z.number().optional(), SupplementIntervalType: z.number().int().optional(), HourlyRate: z.number().nullable().optional(), BaseOnTotalWorkHours: z.boolean().optional()}); export const intectOvertimeSupplement = z.object({Id: z.number().int().optional(), EmploymentTemplateId: z.number().int().optional(), TotalHoursWorkedFrom: z.number().int().nullable().optional(), TotalHoursWorkedUntil: z.number().int().nullable().optional(), SupplementAmount: z.number().nullable().optional(), SupplementPercentage: z.number().nullable().optional(), OvertimeSupplementPrinciple: z.number().int().optional(), Description: z.string().optional()}); export const intectTemplateFeriefriAllocationRule = z.object({Id: z.number().int().optional(), TemplateBalanceConfigurationId: z.number().int().optional(), Months: z.number().int().nullable().optional(), TriggerDate: z.string().nullable().optional(), Percentage: z.number().nullable().optional(), Hours: z.number().nullable().optional()}); export const intectTemplateBalanceConfiguration = z.object({FeriefriAllocationRules: z.array(intectTemplateFeriefriAllocationRule).optional(), Id: z.number().int().optional(), EmploymentTemplateId: z.number().int().optional(), BalanceDefinitionId: z.number().int().optional(), EarningPercentage: z.number().nullable().optional(), BaseCalculationMethodId: z.number().int().nullable().optional(), EarningFixedAmount: z.number().nullable().optional(), EarningFixedAmountPrincipleId: z.number().int().nullable().optional(), PensionSharePercentage: z.number().nullable().optional(), PensionShareFixedAmount: z.number().nullable().optional(), DaysConversionPercentage: z.number().nullable().optional(), DaysEarnedPerPayslip: z.number().nullable().optional(), PayoutPercentage: z.number().nullable().optional(), SeniorityRequirementMonths: z.number().int().nullable().optional(), CustomBehaviorId: z.number().int().nullable().optional(), UnitsEarnedPerInterval: z.number().nullable().optional(), BalanceEarningIntervalId: z.number().int().nullable().optional(), TerminationMethodId: z.number().int().nullable().optional(), SpendingMethodId: z.number().int().nullable().optional(), SpendingReducesVacationBase: z.boolean().nullable().optional(), EarningBasedOnWeeklyHours: z.boolean().nullable().optional()}); export const intectSalaryPeriodCountryMapping = z.object({Id: z.number().int().optional(), SalaryPeriodId: z.number().int().optional(), CountryId: z.number().int().optional(), PayoutDate: z.string().optional(), SalaryPeriod: z.lazy(() => intectSalaryPeriod.optional())}); export const intectSalaryPeriod: z.ZodType = z.object({Id: z.number().int().optional(), StartDate: z.string().optional(), EndDate: z.string().optional(), SalaryCycleId: z.number().int().optional(), SuggestedPayoutDate: z.string().nullable().optional(), FriendlyName: z.string().optional(), SalaryCycle: z.lazy(() => intectSalaryCycle.optional()), SalaryPeriodCountryMappings: z.array(intectSalaryPeriodCountryMapping).optional()}); export const intectSalaryCycle: z.ZodType = z.object({Id: z.number().int().optional(), Name: z.string().optional(), Months: z.number().int().optional(), Days: z.number().int().optional(), IsForwardPaid: z.boolean().optional(), FirstPeriodStartDate: z.string().nullable().optional(), SortKey: z.string().optional(), SpecialIdentifier: z.string().optional(), CompanyId: z.number().int().nullable().optional(), AccountId: z.number().int().nullable().optional(), SalaryPeriods: z.array(intectSalaryPeriod).optional(), UserEmployments: z.array(z.lazy(() => intectUserEmployment)).optional(), UserEmploymentTemplates: z.array(z.lazy(() => intectUserEmploymentTemplate)).optional(), IsMonthly: z.boolean().optional(), IsWeekly: z.boolean().optional(), IsBiWeekly: z.boolean().optional(), IsMonthlyStandard: z.boolean().optional(), IsCustom: z.boolean().optional()}); export const intectSalaryCycleTranslation = z.object({Id: z.number().int().optional(), SalaryCycleId: z.number().int().optional(), LanguageId: z.number().int().optional(), Name: z.string().optional(), Language: z.lazy(() => intectLanguage.optional()), SalaryCycle: intectSalaryCycle.optional()}); export const intectLanguage: z.ZodType = z.object({Id: z.number().int().optional(), Name: z.string().optional(), Code: z.string().optional(), IsSupported: z.boolean().optional(), CultureCode: z.string().optional(), SalaryCycleTranslations: z.array(intectSalaryCycleTranslation).optional()}); export const intectCompanyLogo = z.object({Id: z.number().int().optional(), Logo: z.string().optional(), Company: z.lazy(() => intectCompany.optional())}); export const intectTimeEntryTypeConfiguration = z.object({Id: z.number().int().optional(), TimeEntryTypeId: z.number().int().optional(), SalaryTypeId: z.number().int().optional(), Description: z.string().optional(), Amount: z.number().nullable().optional(), AmountPerUnit: z.number().nullable().optional(), AppliesBefore: z.string().nullable().optional(), AppliesAfter: z.string().nullable().optional(), AppliesHolidays: z.boolean().optional(), AmountPerKilometer: z.number().nullable().optional(), EmploymentTemplateId: z.number().int().nullable().optional(), TargetUnitTypeId: z.number().int().nullable().optional(), ConversionFactor: z.number().nullable().optional(), UserEmploymentId: z.number().int().nullable().optional(), AppliesSaturdays: z.boolean().optional(), AppliesSundays: z.boolean().optional(), UseDefaultRate: z.boolean().optional(), ConversionFactorAffectsRate: z.boolean().optional(), LegacyFlexEarningPercentage: z.number().nullable().optional(), NewFlexEarningPercentage: z.number().nullable().optional(), PensionPercentage: z.number().nullable().optional(), AppliesMondays: z.boolean().optional(), AppliesTuesdays: z.boolean().optional(), AppliesWednesdays: z.boolean().optional(), AppliesThursdays: z.boolean().optional(), AppliesFridays: z.boolean().optional(), LimitToDepartmentId: z.number().int().nullable().optional(), LimitToDimension1ValueId: z.number().int().nullable().optional(), LimitToDimension2ValueId: z.number().int().nullable().optional(), LimitToDimension3ValueId: z.number().int().nullable().optional(), PensionPercentageEmployee: z.number().nullable().optional(), SeniorityMonthsFrom: z.number().int().nullable().optional(), SeniorityMonthsLessThan: z.number().int().nullable().optional()}); export const intectAgaRate = z.object({OrdinaryRate: z.number().optional(), AgricultureAndFisheryRate: z.number().optional(), StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectNorwayMunicipalityZone = z.object({Id: z.number().int().optional(), MunicipalityCode: z.number().int().optional(), MunicipalityName: z.string().optional(), County: z.string().optional(), Zone: z.string().optional(), DisplayName: z.string().optional(), AgaRate: intectAgaRate.optional()}); export const intectDepartment = z.object({Id: z.number().int().optional(), CompanyId: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), IsActive: z.boolean().optional(), EIncomeReference: z.string().optional(), ExternalReference: z.string().optional(), ManagerCompanyUserId: z.number().int().nullable().optional(), Municipality: z.number().int().nullable().optional(), Created: z.string().optional(), Updated: z.string().optional(), DimensionValues: z.array(intectDimensionValue).optional(), TimeEntryTypeConfigurations: z.array(intectTimeEntryTypeConfiguration).optional(), NorwayMunicipalityZone: intectNorwayMunicipalityZone.optional()}); export const intectIntegrationOperation = z.object({Id: z.number().int().optional(), IntegrationId: z.number().int().optional(), IsActive: z.boolean().optional(), LastRun: z.string().nullable().optional(), StatusCode: z.number().int().optional(), OperationId: z.number().int().optional(), TranslationKey: z.string().optional(), TranslationParametersList: z.string().optional(), LastSuccessfulRun: z.string().nullable().optional(), Integration: z.lazy(() => intectIntegration.optional()), TranslatedStatusMessage: z.string().optional()}); export const intectIntegrationConfiguration = z.object({Id: z.number().int().optional(), IntegrationId: z.number().int().optional(), Key: z.string().optional(), Value: z.string().optional(), Integration: z.lazy(() => intectIntegration.optional())}); export const intectExternalSystemCredential = z.object({IsPrivate: z.boolean().optional(), BackendKey: z.string().optional(), StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectIntegrationCredential = z.object({Id: z.number().int().optional(), IntegrationId: z.number().int().optional(), Key: z.string().optional(), Value: z.string().optional(), Integration: z.lazy(() => intectIntegration.optional()), ExternalSystemCredential: intectExternalSystemCredential.optional(), IsPrivate: z.boolean().optional()}); export const intectIntegration: z.ZodType = z.object({Id: z.number().int().optional(), CompanyId: z.number().int().optional(), ExternalSystemId: z.number().int().optional(), Name: z.string().optional(), Created: z.string().optional(), StatusCode: z.number().int().optional(), IsSalaryTypeMappingActive: z.boolean().optional(), IntegrationOperations: z.array(intectIntegrationOperation).optional(), IntegrationConfigurations: z.array(intectIntegrationConfiguration).optional(), IntegrationCredentials: z.array(intectIntegrationCredential).optional()}); export const intectExternalAccount = z.object({Id: z.number().int().optional(), CompanyId: z.number().int().optional(), AccountIdentifier: z.string().optional(), AccountNumber: z.string().optional(), AccountName: z.string().optional(), Description: z.string().optional(), IntegrationId: z.number().int().nullable().optional(), Company: z.lazy(() => intectCompany.optional()), Integration: intectIntegration.optional()}); export const intectCustomValue = z.object({Id: z.number().int().optional(), Locked: z.boolean().optional(), Name: z.string().optional(), AppliesFrom: z.string().optional(), Text: z.string().optional(), Value: z.number().nullable().optional(), CompanyId: z.number().int().nullable().optional(), UserEmploymentId: z.number().int().nullable().optional(), UserEmploymentTemplateId: z.number().int().nullable().optional(), Company: z.lazy(() => intectCompany.optional()), UserEmployment: z.lazy(() => intectUserEmployment.optional()), UserEmploymentTemplate: z.lazy(() => intectUserEmploymentTemplate.optional())}); export const intectSalaryBatchStatus = z.object({StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectGender = z.object({IsFemale: z.boolean().optional(), StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectAccountRole = z.object({StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectImportMappingColumn = z.object({Id: z.number().int().optional(), ImportMappingId: z.number().int().optional(), ColumnKey: z.string().optional(), UserColumnNumber: z.number().int().optional(), SalaryTypeId: z.number().int().nullable().optional(), BackendKey: z.string().optional()}); export const intectImportMapping = z.object({Id: z.number().int().optional(), CompanyId: z.number().int().nullable().optional(), Name: z.string().optional(), StartRow: z.number().int().optional(), CountryId: z.number().int().nullable().optional(), TypeId: z.number().int().optional(), AccountOnly: z.boolean().optional(), AccountId: z.number().int().nullable().optional(), ImportMappingColumns: z.array(intectImportMappingColumn).optional(), Account: z.lazy(() => intectAccount.optional())}); export const intectAccountType = z.object({StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectAccountStatus = z.object({StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectAccountInvoiceType = z.object({StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectPricePackage = z.object({PayslipPrice: z.number().nullable().optional(), MonthlyPrice: z.number().nullable().optional(), MonthlyPriceIsMinimum: z.boolean().optional(), SupportMinutes: z.number().int().nullable().optional(), IncludedModuleIds: z.string().optional()}); export const intectAccount: z.ZodType = z.object({Id: z.number().int().optional(), Name: z.string().optional(), StatusId: z.number().int().optional(), AccountTypeId: z.number().int().optional(), IsPublic: z.boolean().optional(), Description: z.string().optional(), DefaultInvoiceTypeId: z.number().int().optional(), MasterCompanyId: z.number().int().nullable().optional(), MasterCompanyEmail: z.string().optional(), MasterCompanyVATRegistrationNumber: z.string().optional(), MasterCompanyName: z.string().optional(), MasterCompanyAddress: z.string().optional(), MasterCompanyPostalCode: z.string().optional(), MasterCompanyCity: z.string().optional(), MasterCompanyCountry: z.string().optional(), MasterCompanyEAN: z.string().optional(), MasterCompanyAttention: z.string().optional(), Companies: z.array(z.lazy(() => intectCompany)).optional(), LoginHistories: z.array(z.lazy(() => intectLoginHistory)).optional(), MasterCompany: z.lazy(() => intectCompany.optional()), ImportMappings: z.array(intectImportMapping).optional(), AccountType: intectAccountType.optional(), AccountStatus: intectAccountStatus.optional(), DefaultInvoiceType: intectAccountInvoiceType.optional(), PricePackage: intectPricePackage.optional()}); export const intectLoginHistory: z.ZodType = z.object({Id: z.number().int().optional(), LoginTime: z.string().optional(), UserIp: z.string().optional(), Country: z.string().optional(), City: z.string().optional(), Region: z.string().optional(), PostalCode: z.string().optional(), IsSuccessful: z.boolean().optional(), UserName: z.string().optional(), UserId: z.number().int().nullable().optional(), CompanyId: z.number().int().nullable().optional(), UserAgent: z.string().optional(), BrowserName: z.string().optional(), BrowserVersion: z.string().optional(), OSName: z.string().optional(), OSVersion: z.string().optional(), OperationType: z.string().optional(), AccountId: z.number().int().nullable().optional(), IsProcessed: z.boolean().optional(), Comment: z.string().optional(), APIKey: z.string().optional(), Provider: z.string().optional(), Issuer: z.string().optional(), RoleId: z.number().int().nullable().optional(), CorrelationId: z.string().optional(), Company: z.lazy(() => intectCompany.optional()), User: z.lazy(() => intectUser.optional()), Account: intectAccount.optional()}); export const intectBillingPrinciple = z.object({StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectModule = z.object({InfoOnly: z.boolean().optional(), Price: z.number().optional(), BillingPrincipleId: z.number().int().optional(), FreeUntilDate: z.string().nullable().optional(), PackageLevel: z.number().int().optional(), RegisterUsageOnly: z.boolean().optional(), BillingPrinciple: intectBillingPrinciple.optional(), StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectCompanyModule = z.object({Id: z.number().int().optional(), ModuleId: z.number().int().optional(), LastActivated: z.string().optional(), CompanyId: z.number().int().optional(), ScheduledDeactivationDate: z.string().nullable().optional(), ActivatedUserId: z.number().int().nullable().optional(), ActivatedByUser: z.lazy(() => intectUser.optional()), Module: intectModule.optional()}); export const intectUser: z.ZodType = z.object({FullName: z.string().optional(), IdentityNumberFormatted: z.string().optional(), HasDummyIdentityNumber: z.boolean().optional(), IsTemporaryNorwegianIdentityNumber: z.boolean().optional(), Gender: intectGender.optional(), AccountRole: intectAccountRole.optional(), Id: z.number().int().optional(), FirstName: z.string().optional(), MiddleName: z.string().optional(), LastName: z.string().optional(), IdentityNumber: z.string().optional(), BankRegNo: z.string().optional(), BankAccountNo: z.string().optional(), Username: z.string().optional(), LanguageId: z.number().int().optional(), BicSwiftNo: z.string().optional(), IbanNo: z.string().optional(), AddressId: z.number().int().optional(), AccessPhrase: z.string().optional(), DateOfBirth: z.string().nullable().optional(), TelMobile: z.string().optional(), TelFixed: z.string().optional(), Email: z.string().optional(), DefaultInitials: z.string().optional(), DefaultCompanyId: z.number().int().nullable().optional(), UseGlobalEmail: z.boolean().optional(), IsFirstLogin: z.boolean().optional(), Preferences: z.string().optional(), Created: z.string().optional(), ShowUpdateNotification: z.boolean().optional(), ShowUrgentNotification: z.boolean().optional(), ShowPayslipTutorial: z.number().int().optional(), AccountId: z.number().int().nullable().optional(), AccountRoleId: z.number().int().nullable().optional(), IsFemale: z.boolean().nullable().optional(), SystemAliasId: z.number().int().optional(), IntectSupport: z.boolean().optional(), ShowFormulaConfigurationPage: z.boolean().optional(), ShowFormulaAssignments: z.boolean().optional(), IntectSupportAvailableSupportCenters: z.string().optional(), Address: intectAddress.optional(), CompanyUsers: z.array(intectCompanyUser).optional(), UserImage: intectUserImage.optional(), LoginHistories: z.array(intectLoginHistory).optional(), ActivatedCompanyModules: z.array(intectCompanyModule).optional(), CalculatedSalaryBatches: z.array(z.lazy(() => intectSalaryBatch)).optional(), NorwayTaxSystemResponseLines: z.array(z.lazy(() => intectNorwayTaxSystemResponseLine)).optional()}); export const intectSalaryBatchValidationIssue = z.object({Id: z.number().int().optional(), SalaryBatchId: z.number().int().optional(), UserEmploymentId: z.number().int().nullable().optional(), IsError: z.boolean().optional(), Description: z.string().optional(), EmployeeName: z.string().optional(), MessageKey: z.string().optional(), MessageParameters: z.string().optional()}); export const intectSalaryBatch: z.ZodType = z.object({Status: intectSalaryBatchStatus.optional(), IsDraft: z.boolean().optional(), IsLocked: z.boolean().optional(), IsFinalized: z.boolean().optional(), Id: z.number().int().optional(), CompanyId: z.number().int().optional(), SalaryPeriodId: z.number().int().optional(), Created: z.string().optional(), StatusId: z.number().int().optional(), Approved: z.string().nullable().optional(), RejectionReason: z.string().optional(), Rejected: z.string().nullable().optional(), EIncomeTransferDate: z.string().nullable().optional(), Message: z.string().optional(), PayoutDate: z.string().optional(), HasErrors: z.boolean().optional(), HasWarnings: z.boolean().optional(), NetsPaymentsProcessingDate: z.string().nullable().optional(), IsTermination: z.boolean().optional(), EIncomeZeroReport: z.boolean().optional(), SalaryBatchNumber: z.number().int().optional(), PaymentMethodSalary: z.number().int().optional(), PaymentMethodTax: z.number().int().optional(), PaymentMethodPension: z.number().int().optional(), PayslipsArchived: z.boolean().optional(), LimitToSpecificEmployees: z.boolean().optional(), EBoksDeliveryEnabled: z.boolean().optional(), PayoutAllFlex: z.boolean().optional(), SpecifiedEmployees: z.string().optional(), HasNemKontoPayments: z.boolean().optional(), PaymentMethodPublicPension: z.number().int().optional(), PaymentMethodVacationProvider: z.number().int().optional(), ToArchive: z.boolean().optional(), Finalized: z.string().nullable().optional(), AllowPreliminaryPayslips: z.boolean().optional(), PackageLevelWhenFinalized: z.number().int().nullable().optional(), IsAutomated: z.boolean().optional(), PayoutNewFlex: z.boolean().optional(), ApprovedUserId: z.number().int().nullable().optional(), CreatedUserId: z.number().int().nullable().optional(), FinalizedUserId: z.number().int().nullable().optional(), RejectedUserId: z.number().int().nullable().optional(), FromDateOverride: z.string().nullable().optional(), ToDateOverride: z.string().nullable().optional(), FinalizationGuid: z.string().optional(), LastCalculatedUserId: z.number().int().nullable().optional(), PaymentMethodMaternityProgram: z.number().int().optional(), AutoFinalize: z.boolean().optional(), DispatchDate: z.string().optional(), ToDispatch: z.boolean().optional(), Updated: z.string().optional(), TypeId: z.number().int().optional(), PayoutVacationPay: z.boolean().optional(), DeductVacationPay: z.boolean().optional(), PayoutSeniorVacationPay: z.boolean().optional(), DeductSeniorVacationPay: z.boolean().optional(), TaxSystemResponseReruns: z.number().int().optional(), CalculatedByUser: intectUser.optional(), SalaryPeriod: intectSalaryPeriod.optional(), SalaryBatchRecords: z.array(intectSalaryBatchRecord).optional(), SalaryBatchValidationIssues: z.array(intectSalaryBatchValidationIssue).optional(), SalaryStatements: z.array(z.lazy(() => intectSalaryStatement)).optional()}); export const intectNorwayTaxSystemResponseLine: z.ZodType = z.object({Id: z.number().int().optional(), ParentRequestId: z.number().int().nullable().optional(), ExportFeedbackStatusId: z.number().int().nullable().optional(), SentUserId: z.number().int().optional(), SubmissionDate: z.string().optional(), InternalReportId: z.string().optional(), ExternalReportId: z.string().optional(), IsError: z.boolean().optional(), ResponseCode: z.string().optional(), ResponseText: z.string().optional(), SalaryBatchId: z.number().int().nullable().optional(), AmeldingType: z.number().int().optional(), CompanyId: z.number().int().optional(), ResponseReruns: z.number().int().nullable().optional(), ReplacedById: z.number().int().nullable().optional(), DialogId: z.string().optional(), IdempotencyKey: z.string().nullable().optional(), ChildNorwayTaxSystemResponseLine: z.array(z.lazy(() => intectNorwayTaxSystemResponseLine)).optional(), ParentNorwayTaxSystemResponseLine: z.lazy(() => intectNorwayTaxSystemResponseLine.optional()), SalaryBatch: intectSalaryBatch.optional(), User: intectUser.optional(), Company: z.lazy(() => intectCompany.optional()), ReplacingNorwayTaxSystemResponseLine: z.array(z.lazy(() => intectNorwayTaxSystemResponseLine)).optional(), ReplacedByNorwayTaxSystemResponseLine: z.lazy(() => intectNorwayTaxSystemResponseLine.optional())}); export const intectKeycloakConfigClaimmapping = z.object({Id: z.number().int().optional(), KeycloakConfigId: z.number().int().optional(), ClaimType: z.string().optional(), ClaimPath: z.string().optional(), ClaimValue: z.string().optional(), RoleId: z.number().int().optional()}); export const intectKeycloakConfig = z.object({Id: z.number().int().optional(), CompanyId: z.number().int().optional(), Issuer: z.string().optional(), JwksUri: z.string().optional(), Audience: z.string().optional(), Realm: z.string().optional(), IntectUrl: z.string().optional(), AutoCreateUser: z.boolean().optional(), AutoCreateServiceAccount: z.boolean().optional(), Company: z.lazy(() => intectCompany.optional()), KeycloakConfigClaimmappings: z.array(intectKeycloakConfigClaimmapping).optional()}); export const intectPermission = z.object({Id: z.number().int().optional(), InternalKey: z.string().optional(), CompanyRolePermissions: z.array(z.lazy(() => intectCompanyRolePermission)).optional()}); export const intectCompanyRolePermission: z.ZodType = z.object({Id: z.number().int().optional(), CompanyId: z.number().int().optional(), RoleId: z.number().int().optional(), PermissionId: z.number().int().optional(), IsGranted: z.boolean().optional(), Company: z.lazy(() => intectCompany.optional()), Permission: intectPermission.optional()}); export const intectSubUnit = z.object({Id: z.number().int().optional(), CompanyId: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), IsActive: z.boolean().optional(), VATRegistrationNumber: z.string().optional(), Municipality: z.number().int().nullable().optional(), Created: z.string().optional(), Updated: z.string().optional(), NorwayMunicipalityZone: intectNorwayMunicipalityZone.optional()}); export const intectCompanyType = z.object({StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectCompanyStatus = z.object({StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectCompany: z.ZodType = z.object({Id: z.number().int().optional(), Name: z.string().optional(), StatusId: z.number().int().optional(), VATRegistrationNumber: z.string().optional(), AccountId: z.number().int().nullable().optional(), Email1: z.string().optional(), Email2: z.string().optional(), DefaultLanguageId: z.number().int().optional(), AddressId: z.number().int().optional(), CompanyTypeId: z.number().int().optional(), SecondaryVATRegistrationNumber: z.string().optional(), MainContactCompanyUserId: z.number().int().nullable().optional(), BankRegNo: z.string().optional(), BankAccountNo: z.string().optional(), BicSwiftNo: z.string().optional(), IbanNo: z.string().optional(), ExternalSystemComment: z.string().optional(), PaymentMethodSalary: z.number().int().optional(), PaymentMethodPension: z.number().int().optional(), PaymentMethodTax: z.number().int().optional(), ExternalSystemId: z.number().int().nullable().optional(), TelMobile: z.string().optional(), TelFixed: z.string().optional(), KnowsIntectFrom: z.string().optional(), ExternalAuthentication: z.string().optional(), HasNetsAgreement: z.boolean().optional(), Created: z.string().optional(), EmployersAssociationNumber: z.string().optional(), StaticsReportsYearly: z.boolean().optional(), StatisticsRecipientId: z.number().int().nullable().optional(), SubscribeToNewsLetter: z.boolean().optional(), EstablishedDate: z.string().nullable().optional(), EmployeeCountEstimate: z.string().optional(), Preferences: z.string().optional(), InvoiceIdentifier: z.string().optional(), PaymentMethodPublicPension: z.number().int().optional(), PaymentMethodVacationProvider: z.number().int().optional(), InvoiceEmail: z.string().optional(), HasAcceptedTerms: z.boolean().optional(), CountryId: z.number().int().optional(), CurrentPackageLevel: z.number().int().optional(), ScheduledPackageId: z.number().int().nullable().optional(), ScheduledPackageDate: z.string().nullable().optional(), IndustryCode: z.string().optional(), AccountComment: z.string().optional(), BankId: z.number().int().nullable().optional(), IndustryOrganizationId: z.number().int().nullable().optional(), InvoiceTypeId: z.number().int().optional(), DefaultTaxTableId: z.number().int().nullable().optional(), AllowAutoDetermineBankAccount: z.boolean().optional(), SystemAliasId: z.number().int().optional(), PaymentMethodMaternityProgram: z.number().int().optional(), BankAccountWithholdingTax: z.string().optional(), BankGuarantee: z.boolean().optional(), PensionProviderName: z.string().optional(), NorwayTypeOfBusinessId: z.number().int().optional(), BankAccountNorway: z.string().optional(), PensionProviderOrgNo: z.string().optional(), BankCustomerNumber: z.string().optional(), UseSENumberForNetsAgreement: z.boolean().optional(), ExpenseId: z.string().nullable().optional(), ISOAgreementNumber: z.string().optional(), ISOSignerID: z.string().optional(), ISOUseCompanyCVR: z.boolean().optional(), HalfTaxMonth: z.number().int().nullable().optional(), ISOCustomerNumber: z.string().optional(), ISODivisionCode: z.string().optional(), EmployeeAnnualHoursNO: z.number().nullable().optional(), IsFNOReportEnabled: z.boolean().optional(), AltinnId: z.string().optional(), IsItinerant: z.boolean().optional(), Language: intectLanguage.optional(), Address: intectAddress.optional(), CompanyLogo: intectCompanyLogo.optional(), Departments: z.array(intectDepartment).optional(), ExternalAccounts: z.array(intectExternalAccount).optional(), Holidays: z.array(z.lazy(() => intectHoliday)).optional(), DimensionValues: z.array(intectDimensionValue).optional(), CustomValues: z.array(intectCustomValue).optional(), NorwayTaxSystemResponseLines: z.array(intectNorwayTaxSystemResponseLine).optional(), KeycloakConfigs: z.array(intectKeycloakConfig).optional(), CompanyRolePermissions: z.array(intectCompanyRolePermission).optional(), SubUnits: z.array(intectSubUnit).optional(), CompanyType: intectCompanyType.optional(), CompanyStatus: intectCompanyStatus.optional(), Country: intectCountry.optional(), HasIdP: z.boolean().optional(), PricePackage: intectPricePackage.optional(), InvoiceType: intectAccountInvoiceType.optional(), RequiresTwoFactorAuthentication: z.boolean().optional()}); export const intectHoliday: z.ZodType = z.object({Id: z.number().int().optional(), Date: z.string().optional(), ConsiderHoliday: z.boolean().optional(), DisablesBankPayments: z.boolean().optional(), CountryId: z.number().int().nullable().optional(), CompanyId: z.number().int().nullable().optional(), UserEmploymentTemplateId: z.number().int().nullable().optional(), Description: z.string().optional(), Created: z.string().nullable().optional(), Company: intectCompany.optional(), UserEmploymentTemplate: z.lazy(() => intectUserEmploymentTemplate.optional())}); export const intectPensionPolicyValidation = z.object({Regex: z.object({}).optional(), ViolationKey: z.string().optional(), StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectPaymentPlanProvider = z.object({NetsNo: z.string().optional(), DefaultBaseCalculationMethodId: z.number().int().optional(), NetsInfoType: z.number().int().optional(), PolicyNumberRequired: z.boolean().optional(), AccountNumberRequired: z.boolean().optional(), PolicyNumberLabelOverride: z.string().optional(), CountryId: z.number().int().optional(), PensionPolicyValidation: intectPensionPolicyValidation.optional(), IsDummyForBankAccount: z.boolean().optional(), RequiredNetsRecordTypes: z.array(z.number().int()).optional(), SupportedPaymentPlanTypes: z.array(z.number().int()).optional(), PolicyNumberPlace: z.enum(["CollectiveAgreementCode", "ReferenceIdentifier", "DepartmentNumber"]).optional(), StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectBaseCalculationMethod = z.object({IsPensionBase: z.boolean().optional(), IsFlexBase: z.boolean().optional(), IsExtraVacationHoursBase: z.boolean().optional(), IsCustomBalanceBase: z.boolean().optional(), StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectRecurringPaymentPlan = z.object({PaymentPlanProvider: intectPaymentPlanProvider.optional(), PensionBaseCalculationMethod: intectBaseCalculationMethod.optional(), IsBalanceActive: z.boolean().optional(), IsDanishOrGreenlandicPaymentPlanType: z.boolean().optional(), IsNorwayPaymentPlanType: z.boolean().optional(), FixedAmountIsPerWorkDay: z.boolean().optional(), Id: z.number().int().optional(), UserEmploymentId: z.number().int().nullable().optional(), UserEmploymentTemplateId: z.number().int().nullable().optional(), BaseCalculationMethodId: z.number().int().optional(), EmployeeShare: z.number().nullable().optional(), CompanyShare: z.number().nullable().optional(), PaymentPlanProviderId: z.number().int().nullable().optional(), PolicyNumber: z.string().optional(), EmployeeAmount: z.number().nullable().optional(), CompanyAmount: z.number().nullable().optional(), ProviderBankRegNo: z.string().optional(), ProviderBankAccountNo: z.string().optional(), DueDateDelayDays: z.number().int().nullable().optional(), StartDate: z.string().nullable().optional(), EndDate: z.string().nullable().optional(), PaymentPlanTypeId: z.number().int().optional(), SortOrder: z.number().int().optional(), VoluntaryShare: z.number().nullable().optional(), VoluntaryAmount: z.number().nullable().optional(), SeniorityRequirementMonths: z.number().int().nullable().optional(), AgeRequirementFrom: z.number().int().nullable().optional(), AgeRequirementUntil: z.number().int().nullable().optional(), PaymentPlanRecipientId: z.number().int().nullable().optional(), Reference: z.string().optional(), StartingBalance: z.number().nullable().optional(), CurrentBalance: z.number().nullable().optional(), FixedAmountBehavior: z.number().int().optional(), EnableAutoAdjust: z.boolean().optional(), PaymentPlanRecipient: intectPaymentPlanRecipient.optional()}); export const intectRateInterval = z.object({Id: z.number().int().optional(), RateIntervalSetId: z.number().int().optional(), SalaryTypeId: z.number().int().optional(), SeniorityFrom: z.number().int().nullable().optional(), SeniorityLessThan: z.number().int().nullable().optional(), AgeFrom: z.number().int().nullable().optional(), AgeLessThan: z.number().int().nullable().optional(), WorkHoursFrom: z.number().nullable().optional(), WorkHoursLessThan: z.number().nullable().optional(), AmountPerUnit: z.number().nullable().optional(), Amount: z.number().nullable().optional(), Description: z.string().optional()}); export const intectRateIntervalSet = z.object({Id: z.number().int().optional(), EmploymentTemplateId: z.number().int().optional(), Name: z.string().optional(), ValidFrom: z.string().nullable().optional(), ValidUntil: z.string().nullable().optional(), RateIntervals: z.array(intectRateInterval).optional()}); export const intectUserEmploymentTemplate: z.ZodType = z.object({VacationType: intectVacationType.optional(), VacationProvider: intectVacationProvider.optional(), CasualWorkerAppliesToAtpAndMaternity: z.boolean().optional(), CasualWorkerAppliesToVacation: z.boolean().optional(), Id: z.number().int().optional(), CompanyId: z.number().int().optional(), Name: z.string().optional(), VacationTypeId: z.number().int().optional(), VacationProviderId: z.number().int().nullable().optional(), VacationExtraPercentage: z.number().nullable().optional(), IsAtpTempWorker: z.boolean().optional(), WorksElsewhere: z.boolean().optional(), IncomeTypeId: z.number().int().optional(), SalaryCycleId: z.number().int().nullable().optional(), VacationReduceSalary: z.boolean().optional(), VacationSupplementPayoutMonth: z.number().int().optional(), IsInMaternityProgram: z.boolean().optional(), IllnessReducesSalary: z.boolean().optional(), StandardHoursPerWeek: z.number().nullable().optional(), StatisticsSalaryPrincipleId: z.number().int().nullable().optional(), StatisticsEmploymentPrincipleId: z.number().int().nullable().optional(), StatisticsEmploymentTermsId: z.number().int().nullable().optional(), StatisticsJobStatusId: z.number().int().nullable().optional(), StatisticsJobFunctionCode: z.number().int().nullable().optional(), StandardWorkDaysPerWeek: z.number().nullable().optional(), DepartmentId: z.number().int().nullable().optional(), FlexEarningPercentage: z.number().optional(), FlexBaseCalculationMethodId: z.number().int().optional(), IsDefault: z.boolean().optional(), CollectiveBargainingAgreementCode: z.string().optional(), TerminationVacationOverridePercentage: z.number().nullable().optional(), SystemDefaultForCountryId: z.number().int().nullable().optional(), TimeEntryRecordAcrossSalaryPeriodStrategy: z.number().int().optional(), AllowExtendedTaxCardDeductions: z.boolean().optional(), TemplateExternalReference: z.string().optional(), UseTaxDeductionPerWorkDay: z.boolean().optional(), DefaultRate: z.number().nullable().optional(), VacationDaysPerYear: z.number().nullable().optional(), ApplyLongTermIllnessCompensation: z.boolean().optional(), AnnualIncomeMultiplicationFactor: z.number().nullable().optional(), AdditionalVacationTerminationMethod: z.number().int().nullable().optional(), AdditionalVacationSpentFirst: z.boolean().optional(), AdvanceVacationDays: z.number().nullable().optional(), WorkplaceIdentifier: z.string().optional(), StandardWorkHoursMonday: z.number().nullable().optional(), StandardWorkHoursTuesday: z.number().nullable().optional(), StandardWorkHoursWednesday: z.number().nullable().optional(), StandardWorkHoursThursday: z.number().nullable().optional(), StandardWorkHoursFriday: z.number().nullable().optional(), StandardWorkHoursSaturday: z.number().nullable().optional(), StandardWorkHoursSunday: z.number().nullable().optional(), CopiedFromTemplateId: z.number().int().nullable().optional(), MaternityProgramId: z.number().int().nullable().optional(), IsMaternityProgramVolunteer: z.boolean().optional(), Dimension1ValueId: z.number().int().nullable().optional(), Dimension2ValueId: z.number().int().nullable().optional(), Dimension3ValueId: z.number().int().nullable().optional(), Dimension1AllowOverride: z.boolean().optional(), Dimension2AllowOverride: z.boolean().optional(), Dimension3AllowOverride: z.boolean().optional(), Dimension1Value: z.string().optional(), Dimension2Value: z.string().optional(), Dimension3Value: z.string().optional(), WorkingAddressReference: z.string().optional(), WorkplaceAddress: z.string().optional(), WorkplaceCity: z.string().optional(), EmploymentTypeId: z.number().int().nullable().optional(), AppointmentTypeId: z.number().int().nullable().optional(), WorkingHoursArragementId: z.number().int().nullable().optional(), VacationLimitedAllowanceId: z.number().int().optional(), FlexTerminationMethodId: z.number().int().optional(), VacationMinimumAmount: z.number().nullable().optional(), VacationMinimumAmountTerminationIgnore: z.boolean().nullable().optional(), AdvanceVacationExpireDate: z.string().nullable().optional(), VariableVacationPayoutMethodId: z.number().int().nullable().optional(), VacationYearStartMonth: z.number().int().nullable().optional(), Year5VacationDaysActionSE: z.number().int().nullable().optional(), VacationPayoutMethodId: z.number().int().nullable().optional(), VacationTerminationMethodId: z.number().int().nullable().optional(), ExemptFromSocialTax: z.boolean().optional(), GreatPrayerSupplementPayoutMethodId: z.number().int().optional(), CasualWorkerStatusId: z.number().int().optional(), SubUnitId: z.number().int().nullable().optional(), TemplateSalaryRecords: z.array(intectTemplateSalaryRecord).optional(), SenioritySupplements: z.array(intectSenioritySupplement).optional(), OvertimeSupplements: z.array(intectOvertimeSupplement).optional(), TemplateBalanceConfigurations: z.array(intectTemplateBalanceConfiguration).optional(), Holidays: z.array(intectHoliday).optional(), DimensionValues: z.array(intectDimensionValue).optional(), SalaryCycle: intectSalaryCycle.optional(), UserEmploymentTemplate1: z.array(z.lazy(() => intectUserEmploymentTemplate)).optional(), UserEmploymentTemplate2: z.lazy(() => intectUserEmploymentTemplate.optional()), RecurringPaymentPlans: z.array(intectRecurringPaymentPlan).optional(), CustomValues: z.array(intectCustomValue).optional(), RateIntervalSets: z.array(intectRateIntervalSet).optional()}); export const intectTaxCardType = z.object({EIncomeReference: z.number().int().optional(), AllowTaxRate: z.boolean().optional(), AllowDeduction: z.boolean().optional(), AllowFreeAmount: z.boolean().optional(), RelevantCountries: z.array(intectCountry).optional(), StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectUserTaxInfo = z.object({TaxCardType: intectTaxCardType.optional(), IsCurrent: z.boolean().optional(), Id: z.number().int().optional(), ValidFrom: z.string().optional(), ValidUntil: z.string().nullable().optional(), TaxRate: z.number().nullable().optional(), DeductionMonth: z.number().nullable().optional(), FreeAmount: z.number().nullable().optional(), UserEmploymentId: z.number().int().optional(), IsActive: z.boolean().optional(), TaxCardTypeId: z.number().int().optional(), IsDummy: z.boolean().optional(), MinimumRate: z.number().nullable().optional(), MaximumDeductionMonth: z.number().nullable().optional(), MaximumDeductionDay: z.number().nullable().optional(), Created: z.string().optional(), DeductionWeek: z.number().nullable().optional(), DeductionDay: z.number().nullable().optional(), IsManual: z.boolean().optional(), ParsedFromFileName: z.string().optional(), TaxCardRequestId: z.number().int().nullable().optional(), Updated: z.string().optional(), TaxCardYear: z.number().int().nullable().optional(), ExternalTaxCardId: z.string().optional(), TaxTable: z.string().optional()}); export const intectSalaryTypeView = z.object({SalaryTypeId: z.number().int().optional(), BaseSalaryTypeId: z.number().int().nullable().optional(), CompanyId: z.number().int().optional(), LanguageId: z.number().int().optional(), CategoryId: z.number().int().nullable().optional(), Name: z.string().optional(), Description: z.string().optional(), DefaultPayslipText: z.string().optional(), IsVisible: z.boolean().optional(), IsActive: z.boolean().optional(), UnitTypeId: z.number().int().nullable().optional(), AmountPerUnit: z.number().nullable().optional(), Units: z.number().nullable().optional(), BaseAmount: z.number().nullable().optional(), Amount: z.number().nullable().optional(), EIncomeCategory: z.number().int().optional(), EIncomeSubCategory: z.number().int().optional(), SummaryCategoryId: z.number().int().nullable().optional(), SalaryTypeGroupId: z.number().int().nullable().optional(), ExternalReference: z.string().optional(), ImportExternalReference: z.string().optional(), IncludeInPayment: z.boolean().optional(), SortOrder: z.number().int().optional(), AllowEditUnitType: z.boolean().optional(), AllowEditBaseAmount: z.boolean().optional(), NegativeDefault: z.boolean().optional(), DefaultPersistanceTypeId: z.number().int().nullable().optional(), StatisticsOnly: z.boolean().optional(), StatisticsFieldCode: z.string().optional(), SumFromIds: z.string().optional(), SumFromReverseSign: z.boolean().optional(), IncludeAlways: z.boolean().optional(), RelatesToIncomeType5: z.boolean().nullable().optional(), Explanation: z.string().optional(), TriggersOvertimeSupplement: z.boolean().nullable().optional(), SulinalFieldNumber: z.string().optional(), OverviewIndex: z.number().int().nullable().optional(), OverviewDisplayMode: z.number().int().nullable().optional(), Identifier: z.string().optional(), IsAdvanced: z.boolean().nullable().optional(), AccountTypeId: z.number().int().nullable().optional(), BalanceDefinitionId: z.number().int().nullable().optional(), BalanceBehavior: z.number().int().nullable().optional(), BaseName: z.string().optional(), BaseDescription: z.string().optional(), BasePayslipText: z.string().optional(), SkatteverketAgiFieldCode: z.number().int().nullable().optional(), DimensionDistributionOptionId: z.number().int().nullable().optional(), DisplayDates: z.boolean().optional(), PensionBehaviorId: z.number().int().optional(), Dimension1ValueId: z.number().int().nullable().optional(), Dimension2ValueId: z.number().int().nullable().optional(), Dimension3ValueId: z.number().int().nullable().optional(), FlexBehaviorId: z.number().int().nullable().optional(), ProhibitDimensionValues: z.boolean().optional(), SalaryIncomeTypeId: z.number().int().nullable().optional(), IsVariable: z.boolean().optional(), VatCode: z.string().optional(), IsBaseSalary: z.boolean().optional(), TriggersSecondaryEmployeeTax: z.boolean().optional(), TriggersMainEmployeeTax: z.boolean().optional(), TriggersPublicPension: z.boolean().optional(), TriggersPrimaryVacation: z.boolean().optional(), HideOnPayslip: z.boolean().optional(), TriggersMainEmployerTax: z.boolean().optional(), Formula1Id: z.number().int().nullable().optional(), Formula1Expression: z.string().optional(), Formula2Id: z.number().int().nullable().optional(), Formula2Expression: z.string().optional(), Formula3Id: z.number().int().nullable().optional(), Formula3Expression: z.string().optional(), Formula1Name: z.string().optional(), Formula2Name: z.string().optional(), Formula3Name: z.string().optional(), Formula1Description: z.string().optional(), Formula2Description: z.string().optional(), Formula3Description: z.string().optional(), BaseIdentifier: z.string().optional(), SalaryIncomeDescriptionId: z.number().int().nullable().optional(), IsUnionFeeBasis: z.boolean().optional(), IgnoreDateLimitation: z.boolean().optional(), IsVacationBasis: z.boolean().nullable().optional(), SalaryIncomeAdditionalInfoIds: z.string().optional(), SumUnitsFromIds: z.string().optional(), StatisticsPayClassificationId: z.number().int().nullable().optional()}); export const intectTimeEntryTypeTranslation = z.object({Id: z.number().int().optional(), TimeEntryTypeId: z.number().int().optional(), LanguageId: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), DefaultPayslipText: z.string().optional(), StatusId: z.number().int().optional(), Comment: z.string().optional()}); export const intectTimeEntryTypeCountryMapping = z.object({Id: z.number().int().optional(), BaseTimeEntryTypeId: z.number().int().optional(), CountryId: z.number().int().optional(), TimeEntryType: z.lazy(() => intectTimeEntryType.optional())}); export const intectTimeEntryType: z.ZodType = z.object({Id: z.number().int().optional(), BaseTimeEntryTypeId: z.number().int().nullable().optional(), CompanyId: z.number().int().nullable().optional(), Name: z.string().optional(), Description: z.string().optional(), IsActive: z.boolean().nullable().optional(), UnitTypeId: z.number().int().nullable().optional(), ExternalReference: z.string().optional(), SortOrder: z.number().int().nullable().optional(), DefaultPayslipText: z.string().optional(), AllowEditUnitType: z.boolean().nullable().optional(), IsIllness: z.boolean().nullable().optional(), InternalReferenceId: z.number().int().nullable().optional(), Identifier: z.string().optional(), StatisticsFieldCode: z.string().optional(), MandatoryDescription: z.boolean().nullable().optional(), IsReimbursable: z.boolean().nullable().optional(), BaseTimeEntryType: z.lazy(() => intectTimeEntryType.optional()), TimeEntryTypeTranslations: z.array(intectTimeEntryTypeTranslation).optional(), TimeEntryTypeConfigurations: z.array(intectTimeEntryTypeConfiguration).optional(), TimeEntryTypeCountryMappings: z.array(intectTimeEntryTypeCountryMapping).optional()}); export const intectTimeEntryStatus = z.object({StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectTimeEntryRecord = z.object({ManagerName: z.string().optional(), TemplateName: z.string().optional(), UnitType: intectUnitType.optional(), Status: intectTimeEntryStatus.optional(), EmployeeName: z.string().optional(), DepartmentName: z.string().optional(), Title: z.string().optional(), DepartmentId: z.number().int().nullable().optional(), IsCalculated: z.boolean().optional(), Id: z.number().int().optional(), UserEmploymentId: z.number().int().optional(), EntryDate: z.string().optional(), TimeEntryTypeId: z.number().int().optional(), Units: z.number().optional(), UnitTypeId: z.number().int().optional(), Description: z.string().optional(), SalaryPeriodId: z.number().int().optional(), StatusId: z.number().int().optional(), Created: z.string().optional(), RejectionReason: z.string().optional(), SalaryRecordId: z.number().int().nullable().optional(), SalaryStatementId: z.number().int().nullable().optional(), KilometersDriven: z.number().nullable().optional(), StartTime: z.string().nullable().optional(), EndTime: z.string().nullable().optional(), Dimension1Value: z.string().optional(), Dimension2Value: z.string().optional(), Dimension3Value: z.string().optional(), EndDate: z.string().nullable().optional(), CalculatedFromRecordId: z.number().int().nullable().optional(), ExternalIdentifier: z.string().optional(), CalculatedPayout: z.number().nullable().optional(), CalculatedPayoutKilometers: z.number().nullable().optional(), AmountPerUnit: z.number().nullable().optional(), ApprovedUserId: z.number().int().nullable().optional(), RejectedUserId: z.number().int().nullable().optional(), Dimension1ValueId: z.number().int().nullable().optional(), Dimension2ValueId: z.number().int().nullable().optional(), Dimension3ValueId: z.number().int().nullable().optional(), PensionPercentageEmployee: z.number().nullable().optional(), Updated: z.string().optional(), IsProcessing: z.boolean().optional(), TimeEntryRecordSalaryRecordMappings: z.array(z.lazy(() => intectTimeEntryRecordSalaryRecordMapping)).optional()}); export const intectTimeEntryRecordSalaryRecordMapping: z.ZodType = z.object({Id: z.number().int().optional(), TimeEntryRecordId: z.number().int().optional(), SalaryRecordId: z.number().int().optional(), ContributedUnits: z.number().nullable().optional(), SalaryRecord: z.lazy(() => intectSalaryRecord.optional()), TimeEntryRecord: intectTimeEntryRecord.optional()}); export const intectLedgerStatus = z.object({StaticDataId: z.number().int().optional(), Key: z.string().optional(), Id: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), SortKey: z.string().optional()}); export const intectSalaryLedger = z.object({Status: intectLedgerStatus.optional(), Id: z.number().int().optional(), CompanyId: z.number().int().optional(), Name: z.string().optional(), OwnerUserId: z.number().int().optional(), StatusId: z.number().int().optional(), SalaryRecords: z.array(z.lazy(() => intectSalaryRecord)).optional()}); export const intectSalaryRecordAdditionalInfo = z.object({Id: z.number().int().optional(), SalaryRecordId: z.number().int().optional(), Created: z.string().optional(), Updated: z.string().optional(), VehicleKm: z.number().nullable().optional(), VehicleNumberOfJourneys: z.number().int().nullable().optional(), VehicleHomeWorkKm: z.number().nullable().optional(), VehicleListPrice: z.number().nullable().optional(), VehicleRegistrationNumber: z.string().optional(), VehicleCarPool: z.boolean().nullable().optional(), VehicleOtherFreeUse: z.boolean().nullable().optional(), VehicleFreeUseOutsideStandardRule: z.boolean().nullable().optional(), VehiclePersonTypeId: z.number().int().nullable().optional(), BenefitEarningsStartDate: z.string().nullable().optional(), BenefitEarningsEndDate: z.string().nullable().optional(), BeneficiaryUsTaxResidentFirst60Days: z.boolean().nullable().optional(), NetSalaryVehicleListPrice: z.number().nullable().optional(), NetSalaryVehicleRegistrationNumber: z.string().optional(), NetSalaryVehicleCarPool: z.boolean().nullable().optional(), ForeignArtistYear: z.number().int().nullable().optional(), ForeignArtistGrossUpBasisAmount: z.number().nullable().optional(), ForeignArtistTaxDeductedAmount: z.number().int().nullable().optional(), TaxResidentCountryCode: z.string().optional(), CountryOfEarningsCode: z.string().optional(), EarnedOnSupportVessel: z.boolean().optional(), EarnedOnContinentalShelf: z.boolean().nullable().optional(), IncomeRelatedInformationId: z.number().int().nullable().optional(), PaymentPlanRecipientId: z.number().int().nullable().optional(), AccountNumber: z.number().int().nullable().optional(), KIDReference: z.string().optional(), ERPReference: z.string().optional(), SalaryRecord: z.lazy(() => intectSalaryRecord.optional())}); export const intectSalaryRecord: z.ZodType = z.object({SalaryTypeView: intectSalaryTypeView.optional(), UnitType: intectUnitType.optional(), PersistenceType: intectSalaryRecordPersistenceType.optional(), Id: z.number().int().optional(), Units: z.number().nullable().optional(), IsActive: z.boolean().optional(), StartDate: z.string().nullable().optional(), EndDate: z.string().nullable().optional(), Description: z.string().optional(), UserEmploymentId: z.number().int().optional(), UnitTypeId: z.number().int().nullable().optional(), AmountPerUnit: z.number().nullable().optional(), Amount: z.number().nullable().optional(), BaseAmount: z.number().nullable().optional(), SalaryTypeId: z.number().int().optional(), SortOrder: z.number().int().nullable().optional(), TimeEntryTypeId: z.number().int().nullable().optional(), PersistenceTypeId: z.number().int().optional(), Dimension1Value: z.string().optional(), Dimension2Value: z.string().optional(), Dimension3Value: z.string().optional(), ExternalIdentifier: z.string().optional(), LegacyFlexEarningPercentage: z.number().nullable().optional(), NewFlexEarningPercentage: z.number().nullable().optional(), PensionPercentage: z.number().nullable().optional(), SalaryStatementId: z.number().int().nullable().optional(), Dimension1ValueId: z.number().int().nullable().optional(), Dimension2ValueId: z.number().int().nullable().optional(), Dimension3ValueId: z.number().int().nullable().optional(), Created: z.string().optional(), PensionPercentageEmployee: z.number().nullable().optional(), InternalReference: z.string().optional(), LedgerId: z.number().int().nullable().optional(), Formula1Id: z.number().int().nullable().optional(), Formula2Id: z.number().int().nullable().optional(), Formula3Id: z.number().int().nullable().optional(), Updated: z.string().optional(), LicensePlate: z.string().optional(), ListPrice: z.number().int().nullable().optional(), PaymentPlanRecipientId: z.number().int().nullable().optional(), AccountNumber: z.number().int().nullable().optional(), KIDReference: z.string().optional(), ERPReference: z.string().optional(), TimeEntryType: intectTimeEntryType.optional(), SalaryStatement: z.lazy(() => intectSalaryStatement.optional()), TimeEntryRecordSalaryRecordMappings: z.array(intectTimeEntryRecordSalaryRecordMapping).optional(), SalaryLedger: intectSalaryLedger.optional(), Formula1: intectFormula.optional(), Formula2: intectFormula.optional(), Formula3: intectFormula.optional(), SalaryRecordAdditionalInfoes: z.array(intectSalaryRecordAdditionalInfo).optional()}); export const intectEmploymentFeriefriAllocationRule = z.object({Id: z.number().int().optional(), EmploymentBalanceConfigurationId: z.number().int().optional(), Months: z.number().int().nullable().optional(), TriggerDate: z.string().nullable().optional(), Percentage: z.number().nullable().optional(), Hours: z.number().nullable().optional()}); export const intectEmploymentBalanceConfiguration = z.object({Id: z.number().int().optional(), UserEmploymentId: z.number().int().optional(), BalanceDefinitionId: z.number().int().optional(), EarningPercentage: z.number().nullable().optional(), BaseCalculationMethodId: z.number().int().nullable().optional(), EarningFixedAmount: z.number().nullable().optional(), EarningFixedAmountPrincipleId: z.number().int().nullable().optional(), PensionSharePercentage: z.number().nullable().optional(), PensionShareFixedAmount: z.number().nullable().optional(), DaysConversionPercentage: z.number().nullable().optional(), DaysEarnedPerPayslip: z.number().nullable().optional(), PayoutPercentage: z.number().nullable().optional(), SeniorityRequirementMonths: z.number().int().nullable().optional(), CustomBehaviorId: z.number().int().nullable().optional(), UnitsEarnedPerInterval: z.number().nullable().optional(), BalanceEarningIntervalId: z.number().int().nullable().optional(), TerminationMethodId: z.number().int().nullable().optional(), SpendingMethodId: z.number().int().nullable().optional(), SpendingReducesVacationBase: z.boolean().nullable().optional(), EarningBasedOnWeeklyHours: z.boolean().nullable().optional(), FeriefriAllocationRules: z.array(intectEmploymentFeriefriAllocationRule).optional()}); export const intectCompanyCar = z.object({Id: z.number().int().optional(), UserEmploymentId: z.number().int().optional(), TaxableValue: z.number().optional(), FirstRegistrationDate: z.string().nullable().optional(), PurchasedDate: z.string().nullable().optional(), LicensePlateNumber: z.string().optional(), Model: z.string().optional(), ValidFrom: z.string().nullable().optional(), ValidUntil: z.string().nullable().optional(), EnvironmentSupplementValue: z.number().optional(), IsOverDistanceLimit: z.boolean().nullable().optional(), ModelCode: z.string().optional(), AdditionalEquipment: z.number().nullable().optional(), VehicleTax: z.number().nullable().optional(), FuelPayerId: z.number().int().nullable().optional(), FuelTypeId: z.number().int().nullable().optional(), TaxableValueAdjusted: z.number().nullable().optional(), ReducedBenefitValidFrom: z.string().nullable().optional(), Comment: z.string().optional(), UserEmployment: z.lazy(() => intectUserEmployment.optional())}); export const intectUserEmployment: z.ZodType = z.object({CurrentConfiguration: intectEmploymentConfigurationHistory.optional(), VacationType: intectVacationType.optional(), VacationProvider: intectVacationProvider.optional(), CasualWorkerAppliesToAtpAndMaternity: z.boolean().optional(), CasualWorkerAppliesToVacation: z.boolean().optional(), Id: z.number().int().optional(), CompanyUserId: z.number().int().optional(), HireDate: z.string().optional(), ExpireDate: z.string().nullable().optional(), VacationTypeId: z.number().int().optional(), VacationProviderId: z.number().int().nullable().optional(), VacationExtraPercentage: z.number().nullable().optional(), BasedOnTemplateId: z.number().int().nullable().optional(), Title: z.string().optional(), SalaryCycleId: z.number().int().nullable().optional(), ExternalReference: z.string().optional(), IsAtpTempWorker: z.boolean().optional(), DepartmentId: z.number().int().nullable().optional(), IncomeTypeId: z.number().int().optional(), WorksElsewhere: z.boolean().optional(), LastStatementEndDate: z.string().nullable().optional(), VacationReduceSalary: z.boolean().optional(), IsTerminated: z.boolean().optional(), VacationSupplementPayoutMonth: z.number().int().optional(), IsInMaternityProgram: z.boolean().optional(), TaxCardRequested: z.string().nullable().optional(), PreferredTaxCardTypeId: z.number().int().optional(), Created: z.string().optional(), IllnessReducesSalary: z.boolean().optional(), ManagerCompanyUserId: z.number().int().nullable().optional(), StatisticsSalaryPrincipleId: z.number().int().nullable().optional(), StatisticsEmploymentPrincipleId: z.number().int().nullable().optional(), StatisticsEmploymentTermsId: z.number().int().nullable().optional(), StatisticsJobStatusId: z.number().int().nullable().optional(), StatisticsJobFunctionCode: z.number().int().nullable().optional(), StatisticsSalaryPrincipleFromDate: z.string().nullable().optional(), StatisticsEmploymentPrincipleFromDate: z.string().nullable().optional(), StatisticsEmploymentTermsFromDate: z.string().nullable().optional(), StatisticsJobStatusFromDate: z.string().nullable().optional(), StatisticsJobFunctionFromDate: z.string().nullable().optional(), FlexEarningPercentage: z.number().optional(), FlexBaseCalculationMethodId: z.number().int().optional(), CollectiveBargainingAgreementCode: z.string().optional(), TerminationVacationOverridePercentage: z.number().nullable().optional(), SeniorityDate: z.string().nullable().optional(), ApplyDanishRulesInGreenland: z.boolean().optional(), AnnualTaxComment: z.string().optional(), AllowExtendedTaxCardDeductions: z.boolean().optional(), ReduceTaxCardDeduction: z.number().nullable().optional(), IncreaseTaxRatePercentage: z.number().nullable().optional(), UseTaxDeductionPerWorkDay: z.boolean().optional(), DefaultRate: z.number().nullable().optional(), TaxTableNumber: z.string().optional(), TaxColumnNumber: z.number().int().nullable().optional(), AdHocTaxRateOverride: z.number().nullable().optional(), VacationDaysPerYear: z.number().nullable().optional(), SecondaryExternalReference: z.string().optional(), LastIllnessEndDate: z.string().nullable().optional(), LastIllnessStartDate: z.string().nullable().optional(), VacationTerminationDate: z.string().nullable().optional(), VacationTerminationDatePriorYear: z.string().nullable().optional(), AdditionalVacationTerminationMethod: z.number().int().nullable().optional(), AdditionalVacationSpentFirst: z.boolean().optional(), Updated: z.string().nullable().optional(), AtpHours: z.number().nullable().optional(), IsPendingRecalc: z.boolean().optional(), AdvanceVacationDays: z.number().nullable().optional(), WorkplaceIdentifier: z.string().optional(), SettleVacationInTerminationMonth: z.boolean().optional(), MaternityProgramId: z.number().int().nullable().optional(), IsMaternityProgramVolunteer: z.boolean().optional(), Dimension1ValueId: z.number().int().nullable().optional(), Dimension2ValueId: z.number().int().nullable().optional(), Dimension3ValueId: z.number().int().nullable().optional(), Dimension1Value: z.string().optional(), Dimension2Value: z.string().optional(), Dimension3Value: z.string().optional(), WorkingAddressReference: z.string().optional(), WorkplaceAddress: z.string().optional(), WorkplaceCity: z.string().optional(), EmploymentTypeId: z.number().int().nullable().optional(), CauseOfEndDateId: z.number().int().nullable().optional(), AppointmentTypeId: z.number().int().nullable().optional(), WorkingHoursArragementId: z.number().int().nullable().optional(), OccupationCode: z.string().optional(), FlexTerminationMethodId: z.number().int().optional(), VacationLimitedAllowanceId: z.number().int().optional(), ApplyDanishATPRulesInGreenland: z.boolean().optional(), ApplyDanishAMBRulesInGreenland: z.boolean().optional(), IsECHTriggerDisabled: z.boolean().optional(), VacationMinimumAmount: z.number().nullable().optional(), VacationMinimumAmountTerminationIgnore: z.boolean().nullable().optional(), AdvanceVacationExpireDate: z.string().nullable().optional(), VariableVacationPayoutMethodId: z.number().int().nullable().optional(), VacationYearStartMonth: z.number().int().nullable().optional(), RecentSalaryChangeDate: z.string().nullable().optional(), LastReportedInAmeldingDate: z.string().nullable().optional(), Year5VacationDaysActionSE: z.number().int().nullable().optional(), VacationPayoutMethodId: z.number().int().nullable().optional(), VacationTerminationMethodId: z.number().int().nullable().optional(), AmeldingId: z.string().optional(), ExemptFromSocialTax: z.boolean().optional(), HalfTaxOverride: z.boolean().optional(), GreatPrayerSupplementPayoutMethodId: z.number().int().optional(), ExpireDateReportedInAmeldingDate: z.string().nullable().optional(), IsNetSalary: z.boolean().optional(), GrossingUpTable: z.string().optional(), TaxRuleId: z.number().int().nullable().optional(), CommuterTypeId: z.number().int().nullable().optional(), StatusFNOId: z.number().int().optional(), PayFormFNOId: z.number().int().optional(), StatusDegreeShare: z.number().optional(), IsWorkCapable: z.boolean().optional(), IsReceivesAFP: z.boolean().optional(), PensionAgeNO: z.number().int().optional(), EmployeeAnnualHoursNO: z.number().nullable().optional(), YearlySalary: z.number().nullable().optional(), CasualWorkerStatusId: z.number().int().optional(), SubUnitId: z.number().int().nullable().optional(), CompanyUser: intectCompanyUser.optional(), UserEmploymentTemplate: intectUserEmploymentTemplate.optional(), UserTaxInfos: z.array(intectUserTaxInfo).optional(), SalaryRecords: z.array(intectSalaryRecord).optional(), TimeEntryTypeConfigurations: z.array(intectTimeEntryTypeConfiguration).optional(), EmploymentBalanceConfigurations: z.array(intectEmploymentBalanceConfiguration).optional(), SalaryCycle: intectSalaryCycle.optional(), EmploymentConfigurationHistories: z.array(intectEmploymentConfigurationHistory).optional(), CompanyCars: z.array(intectCompanyCar).optional(), RecurringPaymentPlans: z.array(intectRecurringPaymentPlan).optional(), CustomValues: z.array(intectCustomValue).optional()}); export const intectBalanceDefinition = z.object({Id: z.number().int().optional(), CompanyId: z.number().int().nullable().optional(), CountryId: z.number().int().nullable().optional(), Name: z.string().optional(), SpecialIdentifier: z.string().optional(), IsConfigurable: z.boolean().optional(), AmountEnabled: z.boolean().optional(), TaxEnabled: z.boolean().optional(), SecondaryAmountEnabled: z.boolean().optional(), TertiaryAmountEnabled: z.boolean().optional(), DaysEnabled: z.boolean().optional(), SecondaryDaysEnabled: z.boolean().optional(), HoursEnabled: z.boolean().optional(), BaseAmountEnabled: z.boolean().optional(), HasPeriods: z.boolean().optional(), SuspendedDaysEnabled: z.boolean().optional(), IsActive: z.boolean().optional(), BaseCalculationMethodId: z.number().int().nullable().optional(), BalanceEarningIntervalId: z.number().int().nullable().optional(), UnitsEarnedPerInterval: z.number().nullable().optional(), EarningFixedAmount: z.number().nullable().optional(), EarningPercentage: z.number().nullable().optional(), TerminationMethodId: z.number().int().nullable().optional(), SpendingMethodId: z.number().int().nullable().optional(), BalancePeriods: z.array(z.lazy(() => intectBalancePeriod)).optional()}); export const intectBalancePeriod: z.ZodType = z.object({Id: z.number().int().optional(), BalanceId: z.number().int().optional(), EarningStartDate: z.string().optional(), EarningEndDate: z.string().optional(), SpendingStartDate: z.string().optional(), SpendingEndDate: z.string().optional(), SpecialIdentifier: z.string().optional(), BalanceDefinition: intectBalanceDefinition.optional(), Name: z.string().optional()}); export const intectBalanceAdjustment = z.object({Id: z.number().int().optional(), UserEmploymentId: z.number().int().optional(), SalaryStatementId: z.number().int().nullable().optional(), Created: z.string().optional(), EffectPerDate: z.string().optional(), IsSpending: z.boolean().optional(), Amount: z.number().optional(), Days: z.number().optional(), Hours: z.number().optional(), TaxAmount: z.number().optional(), NetAmount: z.number().optional(), IsDraft: z.boolean().optional(), BalancePeriodId: z.number().int().nullable().optional(), BaseAmount: z.number().nullable().optional(), BalanceDefinitionId: z.number().int().optional(), SecondaryAmount: z.number().nullable().optional(), SecondaryDays: z.number().nullable().optional(), TertiaryAmount: z.number().optional(), SpecialIdentifier: z.string().optional(), BatchPayoutDate: z.string().optional(), IsReverted: z.boolean().optional(), DaysSuspended: z.number().nullable().optional(), SalaryBatchId: z.number().int().nullable().optional(), SalaryStatement: z.lazy(() => intectSalaryStatement.optional()), UserEmployment: intectUserEmployment.optional(), BalancePeriod: intectBalancePeriod.optional(), BalanceDefinition: intectBalanceDefinition.optional(), SalaryBatch: intectSalaryBatch.optional()}); export const intectSalaryStatement: z.ZodType = z.object({PayoutDateDerived: z.string().nullable().optional(), VacationProvider: intectVacationProvider.optional(), IsFinalized: z.boolean().optional(), TypeId: z.number().int().optional(), Description: z.string().optional(), Id: z.number().int().optional(), SalaryBatchId: z.number().int().optional(), PeriodFrom: z.string().optional(), PeriodTo: z.string().optional(), PayoutAmount: z.number().nullable().optional(), AtpEmployee: z.number().optional(), AtpEmployer: z.number().optional(), UserEmploymentId: z.number().int().optional(), TaxAmount: z.number().optional(), AmbAmount: z.number().optional(), PensionProviderId: z.number().int().nullable().optional(), PensionEmployeeShare: z.number().nullable().optional(), PensionEmployeeShareAmount: z.number().optional(), PensionCompanyShare: z.number().nullable().optional(), PensionCompanyShareAmount: z.number().optional(), VacationProviderId: z.number().int().nullable().optional(), VacationMoneyEarnedGross: z.number().optional(), VacationMoneyEarnedNet: z.number().nullable().optional(), VacationDaysEarned: z.number().optional(), UserFullName: z.string().optional(), UserIdentityNumber: z.string().optional(), UserAddressId: z.number().int().nullable().optional(), PensionBaseAmount: z.number().optional(), VacationDaysSpent: z.number().optional(), VacationBaseAmount: z.number().optional(), PrimaryIncomeAmount: z.number().optional(), HoursWorked: z.number().optional(), KmEntered: z.number().optional(), AppliedTaxDeduction: z.number().optional(), TaxCardRemainingFreeAmount: z.number().nullable().optional(), TaxCardTypeId: z.number().int().optional(), TaxRate: z.number().optional(), VacationDaysSubtracted: z.number().optional(), TaxBaseAmount: z.number().optional(), AmbBaseAmount: z.number().optional(), VacationTaxDeduction: z.number().nullable().optional(), TaxCardFreeAmountReduction: z.number().nullable().optional(), ActualFromDate: z.string().optional(), ActualEndDate: z.string().optional(), IsTermination: z.boolean().optional(), TerminationTotalVacationMoneyGross: z.number().nullable().optional(), TerminationTotalVacationMoneyNet: z.number().nullable().optional(), TerminationYearBeforeLastVacationMoneyGross: z.number().nullable().optional(), TerminationYearBeforeLastVacationMoneyNet: z.number().nullable().optional(), TerminationYearBeforeLastVacationRemainingDays: z.number().nullable().optional(), TerminationLastYearVacationMoneyGross: z.number().nullable().optional(), TerminationLastYearVacationMoneyNet: z.number().nullable().optional(), TerminationLastYearVacationRemainingDays: z.number().nullable().optional(), TerminationCurrentYearVacationMoneyGross: z.number().nullable().optional(), TerminationCurrentYearVacationMoneyNet: z.number().nullable().optional(), TerminationCurrentYearVacationRemainingDays: z.number().nullable().optional(), VacationTaxReduction: z.number().optional(), VacationAmbAmount: z.number().optional(), FFHoursEarned: z.number().optional(), FFHoursSpent: z.number().optional(), RecipientBankRegNo: z.string().optional(), RecipientBankAccountNo: z.string().optional(), RecipientBicSwiftNo: z.string().optional(), RecipientIbanNo: z.string().optional(), IllnessCompensationAtpAmountEmployee: z.number().nullable().optional(), DepartmentId: z.number().int().nullable().optional(), OvertimeHours: z.number().optional(), IllnessHours: z.number().optional(), TaxableIncome: z.number().optional(), VacationSupplementEarned: z.number().nullable().optional(), SummaryAmountSalary: z.number().nullable().optional(), SummaryAmountSupplements: z.number().nullable().optional(), SummaryAmountTaxes: z.number().nullable().optional(), SummaryAmountAdjustments: z.number().nullable().optional(), FlexAmountEarned: z.number().optional(), FlexAmountReduced: z.number().optional(), SummaryAmountPension: z.number().nullable().optional(), VacationAmbBaseAmount: z.number().optional(), TaxFreeIncome: z.number().nullable().optional(), TravelCompensation: z.number().optional(), PensionCompanyTaxAmount: z.number().nullable().optional(), PensionEmployeeTaxAmount: z.number().nullable().optional(), ReportableNonTaxedIncome: z.number().nullable().optional(), DownloadToken: z.string().optional(), DownloadTokenExpiryTime: z.string().nullable().optional(), VacationPayoutEarnedLastYear: z.number().nullable().optional(), VacationPayoutEarnedCurrentYear: z.number().nullable().optional(), VacationBalancePeriodId: z.number().int().nullable().optional(), VacationPayoutAmountGross: z.number().nullable().optional(), VacationPayoutAmountNet: z.number().nullable().optional(), AdditionalVacationDaysEarned: z.number().nullable().optional(), AdditionalVacationDaysSpent: z.number().nullable().optional(), AdditionalVacationEarnedGross: z.number().nullable().optional(), AmExemptIncome: z.number().optional(), IsDummyOnAccountPayslip: z.boolean().optional(), SocialTaxAmount: z.number().nullable().optional(), MaternityProgramId: z.number().int().nullable().optional(), MaternityProgramAmount: z.number().nullable().optional(), PrimaryIncomeAmountFullPeriod: z.number().nullable().optional(), DegreeOfEmployment: z.number().nullable().optional(), VacationDegreeOfEmployment: z.number().nullable().optional(), PrimaryIncomeAmountWithBonus: z.number().optional(), TaxPaidNo: z.number().optional(), TaxBasisNo: z.number().optional(), PositiveTaxFreeIncome: z.number().nullable().optional(), NegativeTaxFreeIncome: z.number().nullable().optional(), GrossReductionAmount: z.number().nullable().optional(), NewFlexAmountEarned: z.number().optional(), CustomBalancesAmountEarned: z.number().optional(), PositiveTaxableIncome: z.number().nullable().optional(), ForeignPensionAmount: z.number().nullable().optional(), DomesticPensionAmount: z.number().nullable().optional(), StudentInsuranseAmount: z.number().optional(), NewFlexPensionAmount: z.number().nullable().optional(), ReportingPensionCompanyShareAmount: z.number().nullable().optional(), ReportingPensionEmployeeShareAmount: z.number().nullable().optional(), Created: z.string().optional(), Updated: z.string().optional(), SocialTaxFullAmount: z.number().nullable().optional(), TaxableBenefits: z.number().nullable().optional(), SummaryAmountReimbursments: z.number().nullable().optional(), SummaryAmountExpenses: z.number().nullable().optional(), SummaryAmountOtherCreditorsDeductions: z.number().nullable().optional(), SummaryAmountAttachmentOfEarningDeductions: z.number().nullable().optional(), SummaryAmountChildCareDeductions: z.number().nullable().optional(), DeductionAttachmentOfEarningRemainingAmount: z.number().nullable().optional(), DeductionOtherCreditorsRemainingAmount: z.number().nullable().optional(), TaxTable: z.string().optional(), AdditionalVacationPayoutEarnedLastYear: z.number().nullable().optional(), AdditionalVacationPayoutEarnedCurrentYear: z.number().nullable().optional(), VoluntaryExtraTax: z.number().nullable().optional(), SummaryAmountUnionDeductionsFull: z.number().nullable().optional(), SummaryAmountUnionDeductions: z.number().nullable().optional(), SummaryAmountUnionDeductionCurrentBalance: z.number().nullable().optional(), SummaryAmountDeductions: z.number().nullable().optional(), SubUnitId: z.number().int().nullable().optional(), SalaryBatchRecords: z.array(intectSalaryBatchRecord).optional(), UserEmployment: intectUserEmployment.optional(), BalanceAdjustments: z.array(intectBalanceAdjustment).optional(), SalaryRecords: z.array(intectSalaryRecord).optional(), SalaryBatch: intectSalaryBatch.optional()}); export const getApiApiSalarystatementsResponse = z.array(intectSalaryStatement); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Retrieves a list of all salary statements for the current user, across companies. * * GET /api/salarystatements * * Also accepts auth: ApiKey */ export const getApiApiSalarystatements = async (options?: GetApiApiSalarystatementsOptions) => { const {baseUrl = "https://api.intect.app", fetch: fetchFn = fetch, basicAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (basicAuth !== undefined) headers.set('authorization', `Basic ${btoa(`${basicAuth.username}:${basicAuth.password}`)}`) const url = `${baseUrl.replace(/\/+$/, '')}/api/salarystatements${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(getApiApiSalarystatementsResponse, await res.json()) };