TimeImportRowDto

A single time entry parsed from an uploaded time CSV, ready for user review

Properties

Name Type Description
rowIdstring

Stable key for this row within the file ("row-{n}")

Stable key for this row within the file ("row-{n}")

entryDatestring

The day the work was done; null only for skipped rows without a usable date

The day the work was done; null only for skipped rows without a usable date

teamMemberNamestring

The team member name as it appears in the file

The team member name as it appears in the file

clientNamestring

The client name as it appears in the file; null when the row has no client

The client name as it appears in the file; null when the row has no client

startTimestring

The start time of day from the file; null when absent

The start time of day from the file; null when absent

endTimestring

The end time of day from the file; null when absent

The end time of day from the file; null when absent

durationMinutesinteger

The duration in minutes: the file's minutes, or hours converted, or the start–end span.
Null only for skipped rows without a usable duration.

The duration in minutes: the file's minutes, or hours converted, or the start–end span.
Null only for skipped rows without a usable duration.

isBillableboolean

Whether the entry will import as billable: the file's value, or the practice's
billable-by-default setting when the file has none

Whether the entry will import as billable: the file's value, or the practice's
billable-by-default setting when the file has none

descriptionstring

The description that will be written: the file's notes with any task, category,
project or tag text not already present appended, so nothing in the file is lost

The description that will be written: the file's notes with any task, category,
project or tag text not already present appended, so nothing in the file is lost

isDuplicateboolean

Whether an identical entry (same team member, date, duration and description)
already exists — importing it would produce a duplicate

Whether an identical entry (same team member, date, duration and description)
already exists — importing it would produce a duplicate

defaultSelectedboolean

Whether the row should be pre-ticked in the review grid

Whether the row should be pre-ticked in the review grid

skipReasonstring

Why the row cannot be imported (e.g. "Missing Date", "Invalid Duration"); null for usable rows

Why the row cannot be imported (e.g. "Missing Date", "Invalid Duration"); null for usable rows

JSON Example

{
  "rowId": "string",
  "entryDate": "2024-01-01",
  "teamMemberName": "string",
  "clientName": "string",
  "startTime": "string"
}

Contained in Schemas