Skip to content

Urgent Hiring (FastAna) ​

The FastAna form ("Πρόσληψη για κάλυψη επειγουσών αναγκών") is a short hiring announcement used when an employee is hired to cover urgent needs. It records the first (and optionally a second) working day with start and end times, the specialty, earnings and insurance.

Overview ​

PropertyValue
Document ClassesUrgentHiring, UrgentHiringCorrection
Action CodesFastAna, FastAnaC (correction / change)
Declaration ModelUrgentHiringDeclaration
SchemaFastAna_v1.xsd

Basic Usage ​

php
use OxygenSuite\OxygenErgani\Enums\WeekDays;
use OxygenSuite\OxygenErgani\Enums\WorkerType;
use OxygenSuite\OxygenErgani\Enums\WorkLocation;
use OxygenSuite\OxygenErgani\Http\Documents\UrgentHiring\UrgentHiring;
use OxygenSuite\OxygenErgani\Models\UrgentHiring\UrgentHiringDeclaration;

$declaration = UrgentHiringDeclaration::make()
    ->setBranchCode(0)
    ->setRelatedProtocol('')
    ->setRelatedDate('')
    ->setBranchActivityCode('4673')
    ->setMunicipalityCode('91790101')
    ->setAfm('151619217')
    ->setPhone('6912345678')
    ->setHiringDate('06/04/2026')
    ->setStartTime('09:00')
    ->setEndTime('11:00')
    ->setSecondWorkingDay('07/04/2026', '09:00', '12:00')
    ->setSpecialtyCode('313200')
    ->setSpecialtyDescription('')
    ->setExperienceYears(1)
    ->setGrossSalary(1500.00)
    ->setWagePaymentTime('1')
    ->setWorkLocation(WorkLocation::EMPLOYER_BRANCH)
    ->setWorkLocationComment('')
    ->setWorkerType(WorkerType::EMPLOYEE)
    ->setCollectiveAgreementApplies(false)
    ->setCollectiveAgreementComment('')
    ->setMainInsurance('001')
    ->addSupplementaryInsurance('001')
    ->setWeekDays(WeekDays::FIVE_DAY)
    ->setBreakMinutes(30)
    ->setBreakWithinSchedule(true)
    ->setFlexibleArrivalMinutes(15)
    ->setComments('');

$response = (new UrgentHiring())->handle($declaration);

Via Ergani Facade ​

php
use OxygenSuite\OxygenErgani\Ergani;

$ergani = new Ergani($accessToken);

$responses = $ergani->sendUrgentHiring($declaration);

Correction / Change (FastAnaC) ​

To correct or change a submitted declaration, reference the original submission and send the full declaration again:

php
$declaration
    ->setRelatedProtocol($original->protocol)
    ->setRelatedDate($original->submissionDate);

$responses = $ergani->sendUrgentHiringCorrection($declaration);

Field Reference ​

All fields are required by the XSD; send an empty string for fields that do not apply (e.g. the second working day).

MethodAPI FieldTypeRequiredDescription
setBranchCode()f_aa_pararthmatosint|stringYesBranch sequence number (0 for HQ)
setRelatedProtocol()f_rel_protocolstringYesOriginal protocol (corrections only, else empty)
setRelatedDate()f_rel_dateDateTime|stringYesOriginal submission date (corrections only, else empty)
setBranchActivityCode()f_kad_pararthmatosstringYesBranch activity code (KAD, 4 digits)
setMunicipalityCode()f_kallikratis_pararthmatosstringYesKallikratis municipal/local community code (8 digits)
setAfm()f_afmstringYesEmployee tax ID (9 digits)
setPhone()f_tilstringYesEmployee mobile phone
setHiringDate()f_proslipsidateDateTime|stringYesHiring date (DD/MM/YYYY)
setStartTime()f_proslipsitimestringYesStart time on the hiring day (HH:MM)
setEndTime()f_apoxwrisitimestringYesEnd time on the hiring day (HH:MM)
setSecondWorkingDate()f_second_working_dateDateTime|stringYesSecond working day (DD/MM/YYYY, or empty)
setSecondStartTime()f_second_working_datetimestringYesStart time on the second day (HH:MM, or empty)
setSecondEndTime()second_working_datetime_apoxwrisisstringYesEnd time on the second day (HH:MM, or empty)
setSpecialtyCode()f_eidikothtastringYesSpecialty code (ParameterLookup::SPECIALTY)
setSpecialtyDescription()f_eidikothta_analstringYesSpecialty description (may be empty)
setExperienceYears()f_proipiresiaintYesPrior experience in years
setGrossSalary()f_apodoxesfloatYesTotal gross earnings (Greek float)
setWagePaymentTime()f_xronos_katavolis_apodoxonstringYes0 = every day, 1 = on the last day
setWorkLocation()f_topos_ergasiasWorkLocation|string|intYes0 = employer's branch, 1 = other
setWorkLocationComment()f_topos_ergasias_commentstringYesWork location notes
setWorkerType()f_xaraktirismosWorkerType|string|intYes0 = worker, 1 = employee
setCollectiveAgreementApplies()f_efarmostea_sillogiki_simbasistring|boolYesApplicable collective agreement (0/1)
setCollectiveAgreementComment()f_efarmostea_sillogiki_simbasi_commentsstringYesCollective agreement notes
setMainInsurance()f_kyria_asfalisistringYesMain insurance code (ParameterLookup::PRIMARY_INSURANCE)
addSupplementaryInsurance()EpikourikiSelectionsSupplementaryInsuranceSelection|stringNoSupplementary insurance code (ParameterLookup::SUPPLEMENTARY_INSURANCE)
setWeekDays()f_week_daysWeekDays|string|intYes5 = five-day, 6 = six-day week
setBreakMinutes()f_dialeimma_minutesintYesBreak duration in minutes
setBreakWithinSchedule()f_dialeimma_entos_wrarioustring|boolYesBreak within working hours (0/1)
setFlexibleArrivalMinutes()f_euelikto_wrario_minutesintYesFlexible arrival allowance in minutes
setComments()f_commentsstringYesComments (max 100 characters)

Convenience: setSecondWorkingDay($date, $startTime, $endTime) sets the three second-day fields at once.

ERGANI sample typo

ERGANI's testFastAn.json / testFastAn.xml samples use f_efarmoste_sillogiki_simbasi. The XSD and the live schema use f_efarmostea_sillogiki_simbasi, which is what this package sends.

Response Handling ​

php
$response = (new UrgentHiring())->handle($declaration);

foreach ($response as $result) {
    echo $result->id;              // Unique submission ID
    echo $result->protocol;        // Protocol number
    echo $result->submissionDate->format('d/m/Y H:i:s');
}

Retrieve PDF ​

php
$pdfBase64 = (new UrgentHiring())->pdf(
    $response[0]->protocol,
    $response[0]->submissionDate
);

file_put_contents('urgent-hiring.pdf', base64_decode($pdfBase64));

Testing with Factories ​

php
use OxygenSuite\OxygenErgani\Models\UrgentHiring\UrgentHiringDeclaration;

$declaration = UrgentHiringDeclaration::factory()->make();

$declaration = UrgentHiringDeclaration::factory()
    ->forBranch(1)
    ->withSecondWorkingDay('07/04/2026', '09:00', '13:00')
    ->asEmployee()
    ->withCollectiveAgreement('ΕΓΣΣΕ')
    ->withSupplementaryInsurance(['001'])
    ->make();

// Correction
$correction = UrgentHiringDeclaration::factory()
    ->asCorrection('ΑΠ123', '06/04/2026')
    ->make();

See Also ​

Released under the MIT License.