Documentation
¶
Index ¶
- func ParseResponse[T PayrollEntity](data []byte, source T) (T, error)
- type AuthParams
- type Backend
- type Client
- type ClientResponse
- type PayrollEntity
- type QueryTimesheetParams
- type QueryTimesheetResponse
- type QueryUserParams
- type QueryUserResponse
- type SaveTimesheetDayParams
- type SaveTimesheetDayTemplateParams
- type SaveTimesheetParams
- type SaveTimesheetResponse
- type SubmitTimesheetParams
- type UserParams
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseResponse ¶
func ParseResponse[T PayrollEntity](data []byte, source T) (T, error)
Types ¶
type AuthParams ¶
type Backend ¶
type Backend interface {
Call(url string, ctx string, action string, requestBody string, requestData interface{}) (*ClientResponse, error)
}
func NewBackend ¶
func NewBackend() Backend
type Client ¶
type Client interface {
// QueryTimesheetByJob ... Query a timesheet by it's corresponding job
//
// You can use this to query a timesheet record using the following supported parameters—
//
// UID.
//
//
QueryTimesheetByJob(params QueryTimesheetParams) (QueryTimesheetResponse, error)
// QueryTimesheetById ... Query a timesheet by an ID.
QueryTimesheetById(id string) (QueryTimesheetResponse, error)
// QueryUser ... Query a user
//
// You can use this to query a user record using the following supported parameters
//
// - Job Code
//
//
QueryUser(params QueryUserParams) (QueryUserResponse, error)
// SaveTimesheet ... Save a timesheet
//
// Creates a new timesheet if none exists for the corresponding time period
//
SaveTimesheet(params *SaveTimesheetParams) (SaveTimesheetResponse, error)
}
Client ... A client to interact with the Astute APIs
See https://rhiannon-colleago.astutepayroll.info/rhiannon-colleago/api/ for API reference
func NewClient ¶
func NewClient(params AuthParams) (Client, error)
type ClientResponse ¶
type PayrollEntity ¶
type PayrollEntity interface {
faultResponse | queryUserXmlResponse | QueryUserResponse |
queryTimesheetXmlResponse | QueryTimesheetResponse |
saveTimesheetXmlResponse
}
type QueryTimesheetParams ¶
type QueryTimesheetResponse ¶
type QueryTimesheetResponse struct {
XMLName xml.Name `xml:"users"`
Text string `xml:",chardata"`
User []struct {
Text string `xml:",chardata"`
TSID string `xml:"TSID"`
UID string `xml:"UID"`
UserID string `xml:"user_id"`
Date string `xml:"date"`
DateTo string `xml:"date_to"`
Sequence string `xml:"sequence"`
Latest string `xml:"latest"`
MonWork string `xml:"mon_work"`
MonStart string `xml:"mon_start"`
MonFinish string `xml:"mon_finish"`
MonBreak string `xml:"mon_break"`
MonLeaveType string `xml:"mon_leave_type"`
MonLeave string `xml:"mon_leave"`
MonLeaveHours string `xml:"mon_leave_hours"`
MonNotes string `xml:"mon_notes"`
MonPMPCID string `xml:"mon_PM_PCID"`
TueWork string `xml:"tue_work"`
TueStart string `xml:"tue_start"`
TueFinish string `xml:"tue_finish"`
TueBreak string `xml:"tue_break"`
TueLeaveType string `xml:"tue_leave_type"`
TueLeave string `xml:"tue_leave"`
TueLeaveHours string `xml:"tue_leave_hours"`
TueNotes string `xml:"tue_notes"`
TuePMPCID string `xml:"tue_PM_PCID"`
WedWork string `xml:"wed_work"`
WedStart string `xml:"wed_start"`
WedFinish string `xml:"wed_finish"`
WedBreak string `xml:"wed_break"`
WedLeaveType string `xml:"wed_leave_type"`
WedLeave string `xml:"wed_leave"`
WedLeaveHours string `xml:"wed_leave_hours"`
WedNotes string `xml:"wed_notes"`
WedPMPCID string `xml:"wed_PM_PCID"`
ThuWork string `xml:"thu_work"`
ThuStart string `xml:"thu_start"`
ThuFinish string `xml:"thu_finish"`
ThuBreak string `xml:"thu_break"`
ThuLeaveType string `xml:"thu_leave_type"`
ThuLeave string `xml:"thu_leave"`
ThuLeaveHours string `xml:"thu_leave_hours"`
ThuNotes string `xml:"thu_notes"`
ThuPMPCID string `xml:"thu_PM_PCID"`
FriWork string `xml:"fri_work"`
FriStart string `xml:"fri_start"`
FriFinish string `xml:"fri_finish"`
FriBreak string `xml:"fri_break"`
FriLeaveType string `xml:"fri_leave_type"`
FriLeave string `xml:"fri_leave"`
FriLeaveHours string `xml:"fri_leave_hours"`
FriNotes string `xml:"fri_notes"`
FriPMPCID string `xml:"fri_PM_PCID"`
SatWork string `xml:"sat_work"`
SatStart string `xml:"sat_start"`
SatFinish string `xml:"sat_finish"`
SatBreak string `xml:"sat_break"`
SatLeaveType string `xml:"sat_leave_type"`
SatLeave string `xml:"sat_leave"`
SatLeaveHours string `xml:"sat_leave_hours"`
SatNotes string `xml:"sat_notes"`
SatPMPCID string `xml:"sat_PM_PCID"`
SunWork string `xml:"sun_work"`
SunStart string `xml:"sun_start"`
SunFinish string `xml:"sun_finish"`
SunBreak string `xml:"sun_break"`
SunLeaveType string `xml:"sun_leave_type"`
SunLeave string `xml:"sun_leave"`
SunLeaveHours string `xml:"sun_leave_hours"`
SunNotes string `xml:"sun_notes"`
SunPMPCID string `xml:"sun_PM_PCID"`
Notes string `xml:"notes"`
Complete string `xml:"complete"`
CompleteDst string `xml:"complete_dst"`
Injury string `xml:"injury"`
Approved string `xml:"approved"`
ApprovedDst string `xml:"approved_dst"`
ApprovedBy string `xml:"approved_by"`
Paid string `xml:"paid"`
PaidDst string `xml:"paid_dst"`
ExportedAt string `xml:"exported_at"`
ExportedInvoicenumber string `xml:"exported_invoicenumber"`
DidNotWork string `xml:"did_not_work"`
DidNotWorkDst string `xml:"did_not_work_dst"`
Lastupdated string `xml:"lastupdated"`
Status string `xml:"status"`
TimesheetOffsetStartingWeekday string `xml:"timesheetOffset_startingWeekday"`
InputSource string `xml:"input_source"`
CMCID string `xml:"CM_CID"`
PayrollCMCID string `xml:"payroll_CM_CID"`
ExcludePayroll string `xml:"exclude_payroll"`
PayrunID string `xml:"payrun_id"`
MasterTimesheetID string `xml:"master_timesheet_id"`
Remoteid string `xml:"remoteid"`
Approver string `xml:"approver"`
ApproverEmail string `xml:"approver_email"`
} `xml:"user"`
}
type QueryUserParams ¶
type QueryUserParams struct {
JobCode string
}
type QueryUserResponse ¶
type QueryUserResponse struct {
XMLName xml.Name `xml:"users"`
Text string `xml:",chardata"`
User struct {
Text string `xml:",chardata"`
UID string `xml:"UID"`
MID string `xml:"MID"`
ID string `xml:"id"`
Locked string `xml:"locked"`
NameFirst string `xml:"name_first"`
NameLast string `xml:"name_last"`
KnownAs string `xml:"known_as"`
DateBirth string `xml:"date_birth"`
EmploymentStartDate string `xml:"employment_start_date"`
TerminationDate string `xml:"termination_date"`
TerminationreasonID string `xml:"terminationreason_id"`
TerminationNote string `xml:"termination_note"`
Email string `xml:"email"`
EmailOptOut string `xml:"email_opt_out"`
PhoneMobile string `xml:"phone_mobile"`
PhoneCountryCode string `xml:"phone_country_code"`
MobilePhone string `xml:"mobile_phone"`
MobileCountryCode string `xml:"mobile_country_code"`
AddressStreet string `xml:"address_street"`
AddressLocality string `xml:"address_locality"`
AddressRegion string `xml:"address_region"`
AddressPostcode string `xml:"address_postcode"`
KinName string `xml:"kin_name"`
KinAddressStreet string `xml:"kin_address_street"`
KinAddressLocality string `xml:"kin_address_locality"`
KinAddressRegion string `xml:"kin_address_region"`
KinAddressPostcode string `xml:"kin_address_postcode"`
KinPhone string `xml:"kin_phone"`
KinEmail string `xml:"kin_email"`
KinRelationship string `xml:"kin_relationship"`
Employer string `xml:"employer"`
WorkplaceName string `xml:"workplace_name"`
WorkplaceStreet string `xml:"workplace_street"`
WorkplaceLocality string `xml:"workplace_locality"`
WorkplaceRegion string `xml:"workplace_region"`
WorkplacePostcode string `xml:"workplace_postcode"`
InsuranceReference string `xml:"insurance_reference"`
Logo string `xml:"logo"`
DateStart string `xml:"date_start"`
DateFinish string `xml:"date_finish"`
ManagerUserID string `xml:"manager_user_id"`
Manager2UserID string `xml:"manager2_user_id"`
GroupManagerUserID string `xml:"group_manager_user_id"`
RecruiterUserID string `xml:"recruiter_user_id"`
Recruiter2UserID string `xml:"recruiter2_user_id"`
Recruiter2MarginSplit string `xml:"recruiter2_margin_split"`
Classification string `xml:"classification"`
PayRate string `xml:"pay_rate"`
PayCurrency string `xml:"pay_currency"`
ChargeCurrency string `xml:"charge_currency"`
PayType string `xml:"pay_type"`
PermissionGroup string `xml:"permission_group"`
SubcontractorEntity string `xml:"subcontractor_entity"`
PayOncosts string `xml:"pay_oncosts"`
PayChargeRate string `xml:"pay_charge_rate"`
PayRateInterval string `xml:"pay_rate_interval"`
PayFrequency string `xml:"pay_frequency"`
PayNotes string `xml:"pay_notes"`
AccountName string `xml:"account_name"`
AccountBsb string `xml:"account_bsb"`
AccountNumber string `xml:"account_number"`
SecondaryAccountName string `xml:"secondary_account_name"`
SecondaryAccountBsb string `xml:"secondary_account_bsb"`
SecondaryAccountNumber string `xml:"secondary_account_number"`
DepositAmount string `xml:"deposit_amount"`
DepositType string `xml:"deposit_type"`
TertiaryAccountName string `xml:"tertiary_account_name"`
TertiaryAccountBsb string `xml:"tertiary_account_bsb"`
TertiaryAccountNumber string `xml:"tertiary_account_number"`
TertiaryDepositAmount string `xml:"tertiary_deposit_amount"`
TertiaryDepositType string `xml:"tertiary_deposit_type"`
SuperMemberReference string `xml:"super_member_reference"`
Tfn string `xml:"tfn"`
TfnNotDeclaredReason string `xml:"tfn_not_declared_reason"`
TfnPayeeTaxStatus string `xml:"tfn_payee_tax_status"`
TfnSubmissionMethod string `xml:"tfn_submission_method"`
TfnDueAt string `xml:"tfn_due_at"`
TfnSubmittedAtUtc string `xml:"tfn_submitted_at_utc"`
TfnSubmittedBy string `xml:"tfn_submitted_by"`
BillingEntity string `xml:"billing_entity"`
BillingAbn string `xml:"billing_abn"`
BillingContact string `xml:"billing_contact"`
BillingEmail string `xml:"billing_email"`
TaxPayrollExempt string `xml:"tax_payroll_exempt"`
AcceptTerms string `xml:"accept_terms"`
Ready string `xml:"ready"`
TaxTable string `xml:"tax_table"`
TaxVariationValue string `xml:"tax_variation_value"`
TaxOffset string `xml:"tax_offset"`
EsctRate string `xml:"esct_rate"`
HasSlAgreement string `xml:"has_sl_agreement"`
SlAgreementRate string `xml:"sl_agreement_rate"`
AccountCode string `xml:"account_code"`
ExpenseAccountCode string `xml:"expense_account_code"`
JobCode string `xml:"job_code"`
MyobJobCode string `xml:"myob_job_code"`
Remoteid string `xml:"remoteid"`
Lastupdated string `xml:"lastupdated"`
SubcontractorNogst string `xml:"subcontractor_nogst"`
ParentUID string `xml:"ParentUID"`
DivisionManagerUID string `xml:"DivisionManagerUID"`
JobTitle string `xml:"job_title"`
BID string `xml:"BID"`
BCID string `xml:"BCID"`
WID string `xml:"WID"`
RemoteidOut string `xml:"remoteid_out"`
SID string `xml:"SID"`
IntegrationPayprocessPendingGenerateSales string `xml:"integration_payprocess_pending_generate_sales"`
IntegrationPayprocessPendingGeneratePurchases string `xml:"integration_payprocess_pending_generate_purchases"`
IntegrationExpprocessPendingGenerateSales string `xml:"integration_expprocess_pending_generate_sales"`
IntegrationExpprocessPendingGeneratePurchases string `xml:"integration_expprocess_pending_generate_purchases"`
IntegrationPayprocessPendingOverride string `xml:"integration_payprocess_pending_override"`
IntegrationExpprocessPendingOverride string `xml:"integration_expprocess_pending_override"`
CategoryCode string `xml:"category_code"`
BillersPonum string `xml:"billers_ponum"`
ItemCode string `xml:"item_code"`
IsUserProfileReviewer string `xml:"isUserProfileReviewer"`
CreationTimeGMT string `xml:"creationTimeGMT"`
DismissedChromeWarning string `xml:"dismissedChromeWarning"`
BullhornID string `xml:"bullhornID"`
BullhornIDPlacement string `xml:"bullhornID_Placement"`
BullhornIDCustomer string `xml:"bullhornID_Customer"`
BullhornIDApprover1 string `xml:"bullhornID_Approver1"`
BullhornIDApprover2 string `xml:"bullhornID_Approver2"`
BullhornIDRecruiter1 string `xml:"bullhornID_Recruiter1"`
TmpPCreport string `xml:"tmp_PCreport"`
VisaType string `xml:"visa_type"`
VisaExpiryDate string `xml:"visa_expiry_date"`
VisaVerifiedConfirm string `xml:"visa_verified_confirm"`
VisaVerifiedDate string `xml:"visa_verified_date"`
VisaVerifiedBy string `xml:"visa_verified_by"`
CMCID string `xml:"CM_CID"`
PayrollCMCID string `xml:"payroll_CM_CID"`
BrandingCMCID string `xml:"branding_CM_CID"`
MicropayEmployeeNumber string `xml:"micropay_employee_number"`
SAPConsultantCode string `xml:"SAP_ConsultantCode"`
LeaveManagementEnabled string `xml:"leaveManagement_enabled"`
LeaveManagementApproverUID string `xml:"leaveManagement_approverUID"`
TimesheetOffsetStartingWeekday string `xml:"timesheetOffset_startingWeekday"`
FastTrackIDEmployee string `xml:"FastTrack_ID_employee"`
FastTrackIDJob string `xml:"FastTrack_ID_job"`
FastTrackIDCustomer string `xml:"FastTrack_ID_customer"`
ADPID string `xml:"ADP_ID"`
TimesheetInvoicing string `xml:"timesheet_invoicing"`
TimesheetPayroll string `xml:"timesheet_payroll"`
TimesheetEnabled string `xml:"timesheet_enabled"`
TimesheetStartDate string `xml:"timesheet_start_date"`
FixedpayitemEnabled string `xml:"fixedpayitem_enabled"`
PayBasis string `xml:"pay_basis"`
AnnualSalary string `xml:"annual_salary"`
HoursPerWk string `xml:"hours_per_wk"`
TsType string `xml:"ts_type"`
TsTypePiecework string `xml:"ts_type_piecework"`
SplitShifts string `xml:"split_shifts"`
PayCycle string `xml:"pay_cycle"`
BaseWagesRate string `xml:"base_wages_rate"`
BaseWage string `xml:"base_wage"`
NameMiddle string `xml:"name_middle"`
Gender string `xml:"gender"`
Engagement string `xml:"engagement"`
PayslipEmail string `xml:"payslip_email"`
InsuranceRate string `xml:"insurance_rate"`
InsuranceID string `xml:"insurance_id"`
InsuranceFallback string `xml:"insurance_fallback"`
PayPayrollTax string `xml:"pay_payroll_tax"`
PamID string `xml:"pam_id"`
PreviousPayrollSystemID string `xml:"previous_payroll_system_id"`
JobPamID string `xml:"job_pam_id"`
TimesheetExpense string `xml:"timesheet_expense"`
OLOID string `xml:"OL_OID"`
ConsolidationCode string `xml:"consolidation_code"`
CostCentre string `xml:"cost_centre"`
DebtorCode string `xml:"debtor_code"`
LiabilityAccountCode string `xml:"liability_account_code"`
JobExpenseAccountCode string `xml:"job_expense_account_code"`
JobIncomeAccountCode string `xml:"job_income_account_code"`
SubentityAssigmentID string `xml:"subentityAssigment_id"`
SubentityOneID string `xml:"subentityOne_id"`
SubentityTwoID string `xml:"subentityTwo_id"`
MasterTimesheetID string `xml:"master_timesheet_id"`
FixedTimesheetStartDate string `xml:"fixed_timesheet_start_date"`
MasterTimesheetAwardID string `xml:"master_timesheet_award_id"`
MasterTimesheetPaycodeID string `xml:"master_timesheet_paycode_id"`
LeaverequestEnabled string `xml:"leaverequest_enabled"`
Recruiter3UserID string `xml:"recruiter3_user_id"`
Recruiter3MarginSplit string `xml:"recruiter3_margin_split"`
Recruiter4UserID string `xml:"recruiter4_user_id"`
Recruiter4MarginSplit string `xml:"recruiter4_margin_split"`
Recruiter5UserID string `xml:"recruiter5_user_id"`
Recruiter5MarginSplit string `xml:"recruiter5_margin_split"`
MasterTimesheetRate string `xml:"master_timesheet_rate"`
MasterTimesheetUseBaseRate string `xml:"master_timesheet_use_base_rate"`
ApproverGroupID string `xml:"ApproverGroupID"`
TimesheetFinalisedData string `xml:"timesheet_finalised_data"`
JobUsedForTimesheets string `xml:"job_used_for_timesheets"`
FixedTimesheetEnabled string `xml:"fixed_timesheet_enabled"`
TimesheetLength string `xml:"timesheet_length"`
SuperAbn string `xml:"super_abn"`
SuperUsi string `xml:"super_usi"`
SuperName string `xml:"super_name"`
SuperProductName string `xml:"super_product_name"`
SuperPhone string `xml:"super_phone"`
SuperAddress1 string `xml:"super_address1"`
SuperAddress2 string `xml:"super_address2"`
SuperAddress3 string `xml:"super_address3"`
SuperState string `xml:"super_state"`
SuperPostcode string `xml:"super_postcode"`
SuperSmsf string `xml:"super_smsf"`
SuperEsa string `xml:"super_esa"`
SuperDocumentStorageID string `xml:"super_document_storage_id"`
SuperDocumentType string `xml:"super_document_type"`
SuperSpin string `xml:"super_spin"`
SuperPaymentBsb string `xml:"super_payment_bsb"`
SuperPaymentAccount string `xml:"super_payment_account"`
SuperPaymentReference string `xml:"super_payment_reference"`
SuperApproverUID string `xml:"super_approver_UID"`
SuperApproverDatetime string `xml:"super_approver_datetime"`
SuperAccountName string `xml:"super_account_name"`
IsKiwisaverEligible string `xml:"is_kiwisaver_eligible"`
IsKiwisaverOptedout string `xml:"is_kiwisaver_optedout"`
KiwisaverDateOptoutReceived string `xml:"kiwisaver_date_optout_received"`
IsOnContributionHoliday string `xml:"is_on_contribution_holiday"`
ContributionHolidayStartDate string `xml:"contribution_holiday_start_date"`
ContributionHolidayEndDate string `xml:"contribution_holiday_end_date"`
DirectDebitPayment string `xml:"direct_debit_payment"`
UserCustomField1 string `xml:"user_custom_field_1"`
UserCustomField2 string `xml:"user_custom_field_2"`
UserCustomField3 string `xml:"user_custom_field_3"`
UserCustomField4 string `xml:"user_custom_field_4"`
UserCustomField5 string `xml:"user_custom_field_5"`
JobCustomField1 string `xml:"job_custom_field_1"`
JobCustomField2 string `xml:"job_custom_field_2"`
JobCustomField3 string `xml:"job_custom_field_3"`
JobCustomField4 string `xml:"job_custom_field_4"`
JobCustomField5 string `xml:"job_custom_field_5"`
PayconditionAID string `xml:"paycondition_AID"`
PayconditionPCGID string `xml:"paycondition_PCGID"`
HolidayGroupID string `xml:"holiday_group_id"`
TaxTID string `xml:"tax_TID"`
SuperModificationDate string `xml:"super_modification_date"`
InvoiceitemTypeIDTs string `xml:"invoiceitem_type_id_ts"`
InvoiceitemTypeIDExp string `xml:"invoiceitem_type_id_exp"`
AccountCodeExp string `xml:"account_code_exp"`
JobInvoiceitemTypeIDTs string `xml:"job_invoiceitem_type_id_ts"`
JobInvoiceitemTypeIDExp string `xml:"job_invoiceitem_type_id_exp"`
JobAccountCodeExp string `xml:"job_account_code_exp"`
GlGroupID string `xml:"gl_group_id"`
GlGroupFallback string `xml:"gl_group_fallback"`
JobGlGroupID string `xml:"job_gl_group_id"`
JobGlGroupFallback string `xml:"job_gl_group_fallback"`
JobGlEdit string `xml:"job_gl_edit"`
NotifyViaSms string `xml:"notify_via_sms"`
JobNotes string `xml:"job_notes"`
Archived string `xml:"archived"`
EmployeeFullTimeWeekMTSID string `xml:"employee_full_time_week_MTS_id"`
JobFullTimeWeekMTSID string `xml:"job_full_time_week_MTS_id"`
EmployeeExternalPayrollOutboundID string `xml:"employee_external_payroll_outbound_id"`
EmployeeExternalPayrollInboundID string `xml:"employee_external_payroll_inbound_id"`
EmployeeExternalInvoiceOutboundID string `xml:"employee_external_invoice_outbound_id"`
EmployeeExternalInvoiceInboundID string `xml:"employee_external_invoice_inbound_id"`
EmployeeExternalTimesheetOutboundID string `xml:"employee_external_timesheet_outbound_id"`
EmployeeExternalTimesheetInboundID string `xml:"employee_external_timesheet_inbound_id"`
JobExternalPayrollOutboundID string `xml:"job_external_payroll_outbound_id"`
JobExternalPayrollInboundID string `xml:"job_external_payroll_inbound_id"`
JobExternalInvoiceOutboundID string `xml:"job_external_invoice_outbound_id"`
JobExternalInvoiceInboundID string `xml:"job_external_invoice_inbound_id"`
JobExternalTimesheetOutboundID string `xml:"job_external_timesheet_outbound_id"`
JobExternalTimesheetInboundID string `xml:"job_external_timesheet_inbound_id"`
AuthSecondFactor string `xml:"auth_second_factor"`
AuthBackupEmail string `xml:"auth_backup_email"`
PassportCountry string `xml:"passport_country"`
Residency string `xml:"residency"`
} `xml:"user"`
}
type SaveTimesheetDayParams ¶
type SaveTimesheetParams ¶
type SaveTimesheetParams struct {
UserParams
TSID string
Days []SaveTimesheetDayParams
DidNotWork bool
Submit bool
SubmissionTime time.Time
Notes string
TriggerApprovalEmail bool
}
type SaveTimesheetResponse ¶
type SaveTimesheetResponse struct {
TimesheetId string
}
type SubmitTimesheetParams ¶
type UserParams ¶
Click to show internal directories.
Click to hide internal directories.