Since web interfaces do not possess a template system, these interfaces cannot be used as templates for the creation of new web interfaces.

Workload - Load

  • Transfers the hours recorded on cards in PLANTA pulse to the tasks in PLANTA project

Member - Resource Assignment

  • Copies the member assignments created in PLANTA pulse to PLANTA project as resource assignments for the respective task

Time Recording

  • Transfers the hours reported on PLANTA project tasks in PLANTA pulse to the same tasks in PLANTA project

User-Related Interfaces

All user-related interfaces have a parameter in their URL via which the PLANTA pulse user ID is transmitted. Query parameter:

NameMandatory fieldData typeFormat
userIDXStringpulse ID of the user

GET /pulse/timeTracking/1.0/users/{userID}/postingObjects

Query parameter:

NameMandatory fieldData typeFormat
plannedOnly
StringIf the value "true" (not case-sensitive) is transmitted for plannedOnly, only the posting objects on which the user is planned are returned.
queryText
StringPermits the transmission of a string to restrict the results. Implementation is based on the pulse search implementation. Example: projectId:4711 concept
projectsOnly
StringIf the value "true" (not case-sensitive) is transmitted for projectsOnly, no tasks will be displayed in the result.

Retrieves the postable planning objects of the system for the transmitted user:

  • The implementation is a faithful imitation of the "Add Projects and Tasks for Time Recording" function from the standard time recording module:
    • Projects
      • Not locked
      • No actual end
      • Active
    • Tasks
      • Not locked
      • No actual end
      • No milestone
      • No summary task
      • Not exported to pulse as a board
    • Since DB 13, there is no more department filter in the standard.
      • The interface can then be adjusted individually on the customer’s system, in the same way as the function in the time recording module is adjusted.

Return value: a list of planning objects:

NameData typeDescription
projectUUIDStringUUID of the project in PLANTA project (DI 060934)
functionalIDStringFunctional ID of the project (DI 041317)
nameStringProject name (DI 023655)
keyDateStringGlobal key date (DI 000132).
Is displayed here for all projects to make simple adjustments on the part of PLANTA project later in order to restrict postable objects.
Format: yyyy-mm-dd or empty
tasksArrayArray of task objects

Task

NameData typeDescription
UUIDStringUUID of the task in PLANTA project (DI 060936)
functionalIDStringFunctional ID of the task (DI 041467). If it is empty, the technical ID is used (DI 001098)
nameStringTask name (DI 000807)
plannedBooleanSpecifies whether the user is planned in this task as a resource

GET /pulse/timeTracking/1.0/users/{userID}/attendance

Retrieves the planned/actual hours worked.

  • The data is a combination of the data from DT203 (presence) and DT468 (period).
  • Via the optional query parameter, the period to be retrieved can be restricted.

Query parameters:

NameMandatory fieldData typeFormat
startDate
Stringyyyy-mm-dd
endDate
Stringyyyy-mm-dd

Return value: chronologically sorted array of Attendance

NameData typeDescription
periodUUIDStringUUID from DT468 (DI 060941)
unitPerPeriodFloatHours to be worked on that day (DI 001339)
availCapFloatAvailable capacity on that day (planned * factors) (DI 001337)
vacationFloatNumber of hours of vacation on that day (DI 001340 converted)
absenceFloatNumber of hours of absence on that day (DI 001341 converted)
dateStringDate in yyyy-mm-dd format (DI 001327)
timeArrayArray of Time objects

Time

NameData typeDescription
attendanceUUIDStringUUID from DT203 (DI 065304)
typeStringCode from the AttendanceType enum (DI 065317)
durationFloatDuration in hours (DI 065320)
startTimeTimeStart of the time slice (DI 065318)
endTimeTimeEnd of the time slice (DI 065319)
commentStringComment (DI 065321)

AttendanceType Enum

KeyDescription
attendancePresence
breakBreak
travel_billableTravel time (working time)
travel_timeTravel time (no working time)
travel1 journey
overnight_stay1 overnight stay
unknownUnknown value

GET /pulse/timeTracking/1.0/users/{userID}/workloads

Retrieves the filtered load records of the user. The filter:

  • Actual load != 0
  • Not canceled
  • The hours were not imported from a card via hybrid

Query parameters:

NameMandatory fieldData typeFormat
startDate
Stringyyyy-mm-dd
endDate
Stringyyyy-mm-dd
modifiedSince
Stringyyyy-mm-dd
modifiedUntil
Stringyyyy-mm-dd

Return value: a list of postings:

nameData typeDescription
taskUUIDStringUUID of the task in PLANTA project (DI 060936)
taskNameStringTask name in PLANTA project (DI 000807)
taskFunctionalIDStringFunctional ID of the task (DI 041467). If it is empty, the technical ID is used (DI 001098)
bookingPossibleBooleanMaps the filters which form the "Non-postable objects" area in PLANTA project (project/task locked, project inactive or resource assignment has no actual end)
projectUUIDStringUUID of the project in PLANTA project (DI 060934)
projectFunctionalIDStringFunctional ID of the project (DI 041317)
projectNameStringProject name in PLANTA project (DI 000690)
loadNumberLoad as a number (DI 001510)
dateStringDate in YYYY-MM-DD format (DI 001519)
commentStringComment (DI 001438)
orderStringOrder (DI 027646)
orderItemNumberOrder item (DI 027647)
loadUUIDStringUUID of the load in PLANTA project (DI 060945)
created_onStringCreation date in YYYY-MM-DD format (DI 001500)
modified_onStringModification date in YYYY-MM-DD format (DI 001501)
created_byStringCreating user (DI 001503)
modified_byStringModification user (DI 001504)
keyDateStringGlobal key date (DI 000132).
Is displayed here for all projects to make simple adjustments on the part of PLANTA project later in order to restrict postable objects.
Format: yyyy-mm-dd or empty

