Neue API-Version v7.12 wurde veröffentlicht! 🎉
REST DokumentationProjektzeitenPOST Projektzeit anlegen

Projektzeit anlegen

Erfasst eine neue Projektzeit für einen Mitarbeiter und führt dieselben Plausibilitätsprüfungen (z. B. überlappende Buchungen, Konflikte mit Fehlzeiten) durch wie beim Buchen über die Oberfläche.

Verfügbarkeit: Vollversion und ZEP Clock

Request

POST /api/v1/attendances
curl --request POST \
     --url 'https://www.zep-online.de/zepinstanz/next/api/v1/attendances' \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer {token}' \
     --header 'Content-Type: application/json' \
     --data '{
       "employee_id": "max.mustermann",
       "date": "2024-07-20T00:00:00.000000Z",
       "from": "string",
       "to": "string",
       "duration": 1.5,
       "locked": false,
       "is_travel": false,
       "billable": true,
       "work_location_is_project_relevant": true,
       "color": "#664599",
       "project_task_id": 1.5,
       "project_id": 16,
       "activity_id": "im",
       "start": "Location A",
       "destination": "Location B",
       "vehicle_id": 3,
       "private": true,
       "km": 120,
       "passengers": 2,
       "direction_of_travel": 0,
       "work_location_id": "string",
       "note": "Familienurlaub"
     }'

Request-Body

  • Name
    employee_id
    Type
    string, erforderlich
    Description

    Benutzername des Mitarbeiters, für den diese Buchung erfasst wird.

  • Name
    date
    Type
    string (date-time), erforderlich
    Description

    Kalendertag, zu dem die Buchung gehört.

  • Name
    from
    Type
    string, erforderlich
    Description

    Uhrzeit, zu der die Buchung beginnt.

  • Name
    to
    Type
    string, erforderlich
    Description

    Uhrzeit, zu der die Buchung endet. Der Wert 00:00 kennzeichnet eine Buchung, die über Mitternacht hinausgeht.

  • Name
    duration
    Type
    number, nullable
    Description

    Gebuchte Dauer in Stunden, erforderlich, wenn die Zeiterfassung nur die Dauer erfasst.

  • Name
    locked
    Type
    boolean, nullable
    Description

    Ob die Buchung gegen weitere Änderungen gesperrt ist.

  • Name
    is_travel
    Type
    boolean, nullable
    Description

    Ob die Buchung Reisezeit statt regulärer Arbeit darstellt.

  • Name
    billable
    Type
    boolean, nullable
    Description

    Ob die gebuchte Zeit gegenüber dem Kunden abrechenbar ist.

  • Name
    work_location_is_project_relevant
    Type
    boolean, nullable
    Description

    Ob der Arbeitsort dafür relevant ist, ob diese Buchung als abrechenbar gilt.

  • Name
    color
    Type
    string, nullable
    Description

    Anzeigefarbe, mit der die Buchung in Kalenderansichten hervorgehoben wird.

  • Name
    project_task_id
    Type
    number, erforderlich
    Description

    Kennung des Vorgangs, auf den die gebuchte Zeit erfasst wird.

  • Name
    project_id
    Type
    number, erforderlich
    Description

    Kennung des Projekts, auf das die gebuchte Zeit erfasst wird.

  • Name
    activity_id
    Type
    string, erforderlich
    Description

    Kennung der während der Buchung ausgeführten Tätigkeit.

  • Name
    start
    Type
    string, nullable
    Description

    Startpunkt der Reise, die diese Buchung erfasst; nur bei Reisebuchungen gesetzt.

  • Name
    destination
    Type
    string, nullable
    Description

    Ziel der Reise, die diese Buchung erfasst; nur bei Reisebuchungen gesetzt.

  • Name
    vehicle_id
    Type
    number, nullable
    Description

    Kennung des Fahrzeugs, das für die mit dieser Buchung erfasste Reise verwendet wurde.

  • Name
    private
    Type
    boolean, nullable
    Description

    Ob die mit dieser Buchung erfasste Reise privaten Zwecken diente.

  • Name
    km
    Type
    number, nullable
    Description

    Zurückgelegte Strecke in Kilometern.

  • Name
    passengers
    Type
    number, nullable
    Description

    Anzahl der Mitfahrer bei der mit dieser Buchung erfassten Reise.

  • Name
    direction_of_travel
    Type
    integer, nullable
    Description

    Richtung der mit dieser Buchung erfassten Reise (Hin- oder Rückfahrt).

    Einer der Werte: 0, 1, 2

  • Name
    work_location_id
    Type
    string, nullable
    Description

    Kennung des Einsatzorts des Projekts, an dem diese Buchung vorgenommen wurde.

  • Name
    note
    Type
    string, nullable
    Description

    Freitextnotiz zur Buchung.

