TimeService
This service is used for getting information about hours and costs saved in the Finago Office system. You can search for recent changes or hours registered after a given date with the ChangedAfter and RegisteredAfter search parameters in GetHours. These dates are in UTC, seconds are disregarded in the search, so only changes to minutes will have an effect on the search query.
Guides
Save an hour
To save an hour use the SaveHour method. Below you will find a table that explains the status of a registered hour based on the settings of properties Locked, Approved and NeedApproval.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<SaveHour xmlns="http://24sevenOffice.com/webservices">
<Hour>
<TypeOfWorkId>5</TypeOfWorkId>
<StartTime>2019-01-09T07:00:00Z</StartTime>
<StopTime>2019-01-09T16:00:00Z</StopTime>
<TotalHours>8</TotalHours>
<TotalHoursInvoice>7.5</TotalHoursInvoice>
<ContactId>1234</ContactId>
<ProjectId>1000</ProjectId>
<Description>Description</Description>
<Locked>none</Locked>
<Approved>False</Approved>
<ApprovedBy>5678</ApprovedBy>
<ProjectTaskId>1</ProjectTaskId>
<Costs>
<Cost>
<ProductId>20</ProductId>
<SupplierCompanyId>1</SupplierCompanyId>
<Quantity>10</Quantity>
<InPrice>5</InPrice>
<Description>Testing</Description>
<ProjectId>1000</ProjectId>
<Price>150</Price>
<CustomerId>100</CustomerId>
<ContactId>1234</ContactId>
</Cost>
</Costs>
<NeedApproval>true</NeedApproval>
<SalaryTypeId>2</SalaryTypeId>
<CustomerId>100</CustomerId>
<OrderId>2</OrderId>
<Price>100</Price>
<InternalNote>This is a description too</InternalNote>
</Hour>
</SaveHour>
</soap:Body>
</soap:Envelope>
Warning
Please note: These are the main combinations that should be used to achieve a given status. Other combinations may result in hours that are registered as “needing approval” but not being visible in the approval list in the user interface.
| Locked | Approved | NeedApproval | Status |
|---|---|---|---|
| FALSE | FALSE | FALSE | Registered |
| TRUE | FALSE | TRUE | For Approval |
| TRUE | TRUE | TRUE | Approved |
| FALSE | TRUE | TRUE | Approved |
Work types
The method GetWorkTypeList returns a list of work types. It takes two parameters Active and ProjectId. These parameters cannot be combined. The Active parameter can be set to none or unknown to return all work types (active and inactive). True and False return active and inactive work types respectively.
If you use the ProjectId parameter, the Active parameter has no effect.
Tips
Please note: If no work types have been checked off in a project, this means that all work types are active in the project and will all be returned on requests with the ProjectId parameter
Methods
| Method | Input type | Return type | Description |
|---|---|---|---|
| SaveHour | Hour | Long | Adds an hour into the time system |
| GetHours | HourSearch | Hour[] | Returns a list of hours |
| GetHourList | HourSearch | Int[] | Returns a list of hour IDs |
| GetProjectData | ProjectDataSearch | ProjectData | Returns information about a project |
| GetProjectList | ProjectSearch | Project[] | Returns a list of projects |
| GetWorkTypeList | WorkTypeSearch | WorkType[] | Returns a list of work types |
| AddCost | Cost | Adds a cost | |
| GetCosts | CostSearchParameters | Cost[] | Gets a list of costs based on search parameters |
| DeleteHour | Hour | Boolean | Deletes an hour |
| GetSalaryTypes | SalaryType[] | Gets a list of salary types | |
| GetHoursForApproval | ApprovalSearchParameters | Hour[] | Gets hours pending for approval |
| GetTimeSettings | KeyValuePair[] | Get settings for Time Module |