> For the complete documentation index, see [llms.txt](https://docs.samesystem.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.samesystem.dev/api-v1-reference/schedule/get-time-registrations.md).

# Get time registrations

This endpoint returns both scheduled data as it looked pre-time registration and the actual time registration timestamps, making it possible to calculate how much the employees are late and the deviation in general.

Pre-time registration is how the shifts looked at the time of then the shift should have started or when the employee checks in - it is NOT the same as "Planned schedule"

```json
{"openapi":"3.0.0","info":{"title":"SameSystem API V1","version":"1.1.3"},"servers":[{"url":"https://api.samesystem.com/api/v1/","description":""}],"paths":{"/{clientToken}/export/time_registrations":{"get":{"tags":["Schedule"],"summary":"Get time registrations","description":"This endpoint returns both scheduled data as it looked pre-time registration and the actual time registration timestamps, making it possible to calculate how much the employees are late and the deviation in general.\n\nPre-time registration is how the shifts looked at the time of then the shift should have started or when the employee checks in - it is NOT the same as \"Planned schedule\"\n","operationId":"get-clientToken-export-time_registrations","parameters":[{"name":"clientToken","in":"path","description":"Token in a form of \"c\\<clientId\\>\".","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","description":"If not dates are passed, current month will be returned.","required":false,"schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"If not dates are passed, current month will be returned.","required":false,"schema":{"type":"string","format":"date"}},{"name":"shop_ids","in":"query","description":"If no departments/shops are passed, all shops will be returned. Internal ids only.","required":false,"schema":{"type":"string"}},{"name":"use_date_time","in":"query","description":"If set to 1 time format will change from decimal to datetime strings.","required":false,"schema":{"type":"integer"}},{"name":"user_ids","in":"query","description":"Limit the results only to users in the list. Internal ids only. If you omit this parameter, all users will be returned. Internal ids only.","required":false,"schema":{"type":"string"}},{"name":"include_lent_out","in":"query","description":"Include lent out department information.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TimeRegistration"}}}}}}}}},"components":{"schemas":{"TimeRegistration":{"title":"TimeRegistration","type":"object","properties":{"date":{"type":"string","description":"Date of the time registration","format":"date"},"user":{"type":"object","properties":{"id":{"type":"integer","description":"Internal id of the employee","format":"int64"},"name":{"type":"string","description":"Name of the employee"},"title":{"type":"string","description":"Title/role of the employee"},"salary_nr":{"type":"string","description":"Salary number/payroll number. Can be used by a payroll system"}},"description":"Information about the user"},"shifts":{"type":"array","items":{"$ref":"#/components/schemas/TimeRegistrationShift"}}}},"TimeRegistrationShift":{"type":"object","properties":{"id":{"type":"integer","description":"Internal id of the shift"},"manual":{"type":"boolean"},"status":{"type":"string","description":"Status. Can be:\n- as-planned : Time registration matches planned time.\n- unconfirmed : Time registration does not match planned time and this has not been confirmed.\n- confirmed : Time registration does not match planned time, but this has been confirmed.\n- no-show : Employee did not register time.\n- incomplete : Time registration is incomplete.\n- pending : Time registration is pending.\ncanceled : Time registration was cancelled.\nactive : Time registration is active. The employee checked in bit are still not checked out.\ncleared : Time registration was cleared by administrator."},"department":{"type":"object","properties":{"id":{"type":"string","description":"Internal id of the department"},"nr":{"type":"string","description":"Department number"},"salary_department_number":{"type":"string","description":"Salary department number"},"external_department_number":{"type":"string","description":"External department id"}}},"start":{"type":"object","properties":{"planned":{"type":"number","description":"Planned start date.","nullable":true},"raw":{"type":"number","description":"Raw is the actual start time","nullable":true},"registered":{"type":"number","description":"Registered is \"raw\" after stepping rules have been applied eg. snapping to a 5- og 15-minutes interval","nullable":true},"reason":{"type":"string","description":"Reason for early/late registration","nullable":true}},"description":"Start object"},"end":{"type":"object","properties":{"planned":{"type":"number","description":"The planned end time","nullable":true},"raw":{"type":"number","description":"Raw is the actual end time","nullable":true},"registered":{"type":"number","description":"Registered is \"raw\" after stepping rules have been applied eg. snapping to a 5- or 15-minutes interval","nullable":true},"reason":{"type":"string","description":"Reason for early/late registration","nullable":true}},"description":"End object"},"breaks":{"type":"object","properties":{"planned_entries":{"type":"array","description":"Array of planned breaks","items":{"type":"object","properties":{"start_time":{"type":"number","description":"Start time of the planned break"},"end_time":{"type":"number","description":"End time of the planned break"},"duration":{"type":"string","description":"Duration of the planned break"},"paid":{"type":"boolean","description":"Indicates if the planned break are paid or not"}}}},"registered_entries":{"type":"array","description":"Array of registered breaks","items":{"type":"object","properties":{"start_time":{"type":"number","description":"Start timeo of the break"},"end_time":{"type":"number","description":"Edn time of the break"},"duration":{"type":"string","description":"Duration of the break"},"paid":{"type":"boolean","description":"Is the break paid or not"}}}},"reason":{"type":"string","description":"Reason for early/late check-in/out","nullable":true}}},"tasks":{"type":"object","properties":{"registered_entries":{"type":"array","items":{"type":"object","properties":{"start_time":{"type":"number","description":"Task start time"},"end_time":{"type":"integer","description":"Task end time"},"duration":{"type":"string","description":"Task duration"},"task_type":{"$ref":"#/components/schemas/TaskType"}}}}},"description":"Time registration on tasks"},"lent_out_department":{"type":"object","properties":{"department_id":{"type":"integer","description":"Internal department identifier","format":"int64"},"name":{"type":"string","description":"Name of department"},"external_department_id":{"type":"string","description":"External department number"},"cost_center":{"type":"string","description":"Cost center"},"department_number":{"type":"string","description":"Department number"},"salary_department_number":{"type":"string","description":"Salary department number"},"opening_hour":{"type":"string","description":"Opening hour"},"closing_hour":{"type":"string","description":"Closing hour"}},"description":"Information about lent out department. If user is not lend out, all values are null."}}},"TaskType":{"type":"object","properties":{"id":{"type":"integer","description":"Internal id of the task type","format":"int64"},"name":{"type":"string","description":"Name of the task"},"color":{"type":"string","description":"Color code"},"disabled":{"type":"integer"},"start_time":{"type":"string","description":"Start time of the task","format":"time","nullable":true},"end_time":{"type":"string","description":"End time of the task","format":"time","nullable":true},"breaks":{"description":"Information about breaks","nullable":true},"productivity_percent":{"type":"integer","description":"Productivity percentage"},"shop_ids":{"type":"array","description":"Array of department/shop ids","items":{"type":"integer"}},"kind":{"type":"string","description":"individual"},"time_registrable":{"type":"boolean","description":"Indicates if time registration is possible or not"},"client_id":{"type":"integer","description":"Id of the client"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.samesystem.dev/api-v1-reference/schedule/get-time-registrations.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
