TimeMapAPI
The following operations are supported. For a formal definition, please review the Service Description.
-
A_IntroductionToTimeMapAPI
Introduction to TimeMap API Webservice
The TimeMap API is a REST webservice returning data in JSON format.
Production and Test API
When developing API integration you should use our test-service. The test service have high'er fair usage limits and you will not destroy/update any production data.
The test environment is updated every night with production data. Therefore any changes made in the test environment will be overwritten daily.
When setting access up for the first time the please set same API-password in production AND test environment (please see below), as the password entered in production will be copied to test the next night.
Power Bi, Excel and other non-controlled query tools
Please note that these tools are NOT ALLOWED to call our PRODUCTION ENVIRONMENT!
Theese tools generates a lot of uncontrolled queries to our API's that can impact online performance of our system. Using these tool on production environment is a violation of our Subscription terms and access to the API will be blocked if used on production environement.
Test Addresses
Test Webservice API: https://testservice.timemap.dk/TimeMapApi.asmx
Test TimeMap Admin: https://testasp.timemap.dk/admin
Production Addresses
Production Webservice API: https://service.timemap.dk/TimeMapApi.asmx
production TimeMap Admin: https://asp.timemap.dk/admin
Authorization
To setup access the TimeMap API you'll need to have access to the TimeMap Admin UI as an administrator.
If you are a third party developer and don't have access to the customers TimeMap system then please contact the customers TimeMap Admin and get a TimeMap user as you'll need access to validate your API integration data.
To call the TimeMap API functions you'll need three things:
- API Key: An GUID unique for the customer
- API Password: A password of your choice. Please use a strong password to protect your customers data!
- Username: The email address of a employee in TimeMap. This user must exists
The API key is found in TimeMap Admin, menu Settings->Company (https://testasp.timemap.dk/admin/companymain.aspx).
The API Password is also set here. It's not possible to retrieve the password once set. If you forget the password you'll need to enter a new password.
In TimeMap all users is an Employee and the username is the Employees e-mail address. Therefore you will have to create a Employee with a email address in the TimeMap Admin.
Remember to create the same user and api-password in Production and in the Test environment. The API key will be the same for both environments.
Overview
The API is designed to allow customers transfer data between TimeMap and their other backend systems.
If possible we encourage you to collect data outside normal load times (06:00-18:00 on workdays) if you collects large datasets or loops multiple projects/employees. This will lower the load on our systems and make your requests quicker.
It's NOT designed to be used as dataprovider for online dashboards or statistic.
TimeMap is a OLTP system (online transaction processing system). Inserts and updates (punch in/out etc) will always have priority and conflict with heavy data selects required by dashboards and statistics.
If you wish to make dashboards and statistics based on data from TimeMap you should collect new data in batch and store the data in your own backend database and then make your statistics from your own dataset.
This will enable you to present data quick and smart without interfearing our systems (this is the reson for our fair usage limits).In general you should cache employeeid's in your own database and use this when retrieving data from TimeMap. You could then once a day retrieve and update your employeeid's from TimeMap to ensure that your id's match the data in TimeMap.
The same goes for other datasets. If you wish to collect raw time-registrations there is no need to retrieve huge date-intervals if you cache in your own database. You could collect time-registrations e.g. twice a day and then once every week make retrieve the weeks registrations and look for modifications.
Examples
Below we have made a couple of examples on how to use the functions in our API.
We have made one simple example on how you call a JSON REST webservice from C#. The other examples is more a description on how to use your functions (and which to use)
Please read the examples even if you need another dataset or push other type of data - they represent the concept of how you could/should use the API.
If you collect data in Batch you should make a Windows Service or cron job to collect data
Simple C# example
If your use Visual Studio you could add a webreference to our webservice and get access to all the functions in your code. The reference path is: https://service.timemap.dk/TimeMapAPI.asmx?WSDL
This is a simple call in c# to get a list of employees:
using (var client = new YourNameSpace.TimeMapApiSoap.TimeMapAPISoapClient("TimeMapAPISoap")) { string strJson = client.getEmployeeList("YourAPIKEY", "YourAPIPassword", "ValidUserName"); JObject json = JObject.Parse(strJson); JArray empls = (JArray)json["EmployeeList"]; if (empls!= null) { foreach (JObject empl in empls) { // Do something string EmplName = empl["FirstName"] + " " + empl["LastName"]; } } }
Download C# Sample Project here
Simple Javascript example
This is a simple call in javascript to get a list of employees using JQuery:
$.ajax({ type: "POST", url: "https://testservice.timemap.dk/TimeMapAPI.asmx/getEmployeeList", data: "{'apikey': '', 'apipwd: '', username: ''}" contentType: "application/json; charset=utf-8", dataType: "json", headers: { "cache-control": "no-cache" }, success: function(data) { console.log('Result:', data); yourFunctionCallRecievingData(data);}, error: function(data) { console.log('API Error', data.responseText); if (json_errorMessage) { console.log('JSON Error: ', json_errorMessage); } }; }, timeout: 10000 });
Download Javascript Sample Project here
Get Employee registrations
This is a conceptual example showing what functions to use and how.
If you need registrations from all users within a date interval then do like this:
Call getHourregistrations with your apikey, apipwd, username.
Leave SalaryNo and TimeMapID empty as this will retrieve all users data.
Set FromDate and ToDate to the dates you wish to retrieve, eg FromDate: '2021.12.16' and ToDate: '2021.12.17'
You should always set FromDate and ToDate as this is the only way to know what date interval is retrieved.
When your get the result set loop the JArray of JObjects (one for each registration in TimeMap) and store the data to your database.In TimeMap you could have MANY registrations on one date. If you don't need all the details you could sum the records on project/task/absence for every date/employee to avoid to many rows in your database.
If you for some reson need to get only one employees data you should make sure you have a table containing the employee salaryno or TimeMapID.
You could make a field in your system to hold the salaryno/timemapid that the customer can update or you could call getEmployee and store all employees from TimeMap in your database.
When your have the salaryno/timemapid then make the same call as above, but specify the salaryno or timemapidPlease do not loop your Employee Table and make one call to getHourregistrations for every employee. This will be mush slower and cause more load on your system and on TimeMap.
Please Note: In TimeMap absence is stored as a registration in the same way as a work registration. The only difference is that the registration holds a absenceid/absencename. The AbsenceType specify if the records time-interval is to be included in the employees worktime and/or salary (Please see and store info about absence types with the function getAbsencetypes).
Get Futhure Absence
This is a conceptual example showing what functions to use and how.
If you need absence you'll need to retrieve hourregistrations as in TimeMap absence is stored as a registration in the same way as a work registration.
The only difference is that the registration holds a absenceid/absencename.
The AbsenceType specify if the records time-interval is to be included in the employees worktime and/or salary (Please see and store info about absence types with the function getAbsencetypes).Therefore you could call getHourregistrations with your apikey, apipwd, username.
Leave SalaryNo and TimeMapID empty as this will retrieve all users data.
Set FromDate and ToDate to the dates you wish to retrieve, eg from today and one year ahead: FromDate: '2021.12.16' and ToDate: '2022.12.16'
When your get the result set loop the JArray of JObjects (one for each registration in TimeMap) and store the data to your database.Please do not loop your Employee Table and make one call to getHourregistrations for every employee. This will be much slower and cause more load on your system and on TimeMap. Instead do a getHourregistrations call without employeeid/salaryno to get all employee registrations in the period.
Push projects/orders to TimeMap
This is a conceptual example showing what functions to use and how.
If you need transfor e new order from your ERP system you will need to create a new Project i TimeMap
In TimeMap employees can punch in/out from projects and change projects or task during the day.
A project is unique and only lives while the employees need to register time on that project. Therefore a order will be a project in TimeMap.TimeMap also have tasks, but a task is a type of job-function that can be done be a employee on a project/order. A task could be "Meeting" or "Welding" and can be used on multiple projects.
Projects can be ordered in a hierarchy that is multiple levels (no limts). Some customers create thair customer as a project and then creates all this customers orders as subprojects for the customer-project.
This makes it easy for the employee to find the order by first selecting the customer (customer-project) ans the get a list of open projects/orders for that customer.Use the function createProject with your apikey, apipwd, username to create or update a project.
The projectNo is the key between TimeMap and your backend system and should always be specified.
If the projectNo already exists in TimeMap we will update the project and if not we will create a new project.
Please see https://testservice.timemap.dk/TimeMapAPI.asmx?op=createProject for more parameters and description.Please do not loop all your projects to update data in TimeMap. Call createProject when a new project is created or you need to update an existing project.
You should always specify a validFrom date when creating a project. The project will be visible for the employees from that date. If not specified the project will be visible imedially.
When the project is complete set the "validTo" date or set "competed" to 1.
When your need to get registrations for the project please call getProjectregistrations with the projectno parameter.
Support
If you need help with your integration the please contact our support by email on this address. Within office hours we will responde quickly:
support@timemap.dk
Function Descriptions
-
CheckIn
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Employee Check In
Note, Fair usage limit: None.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (long): Optional. Internal TimeMap ID for the employee
- salaryno (string): Optional. Employee salary number
- projectno (string): Optional. Project number
- projectid (string): Optional. Internal TimeMap Project ID
- taskno (string): Optional. Task number
- taskid (string): Optional. Internal TimeMap Task ID
- timestamp (string): Optional. Normally empty. Only used when check in isn't current time. Format yyyy.MM.dd HH:mm
- utcoffset (long): Optional. Offset from UTC time i minutes
Result: CheckInStatus
- status: CheckInOK if success, CheckInError:Errorcode if any errors
-
CheckOut
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Employee Check Out
Note, Fair usage limit: None.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (long): Optional. Internal TimeMap ID for the employee
- salaryno (string): Optional. Employee salary number
- utcoffset (long): Optional. Offset from UTC time i minutes
Result: CheckOutStatus
- status: CheckOutOK if success, CheckOutError:Errorcode if any errors
-
CreateHourregistration
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Create an hourregistration (work or absence). Create hourregistration or Update hourregistration.
Note, Fair usage limit: In production this function is only allowed between 01:00 and 03:59 (UTC).Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (long): Optional. Internal TimeMap ID for the employee (must be specified if no salaryno)
- salaryno (string): Optional. Employee salary number (must be specified if no employeeid)
- starttime (datetime): Mandatory. Start time/date of the registration. (Format: yyyy.MM.dd hh:mm:ss).
- endtime (string): Mandatory. End time/date of the registration. (Format: yyyy.MM.dd hh:mm:ss).
- breaktime (int): Optional. Workbreak minutes within this registration. If empty the standard workbreak will be calculated.
- projectno (string): Optional. Project number
- projectid (int): Optional. Project id (internal TimeMap project id)
- taskno (string): Optional. Task no
- taskid (int): Optional. Task id (internal TimeMap task id)
- absenceid (int): Optional. Absence id (internal TimeMap absence id)
- hourregistrationid (int): Optional. Internal hourregistrationid. This should be empty for inserts and specified for an update.
- comment (string): Optional. Comment on the hreg.
- quantity (int): Optional. Number of items produced.
- hourprice (decimal): Optional. Hourprice for this registration.
- workdate (string): Optional. Workdate of the registration. ONLY if different from the starttime date! (Format: yyyy.MM.dd).
Result: Status
- hourregistrationid: the TimeMap hourregistrationid of the updated/inserted registration
- status: status message
-
DeleteHourregistration
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Delete an hourregistration (work or absence)
Note, Fair usage limit: In production this function is only allowed between 01:00 and 03:59 (UTC).Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (long): Optional. Internal TimeMap ID for the employee (must be specified if no salaryno)
- salaryno (string): Optional. Employee salary number (must be specified if no employeeid)
- date (datetime): Mandatory. Start time/date of the registration. (Format: yyyy.MM.dd hh:mm:ss).
Result: Status
- rowsdeleted: number of rows deleted
-
HelloWorld
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: For testing purpose
Note, Fair usage limit: None.Parameters: apikey (string): The apikey is specified in the Company settings. Please see menu Settings->Company
apipwd (string): The api password must be specified in the Company settings. Please see menu Settings->Company
username (string): Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList. -
ImportWorkplan
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Used for importing/updatering workplans
Note, Fair usage limit: 5 request per workplan per hour.Parameters: apikey (string): The apikey is specified in the Company settings. Please see menu Settings->Company
apipwd (string): The api password must be specified in the Company settings. Please see menu Settings->Company
username (string): Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
csvfile (base64Binary): The workplan data to be imported. Please see below.
C# Code Example:
- Add a service reference to https://service.timemap.dk/TimeMapAPI.asmx?WSDL - TimeMapAPI.TimeMapApiSoap
- Use the service reference as described below
using (var client = new YourNameSpace.TimeMapApiSoap.TimeMapAPISoapClient("TimeMapAPISoap"))
{
sbMsg.AppendLine(client.ImportWorkplan("YourAPIKEY", "YourAPIPassword", "ValidUserName", System.Text.Encoding.GetEncoding("iso-8859-15").GetBytes(csvFile)));
}
CsvFile: The csvfile must have the columns specified below. No header allowed. Delimiter is ';' and text columns must be in double quotes.
Column description (english):- Name of the workplan (varchar). Must exists in TimeMap
- Department number (varchar) *. Must exists in TimeMap
- Workplan start date (date yyyy.MM.dd)
- Workplan end date (date yyyy.MM.dd)
- Workplan section name (varchar) *
- Employee number (varchar). Must exists in TimeMap
- Employee sortorder (int) *
- Workdate (date yyyy.MM.dd)
- Work Start time (time HH:mm)
- Work End time (time HH:mm)
- Workbreak start time (time HH:mm) *
- Workbreak end time (time HH:mm) *
- Employee Agreement name (varchar) *. Must exists in TimeMap
- On Call (int) **
- Comment (varchar) *
Comments:
*) Optional fields.
**) Following values is allowed for On Call specification:
- No value: Not On Call
- 1: On Call before work start time (midnight to work start)
- 2: On Call after work start time (work end to midnight)
- 3: On Call before & after work start/end time (midnight to work start and work end to midnight)
Column description (danish):- Vagplan navn (varchar). Vagtplanen skal være oprettet i TimeMap
- Afdelingsnr (varchar) *. Afdeling skal være oprettet i TimeMap
- Vagtplan startdato (dato)
- Vagplan slutdato (dato)
- Sektion navn (varchar) *
- Medarbejder nr (varchar)
- Medarbejder sortering (int) *
- Vagtdato (dato)
- Starttid (tid)
- Sluttid (tid)
- Pause start (tid) *
- Pause slut (tid) *
- Lønaftale navn (varchar) *. Lønaftale skal være oprettet i TimeMap
- Rådighedsvagt (int) **
- Kommentar (varchar) *
Kommentarer:
*) Disse felter kan være tomme.
**) Rådighedsvagt kan have følgende værdier:
- Blank: Ingen rådighedsvagt
- 1: Rådighedsvagt før
- 2: Rådighedsvagt efter
- 3: Rådighedsvagt før & efter
-
createEmployee
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Used for importing/updatering employees
Note, Fair usage limit: 100 request per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- SalaryNo (string): Mandatory. Employees salary no. This is the key for the employee.
- FirstName (string): Employees given name.
- LastName (string): Mandatory. Employees family name
- Email (string): Employees email address. Must be a valid email format.
- Initials (string): Initials
- Addressline1 (string): Address line
- Addressline2 (string): Second address line
- Zipcode (string): Zip code
- City (string): City
- PhoneMobile (string): Cellular phone number
- PhonePrivate (string): Private phone number
- Ssn (string): Social security number.
- HireDate (date): Employee hire date. If new employee and no hire date is specified the creation date is used. Dateformat: yyyy.MM.dd.
- EndingDate (date): Employees ending date. Dateformat: yyyy.MM.dd.
- WorkHrsPerWeek (decimal): Number of normal workhours per week. If decimals is specified the decimal delimiter must be '.'
- EmployeeAgreementName (string): The name of the employees hire/salary agreement. The agreement must exist in TimeMap.
- Groups (string): Group numbers that the employee should be accociated with. Multiple group numbers can be specified and must be divided with semi-colon. No spaces allowed. Example: 10;25
- DepartmentNo (string): Department numbers that the employee should be accociated with. Multiple department numbers can be specified and must be divided with semi-colon. The first department number must be the employees primary department (salary department). No spaces allowed. Example: 10;25
- Note (string): Note on the employee
- UseFlex (int): Specify if the user has Flextime. Specify no value or 0 for no flex. Valid Values: 1: Normal flex, 2: Flex neutral, 3: Manual flex calculation, 4: Only accumulation, 5: Only EmployeeAgreement Wages, 6: Inactive
- NoRounding (int): If standard roundings should not be applied specify: 1
- OnlyAbsence (int): If employee only enters absence, then specify: 1
- HideOnTerminal (int): If employee should not be shown on any terminals specify: 1
- Inactive (int): If employee should be made inactive in TimeMap specify: 1
- Birthdate (date): Employee birth date. Dateformat: yyyy.MM.dd.
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
createEmployeeAllowance
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Create a Employee Allowance Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (string): Optional. Internal TimeMap ID for the employee (employeeid or salaryno must be specified)
- allowanceid (string): Mandatory. Internal TimeMap ID for the allowancetype. Please see getAllowanceTypes.
- salaryno (string): Optional. Employee salaryno (employeeid or salaryno must be specified)
- fromdate (date): Mandatory. Format: yyyy.MM.dd
- todate (date): Optional. Format: yyyy.MM.dd
- rate (Number): Optional. Rate. If not specified the rate from the rate type will be used. Format: ##.##
- quantity (Number): Optional. Quantity. If not specified quantity is set to one. Format: ##.##
- projectid (Number): Optional. Project id (TimeMap id - see getprojects)
- taskid (Number): Optional. Task id (TimeMap id - see gettasks)
- comment (string): Optional. Comment for the allowance
Result: EmployeeAllowance
- rows: Rows created
-
createProject
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Used for importing/updatering projects
Note, Fair usage limit: 100 request per hour.Parameters: To set values to null, specify 'null' in the parameter. Empty parameters is not updated.
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- projectNo: Mandatory. Project number. If project number exists the project is updated with the supplied data - othervise it's created.
- projectName: Project name. It's recommended to specify a project name.
- departmentNo: The department number of the project owner department. Department number must exists in TimeMap.
- mainProjectNo: Main Project Number can be specified if the project is a subproject. Note: Main projects must exists in TimeMap
- validFrom: Valid from date. Dateformat: yyyy.MM.dd.
- validTo: Valid to date. Dateformat: yyyy.MM.dd.
- completed: Specify 0 for uncompleted and 1 for completed. If no value is specified the project is set to uncompleted when creating a new project.
- projectManagerNo: The Salary Number of the Employee that is Project Manager. If salary no is not found the TimeMap Employee Number is used. Employee must exists in TimeMap.
- quantity: Quantities. If decimals is specified the decimal delimiter must be '.'
- productionStart: Production start date. Dateformat: yyyy.MM.dd.
- usePlanning: Specify planID for the plan. Specify 0 for no planning.
- resourcesPerDay: Requires Planning. Resources Per day. If decimals is specified the decimal delimiter must be '.'
- resourceType: Requires Planning and resources per day. Specify 'hr' for hours and 'em' for employees.
- estimatedResources: List of salary numbers of employees that should be marked as resources on the project. Every Salary Number should be seperated by a comma. Employees must exists in TimeMap. All resources must be specified when updating.
- estimatedHours: Estimated totals hours to be used on the project. If decimals is specified the decimal delimiter must be '.'
- totalProjectCost: Total project cost. If decimals is specified the decimal delimiter must be '.'
- costPerHour: Cost price per hour. If decimals is specified the decimal delimiter must be '.'
- invoicePricePerHour: Invoice price per hour. If decimals is specified the decimal delimiter must be '.'
- projectType: Project Type.
- taskNos: Task numbers to be used on the project. Every Task Number should be seperated by a comma. All tasks must be specified when updating. Tasks must exists in TimeMap.
- departmentAccessNo: Department numbers of departments that have access to the project. Every Department Number should be seperated by a comma. All departments must be specified when updating. Departments must exists in TimeMap.
- employeeAccessNo: Employee Salary Numbers of employeess that have access to the project. Every Salary Number should be seperated by a comma. All Salary numbers must be specified when updating. Employees must exists in TimeMap.
- showOnTerminal: If 1 is specified the project is shown on Hourregistration terminals. Specify 0 if the project should not be shown on terminals.
- projectStatus: Specify the current Project Status. If the status specfied doesn't exists the new status is created.
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
createWorkFunction
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Create or update a Work Function
Note, Fair usage limit: 2 request per employee/workfunction per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (int): Optional. Internal TimeMap employeeid of the employee to get data for.
- salaryno (string): Optional. Employee Salary/Payroll No of the employee to get data for.
- departmentno (string): Optional. Department number of the department to get data for.
- departmentid (int): Optional. Internal TimeMap departmentid of the department to get data for.
- employeeworkfunctionid (int): Optional. Internal TimeMap employeeworkfunctionid of the workfunction to update - do not specify when creating new workfunctions.
- note (string): Mandatory. The workfunction description.
- color (string): Optional. Color for the workfunction. Hex colors sould be used (https://www.w3schools.com/htmL/html_colors_hex.asp).
- projectno (string): Optional. Projectno to attach the workfunction to.
- projectid (int): Optional. Projectid to attach the workfunction to.
- starttime (datetime): Mandatory. Start of the workfunction (Format: yyyy.MM.dd)
- endtime (datetime): Optional. End of the workfunction (if not specified workfunction will last 1 day. Format: yyyy.MM.dd)
Result. status/rows/result will always be returned: Result
- status: statusvalue for the command.
- rows: Number of rows created/updated.
- result: Result message.
- employeeworkfunctionid: Internal TimeMap Unique ID for the workfunction.
- employeeid: Internal TimeMap Unique ID for the employee.
- projectid: Internal TimeMap Unique ID for the project.
- starttime: Start of the function (Format: yyyy.MM.dd HH:mm)
- endtime: End of the function (Format: yyyy.MM.dd HH:mm)
- note: The note
- color: The color value
-
deleteEmployeeAllowance
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Delete Employee Allowance(s) Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (string): Optional. Internal TimeMap ID for the employee (employeeid or salaryno must be specified)
- salaryno (string): Optional. Employee salaryno (employeeid or salaryno must be specified)
- allowanceid (number): Optional (rateid or ratepaymentid must be specified). TimeMap id - see getAllowanceTypes
- employeeallowanceid (number): Optional (rateid or ratepaymentid must be specified). TimeMap id - see getEmployeeAllowance
- fromdate (date): Optional (must be specified if allowanceid is used). Format: yyyy.MM.dd
- todate (date): Optional. Format: yyyy.MM.dd
Result: EmployeeAllowance
- rows: rows deleted
-
deleteWorkFunction
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Delete a work Function
Note, Fair usage limit: 2 request per employee/workfunction per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (int): Optional. Internal TimeMap employeeid of the employee to get data for.
- salaryno (string): Optional. Employee Salary/Payroll No of the employee to get data for.
- employeeworkfunctionid (int): Optional. Internal TimeMap employeeworkfunctionid of the workfunction to delete. If not specified starttime should be specified.
- starttime (datetime): Optional. Start of the workfunction to delete (Format: yyyy.MM.dd)
- endtime (datetime): Optional. End of the workfunction (if not specified workfunction will last 1 day. Format: yyyy.MM.dd)
Result: Result
- status: statusvalue for the command.
- rows: Number of rows deleted.
- result: Result message.
-
getAbsenceTypes
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Absence Types
Note, Fair usage limit: 2 request per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
Result: AbsenceTypes
- absenceid: Internal TimeMap ID. Used to combine with Employee User Accounts.
- absencename: Absence Name
- include_salay: 1= Standard salary is included on absence. Empty or 0 = No salary included. Theese values can be overruled by the Employee Agreement.
- paymentcode: Payroll system code
- include_in_absencestatistic: 1= Absence is included when calculating absence percentage.
- hours_per_absenceday: Hours created when the absence is created by absence functions. Special values: -1 = Workhours (Standard. Fills to normal workhours on the date), -0.2 = Avarage daily (Week worktime / Workdays per week), -0.3 = Normal stop time (Create only absence until normal stop time regardless of meeting time)
- CASE WHEN a.flex = 'f0' THEN 'neutral' WHEN a.flex = 'f1' THEN 'absence' WHEN a.flex = 'f2' THEN 'overtimeonly' ELSE 'worktime'
- flexitime: Empty = Absence counts as worktime, f0 = Flexitime will always be zero (neutral), f1 = Does not count as worktime and reduces flexitimer accounts, f2: Reduces flexitime account, but counts as worktime when calculating payroll.
- shortcut: Shortcut to use on terminals with numeric keypad and no touchscreen.
- show_on_terminal: 1 = Show the Absence Name on Terminals
- flexitime_percent: The percentage to use when absence is included in worktime (empty is 100%)
- hide_on_payroll: 1 = Hide row on Payroll Specification
- salary_from_month: If specified the employee will recieve full salary after the number of months.
- absence_code: Absence code.
- use_approval: 1 = Absence must be approved by manager.
- color: Color shown on lists etc.
- description: Description
- absence_groups: If specified the absence is only used by the groups
- use_account: 1= Use account (earnings)
- account_units: The account units. hh = hours, dd = days
- account_earn: Number of units that is earned (full earnings)
- account_allow_negative: 1= Negative account allowed, 0 = Negative account not allowed.
- account_show_to_employee: 1 = The employee will be able to see the current account.
- account_earn_logic: Earning logic to be used. 0 = Manual, 1 = Linary (1/12 per month), 2 = Vacation Law (Danish Vaction law), 3 = Full (Always full earnings), 4 = Monthly (1/12 is added every month during the year), 5 = Full after 9 months (Full earnings is added after 9 months of employment)
- account_earn_year_startdate: Date of which the earn year starts. Usually 1th janary. Year is ignored (same date every year) (Date format: yyyy.MM.dd)
- account_use_year_startdate: Date of which the account usage starts. Usually 1th janary. Year is ignored (same date every year) (Date format: yyyy.MM.dd)
- account_exclude_from_earnings:
- account_modify_log: Internal log for tracking changes in earnings setup.
- inactive: 1 = Absence type is inactive and not used anymore.
- modified_date: Date of last modification (Dateformat: yyyy.MM.dd)
- modified_by: Email of the user that have modified the absencetype last
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getAbsenceregistrations
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Exports Absence registrations for a given period
Note, Fair usage limit: 2 request per employee per hour or 6 requests per hour with from/todate and without timemapid/salaryno (returns all employees).Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- SalaryNo (string): The Payroll Number of the employee (SalaryNo or TimeMapID or AbsenceId must be specified).
- TimeMapId (string): The TimeMapID of the employee (SalaryNo or TimeMapID or AbsenceId must be specified).
- FromDate (string): Date where the new workhours starts (Format: yyyy.MM.dd). If not specified all hregs the last month is exported. Max allowed interval is 65 days
- ToDate (string): Date where the new workhours ends (Format: yyyy.MM.dd). If not specified all hregs the last month is exported. Max allowed interval is 65 days
- AbsenceId (string): AbsenceId that should be returned. Can be empty is TimeMapId or SalaryNo is specified (SalaryNo or TimeMapID or AbsenceId must be specified)
Result: Absenceregistrations - periodfrom: Start date for the result set (eg. 2013-06-20 07:00:00)
- periodto: End date for the result set
- employeeno: Employee number (string)
- salaryno: Employee payroll/salary number (string)
- firstname: First name (String)
- lastname: Last name (String)
- lastname: Last name (String)
- date: The date (eg. 2018-05-24)
- starttime: Absence start time (eg. 2018-05-24 17:08:00)
- endtime: Absence end time (eg. 2018-05-24 17:08:00)
- timeinseconds: Registration time in seconds (int)
- timeinhours: Registration time in hours (decimal)
- time: Registration time in hours/minutes/seconds hh:MM:ss (string)
- workbreak: Break time in seconds (int)
- timeexbreakinseconds: Registration time in seconds ex. breaks (int)
- timeexbreakhours: Registration time in hours ex. breaks (decimal)
- timeexbreak: Registration time in hours/minutes/seconds hh:MM:ss ex. breaks (string)
- absencename: Absence name (string)
- description: Comment (string)
- approved: If approval is required (useapproval) this will be empty if not approved
- fulldayabsence: 0: this registrations is done manually and is not nessesary a full day. 1: Full day absence. 2: Half a day absence (int)
- absencecode: DA/DI code (string)
- paymentcode: payroll code. Can be overwritten by employee agreeemnts (string)
- useunits: 'dd' = days, 'hr' = hours (string)
- excludefromearnings: If absenceaccount earnings is to exclude this registration this is 1. Otherwise 0 (int)
- absenceinactive: 1=inactive, 0=active (int)
- allownegative: If this absencetype has account and it's allow to be negative this is 1. Otherwise 0 (int)
- withsalary If this absencetype is with salary this is 1. Otherwise 0. Can be overruled by employeeagreements (int)
- useapproval: If this absencetype is to be approved by manager this is 1. Otherwise 0 (int)
- includeinabsencepct: If this absencetype is included in employees absnece percentage this is 1. Otherwise 0 (int)
- id: Unique key for this registrerion (int)
- absenceid: Unique id for this absencetype - key to getAbsenceTypes(int)
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getAllowanceTypes
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Allowance Types
Note, Fair usage limit: 2 request per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
Result: AllowanceTypes
- allowanceid: Internal TimeMap Unique ID.
- allowance_name: Name/description.
- rate: The rate of the allowance per unit
- unit: hr = one per hour, single = one per allowance, no value = specified by the user
- paymentcode: Payroll code
- inactive: 1 = the allowance type is inactive and not used anymore.
- userrights: Defines where the Allowance can be seen/used. A = Administration/Manager Pages, E = Employee Page & App, T = Terminals
- maxperday: Limit per day if specified.
- show_rate: 1 = Shows the rate to the user. Othervise only quantity is shown.
- helptext: Help text shown to the user.
- fields: Defines what fields and calculation rules. N = Note, P = Project, R = Rate per unit, isDKMilage = Special value used for danish milage rules, % = rate is percentage of hour salary.
- created_date: Date of the creation (Dateformat: yyyy.MM.dd)
- created_by: Email of the user that have created the record
- modified_date: Date of last modification (Dateformat: yyyy.MM.dd)
- modified_by: Email of the user that have modified the record last
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getDepartments
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Exports Departments
Note, Fair usage limit: 2 request per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- departmentno (string): The departmentno of the department (If specified the specified department and its subdepartments is returned).
- departmentid (string): The internal TimeMap departmentid of the department (If specified the specified department and its subdepartments is returned).
Result:
- departmentid: Internal TimeMap departmentid
- node: The node id. It's a running number of the departments returned in the result. Should not be used for reference of any kind.
- forderlevel: The level for the department. Departments without any parents is level 1. Their sublings is level 2 and so on.
- departmentno: The departmentno of the department. Normally used as a key for integration.
- departmentname: The department name shown in TimeMap.
- description: The department description.
- employerno: Employerno is a number used for some Payroll systems. Should only be used if employerno is different than employerno in standard settings.
- parentdepartmentid: Internal TimeMap Department ID of the parent department.
- parentdepartmentno: The departmentno of the parent department to this department.
- parentdepartmentname: The parent departments name.
- managerno: The departments Managers number in TimeMap (punchcode).
- managersalaryno: The departments Managers payroll number in TimeMap (salary number).
- managername: The departments Managers Name.
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getEmployee
\Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Used for getting current Employee data in TimeMap
Note, Fair usage limit: 2 request per employee per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- SalaryNo (string): The Payroll Number of the employee (You can specify eigther SalaryNo or TimeMapID to get one employee. Or leave both blank to get all active employees) ).
- TimeMapId (string): The TimeMapID of the employee (You can specify eigther SalaryNo or TimeMapID to get one employee. Or leave both blank to get all active employees).
Returns: Array of object: "Employee"
- SalaryNo: Salary/Payroll number
- TimeMapID: Internal TimeMapID. Same as EmployeeID
- SSN: Social security number
- FirstName: Firstname
- LastName: Lastname
- Address: Address line 1
- Address2: Address line 2
- ZipCode: Zip code
- City: City
- EmailPrimary: Primary email address
- PhonePrimary: Primary Phone (Mobile)
- PhoneSecondary: Secondary Phone (Private)
- HireDate: Hire date. Format: yyyy.MM.dd (e.g. 2010.08.02)
- EndDate: The employees stop date in the firm. Format: yyyy.MM.dd
- InActive: If the employee is active or inactive. (Empty or 0: The employee is active. 1: Employee is inactive)
- Active: If the employee is active or inactive. (Empty or 0: The employee is inactive. 1: Employee is active)
- ApprovedUntil: Date for approval. The period before this date is locked.
- StandardWorkHoursPerWeek: Standard Work hours per week. E.g. 40
- UseFlex: If the employee has flexitime accounts (1: Flexitime is active. Empty or 0: No flexitime)
- FlexStartAccount: Flexitime start account in hours
- FlexStartDate: Flexitime start date
Example: {"Employee": [{"SalaryNo":"0001","TimeMapID":"1","SSN":"01 01 70-0000","FirstName":"John","LastName":"Doe","Address":"","Address2":"","ZipCode":"","City":"","EmailPrimary":"johnd@timemap.dk","PhonePrimary":"22112211","PhoneSecondary":"","HireDate":"1/1/2000","EndDate":"","InActive":"Active","ApprovedUntil":"2015.01.12","StandardWorkHoursPerWeek":"32.5","UseFlex":"Yes","FlexStartAccount":"0","FlexStartDate":"2016.06.27"}]}
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getEmployeeActiveList
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Used to get list of Active Employees in TimeMap.
Note, Fair usage limit: 60 request per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
Returns: Object EmployeeList
- TimeMapID: Internal TimeMapID. Same as EmployeeID
- EmployeeNo: Employee number
- SalaryNo: Salary/Payroll number
- FirstName: Employees firstname
- LastName: Lastname
- ApprovedUntil: Approved until date. Data before this date is locked and cannot be changed unless they are unlocked. Format: yyyy.MM.dd (e.g. 2010.08.02)
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getEmployeeAllowance
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Employee Allowances
Note, Fair usage limit: 2 request per employee per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (string): Optional. Internal TimeMap ID for the employee (employeeid or salaryno must be specified)
- salaryno (string): Optional. Employee salaryno (employeeid or salaryno must be specified)
- fromdate (date): Optional. Format: yyyy.MM.dd
- todate (date): Optional. Format: yyyy.MM.dd
Result: EmployeeAllowance
- employeeallowanceid: Internal TimeMap employee allowance id
- employeeid: Internal TimeMap employee id
- salaryno: Employee Salary Number
- employee_name: Employee Name
- date: Allowance date (Format: yyyy.MM.dd)
- allowanceid: Internal TimeMap Allowance id
- allowance_name: Name of the allowance type
- note: Note/Description
- quantity: Quantity
- rate: Rate
- amount: Total amount
- approvedby: Approver
- approveddate: Approval date (Format: yyyy.MM.dd HH:mm)
- approvednote: Note
- invoiced: 1= has been marked as invoiced
- projectid: Internal TimeMap Project id
- projectname: Project Name
- projectno: Project Number
- createddate: Date where the record was added (Format: yyyy.MM.dd)
- createdby: Creator
- modifieddate: Date where the record was modified/calculated last (Format: yyyy.MM.dd)
- modifiedby: Last modified by
-
getEmployeeBonus
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Employees Bonus
Note, Fair usage limit: 2 request per employee per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (string): Optional. Internal TimeMap ID for the employee (employeeid or salaryno must be specified)
- salaryno (string): Optional. Employee salaryno (employeeid or salaryno must be specified)
Result: EmployeeBonus
- employeebonusid: Internal TimeMap employeebonus id.
- employeeid: Internal TimeMap employee id.
- employee_name: Employee name
- salaryno: Employee salary number
- description: The description/name of the bonus
- startdate: Start date for the bonus (Format: yyyy.MM.dd)
- enddate: End date for the bonus (Format: yyyy.MM.dd)
- rate: The rate of the bonus
- quantity: Quantity per occurance
- amount: Total amount per occurance
- frequenze: Occurance frequenze (hr = Once per salary hour, h2 = Once per standard work hour, h3 = Once per work hour, h4 = Once per approved work hour, 1l = Every payroll calculation, 2l = Every 2. payroll calculation, 3l = Every 3. payroll calculation, 4l = Every 3. payroll calculation, 5l = Every 5. payroll calculation, 6l = Every 6. payroll calculation, 0l = Every 12. payroll calculation)
- flexpayment: 1 = Include when paying flexitime hours.
- paymentcode: Paymentcode/Payrollcode
-
getEmployeeDetail
\Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Used for getting current Employee Details data in TimeMap
Note, Fair usage limit: 2 request per employee per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- SalaryNo (string): The Payroll Number of the employee (SalaryNo or TimeMapID must be specified).
- EmployeeId (string): The TimeMap EmployeeID of the employee (SalaryNo or EmployeeID must be specified).
Returns: Object: "Employee"
- employeeid: Internal employeeid. Same as timemapid
- timemapid: Internal TimeMapID. Same as EmployeeID
- employeeno: employee number (used for checking in/out when using terminals with keycode or cards)
- salaryno: Salary/Payroll number
- firstName: Firstname
- lastName: Lastname
- initials: Initials
- ssn: Social security number
- address: Address line 1
- address2: Address line 2
- zipcode: Zip code
- city: City
- email_primary: Primary email address
- email_secondary: Secondary email address
- phone_primary: Primary Phone (Mobile)
- phone_secondary: Secondary Phone (Private)
- hiredate: Hire date. Format: yyyy.MM.dd (e.g. 2010.08.02)
- endingdate: The employees stop date in the firm. Format: yyyy.MM.dd
- standardworkhours: Standard Work hours per week. E.g. 40
- approveduntil: Date for approval. The period before this date is locked.
- employeeagreementname: The name of the current employeeagreement used by the employee.
- employeeagreementid: The id of the current employeeagreement used by the employee.
- workbreakgroup: Standard workbreaks. This value is used when the employee does not have workbreakgroups defined in standard workhours.
- groups: Name of the groups that the employee belongs to. Seperated by comma.
- absencepct: Current absence percent (calculated daily).
- UseFlex: If the employee has flexitime accounts (1: Flexitime is active. Empty or 0: No flexitime)
- flexaccount: Current flexitime account (calculated on check in/out).
- FlexStartAccount: Flexitime start account in hours
- FlexStartDate: Flexitime start date
- note: Note
- timezone: Timezone
- country: Country
- InActive: If the employee is active or inactive. (Empty or 0: The employee is active. 1: Employee is inactive)
- User Defined fields: The extra fields that is defined on the employee base data is added one at the time. Field name is the same as the Label for the field. Values is always string as entered.
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getEmployeeGroups
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Group Types
Note, Fair usage limit: 2 request per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
Result: EmployeeGroups
- groupid: Internal TimeMap Unique ID.
- groupno: Group number
- groupname: Group name
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getEmployeeList
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Used to get list of Employees in TimeMap.
All employees is exported including InActive employees. Field Inactive = 0 for currently Active Employees.
Note, Fair usage limit: 6 request per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
Returns: Object EmployeeList
- TimeMapID: Internal TimeMapID. Same as EmployeeID
- SalaryNo: Salary/Payroll number
- FirstName: Employees firstname
- LastName: Lastname
- HireDate: Hire date. Format: yyyy.MM.dd (e.g. 2010.08.02)
- EndDate: The employees stop date in the firm. Format: yyyy.MM.dd
- DepartmentName: Primary Department Name
- InActive: If the employee is active or inactive. (Empty or 0: The employee is active. 1: Employee is inactive)
- ApprovedUntil: Approved until date. Data before this date is locked and cannot be changed unless they are unlocked. Format: yyyy.MM.dd (e.g. 2010.08.02)
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getEmployeeNormWorktime
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Employee Norm Worktimes
Note, Fair usage limit: 2 request per employee per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (string): Optional. Internal TimeMap ID for the employee (employeeid or salaryno must be specified)
- salaryno (string): Optional. Employee salaryno (employeeid or salaryno must be specified)
- fromdate (date): Optional. Format: yyyy.MM.dd
- todate (date): Optional. Format: yyyy.MM.dd
Result: EmployeeNormWorktimePeriod
- employeeid: Internal TimeMap employee id
- salaryno: Employee Salary Number
- employee_name: Employee Name
- fromdate: Fixed worktime period start (Format: yyyy.MM.dd)
- todate: Fixed worktime end (Format: yyyy.MM.dd)
- weekday: 1 = sunday, 2 = monday, 3 = tuesday, 4 = wedensday, 5 = thursday, 6 = friday, 7 = saturday
- worktimefrom: Normal Starttime (Format: HH:mm)
- worktimeto: Normal endtime (Format: HH:mm)
- workbreaktime: Normal workbreaks (Format: 0.00)
- workbreakgroupid: Internal TimeMap ID - Reference to the workbreakgroup
- oncall: On call
- workweek: 0 = Equal weeks, 2 = Unequal weeks. If only 0 exists the worktimes is for all weeks.
- employeeagreementid: Internal TimeMap ID reference to Employee Ageements
Result: EmployeeNormWorktimeRoster
- employeeid: Internal TimeMap employee id
- salaryno: Employee Salary Number
- employee_name: Employee Name
- date: Worktime date (Format: yyyy.MM.dd)
- worktimefrom: Normal Starttime (Format: HH:mm)
- worktimeto: Normal endtime (Format: HH:mm)
- workbreaktime: Normal workbreaks (Format: 0.00)
- oncall: On call
- employeeagreementid: Internal TimeMap ID reference to Employee Ageements
- workplanid: Internal TimeMap ID reference to the Workplan
- workplanperiodid: Internal TimeMap ID reference to the Workplan Period
- workbreakgroupid: Internal TimeMap ID - Reference to the workbreakgroup
-
getEmployeeSalary
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Employees Salary Details
Note, Fair usage limit: 2 request per employee per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (string): Optional. Internal TimeMap ID for the employee (employeeid or salaryno must be specified)
- salaryno (string): Optional. Employee salaryno (employeeid or salaryno must be specified)
- fromdate (date): Optional. Date from where you want the details (Format: yyyy.MM.dd)
- todate (date): Optional. Date to where you want the details (Format: yyyy.MM.dd)
Result: EmployeeSalary
- employeeid: Internal TimeMap employee id. If negative no employee is attached to the shift (open shifts)
- salaryid: Internal TimeMap Salary ID
- employee_name: Employee name
- salaryno: Employee salary number
- employmenttype: hour = hour worker, month = monthly payrolls
- validfrom: Date from where the salary is valid
- validto: Date until where the salary is valid
- salary: The salary (FOrmat: 0.00)
- paymentcode: Payment/Payroll code
- costprice: Cost price
- subaccountno: Sub Account Number
- createddate: Date where the record was added (Format: yyyy.MM.dd)
- createdby: Creator
- modifieddate: Date where the record was modified/calculated last (Format: yyyy.MM.dd)
- modifiedby: Last modified by
-
getEmployeeStatus
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Employee Status
Note, Fair usage limit: 1 request per employee per minute.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- departmentid (string): Optional. Internal TimeMap ID for the department
- employeeid (string): Optional. Internal TimeMap Employee ID of the employee
- options (string): Optional. Semi-colon separated string with options: 0 = Overview of all employees, 1 = Only checked in employees (Default)
Result: EmployeeStatus
- employeeid: Internal TimeMap employee id
- employee_name: Employee Name
- employeestatusid: 1 = Checked in (open hourregistration), 2 = Checked out (closed hourregistration)
- starttime: Check in time (Format: yyyy.MM.dd HH:mm)
- projectid: Internal TimeMap project id
- projectno: Project number
- taskid: Internal TimeMap task id
- taskno: Task number
- absenceid: Interval Absenceid
-
getEmployeeStatusList
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Used to get list of Employees with current status including project, task or absence in TimeMap.
Only Active Employees is returned.
Note, Fair usage limit: 60 request per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- culture (string): Optional. two letter language code. en and da supportet. Default is 'en'
Returns: Object EmployeeList
- TimeMapID: Internal TimeMapID. Same as EmployeeID
- EmployeeNo: Employee number
- SalaryNo: Salary/Payroll number
- starttime: Starttime for current registration
- projectid: TimeMap Project ID
- taskid: TimeMap Task ID
- absenceid: TimeMap Absence ID
- projectno: Project Number
- projectname: Project name
- taskno: Task Number
- taskname: Task Name
- absencecode: Absence code
- absencename: Absence name
- LastName: Lastname
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getEmployeeVacationAccounts
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Employees Vacation Account Details
Note, Fair usage limit: 2 request per employee per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (string): Mandatory. Internal TimeMap ID for the employee
- absenceid (string): Optional. Internal TimeMap ID for the absence
- fromdate (date): Optional. Date from where you want the details (Format: yyyy.MM.dd)
- todate (date): Optional. Date to where you want the details (Format: yyyy.MM.dd)
Result: EmployeeVacationAccounts
- employeeid: Internal TimeMap employee id. If negative no employee is attached to the shift (open shifts)
- absenceid: Internal TimeMap Absence ID
- employee_name: Employee name
- salaryno: Employee salary number
- absencename: Name of the absence
- unit: hr = hours, dd = days
- earnyearstart: Earn year start date (Format: yyyy.MM.dd)
- earnyearend: Earn year end date (Format: yyyy.MM.dd)
- useyearstart: Usage start date (Format: yyyy.MM.dd)
- useyearend: Usage end date (Format: yyyy.MM.dd)
- earned: Units earned (Format: 0.00)
- transferred: Units transferred (Format: 0.00)
- transferrednosalary: Units transferred (no salary included) (Format: 0.00)
- used: Units used (Format: 0.00)
- account: Current account (Format: 0.00)
- planned: Units planned (Format: 0.00)
- inactive: 1 = the record is inactive
- log: Internal TimeMap Log information
- createddate: Date where the record was added (Format: yyyy.MM.dd)
- modifieddate: Date where the record was modified/calculated last (Format: yyyy.MM.dd)
- earncalcuntil: Date until where record has been added earnings. Only used for running earnings(Format: yyyy.MM.dd)
-
getFlexitimeDetails
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Flexitime Calculation Details
Note, Fair usage limit: 2 request per employee hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (string): Mandatory. Internal TimeMap ID for the employee
- fromdate (date): Optional. Date from where you want the details (Format: yyyy.MM.dd)
- todate (date): Optional. Date to where you want the details (Format: yyyy.MM.dd)
Result: FlexitimeDetails
- employeeid: Internal TimeMap employee id. If negative no employee is attached to the shift (open shifts)
- flexaccount_name: Name of the flexitime account. Empty if it's the standard account
- date: Date of the record (flexcalculation)
- calculation_period: Overtime period for the calculation (dd = day, wk = week, 2w = 2 weeks, mm = month)
- flexadded: Hours of flex added (worktime minus norm-hours)
- flexwageadded: Additional flex added due to Employee Agreement Wages
- flexpaid: Flex payments
- flexaccount: New flexitime account (after the period)
- subresult: 1 = subresult (not used for daily opvertime periods)
- comment: Comments
- manualcreated: 1 = Manually created records (e.g. Start account, Ajustments, Payments)
- modifieddate: Date for the last calculation of the date/period
-
getHourregistrations
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Exports Hourregistrations for a given period
Note, Fair usage limit: 2 request per employee per hour or 6 requests per hour with from/todate and without timemapid/salaryno (returns all employees).Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- SalaryNo (string): The Payroll Number of the employee (SalaryNo or TimeMapID must be specified).
- TimeMapId (string): The TimeMapID of the employee (SalaryNo or TimeMapID must be specified).
- FromDate (string): Date where the new workhours starts (Format: yyyy.MM.dd). If not specified all hregs the last month is exported. Max allowed interval is 65 days
- ToDate (string): Date where the new workhours ends (Format: yyyy.MM.dd). If not specified all hregs the last month is exported. Max allowed interval is 65 days
Result: Hourregistrations - sortcolumn: sorting value (int)
- PeriodeFra: Start date for the result set (eg. 2013-06-20 07:00:00)
- PeriodeTil: End date for the result set
- MedarbejderNr: Employee number (string)
- Fornavn: First name (String)
- Efternavn: Last name (String)
- Tid Fra: Punch in date/time (eg. 2018-05-24 09:18:13)
- Tid Til: Punch out date/time (eg. 2018-05-24 17:08:00)
- Tid i Sekunder: Registration time in seconds (int)
- Tid i timer: Registration time in hours (decimal)
- Tid i timer/min/sek: Registration time in hours/minutes/seconds hh:MM:ss (string)
- Pause: Break time in seconds (int)
- Tid ekskl. pause (sek): Registration time in seconds ex. breaks (int)
- Tid ekskl. pause (timer): Registration time in hours ex. breaks (decimal)
- Tid ekskl. pause (timer/min/sek): Registration time in hours/minutes/seconds hh:MM:ss ex. breaks (string)
- Fravær: Absence name (string)
- ProjektNr: Project number (string)
- ProjektNavn: Project name (string)
- OpgaveNr Task number (string)
- Opgave: Task name (string)
- Kommentar: Comment (string)
- ProjektTimePrisStandard: Standard hour price for the project (decimal)
- TimePris: Hour price registrered on the registration (decimal)
- Pris i alt: Total price (decimal)
- Faktureret: Flag (0/1) indecating if this registration is marked as invoiced (int)
- Loennr: Employee Salary Number (string)
- ID: Internal TimeMap id for this registration (int)
- Antal: Quantity entered for this registration. Normally used for indication how many items was produced during the registration (deimal)
- Projekttype: Project type (string)
- Projektstatuskode: Project status code (String)
- Projektstatus: Project state (string)
- Projektafdeling: Department name of the project (string)
- Kontonr: Project Account number (string)
- Projektunit: Project unit number (string)
- Projektleder: Project managers name (string)
- Projektkostpris: Project cost price (decimal)
- Estimeredetimer: Estimated hours for the project (decimal)
- Timekostpris: Project hour cost price (decimal)
- Fakturatimepris: Project invoice hour price (decimal)
- absenceid: Internal TimeMap absenceid (int)
- employeeid: Internal TimeMap employeeid (int)
- approved: If approval is required (useapproval) this will be empty if not approved
- useapproval: If this absencetype is to be approved by manager this is 1. Otherwise 0 (int)
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getPayrollCodes
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Payroll Codes
Note, Fair usage limit: 2 request per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
Result: PayrollCodes
- paymentcodeid: Internal TimeMap Unique ID.
- paymentcode: The payment/payroll code.
- paymentcode_name: The payment/payroll name/description.
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getPayrollDetails
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Payroll Details
Note, Fair usage limit: 2 request per payroll per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- paymentid (string): Mandatory.
Result: PayrollDetails
- paymentid: Internal TimeMap payment id. Used to retrieve payroll details.
- fromdate: Payroll period start (Format: yyyy.MM.dd)
- todate: Payroll period end (Format: yyyy.MM.dd)
- employeeid: Internal TimeMap employee id
- employee_name: Employee Name
- salaryno: Employee Salary Number
- email_primary: Employee Email
- description: Payroll Line Description
- quantity: Quantity
- amount: Amount
- totalamount: Payroll Line Total Amount (Quantity*Amount)
- paymentcode: Payroll/Paymentsystem Code
- absenceid: Internal TimeMap Absence ID is payroll line is absence
- salaryid: Internal TimeMap Salary ID - Reference to Employee Salary Record
- wageid: Internal TimeMap Wage ID - Reference to Employee Agreement Wage Record
- createddate: Created date (Format: yyyy.MM.dd HH:mm)
-
getPayrollPeriods
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Payroll Periods Bonus
Note, Fair usage limit: 2 request per payroll per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- fromdate (date): Optional. Format: yyyy.MM.dd
- todate (date): Optional. Format: yyyy.MM.dd
Result: PayrollPeriods
- paymentid: Internal TimeMap payment id. Used to retrieve payroll details.
- fromdate: Payroll period start (Format: yyyy.MM.dd)
- todate: Payroll period end (Format: yyyy.MM.dd)
- paymenttermcode: Payroll systemet Payment Term Code
- commet: The comment/description/ of the period
- locked: 1 = Locked (only when using masterlock functionality)
- createdby: Creator
- createddate: Created date (Format: yyyy.MM.dd HH:mm)
- modifiedby: Last modified by
- modifieddate: Modified date (Format: yyyy.MM.dd HH:mm)
-
getProjectPayroll
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Exports hours and payroll cost a given project/employee/date. A payroll must be completed before payroll amounts is included.
Note, Fair usage limit: 20 request per employee per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- SalaryNo (string): * The Payroll Number of the employee.
- TimeMapId (string): * The TimeMapID of the employee.
- FromDate (string): * Date where the new workhours starts (Format: yyyy.MM.dd). If not specified all hregs the last month is exported. Max allowed interval is 65 days
- ToDate (string): * Date where the new workhours ends (Format: yyyy.MM.dd). If not specified all hregs the last month is exported. Max allowed interval is 65 days
- projectid (int): * TimeMap projectid.
- projectno (string): * Project number.
*) Please note: Date from/to must be specified if no SalaryNo/TimeMapID or projectid/projectno is specified.Result: Hourregistrations - sortcolumn: sorting value (int)
- PeriodeFra: Start date for the result set (eg. 2013-06-20 07:00:00)
- PeriodeTil: End date for the result set
- MedarbejderNr: Employee number (string)
- Fornavn: First name (String)
- Efternavn: Last name (String)
- Tid Fra: Punch in date/time (eg. 2018-05-24 09:18:13)
- Tid Til: Punch out date/time (eg. 2018-05-24 17:08:00)
- Tid i Sekunder: Registration time in seconds (int)
- Tid i timer: Registration time in hours (decimal)
- Tid i timer/min/sek: Registration time in hours/minutes/seconds hh:MM:ss (string)
- Pause: Break time in seconds (int)
- Tid ekskl. pause (sek): Registration time in seconds ex. breaks (int)
- Tid ekskl. pause (timer): Registration time in hours ex. breaks (decimal)
- Tid ekskl. pause (timer/min/sek): Registration time in hours/minutes/seconds hh:MM:ss ex. breaks (string)
- Fravær: Absence name (string)
- ProjektNr: Project number (string)
- ProjektNavn: Project name (string)
- OpgaveNr Task number (string)
- Opgave: Task name (string)
- Kommentar: Comment (string)
- ProjektTimePrisStandard: Standard hour price for the project (decimal)
- TimePris: Hour price registrered on the registration (decimal)
- Pris i alt: Total price (decimal)
- Faktureret: Flag (0/1) indecating if this registration is marked as invoiced (int)
- Loennr: Employee Salary Number (string)
- ID: Internal TimeMap id for this registration (int)
- Antal: Quantity entered for this registration. Normally used for indication how many items was produced during the registration (deimal)
- Projekttype: Project type (string)
- Projektstatuskode: Project status code (String)
- Projektstatus: Project state (string)
- Projektafdeling: Department name of the project (string)
- Kontonr: Project Account number (string)
- Projektunit: Project unit number (string)
- Projektleder: Project managers name (string)
- Projektkostpris: Project cost price (decimal)
- Estimeredetimer: Estimated hours for the project (decimal)
- Timekostpris: Project hour cost price (decimal)
- Fakturatimepris: Project invoice hour price (decimal)
- Godkendt: 0=Not Approved, 1=Approved (int)
- Approved by: Approved by (string)
- Date: Date of the registration (Date yyyy.mm.dd)
- absenceid: Always null (int)
- PayrollFromDate: Date of the Payroll from date that includes this registration (Date)
- PayrollToDate: Date of the Payroll to date that includes this registration (Date)
- cost: The payroll cost of the registration (total). Includes base salary and wages that can be mapped 1:1 to the registration (decimal)
- costsplitted: The payroll cost of the registration (total). Includes wages that can not be mapped 1:1 to the registration (decimal)
- costperhour: The payroll per hour cost of the registration. Includes base salary and wages that can be mapped 1:1 to the registration (decimal)
- costsplittedperhour: The payroll cost per hour of the registration (total). Includes wages that can not be mapped 1:1 to the registration (decimal)
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getProjectregistrations
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Exports Hourregistrations for a given project
Note, Fair usage limit: 20 request per employee per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- SalaryNo (string): * The Payroll Number of the employee.
- TimeMapId (string): * The TimeMapID of the employee.
- FromDate (string): * Date where the new workhours starts (Format: yyyy.MM.dd). If not specified all hregs the last month is exported. Max allowed interval is 65 days
- ToDate (string): * Date where the new workhours ends (Format: yyyy.MM.dd). If not specified all hregs the last month is exported. Max allowed interval is 65 days
- projectid (int): * TimeMap projectid.
- projectno (string): * Project number.
*) Please note: Date from/to must be specified if no SalaryNo/TimeMapID or projectid/projectno is specified.Result: Hourregistrations - sortcolumn: sorting value (int)
- PeriodeFra: Start date for the result set (eg. 2013-06-20 07:00:00)
- PeriodeTil: End date for the result set
- MedarbejderNr: Employee number (string)
- Fornavn: First name (String)
- Efternavn: Last name (String)
- Tid Fra: Punch in date/time (eg. 2018-05-24 09:18:13)
- Tid Til: Punch out date/time (eg. 2018-05-24 17:08:00)
- Tid i Sekunder: Registration time in seconds (int)
- Tid i timer: Registration time in hours (decimal)
- Tid i timer/min/sek: Registration time in hours/minutes/seconds hh:MM:ss (string)
- Pause: Break time in seconds (int)
- Tid ekskl. pause (sek): Registration time in seconds ex. breaks (int)
- Tid ekskl. pause (timer): Registration time in hours ex. breaks (decimal)
- Tid ekskl. pause (timer/min/sek): Registration time in hours/minutes/seconds hh:MM:ss ex. breaks (string)
- Fravær: Absence name (string)
- ProjektNr: Project number (string)
- ProjektNavn: Project name (string)
- OpgaveNr Task number (string)
- Opgave: Task name (string)
- Kommentar: Comment (string)
- ProjektTimePrisStandard: Standard hour price for the project (decimal)
- TimePris: Hour price registrered on the registration (decimal)
- Pris i alt: Total price (decimal)
- Faktureret: Flag (0/1) indecating if this registration is marked as invoiced (int)
- Loennr: Employee Salary Number (string)
- ID: Internal TimeMap id for this registration (int)
- Antal: Quantity entered for this registration. Normally used for indication how many items was produced during the registration (deimal)
- Projekttype: Project type (string)
- Projektstatuskode: Project status code (String)
- Projektstatus: Project state (string)
- Projektafdeling: Department name of the project (string)
- Kontonr: Project Account number (string)
- Projektunit: Project unit number (string)
- Projektleder: Project managers name (string)
- Projektkostpris: Project cost price (decimal)
- Estimeredetimer: Estimated hours for the project (decimal)
- Timekostpris: Project hour cost price (decimal)
- Fakturatimepris: Project invoice hour price (decimal)
- Godkendt: 0=Not Approved, 1=Approved (int)
- Approved by: Approved by (string)
- Date: Date of the registration (Date yyyy.mm.dd)
- absenceid: Always null (int)
- PayrollFromDate: Date of the Payroll from date that includes this registration (Date)
- PayrollToDate: Date of the Payroll to date that includes this registration (Date)
- cost: The payroll cost of the registration (total). Includes base salary and wages that can be mapped 1:1 to the registration (decimal)
- costsplitted: The payroll cost of the registration (total). Includes wages that can not be mapped 1:1 to the registration (decimal)
- costperhour: The payroll per hour cost of the registration. Includes base salary and wages that can be mapped 1:1 to the registration (decimal)
- costsplittedperhour: The payroll cost per hour of the registration (total). Includes wages that can not be mapped 1:1 to the registration (decimal)
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getProjects
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Used to get project list
Note, Fair usage limit: 20 request per hour.Parameters: To set values to null, specify 'null' in the parameter. Empty parameters is not updated.
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- projectid: Internal TimeMap project ID.
- departmentNo: The department number of the project owner department. Department number must exists in TimeMap.
- mainProjectID: Main Project TimeMap ID. Gets all children
- mainProjectNo: Main Project Number. Gets all children
- completed: Specify 0 for uncompleted and 1 for completed. If no value is specified the project is set to uncompleted when creating a new project.
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getPublicHolidays
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Public Holidays
Note, Fair usage limit: 2 request per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
Result: PublicHolidays
- holidayid: Internal TimeMap Unique ID.
- holidaydate: The date of the public holiday (Year is ignored when it's a fixed date public holiday)
- holidayname: Name of the public holiday
- hour_to: If specified the public holiday starts at this time and runs until midnight (Format: HH:mm)
- fixed_date: 1 = The date is the same every year.
- created_date: Date of the creation (Dateformat: yyyy.MM.dd)
- created_by: Email of the user that have created the record
- modified_date: Date of last modification (Dateformat: yyyy.MM.dd)
- modified_by: Email of the user that have modified the record last
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
getRosterDetails
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Workplan Details
Note, Fair usage limit: 5 request per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- workplanperiodid (string): Mandatory. Internal TimeMap ID for the Workplan Period. Get the id's for Workplan Periods by calling getRosterList
Result: RosterDetails
- workplanid: Internal TimeMap Unique ID for the employee.
- workplanperiodid: Work Plan Period id.
- employeeid: Internal TimeMap employee id. If negative no employee is attached to the shift (open shifts)
- worktimefrom: Shift start date/time (Format: yyyy.MM.dd HH:mm)
- worktimeto: Shift end date/time (Format: yyyy.MM.dd HH:mm)
- workbreakgroupname: Workbreaks
- employeeagreementname: Employee Agreeement attached to the shift. If empty employee standard agreements is used.
- absencename: The absence is any
- ratepayment: Ratepayments
- notes: Notes (as html)
- employeename: Employee name
- oncall: If the employee is on call
- abscolor: Absence color
- employee_hiredate: Employee hiredate (Format: yyyy.MM.dd)
- employee_enddate: Employee termination date (Format: yyyy.MM.dd)
- workplan_startdate: Start of the workplan period (Format: yyyy.MM.dd)
- workplan_enddate: End of the workplan period (Format: yyyy.MM.dd)
- workplanname: Workplan Name
- sectionname: Workplan Section Name
-
getRosterList
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Workplans and Periods
Note, Fair usage limit: 5 request per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- departmentno (string): Optional. Department number of the department to get data for.
- departmentid (int): Optional. Internal TimeMap departmentid of the department to get data for.
- fromdate (datetime): Optional. First date of the period (if not specified the days date is used. Format: yyyy.MM.dd)
- todate (datetime): Option. Last day of the period (if not specified days date plus one month is used. Format: yyyy.MM.dd)
Result: RosterList
- workplanid: Internal TimeMap Unique ID for the employee.
- workplanname: Work Plan Name.
- departmentid: Internal department id
- workplan_created_date: Workplan created date (Format: yyyy.MM.dd HH:mm)
- workplan_created_by: Name of the function (Project, Absence or Custom text)
- workplan_modified_date: P = project, A = Absence
- workplan_modified_by: Internal TimeMap ID for the project or absence.
- empl_permissions: Subject text
- employee_groups: Employee Groups that can swap, buy and sell
- workplanperiodid: Internal TimeMap ID for the period
- fromdate: Period start date (format: yyyy.MM.dd)
- todate: Period end date (format: yyyy.MM.dd)
- is_template: 1 = this is a template
- template_deployed_to: Date for the template employment (Format: yyyy.MM.dd)
- template_deploy_days_before: Number of days the template should be deployed
- period_created_date: Date of the creation.
- period_created_by: Creator
- period_modified_date: Modified date
- period_modified_by: Modified by
-
getWorkFunctions
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Get Work Functions
Note, Fair usage limit: 2 request per employee per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- employeeid (int): Optional. Internal TimeMap employeeid of the employee to get data for.
- salaryno (string): Optional. Employee Salary/Payroll No of the employee to get data for.
- departmentno (string): Optional. Department number of the department to get data for.
- departmentid (int): Optional. Internal TimeMap departmentid of the department to get data for.
- fromdate (datetime): Optional. First date of the period (if not specified the days date is used. Format: yyyy.MM.dd)
- todate (datetime): Option. Last day of the period (if not specified days date plus one month is used. Format: yyyy.MM.dd)
Result: WorkFunctions
- employeeid: Internal TimeMap Unique ID for the employee.
- employeename: Employee Name.
- starttime: Start of the function (Format: yyyy.MM.dd HH:mm)
- endtime: End of the function (Format: yyyy.MM.dd HH:mm)
- functionname: Name of the function (Project, Absence or Custom text)
- function_type: P = project, A = Absence
- id: Internal TimeMap ID for the project or absence.
- subject: Subject text
- Description: Description
-
insertUpdateDepartment
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Inserts or updates Departments
Note, Fair usage limit: 2 request per department per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- departmentno (string): The departmentno of the department (If specified the specified department and its subdepartments is returned).
- departmentid (string): The internal TimeMap departmentid of the department (If specified the specified department and its subdepartments is returned).
- departmentname: The department name shown in TimeMap.
- description: The department description.
- employerno: Employerno is a number used for some Payroll systems. Should only be used if employerno is different than employerno in standard settings.
- parentdepartmentid: Internal TimeMap Department ID of the parent department.
- parentdepartmentno: The departmentno of the parent department to this department.
- managerno: The department Managers number in TimeMap (punchcode).
Result:
- Result: Departments-Result. Number of departments updated or inserted
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
paymentCode
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Used for updating employee salary information
Note, Fair usage limit: 2 request per employee per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- PaymentCode (string): Mandatory. The Payroll system paymentcode.
- Description (string): The text to be shown on Payroll reports
- DeletePaymentCode (string): Specify 1 if it's a delete
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
setEmployeeSalary
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Used for updating employee salary information
Note, Fair usage limit: No limit at the moment.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- SalaryNo (string): Mandatory. Employees salary no. This is the key for the employee.
- ValidFrom (string): Mandatory. Date where the new workhours starts (Format: yyyy.MM.dd). If empty current date is used.
- ValidTo (string): Date where the new workhours ends (Format: yyyy.MM.dd). If empty 2025.01.01 is used.
- SalaryType (string): Mandatory. Employmenttype. Valid values: hour (hour paid), month (fixed paid employee), hourall (hour paid without a roster - all hours will be paid), bonus (bonus paid), mix (hour paid but with fixed amount every payroll)
- PaymentFrequenze (string): The payroll frequenze. Valid values: mm (monthly), 2w (14 days), wk (Weekly), dd (daily)
- Amount (string): The amount to be paid (per frequenze). Use number format with period as decimal, e.g.: 100.00
- PaymentCode (string): The Payroll systems paymentcode that should be used when transfering payrolls from TimeMap to Payroll system.
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
setEmployeeWages
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Used for updating employee wage information
Note, Fair usage limit: 2 request per employee per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- SalaryNo (string): Mandatory. Employees salary no. This is the key for the employee.
- Frequenze (string): Mandatory. Valid values:
1l <=> Every payroll
2l <=> Every 2th payroll
3l <=> Every 3th payroll
4l <=> Every 4th payroll
5l <=> Every 5th payroll
6l <=> Every 6th payroll
0l <=> Every 12th payroll
hr <=> Every payable workhour
h2 <=> Normal workhours/Sheduled work hours
h3 <=> All work hours
h4 <=> Approved work hours
- ValidFrom (string): Date where the new workhours starts (Format: yyyy.MM.dd). If empty current date is used.
- ValidTo (string): Date where the new workhours ends (Format: yyyy.MM.dd). If empty 2025.01.01 is used.
- Description (string): The text to be shown on Payroll reports
- Quantity (string): The quantity per payment/occurance. Can be left as 0 is totalamount is used.
- Amount (string): The amount to be paid (per quantity). Use number format with period as decimal, e.g.: 100.00. If you wish to pay $10 per workhour then set auantity to 1 and amount to 10.00. Can be left as 0 is totalamount is used.
- TotalAmount (string): The totalamount. Use number format with period as decimal, e.g.: 100.00. Can be left as 0 is Quantity and amount is used.
- PaymentCode (string): The Payroll systems paymentcode that should be used when transfering payrolls from TimeMap to Payroll system.
- IncludeInFlexPayments (string): Valid values:
1 <=> This is included when flex payments is done
0 <=> Not included in flex payments
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
-
setEmployeeWorkhours
Always use Test server for test and development. All usage restrictions on test is 200 requests. Url: https://testservice.timemap.dk/timemapapi.asmx Description: Used for updating employee workhours
Note, Fair usage limit: 2 request per employee per hour.Parameters:
- apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
- apipwd (string): Mandatory. The api password must be specified in the Company settings. Please see menu Settings->Company
- username (string): Mandatory. Specify the username/email of the user/developer calling this method. The user must exists in the EmployeeList.
- SalaryNo (string): Mandatory. Employees salary no. This is the key for the employee.
- ValidFrom (string): Date where the new workhours starts (Format: yyyy.MM.dd). If empty current date is used.
- ValidTo (string): Date where the new workhours ends (Format: yyyy.MM.dd). If empty 2025.01.01 is used.
- StartTimes (string): String of start hours starting monday and ending sunday. Must be seperated by semicolon. Example (starting at 08:00 monday to thursday and starting 09:00 friday: 08:00;08:00;08:00;08:00;09:00;
- EndTimes (string): String of end hours starting monday and ending sunday. Must be seperated by semicolon.
- WorkBreakTimes (string): String of auto breaks that should be subtracted at check out. Starting mondag and ending sunday. Must be seperated by semicolon. Example ( 30 minute break monday, wedensday and friday): 00:30;00:00;00:30;;00:30;;;
- OnCallTypes (string): String of On Call Swifts. Starting mondag and ending sunday. Normally this value should be empty. 0 <=> Not on call. 1 <=> On Call
- Week (string): This value indicates if workhours is all weeks (empty value), Even weeks (0), Odd weeks (1)
If the employee doesn't have fixed workhours or the fixed workhours changes more than every second week, thep ImportWorkplan mothod should be used. - apikey (string): Mandatory. The apikey is specified in the Company settings. Please see menu Settings->Company
This web service is using http://tempuri.org/ as its default namespace.
Recommendation: Change the default namespace before the XML Web service is made public.
Each XML Web service needs a unique namespace in order for client applications to distinguish it from other services on the Web. http://tempuri.org/ is available for XML Web services that are under development, but published XML Web services should use a more permanent namespace.
Your XML Web service should be identified by a namespace that you control. For example, you can use your company's Internet domain name as part of the namespace. Although many XML Web service namespaces look like URLs, they need not point to actual resources on the Web. (XML Web service namespaces are URIs.)
For XML Web services creating using ASP.NET, the default namespace can be changed using the WebService attribute's Namespace property. The WebService attribute is an attribute applied to the class that contains the XML Web service methods. Below is a code example that sets the namespace to "http://microsoft.com/webservices/":
C#
[WebService(Namespace="http://microsoft.com/webservices/")]
public class MyWebService {
// implementation
}
Visual Basic
<WebService(Namespace:="http://microsoft.com/webservices/")> Public Class MyWebService
' implementation
End Class
C++
[WebService(Namespace="http://microsoft.com/webservices/")]
public ref class MyWebService {
// implementation
};
For more details on XML namespaces, see the W3C recommendation on Namespaces in XML.
For more details on WSDL, see the WSDL Specification.
For more details on URIs, see RFC 2396.