Response

{
  "data": {
    "id": 1,
    "date": "2024-07-20T00:00:00.000000Z",
    "from": "string",
    "to": "string",
    "end_date": "2024-01-16T00:00:00.000000Z",
    "employee_id": "max.mustermann",
    "duration": 1.5,
    "note": "Familienurlaub",
    "issue_id": "string",
    "department_id": 1,
    "project_release": {
      "id": 1,
      "name": "unchanged"
    },
    "project_released_at": "2024-06-24 17:46:25",
    "project_released_by": "max.mustermann",
    "billable": true,
    "work_location_id": "string",
    "activity_id": "im",
    "start": "Location A",
    "destination": "Location B",
    "vehicle_id": "string",
    "private": true,
    "passengers": 2,
    "km": 120,
    "direction_of_travel": {
      "id": 1,
      "name": "outward"
    },
    "project_id": 16,
    "project_task_id": 1,
    "invoice_item_id": 1,
    "ticket_id": 1234,
    "subtask_id": 1,
    "work_location_is_project_relevant": true,
    "created": "2024-07-20T11:30:00.000000Z",
    "modified": "2024-07-20T12:30:00.000000Z"
  }
}

Response-Felder

  • Name
    id
    Type
    integer
    Description

    Eindeutige Kennung der Buchung.

  • Name
    date
    Type
    string (date-time)
    Description

    Kalendertag, zu dem die Buchung gehört.

  • Name
    from
    Type
    string
    Description

    Uhrzeit, zu der die Buchung beginnt.

  • Name
    to
    Type
    string
    Description

    Uhrzeit, zu der die Buchung endet. Der Wert 00:00 kennzeichnet eine Buchung, die über Mitternacht hinausgeht — siehe end_date für den Kalendertag, an dem sie tatsächlich endet.

  • Name
    end_date
    Type
    string
    Description

    Kalendertag, an dem die Buchung tatsächlich endet. to allein ist bei einer Tagesende-Buchung mehrdeutig (gespeichert als to=‘00:00:00’ mit demselben Datum, gemeint ist aber der Folgetag, siehe Attendance::toAsCarbon()) — dieses Feld macht den Tagesübergang für API-Konsumenten/Konnektoren explizit, ohne das bestehende to/from/date-Format zu ändern (SQ2-366).

  • Name
    employee_id
    Type
    string
    Description

    Benutzername des Mitarbeiters, zu dem diese Buchung gehört.

  • Name
    duration
    Type
    number
    Description

    Gebuchte Dauer in Stunden, abgeleitet aus from und to.

  • Name
    note
    Type
    string, nullable
    Description

    Freitextnotiz zur Buchung.

  • Name
    issue_id
    Type
    string, nullable
    Description

    Freitextreferenz auf ein externes Ticket/Issue, auf das sich diese Buchung bezieht. Nur in Instanzen mit der Erweiterung MOD_PROXORA. Keine allgemein verfügbare Funktion.

  • Name
    department_id
    Type
    integer
    Description

    Die Abteilung, der der Mitarbeiter zum Zeitpunkt der Buchung zugeordnet war. Nur mit Modul Abteilungen (MOD_ABT).

  • Name
    project_release
    Type
    object, nullable
    Description

    Genehmigungsstatus des Projektfreigabe-Workflows für diese Buchung. Nur vorhanden, wenn die Projektfreigabe per Konfiguration erforderlich ist.

  • Name
    project_release.id
    Type
    integer
    Description

    Der gespeicherte Wert. Vergleichen Sie gegen diesen, nicht gegen name.

  • Name
    project_release.name
    Type
    string
    Description

    Die lesbare Bezeichnung in der Sprache des Mandanten. Nicht parsen.

    Einer der Werte: "unchanged", "zu prüfen", "freigegeben", "abgerechnet"

  • Name
    project_released_at
    Type
    string (date-time), nullable
    Description

    Zeitstempel, zu dem die Projektfreigabe für diese Buchung erteilt wurde. Nur vorhanden, wenn die Projektfreigabe per Konfiguration erforderlich ist.

  • Name
    project_released_by
    Type
    string, nullable
    Description

    Benutzername des Mitarbeiters, der die Projektfreigabe für diese Buchung erteilt hat. Nur vorhanden, wenn die Projektfreigabe per Konfiguration erforderlich ist.

  • Name
    billable
    Type
    boolean
    Description

    Gibt an, ob die Zeitbuchung abrechenbar ist.

  • Name
    work_location_id
    Type
    string, nullable
    Description

    ID des Einsatzorts. Muss existieren.

  • Name
    activity_id
    Type
    string
    Description

    Die ID der zugehörigen Tätigkeit.

  • Name
    start
    Type
    string, nullable
    Description

    Ausgangspunkt der Fahrt.

  • Name
    destination
    Type
    string, nullable
    Description

    Ziel der Fahrt.

  • Name
    vehicle_id
    Type
    string, nullable
    Description

    Die ID des verwendeten Fahrzeugs.

  • Name
    private
    Type
    boolean, nullable
    Description

    Gibt an, ob die Fahrt privat war.

  • Name
    passengers
    Type
    integer, nullable
    Description

    Anzahl der Mitfahrer.

  • Name
    km
    Type
    integer, nullable
    Description

    Zurückgelegte Strecke in Kilometern.

  • Name
    direction_of_travel
    Type
    object, nullable
    Description

    Fahrtrichtung (z. B. continue).

  • Name
    direction_of_travel.id
    Type
    integer
    Description

    Der gespeicherte Wert. Vergleichen Sie gegen diesen, nicht gegen name.

  • Name
    direction_of_travel.name
    Type
    string
    Description

    Die lesbare Bezeichnung in der Sprache des Mandanten. Nicht parsen.

    Einer der Werte: "outward", "continue", "return"

  • Name
    project_id
    Type
    integer
    Description

    Die ID des zugehörigen Projekts.

  • Name
    project_task_id
    Type
    integer
    Description

    Die ID des zugehörigen Vorgangs.

  • Name
    invoice_item_id
    Type
    integer, nullable
    Description

    Die ID der Rechnungsposition, über die diese Buchung abgerechnet wurde, sobald sie fakturiert ist.

  • Name
    ticket_id
    Type
    integer, nullable
    Description

    Die ID des Tickets, zu dem diese Buchung gehört.

  • Name
    subtask_id
    Type
    integer, nullable
    Description

    Die ID der Teilaufgabe des Tickets, zu der diese Buchung gehört.

  • Name
    work_location_is_project_relevant
    Type
    boolean
    Description

    Gibt an, ob der Einsatzort projektbezogen ist.

  • Name
    created
    Type
    string (date-time), nullable
    Description

    Zeitstempel der Erstellung der Buchung.

  • Name
    modified
    Type
    string (date-time), nullable
    Description

    Zeitstempel der letzten Änderung der Buchung.

Aus der OpenAPI-Spezifikation erzeugt — Änderungen gehören in den Quellcode, nicht auf diese Seite.