# TimeService

This service is used for getting information about hours and costs saved in the 24SevenOffice system. You can search for recent changes or hours registered after a given date with the ChangedAfter and RegisteredAfter search parameters in GetHours (opens new window). These dates are in UTC, seconds are disregarded in the search, so only changes to minutes will have an effect on the search query.

Timeservice (opens new window)
Timeservice WSDL (opens new window)

Data types

# Guides

# Save an hour

To save an hour use the SaveHour (opens new window) 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>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

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 (opens new window) 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.

TIP

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 (opens new window) Hour Long Adds an hour into the time system
GetHours (opens new window) HourSearch Hour[] Returns a list of hours
GetHourList (opens new window) HourSearch Int[] Returns a list of hour IDs
GetProjectData (opens new window) ProjectDataSearch ProjectData Returns information about a project
GetProjectList (opens new window) ProjectSearch Project[] Returns a list of projects
GetWorkTypeList (opens new window) WorkTypeSearch WorkType[] Returns a list of work types
AddCost (opens new window) Cost Adds a cost
GetCosts (opens new window) CostSearchParameters Cost[] Gets a list of costs based on search parameters
DeleteHour (opens new window) Hour Boolean Deletes an hour
GetSalaryTypes (opens new window) SalaryType[] Gets a list of salary types
GetHoursForApproval (opens new window) ApprovalSearchParameters Hour[] Gets hours pending for approval
GetTimeSettings (opens new window) KeyValuePair[] Get settings for Time Module