Tätä artikkelia ei ole vielä käännetty Suomeksi. Englanninkielinen versio on nähtävissä täällä.
Important
Please ensure you are using the time.nepton.com domain. The old tyoaika.tyoteho.fi domain will be retired.
Production API description
https://time.nepton.com/WebService.php?WSDL
Test API description (only available to selected customers)
https://publictesting-time.nepton.com/WebService.php?WSDL
1.1. Authentication
To authenticate CallerAuthentication element must be supplied in the call. More details on CallerAuthentication is found here.
Username and Password are credentials of a person set up in Nepton. The access rights for the API are the same that they have in Nepton user interface. Guidance for setting up the person is here.
CustomerId can be asked from Nepton customer service.
1.2. Web Service Definitions
GetProjects
This is a general-purpose web service for fetching projects/locations by filters.
Input parameters:
- CallerAuthentication - authentication object (see below)
- FilterByProjectIds(string) - filter results by project ID, accepts a single integer or a comma separated list of integers
- FilterByProjectName(string) - filter results by project name, accepts use of wildcard "*" for search based requests
- FilterByProjectCode(string) - filter results by project code, accepts use of wildcard "*" for search based requests
- FilterByUserGroupId(int) - filter results by projects attached to user group ID
- FilterByTerminalProjectsOnly(bool) - return only projects that should be shown in the terminal
- FilterByProjectTypeInternalName(string) - return projects by project type (using the internal string ID, not the customer specific name/translation for it e.g. "location", "project_work", "unit" etc)
- FilterActiveProjectsByStartDate(string) and FilterActiveProjectsByEndDate(string) - provide both dates to only return active (non-complete) projects between the provided dates. Format YYYY-MM-DD
- OrderResultsFirstBy(string), OrderResultsSecondBy(string) and OrderResultsThirdBy(string) - allows you to order the results by 3 columns with flat_list return types, supported options are: projectid, left, right, name, code, internaltype
- IncludeDeletedProjects(bool) - return deleted projects in the results, deleted projects cannot be undeleted so this is for informational purposes only
- ReturnFormat(string) - how to format the project results, supported options are: "flat_list" (return a single list that isn't nested)
Return fields:
- ResponseCode
- ResponseString
- ProjectList - a list of Project elements (see below) structured by "ReturnFormat" input parameter
InsertProjects
This is a general purpose web service for inserting projects/locations. If multiple projects are inserted they should be put into one request.
Input parameters:
- CallerAuthentication - authentication object (see below)
- ProjectList - list of project elements (see below)
Return fields:
- ResponseCode
- ResponseString
- ProjectInsertResultList - A list of results for whether each project was inserted successfully or not
UpdateProjects
This is a general purpose web service for batch updating projects/locations. The "Id" field is mandatory for each Project being updated and is the only valid identifier. All other parameters are optional, do not pass the parameter if you do not want the field to be updated, setting a parameter to null will save the field as null.
Input parameters:
- CallerAuthentication - authentication object (see below)
- ProjectList - list of project elements (see below)
Return fields:
- ResponseCode
- ResponseString
- ProjectUpdateResultList - A list of results for whether each project was updated successfully or not
EnsureProjectsExist
This is a general purpose methdod for batch updating/inserting projects/locations. Name is mandatory and TypeInternalName is mandatory with new projects. All other parameters are optional, do not pass the parameter if you do not want the field to be updated, setting a parameter to null will save the field as null.
Both Id and Code can be used as project identifier.
Input parameters:
- CallerAuthentication - authentication object (see below)
- ProjectList - list of project elements (see below)
Return fields:
- ResponseCode
- ResponseString
- EnsureProjectsExistResultList - A list of results for whether each project already existed, was created especially, or if there was any errors
EnsureProjectsExistV2
This function supports identifying the project by identifier type and updating project contents. More detailed description is here.
SetVisibleProjectsForUserV2
This is a general purpose method for batch updating project visibility on user level.
Internal Id, ProjectCode, and an external ProjectIdentifier can be used as the project identifier.
Input parameters:
- CallerAuthentication - authentication object (see below)
- SetVisibleProjectsForUserListV2 - list of project2user visibility elements
Return fields:
- ResponseCode
- ResponseString
- SetVisibleProjectsForUserResultListV2 - list of results of whether setting the visibility per user per project was successful. Per row codes 1000 (ok, project was attached), 1004 (project not found) or 1003 (user not found) is supplied.
GetActivities
General purpose web service for fetching work registrations, absences, holidays, travel invoices, planned shifts or any other activity/event details. Returns a list of Activity elements.
Does not return activities belonging to removed persons.
Input parameters:
- CallerAuthentication - authentication object (see below)
- FilterByUserIds - Optional comma separated list of Worktime User ID's to filter results by (preferred method of fetching activities by user!)
- FilterByUserNames – Optional, comma separated list of usernames to filter results by (slower than using UserId's)
- FilterByActivityTypeIds – Optional, comma separated list of Worktime activity type ID's to filter results by
- FilterPeriodBeginDateTime - Optional, filter by events marked to the calendar after this date time (YYYY-MM-DD HH:MM:SS)
- FilterPeriodEndDateTime - Optional, filter by events marked to the calendar before this date time (YYYY-MM-DD HH:MM:SS)
- FilterModifiedBeginDateTime - Optional, filter by events created/modified after this date time (YYYY-MM-DD HH:MM:SS)
- FilterModifiedEndDateTime - Optional, filter by events created/modified after this date time (YYYY-MM-DD HH:MM:SS)
- IncludeDeleted - Optional, include deleted activities in results. Boolean, defaults to false
- OrderResultsFirstBy - Optional, you can sort results by up to three parameters. Supported params are activityid|activitybegindatetime|activityenddatetime|userid|activitytypeid. If no params are provided results default to ordering by userid ASC, activitybegindatetime ASC, activityenddatetime ASC respectively
- OrderResultsSecondBy - Used in conjunction OrderResultsFirstBy, see above
- OrderResultsThirdBy - Used in conjunction OrderResultsFirstBy+OrderResultsSecondBy, see above
Return fields:
- ResponseCode
- ResponseString
- ActivityList - List of Activity objects, see below
BeginActivity
Begins the specified activity for the user specified in CallerAuthentication object
- CallerAuthentication - authentication object (see below)
- ActivityTypeId - int, The Type of activity
- BeginDateTime - Optional, datetime (ISO8601 compatible datetime format e.g. YYYY-MM-DDTHH:MM:SS. Timezone information not currently supported, EET/EEST used.)
- EndDateTime - Optional, datetime (ISO8601 compatible datetime format e.g. YYYY-MM-DDTHH:MM:SS. Timezone information not currently supported, EET/EEST used.)
- Comment - string, optional
- OvertimeBasePartTargetedTo - string, optional (one of following: "annualabsence", "balance", "bank", "flexiblehours", "flexibleworkhours", "levellingperiodhours", "overtimebalance", "salary", "uncompensated" or "worktimeshorteningleave". Omitting field or giving an incorrect value will use default settings.)
- OvertimeIncrementPartTargetedTo - string, optional (one of following: "annualabsence", "balance", "bank", "flexiblehours", "flexibleworkhours", "levellingperiodhours", "overtimebalance", "salary", "uncompensated" or "worktimeshorteningleave". Omitting field or giving an incorrect value will use default settings.)
- RelatedProjects - related projects and durations, see WSDL
- WorkIncrements - list of related WorkIncrement elements, see list of common elements below
Return fields:
- ResponseCode
- ResponseString
- UserId - The ID for the user the activity was created for
- Locale - The language currently set for the user
- StartedActivity - The Activity object (see below)
- AccrualList - A list of Accrual objects (see below)
EndActivity
Ends the specified activity
- CallerAuthentication - authentication object (see below)
- ActivityId – int, The id of the activity to be ended
- EndDateTime - Optional, datetime (ISO8601 compatible datetime format e.g. YYYY-MM-DDTHH:MM:SS. Timezone information not currently supported, EET/EEST used.)
- Comment - string, optional
- OvertimeBasePartTargetedTo - string, optional (one of following: "annualabsence", "balance", "bank", "flexiblehours", "flexibleworkhours", "levellingperiodhours", "overtimebalance", "salary", "uncompensated" or "worktimeshorteningleave". Omitting field or giving an incorrect value will use default settings.)
- OvertimeIncrementPartTargetedTo - string, optional (one of following: "annualabsence", "balance", "bank", "flexiblehours", "flexibleworkhours", "levellingperiodhours", "overtimebalance", "salary", "uncompensated" or "worktimeshorteningleave". Omitting field or giving an incorrect value will use default settings.)
- RelatedProjects - related projects and durations, see WSDL
- WorkIncrements - list of related WorkIncrement elements, see list of common elements below
Return fields:
- ResponseCode
- ResponseString
- UserId - The ID for the user the activity was Ended for
- Locale - The language currently set for the user
- StartedActivity - The Activity object (see below)
- AccrualList - A list of Accrual objects (see below)
InsertActivities
General purpose web service for inserting work registrations, absences, holidays, travel invoices or any other activity/event details.
- CallerAuthentication - authentication object (see here)
- ActivityList - List of activities to insert
- Activity - One or more instances (see here)
Return fields:
- ResponseCode
- ResponseString
- ActivityList - List of ActivityInserted elements that show the status of the insert
UpdateActivities
Update specified activities identified by their IDs. Returns the IDs and their save status.
This should be used when batch updating activities.
- CallerAuthentication - authentication object (see below)
- ActivityList - List of activities to insert
- Activity - Activity (UpdateActivities)
Return fields:
- ResponseCode
- ResponseString
- ActivityList - List of ActivityInserted elements that show the status of the update
GetActivityTypes
General purpose web service for fetching activity type (event type) details for a customer. Returns a list of ActivityType elements (see common elements below). For fetching activity types suitable for a specific user please see the TerminalLogin web service method
Input parameters:
- CallerAuthentication - authentication object (see below)
- FilterByIds - Not yet supported
- FilterByActivityTypeCategoryIds - Not yet supported
- IncludeDeleted(boolean) - Optional, defaults to false
Return fields:
- ResponseCode
- ResponseString
- ActivityTypeList - list of ActivityType elements
GetAccrualValuesForUser
Fetches a user's accrual values for a specified date. The accruals returned are those that are set up to be calculated for the user.
Some of the accruals are set up as default for every customer. These include 'saldo','flexitime','bank'. Customers can also have custom accruals set up. The name of these accrual can be seen by the query results if they are in use. All of the accruals are returned by the call. In addition to the accrual value the method also return the accrual change for that day.
Input parameters:
- CallerAuthentication - authentication object (see below)
- UserPersonnelNumber - employee/personnel number of the user you wish to get the accrual values for
- SalaryDate - date when the accrual amounts should be returned in the format YYYY-MM-DD e.g. "2016-12-31". Note: this will return the accrual values as known to the system at the end of any shifts belonging to that day
Return fields:
- ResponseCode
- ResponseString
- AccrualList - list of Accrual elements, see common elements list below
RunIntegrationRuleset
Run rulesets to export salary information, events, projects or HR data from Nepton. Calling this method triggers the run of the integration and returns the contents in the 'output' field.
Rulesets are defined in Worktime -> Administration -> Working community settings -> External Services. Export format needs to be set in the ruleset settings.
Input parameters:
- CallerAuthentication - authentication object (see below)
- IntegrationRulesetName - the name of the ruleset that is run
- FilterPeriodBeginDate - start date of the period you wish to export data
- FilterPeriodEndDate - end date of the period you wish to export data
Return fields:
- ResponseCode
- ResponseString
- Output - Contains the integration/export data in the format specified by the export format setting
TerminalLogin
Fetches values set and available for user. These can be used to acknowledge supported values while adding activities for the user.
Input parameters:
- CallerAuthentication - authentication object (see below)
Return fields:
- ResponseCode
- ResponseString
- UserId - int
- CustomerId - int
- Username - string
- Firstname - string
- Lastname - string
- Locale - string
- ProjectList - a list of Project elements for the user, see list of common elements below
- ProjectsToContinue - a list of ActivityToProjectRelation elements, see WSDL for more information
- OnGoingActivity - Activity element of ongoing activity, see list of common elements below
- ProjectMandatory - boolean
- WorkIncrementsForUser - a list of WorkIncrementName elements which provides supplements available for the user, see list of common elements below
- DiningIncrements - element contains ActivityId and WorkIncrement for dining activity, see WSDL
- DefaultOvertimeBaseTargetedTo - string (one of following: "annualabsence", "balance", "bank", "flexiblehours", "flexibleworkhours", "levellingperiodhours", "overtimebalance", "salary", "uncompensated" or "worktimeshorteningleave". Omitting field or giving an incorrect value will use default settings.)
- DefaultOvertimeIncrementTargetedTo - string (one of following: "annualabsence", "balance", "bank", "flexiblehours", "flexibleworkhours", "levellingperiodhours", "overtimebalance", "salary", "uncompensated" or "worktimeshorteningleave". Omitting field or giving an incorrect value will use default settings.)
- ActivityTypes - list of ActivityType elements for the user, see list of common elements below
- AccrualList - list of Accrual elements for the user, see list of common elements below
- CurrentDateTimeUTC - datetime
1.3. Common elements
CallerAuthentication
User authentication element, only one form of authentication needs to be passed.
- CustomerId(int) - mandatory. This is provided by Nepton.
- Username(string) - mandatory,
- This is the username of the dedicated integration user
- Password(string) - optional
- This is the password of the dedicated integration user
- AuthenticationToken(string) - optional, for internal authentication between trusted services. Not available for use.
Project
Project details element. Fields are optional unless otherwise stated.
- Id(int) - Internal ID, use for fetching/updating
- Name(string) - mandatory project name
- Deleted(bool) - has the project been deleted
- Code(string) - project code (note: this is now non-unique so cannot be relied on as an identifier)
- TypeInternalName(string) - project type (the internal string ID, not the customer specific name/translation for it e.g. "location", "project_work", "unit" etc)
- Description(string) - project description
- StartDate(string) - project start date (YYYY-MM-DD)
- EndDate(string) - project end date
- ParentProjectId - internal ID of the parent project. Use Either ParentProjectId or ParentProjectCode. Nil for root nodes
- ParentProjectCode - code of the parent project. Use Either ParentProjectId or ParentProjectCode. Nil for root nodes
- Left - left counter of the nested set, read only
- Right - right counter of the nested set, read only
SetVisibleProjectForUser
Project2user visibility element. One project identification and user identification element is required.
- ProjectId(int) - Nepton's internal project ID (unique)
- ProjectCode(string) - Project code (note: project codes are not necessarily unique)
- ProjectIdentifier(Object)
- Identifier(string) If used, this should be a unique ID
- IdentifierType(string) use 'ExternalIdentifier' for ID's external to Nepton
- UserId(int) - Internal user ID
- Username(string) - Username
- PersonnelNumber(string) - Personnel number
- ProjectVisible(bool) - Whether project should be visible or not, required field
Activity (GetActivities)
Activity/Event element. Fields are optional unless otherwise stated.
- Id - int, main Worktime activity ID, read only
- UserId - int, Worktime user ID
- UserFirstName - string, read only
- UserLastName - string, read only
- UserUsername - string, read only
- UserSocialSecurityNumber - string, read only
- ActivityTypeId - int
- ActivityTypeName - string, read only
- ActivityTypeCategoryId - int, read only
- ActivityTypeCategoryName - string, read only
- RelatedActivityId - int, deprecated
- ApproverUserId - int
- ApproverFirstName - string, read only
- ApproverLastName - string, read only
- BeginDateTime - Mandatory, datetime (ISO8601 compatible datetime format e.g. YYYY-MM-DDTHH:MM:SS. Timezone information not currently supported, EET/EEST used.)
- EndDateTime - Optional, datetime (ISO8601 compatible datetime format e.g. YYYY-MM-DDTHH:MM:SS. Timezone information not currently supported, EET/EEST used.)
- ModifiedDateTime - string, read only
- ModifiedByUserId - int, read only
- ModifiedFromIp - string, read only
- Comment - string, optional
- IsClockedEvent - boolean
- IsCreatedWithPinCode - boolean
- OvertimeBasePartTargetedTo - string (one of following: "annualabsence", "balance", "bank", "flexiblehours", "flexibleworkhours", "levellingperiodhours", "overtimebalance", "salary", "uncompensated" or "worktimeshorteningleave". Omitting field or giving an incorrect value will use default settings.)
- OvertimeIncrementPartTargetedTo - string (one of following: "annualabsence", "balance", "bank", "flexiblehours", "flexibleworkhours", "levellingperiodhours", "overtimebalance", "salary", "uncompensated" or "worktimeshorteningleave". Omitting field or giving an incorrect value will use default settings.)
- RelatedProjects - related projects and durations, see WSDL
- WorkIncrements - list of related WorkIncrement elements, see list of common elements below
- PlannedWorkCalculationUnit - string
- PlannedWorkColor - string
- PlannedWorkUseForWorkDayLengthCalculations - boolean
- PlannedWorkCanBeCancelledUntil - string
- PlannedWorkWorkTimeLimitOffsetStartInMins - int
- PlannedWorkWorkTimeLimitOffsetEndInMins - int
- PlannedWorkActivityGroupPublicInfo - string
- ActivityDetails - activity details, see structure below
- IsDeleted - boolean
Activity (InsertActivities)
Activity/Event element. Fields are optional unless otherwise stated. Person who is receiving the activity is identified by only one of the following:
UserId, UserName, UserSocialSecurityNumber, UserPersonnelNumber
- UserId - int
- UserUsername - string
- UserSocialSecurityNumber - string
- UserPersonnelNumber - string
- ActivityTypeId - int (if not given, assumes type Id 1, work)
- BeginDateTime - Mandatory, string (YYYY-MM-DD HH:MM:SS)
- EndDateTime - string (YYYY-MM-DD HH:MM:SS)
- ApproverUserId - int, Worktime user ID
- ApproverUsername - string
- ApproverUserSocialSecurityNumber - string
- ApproverUserPersonnelNumber - string
- Comment - string
- IsClockedEvent - boolean (defaults to false)
- IsCreatedWithPinCode - boolean (defaults to false)
- OvertimeBasePartTargetedTo - string (one of following: "annualabsence", "balance", "bank", "flexiblehours", "flexibleworkhours", "levellingperiodhours", "overtimebalance", "salary", "uncompensated" or "worktimeshorteningleave". Omitting field or giving an incorrect value will use default settings.)
- OvertimeIncrementPartTargetedTo - string (one of following: "annualabsence", "balance", "bank", "flexiblehours", "flexibleworkhours", "levellingperiodhours", "overtimebalance", "salary", "uncompensated" or "worktimeshorteningleave". Omitting field or giving an incorrect value will use default settings.)
- RelatedProjects - related projects and durations, see WSDL
- WorkIncrements - list of related WorkIncrement elements, see list of common elements below
- ActivityDetails - @TODO
ActivityType
- Id - int, main Worktime activity type ID, read only
- Name - string, translated name, read only
- ActivityTypeCategoryId - int, read only
- IsDeleted - boolean
ActivityDetails
- AbsenceDetails - Absence details element, see structure below
- PlannedWorkDetails - Planned work details, @TODO
- SickLeaveDetails - Sick leave details element, see structure below
AbsenceDetails
- CompensationTypeId - int, compensation type id: 1 = paid, 2 = unpaid, 3 = reduced salary
- CompensationTypeName - string, translated compensation type name
- EarnsVacationDays - boolean, whether vacation days are earned from absence
- AbsenceTypeId - int, absence type id. Check activity editing popup for absence types, as some can be customer specific
- AbsenceTypeName - string, translated absence type name
SickLeaveDetails
- CompensationTypeId - int, compensation type id: 1 = paid, 2 = unpaid, 3 = reduced salary
- CompensationTypeName - string, translated compensation type name
- EarnsVacationDays - boolean, whether vacation days are earned from absence
- SickLeaveTypeId - int, sick leave type: 1 = Sick, 2 = Child sick, 3 = Work accident at work, 4 = Work accident while commuting, 5 = Work accident at home
- SickLeaveTypeName - string, translated sick leave type name
- MedicalCertificateGiven - boolean
- SupervisorsPermission - boolean
- ReasonCode - string, sick leave reason code
Accrual
- InternalName - internal string ID of the accrual
- Name - translated/customer name of the accrual
- Amount - accrual amount
- ChangeAmount - amount the accrual has changed from the previous day's value (not returned if there is no change)
WorkIncrement
Contains information about supplement for the related request. Both fields are mandatory. Index and unit used for the supplement can be retrieved for a user with TerminalLogin methods WorkIncrementNamesList which contains a list of WorkIncrementName elements describing the set values for the supplement, see description of WorkIncrementName below.
- Index - integer, describes the index of the supplement.
- Value - decimal, describes the value of the supplement. Value in minutes, as units or decimal, whichever is set as UsedUnit for the supplement as retrieved by WorkIncrementName.
WorkIncrementName
Contains information about supplement for the related request.
- Index - integer, describes the index of the supplement. Can be used for mapping the correct supplement for InsertActivities method's WorkIncrement element.
- Name - string, name of supplement
- UsedUnit - string, describes the used unit of the supplement. Value in minutes, as units or decimal.
1.4. Response codes
/**
* Catch alls and Unexpected errors
* @var int
*/
const RESPONSE_CODE_UNKNOWN_ERROR = 999;
/**
* All clear. No errors encountered
* @var int
*/
const RESPONSE_CODE_NO_ERROR = 1000;
/**
* Authentication was not successful
* @var int
*/
const RESPONSE_CODE_AUTHENTICATION_FAILED = 1001;
/**
* Target activity was not found
* @var int
*/
const RESPONSE_CODE_ACTIVITY_NOT_FOUND = 1002;
/**
* Target user was not found
* @var int
*/
const RESPONSE_CODE_USER_NOT_FOUND = 1003;
/**
* Target project was not found
* @var int
*/
const RESPONSE_CODE_PROJECT_NOT_FOUND = 1004;
/**
* Settings were not received from the sender
* @var int
*/
const RESPONSE_CODE_SETTINGS_NOT_RECEIVED = 1005;
/**
* Setting was not valid. Missing id
* @var int
*/
const RESPONSE_CODE_SETTING_MISSING_ID = 1006;
/**
* Setting failed validation checks
* @var int
*/
const RESPONSE_CODE_SETTING_VALIDATION_FAILED = 1007;
/**
* Processing of the current setting failed
* @var int
*/
const RESPONSE_CODE_SETTING_PROCESSING_FAILED = 1008;
/**
* Project was invalid
* @var int
*/
const RESPONSE_CODE_INVALID_PROJECT = 1009;
/**
* Failure during database communication
* @var int
*/
const RESPONSE_CODE_DATABASE_UPDATE_FAILED = 1010;
/**
* Failure during database communication
* @var int
*/
const RESPONSE_CODE_DATABASE_DELETE_FAILED = 1011;
/**
* Parameters were invalid
* @var int
*/
const RESPONSE_CODE_INVALID_PARAMETERS = 1012;
/**
* Target dates were not found
* @var int
*/
const RESPONSE_CODE_DATES_NOT_FOUND = 1013;
/**
* The setting was not recognised or is not supported
* @var int
*/
const RESPONSE_CODE_UNKNOWN_SETTING = 1014;
/**
* NOT for authentication failure/error. Instead this is for use in the event access is denied AFTER authenticaton, e.g. user trying to edit activities outside their customerid)
* @var int
*/
const RESPONSE_CODE_PERMISSION_DENIED = 1015;
/**
* Web service encountered something which is not supported (e.g. activity type id which is not recognised/supported by the function)
* @var int
*/
const RESPONSE_CODE_NOT_SUPPORTED = 1016;
/**
* Because WSDL's are a pain to change once they are being used, it sometimes make sense to add parameters that aren't required now but might be in the future
* @var int
*/
const RESPONSE_CODE_FUNCTIONALITY_NOT_IMPLEMENTED_YET = 1017;
/**
* Too many failed login attempts for user or from IP, login is temporarily locked
* @var int
*/
const RESPONSE_CODE_LOGIN_LOCKED = 1018;
/**
* If you have a list of items to process e.g. a list of projects to add and one or more of the items failed, use this code
*/
const RESPONSE_CODE_PROBLEM_PROCESSING_LIST = 1019;
/**
* User active flag set to N, so block any login
*/
1.5. Response strings
const RESPONSE_CODE_LOGIN_FAILED_DUE_TO_DISABLED_USER_ACCOUNT = 1020;
## RESULT STRINGS (USER FRIENDLY DESCRIPTION OF WHAT HAPPENED WITH THE WEB SERVICE) ##
const RESPONSE_STRING_NO_ERRORS = "All clear. No errors.";
const RESPONSE_STRING_UNHANDLED_LOGIC = "Unhandled logic";
const RESPONSE_STRING_UNKNOWN_ERROR = "Unknown Error";
const RESPONSE_STRING_AUTHENTICATION_FAILED = "Authentication failed. Please check the username, password, and customerId are correct.";
const RESPONSE_STRING_INVALID_DATE_FORMAT = "Invalid date format provided, expected format: %s";
const RESPONSE_STRING_INVALID_ORDER_BY_FORMAT = "Invalid format for ordering results. Use 'FieldName ASC' to sort results by FieldName in ascending order or 'FieldName DESC' to sort results by FieldName in descending order. Valid field names are: %s";
const RESPONSE_STRING_FUNCTIONALITY_NOT_IMPLEMENTED_YET = "The following piece of functionality '%s' is not yet supported by our software but may be at a later date. Please contact us for more information.";
const RESPONSE_STRING_LOGIN_LOCKED = "Too many attempts with incorrect user credentials, please try again in an hour.";
const RESPONSE_STRING_PERMISSION_DENIED = "You do not have permission to perform this action.";
const RESPONSE_STRING_PROBLEM_PROCESSING_LIST = "One or more of the items submitted have failed processing.";
const RESPONSE_STRING_LOGIN_FAILED_DUE_TO_DISABLED_USER_ACCOUNT = "This user account has been disabled and you can no longer login with it";
const RESPONSE_STRING_PROJECT_NOT_FOUND = "Project not found, please check the 'Id' parameter is correct (the Worktime internal Id for the project)";