PHPackages                             oxygensuite/oxygen-ergani - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. oxygensuite/oxygen-ergani

ActiveLibrary[Payment Processing](/categories/payments)

oxygensuite/oxygen-ergani
=========================

A comprehensive package for seamlessly interacting with Greece’s Ergani system, enabling automated submissions for employee data such as check-ins, check-outs, and other employment-related information. This repository aims to simplify and streamline workforce management and ensure compliance with Greek labor regulations.

v2.0.3(3w ago)9252MITPHPPHP ^8.2CI passing

Since Feb 18Pushed 3w ago4 watchersCompare

[ Source](https://github.com/oxygensuite/oxygen-ergani)[ Packagist](https://packagist.org/packages/oxygensuite/oxygen-ergani)[ RSS](/packages/oxygensuite-oxygen-ergani/feed)WikiDiscussions master Synced today

READMEChangelog (8)Dependencies (15)Versions (11)Used By (0)

Oxygen Ergani
=============

[](#oxygen-ergani)

A comprehensive PHP package for interacting with Greece's ERGANI II system, enabling automated submissions for employee data including work cards, hiring declarations, terminations, and more.

[![PHP Version](https://camo.githubusercontent.com/c9f64f714c636ba27a3bba6dfd52f98426832db1262747efa54b212d16943651/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545382e322d626c7565)](https://www.php.net/)[![License](https://camo.githubusercontent.com/f8df3091bbe1149f398a5369b2c39e896766f9f6efba3477c63e9b4aa940ef14/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e)](LICENSE)[![PHPStan](https://camo.githubusercontent.com/231ed753292701787b17f01bb40055ecce505793bf7929595eb0de3132a04103/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d6c6576656c253230372d627269676874677265656e)](https://phpstan.org/)

Features
--------

[](#features)

- **Work Cards** - Employee check-in/check-out submissions
- **Work Time Declarations** - Daily and weekly work schedules
- **Hiring Forms (E3)** - New hires, modifications, deletions, and lending arrangements
- **Internship Declarations (E3.5)** - Internship and practical training submissions
- **Termination Forms (E5)** - Voluntary resignations, retirements, and death terminations
- **Dismissal Forms (E6)** - Employer-initiated terminations, transfers, and loan endings
- **Fixed-Term Terminations (E7)** - Contract expirations and early terminations
- **Construction Forms (E12)** - Construction work personnel declarations and censuses
- **Employment Modifications (MA/MAD)** - Changes to employment terms
- **Overtime Declarations** - Regular and retrospective overtime submissions
- **Sixth Day Declarations** - Sixth day / extra shift submissions
- **Pre-Announcement Exemptions** - Pre-announcement exemption declarations
- **Query Services** - Employer info, branch details, parameter lookups, and employee status
- **PSR-16 Caching** - Opt-in caching for service responses with bundled file-based and in-memory implementations
- **Model Factories** - Laravel-inspired factories generating valid Greek test data (AFM, AMKA, names)
- **CLI Tools** - `enum:check` and `schema:check` to verify local code stays in sync with the live API

Requirements
------------

[](#requirements)

- PHP ^8.2
- Guzzle HTTP ^7.9
- ERGANI credentials (username and password)

Installation
------------

[](#installation)

```
composer require oxygensuite/oxygen-ergani
```

Quick Start
-----------

[](#quick-start)

### 1. Set Up Token Management

[](#1-set-up-token-management)

The package handles JWT authentication automatically. Configure it once at application boot:

```
use OxygenSuite\OxygenErgani\Storage\FileToken;
use OxygenSuite\OxygenErgani\Storage\Token;
use OxygenSuite\OxygenErgani\Enums\Environment;

Token::setCurrentTokenManager(
    new FileToken('your-username', 'your-password'),
    Environment::TEST // or Environment::PRODUCTION
);
```

### 2. Submit a Work Card

[](#2-submit-a-work-card)

```
use OxygenSuite\OxygenErgani\Ergani;
use OxygenSuite\OxygenErgani\Models\WorkCard\Card;
use OxygenSuite\OxygenErgani\Models\WorkCard\CardDetail;
use OxygenSuite\OxygenErgani\Enums\CardDetailType;

$card = Card::make()
    ->setEmployerTin('999999999')
    ->setBranchCode(0)
    ->setComments('')
    ->addDetails(
        CardDetail::make()
            ->setTin('888888888')
            ->setLastName('DOE')
            ->setFirstName('JOHN')
            ->setType(CardDetailType::CHECK_IN)
            ->setReferenceDate(date('Y-m-d'))
            ->setDate(date('Y-m-d\TH:i:s.uP'))
    );

$ergani = new Ergani();
$response = $ergani->sendWorkCards($card);

echo $response[0]->protocol; // e.g., 'ΕΥΣ92'
```

### 3. Submit a Hiring Declaration (E3)

[](#3-submit-a-hiring-declaration-e3)

```
use OxygenSuite\OxygenErgani\Ergani;
use OxygenSuite\OxygenErgani\Models\Hiring\NewDeclaration;

$declaration = NewDeclaration::make()
    ->setEmployerTin('999999999')
    ->setBranchCode(0)
    ->setLastName('ΠΑΠΑΔΟΠΟΥΛΟΣ')
    ->setFirstName('ΙΩΑΝΝΗΣ')
    ->setTin('888888888')
    ->setAmka('01018012345')
    ->setHiringDate('15/01/2025')
    // ... additional fields
    ->withDefaults(); // Fill remaining fields with empty strings

$ergani = new Ergani();
$response = $ergani->sendHiringNew($declaration);
```

Documentation
-------------

[](#documentation)

Full documentation is available at **[oxygensuite.github.io/oxygen-ergani](https://oxygensuite.github.io/oxygen-ergani)**.

### Guides

[](#guides)

- [Getting Started](https://oxygensuite.github.io/oxygen-ergani/guide/getting-started)
- [Token Management](https://oxygensuite.github.io/oxygen-ergani/guide/token-management)
- [Work Cards](https://oxygensuite.github.io/oxygen-ergani/guide/work-cards)
- [Work Time Declarations](https://oxygensuite.github.io/oxygen-ergani/guide/work-time)
- [Hiring Forms (E3)](https://oxygensuite.github.io/oxygen-ergani/guide/hiring/)
- [Termination Forms (E5)](https://oxygensuite.github.io/oxygen-ergani/guide/termination/)
- [Dismissal Forms (E6)](https://oxygensuite.github.io/oxygen-ergani/guide/dismissal/)
- [Fixed-Term Terminations (E7)](https://oxygensuite.github.io/oxygen-ergani/guide/fixed-term)
- [Employment Modifications (MA/MAD)](https://oxygensuite.github.io/oxygen-ergani/guide/modifications)
- [Construction Forms (E12)](https://oxygensuite.github.io/oxygen-ergani/guide/construction)
- [Sixth Day Declarations](https://oxygensuite.github.io/oxygen-ergani/guide/sixth-day)
- [Pre-Announcement Exemptions](https://oxygensuite.github.io/oxygen-ergani/guide/pre-announcement)
- [Internship Declarations (E3.5)](https://oxygensuite.github.io/oxygen-ergani/guide/internship)
- [Query Services](https://oxygensuite.github.io/oxygen-ergani/guide/services)
- [Error Handling](https://oxygensuite.github.io/oxygen-ergani/guide/error-handling)
- [Model Factories](https://oxygensuite.github.io/oxygen-ergani/guide/factories)
- [CLI Tools](https://oxygensuite.github.io/oxygen-ergani/guide/cli-tools)

### API Reference

[](#api-reference)

- [Ergani Facade](https://oxygensuite.github.io/oxygen-ergani/api/ergani)
- [Enums](https://oxygensuite.github.io/oxygen-ergani/api/enums)
- [Responses](https://oxygensuite.github.io/oxygen-ergani/api/responses)
- [Exceptions](https://oxygensuite.github.io/oxygen-ergani/api/exceptions)

Upgrading
---------

[](#upgrading)

If you're upgrading from v1.x, please see the [UPGRADING.md](UPGRADING.md) guide for breaking changes and migration instructions.

Development
-----------

[](#development)

```
# Install dependencies
composer install

# Run tests
composer test

# Static analysis (PHPStan level 7)
composer analyse

# Code style (PER)
composer lint

# Mutation testing
composer infect

# Run all checks
composer check
```

Security
--------

[](#security)

If you discover a security vulnerability, please send an email to . All security vulnerabilities will be promptly addressed. Please see [SECURITY.md](SECURITY.md) for more details.

Contributing
------------

[](#contributing)

Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

Changelog
---------

[](#changelog)

Please see [CHANGELOG.md](CHANGELOG.md) for information about recent changes.

License
-------

[](#license)

This package is open-source software licensed under the [MIT License](LICENSE).

Copyright 2025 [Oxygen Suite](https://github.com/oxygensuite).

###  Health Score

48

—

FairBetter than 93% of packages

Maintenance95

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~68 days

Recently: every ~93 days

Total

8

Last Release

21d ago

Major Versions

v0.1.1-alpha → v1.0.02025-03-14

v1.1.1 → v2.0.12026-06-12

PHP version history (2 changes)v0.1.0-alphaPHP ^8.1

v2.0.1PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/7cc799a66d4c20333f69a890ad17be2e0cbf68a535e9785c1c442c2b07e6a713?d=identicon)[isarantoglou](/maintainers/isarantoglou)

---

Top Contributors

[![ogiritli](https://avatars.githubusercontent.com/u/165646304?v=4)](https://github.com/ogiritli "ogiritli (28 commits)")[![firebed](https://avatars.githubusercontent.com/u/37473473?v=4)](https://github.com/firebed "firebed (2 commits)")[![isarantoglou](https://avatars.githubusercontent.com/u/98898337?v=4)](https://github.com/isarantoglou "isarantoglou (1 commits)")

---

Tags

checkoutgreececheckinerganiΕΡΓΑΝΗemployee-card

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/oxygensuite-oxygen-ergani/health.svg)

```
[![Health](https://phpackages.com/badges/oxygensuite-oxygen-ergani/health.svg)](https://phpackages.com/packages/oxygensuite-oxygen-ergani)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M20.1k](/packages/laravel-framework)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

751291.4k43](/packages/civicrm-civicrm-core)[neuron-core/neuron-ai

The PHP Agentic Framework.

2.0k656.1k39](/packages/neuron-core-neuron-ai)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M577](/packages/shopware-core)[nutgram/nutgram

The Telegram bot library that doesn't drive you nuts

737290.3k8](/packages/nutgram-nutgram)[sebdesign/laravel-viva-payments

A Laravel package for integrating the Viva Payments gateway

4851.0k](/packages/sebdesign-laravel-viva-payments)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