GET /pulse/timeTracking/1.0/users/{userID}/subordinates

Retrieves the resources for which a particular employee is allowed to make postings.

  • Only internal and external employees are displayed, no departments (DI 003414 = "1I" OR "1E")
  • Is controlled via Resource Access
  • Only resources which are linked to PLANTA pulse are displayed.
  • The user for whom the query is made is not included in the result set.

Return value: an array of resource objects resource

nameData typeDescription
resourceUUIDStringPLANTA pulse ID of the user
resourceNameStringName of the resource (DI 001275)
resourceTypeString1I for internal employee, 1E for external employee

/pulse/timeTracking/1.0/users/{userID}/bookingFavorite

GET

Is used to fetch the posting objects which have been marked as favorites in PLANTA project by the respective user.

  • Only data of tasks is sent which would be displayed in the Time Recording module in PLANTA project standard under "My Time Recording Favorites":
    • Project/task is not locked
    • Project is active
    • Task is no milestone
    • Task is no summary task
    • Resource assignment has no actual end

Return value: bookingFavorite

NameData typeDescription
taskUUIDStringUUID of the task in PLANTA project (DI 060936)
taskFunctionalIDStringFunctional ID of the task (DI 041467). If it is empty, the technical ID is used (DI 001098)
taskNameStringTask name in PLANTA project (DI 000807)
projectUUIDStringUUID of the project in PLANTA project (DI 060934)
projectFunctionalIDStringFunctional ID of the project (DI 041317)
projectNameStringProject name in PLANTA project (DI 000690)
keyDateStringGlobal key date (DI 000132)
Format: yyyy-mm-dd or empty

POST

Sets the favorite flag on a resource assignment. Parameters:

nameMandatory fieldData typeDescription
taskUUIDxStringUUID of the task in PLANTA project (DI 060936)

DELETE

Deletes the favorite flag on a resource assignment. Parameters:

nameMandatory fieldData typeDescription
taskUUIDxStringUUID of the task in PLANTA project (DI 060936)

Workloads

The PUT/DELETE interfaces have a parameter in their URL which serves to hand over the load ID from PLANTA project.

nameMandatory fieldData typeFormat
workloadIDXStringUUID of the load (DI 060945)

Workload parameter:

nameMandatory field for POSTData typeDescription
taskUUIDxStringUUID of the task in PLANTA project (DI 060936)
userIDxStringPLANTA pulse ID of the user
loadxNumberLoad (DI 001510)
commentxStringComment (DI 001438)
datexStringLoad date (DI 001519) in the yyyy-MM-dd'T'HH:mm:ss.SSSZ format
order
StringOrder (DI 027646)
orderItem
NumberOrder item (DI 027647)

In PUT, there are no mandatory fields (except the workloadID in the URL of course!)

  • You only have to send the changed fields.
  • Since it is prohibited in PLANTA project to move a load on another project / task, it is useless to send the taskUUID.

POST /pulse/timeTracking/1.0/workloads

Creates a load (DT472) Cost type is copied from the default cost type of the resource Return value:

nameData typeDescription
UUIDStringUUID of the load
taskUUIDStringUUID of the task in PLANTA project (DI 060936)
userIDStringPLANTA project ID of the user
loadNumberLoad (DI 001510)
commentStringComment (DI 001438)
dateStringLoad date (DI 001519) (Format is currently not defined)

/pulse/timeTracking/1.0/workloads/{workloadID}

PUT

Changes a load Return value:

nameData typeDescription
UUIDStringUUID of the load
taskUUIDStringUUID of the task in PLANTA project (DI 060936)
loadNumberLoad (DI 001510)
commentStringComment (DI 001438)
dateStringLoad date (DI 001519) (Format is currently not defined)

DELETE

Deletes a load return value:

nameData typeDescription
UUIDStringUUID of the load

Orders / Account Assignment Elements

GET /pulse/timeTracking/1.0/orders

Can be used to return account assignment elements for posting. As soon as this interface is active, respective fields are unlocked on the UI. Return value : Order

nameData typeDescription
orderIdStringIdentifier
orderNameStringName
orderItemsArray<OrderPosition>Order positions

OrderPosition

NameData typeDescription
posIdNumberIdentifier
posNameStringName

Error Treatment

Error Object

NameData typeDescription
statusCodeNumberHTTP status code
messageStringError message
detailsStringe.g. stacktrace
type (opt.)StringIn PLANTA pulse: PLANTA project request

HTTP Status Codes

Status CodeDescription
200Returned when successful
400Bad Request
401Forbidden
403Returned when the user is not authorized
404Returned when no endpoint exists at the given address
500Internal Server Error