Przejdź do treści

AttendanceTerminal (rejestrator czasu pracy)

AttendanceTerminal (rejestrator, terminal) to zasób reprezentujący urządzenie rejestrujące zdarzenia czasu pracy: czytnik przy wejściu, panel na hali, aplikację mobilną vendora. Pełni rolę słownika rejestratorów – każde zdarzenie AttendanceRecord musi wskazywać rejestrator, na którym nastąpiło. Rozszerza DomainResource.


1. Zakres i zastosowanie

AttendanceTerminal = jeden rejestrator: identifier (id w KS-ZZL i id u vendora), name, capability (typy zdarzeń obsługiwane przez urządzenie), status.

  • Rejestracja terminala – vendor rejestruje rejestrator (POST) przed wysłaniem pierwszego zdarzenia z tego urządzenia; zdarzenie z nieznanym terminalem jest odrzucane.
  • Słownik terminali – pobierany przez vendora przy synchronizacji master data.

Poza zakresem: konfiguracja techniczna urządzenia (adres IP, firmware, harmonogram synchronizacji) oraz jego lokalizacja – należą do systemu vendora.


2. Zawartość (struktura)

Oprócz elementów DomainResource (id, resourceType, meta, owner, comment, category, status, type, contained, attribute):

Nazwa Kard. Typ Opis
identifier 1..* Identifier Id rejestratora w KS-ZZL i id u vendora – przestrzenie w §2b
name 0..1 string Nazwa czytelna dla człowieka (np. „Wejście główne A”)
capability 0..* CodeableConcept Typy zdarzeń obsługiwane przez rejestrator – słownik hr/attendance-terminal-capability: kody jak w AttendanceRecord.type, bez unknown

Uwaga: status (z DomainResource) – słownik hr/attendance-terminal-status: active, inactive. Przy zapisie opcjonalny. Wiązanie pola status nie jest zapisane w JSON Schema (pole pochodzi z DomainResource); walidacja należy do warstwy API.

Uwaga: pole id nie jest wypełniane – id rejestratora w KS-ZZL zwracane jest w identifier (przestrzeń AttendanceTerminal.Id). System źródłowy nie jest polem zasobu – instalację wyznacza przestrzeń identyfikatora.


2a. Operacje

GET /v1/attendance-terminals?status=https://api-erp.kamsoft.pl/vs/hr/attendance-terminal-status|active&count=20&offset=0
Parametr Opis
identifier Jedna para system\|wartość w przestrzeni AttendanceTerminal.Id
status system\|kod ze słownika hr/attendance-terminal-status
count, offset Paginacja (domyślnie 20 / 0)
Metoda Ścieżka Opis
POST /v1/attendance-terminals Rejestracja rejestratora. Wymagany identyfikator w przestrzeni AttendanceTerminal.ExternalId – sam AttendanceTerminal.Id nie wystarcza.

Rejestratora nie można zmienić przez API (brak PATCH). Odpowiedź zapisu: HTTP 200 z { "items": [ <AttendanceTerminal> ] }. Odczyt: { "items": [...], "nextToken": null }.


2b. Identyfikatory

Przestrzenie wdrożeniowe urn:oid:1.2.616.1.113769.4.<instalacja>.<klucz> publikowane jako NamingSystem – zob. Identyfikacja i parametry wdrożenia.

Przestrzeń (klucz) Znaczenie Klucz referencyjny Skąd system
AttendanceTerminal.Id Id rejestratora w KS-ZZL; nadaje system prowadzący tak NamingSystem
AttendanceTerminal.ExternalId Id rejestratora u vendora RCP – wymagany przy POST; w tej przestrzeni zdarzenie wskazuje rejestrator przy imporcie nie NamingSystem

3. Relacje

  • AttendanceRecord.terminal wskazuje ten zasób – w zapisie zdarzenia w przestrzeni AttendanceTerminal.ExternalId, w odpowiedzi w przestrzeni AttendanceTerminal.Id.
  • capability używa tych samych kodów co AttendanceRecord.type (bez unknown).
  • Nośnik identyfikacji pracownika to AttendanceCredential – rejestrator odczytuje jego numer, ale nie łączy go z kartą referencją; wiąże je dopiero AttendanceRecord.

4. Odniesienia