ImzagerServices

<back to all web services

VerifyEYPPackageWithDocumentId

The following routes are available for this service:
All Verbs/VerifyEYPPackageWithDocumentId/
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


class BaseResponse implements JsonSerializable
{
    public function __construct(
        /** @var bool|null */
        public ?bool $ServiceSuccessResult=null,
        /** @var string|null */
        public ?string $ErrorMesage=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ServiceSuccessResult'])) $this->ServiceSuccessResult = $o['ServiceSuccessResult'];
        if (isset($o['ErrorMesage'])) $this->ErrorMesage = $o['ErrorMesage'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ServiceSuccessResult)) $o['ServiceSuccessResult'] = $this->ServiceSuccessResult;
        if (isset($this->ErrorMesage)) $o['ErrorMesage'] = $this->ErrorMesage;
        return empty($o) ? new class(){} : $o;
    }
}

class EYPKisi implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $IlkAdi=null,
        /** @var string|null */
        public ?string $Soyadi=null,
        /** @var string|null */
        public ?string $IkinciAdi=null,
        /** @var string|null */
        public ?string $Unvan=null,
        /** @var string|null */
        public ?string $OnEk=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['IlkAdi'])) $this->IlkAdi = $o['IlkAdi'];
        if (isset($o['Soyadi'])) $this->Soyadi = $o['Soyadi'];
        if (isset($o['IkinciAdi'])) $this->IkinciAdi = $o['IkinciAdi'];
        if (isset($o['Unvan'])) $this->Unvan = $o['Unvan'];
        if (isset($o['OnEk'])) $this->OnEk = $o['OnEk'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->IlkAdi)) $o['IlkAdi'] = $this->IlkAdi;
        if (isset($this->Soyadi)) $o['Soyadi'] = $this->Soyadi;
        if (isset($this->IkinciAdi)) $o['IkinciAdi'] = $this->IkinciAdi;
        if (isset($this->Unvan)) $o['Unvan'] = $this->Unvan;
        if (isset($this->OnEk)) $o['OnEk'] = $this->OnEk;
        return empty($o) ? new class(){} : $o;
    }
}

class EYPIletisimBilgisi implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Telefon=null,
        /** @var string|null */
        public ?string $TelefonDiger=null,
        /** @var string|null */
        public ?string $EPosta=null,
        /** @var string|null */
        public ?string $Faks=null,
        /** @var string|null */
        public ?string $WebAdresi=null,
        /** @var string|null */
        public ?string $Adres=null,
        /** @var string|null */
        public ?string $Il=null,
        /** @var string|null */
        public ?string $Ilce=null,
        /** @var string|null */
        public ?string $Ulke=null,
        /** @var string|null */
        public ?string $KepAdresi=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Telefon'])) $this->Telefon = $o['Telefon'];
        if (isset($o['TelefonDiger'])) $this->TelefonDiger = $o['TelefonDiger'];
        if (isset($o['EPosta'])) $this->EPosta = $o['EPosta'];
        if (isset($o['Faks'])) $this->Faks = $o['Faks'];
        if (isset($o['WebAdresi'])) $this->WebAdresi = $o['WebAdresi'];
        if (isset($o['Adres'])) $this->Adres = $o['Adres'];
        if (isset($o['Il'])) $this->Il = $o['Il'];
        if (isset($o['Ilce'])) $this->Ilce = $o['Ilce'];
        if (isset($o['Ulke'])) $this->Ulke = $o['Ulke'];
        if (isset($o['KepAdresi'])) $this->KepAdresi = $o['KepAdresi'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Telefon)) $o['Telefon'] = $this->Telefon;
        if (isset($this->TelefonDiger)) $o['TelefonDiger'] = $this->TelefonDiger;
        if (isset($this->EPosta)) $o['EPosta'] = $this->EPosta;
        if (isset($this->Faks)) $o['Faks'] = $this->Faks;
        if (isset($this->WebAdresi)) $o['WebAdresi'] = $this->WebAdresi;
        if (isset($this->Adres)) $o['Adres'] = $this->Adres;
        if (isset($this->Il)) $o['Il'] = $this->Il;
        if (isset($this->Ilce)) $o['Ilce'] = $this->Ilce;
        if (isset($this->Ulke)) $o['Ulke'] = $this->Ulke;
        if (isset($this->KepAdresi)) $o['KepAdresi'] = $this->KepAdresi;
        return empty($o) ? new class(){} : $o;
    }
}

class EYPGercekSahis implements JsonSerializable
{
    public function __construct(
        /** @var EYPKisi|null */
        public ?EYPKisi $Kisi=null,
        /** @var string|null */
        public ?string $TCKN=null,
        /** @var string|null */
        public ?string $Gorev=null,
        /** @var EYPIletisimBilgisi|null */
        public ?EYPIletisimBilgisi $IletisimBilgisi=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Kisi'])) $this->Kisi = JsonConverters::from('EYPKisi', $o['Kisi']);
        if (isset($o['TCKN'])) $this->TCKN = $o['TCKN'];
        if (isset($o['Gorev'])) $this->Gorev = $o['Gorev'];
        if (isset($o['IletisimBilgisi'])) $this->IletisimBilgisi = JsonConverters::from('EYPIletisimBilgisi', $o['IletisimBilgisi']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Kisi)) $o['Kisi'] = JsonConverters::to('EYPKisi', $this->Kisi);
        if (isset($this->TCKN)) $o['TCKN'] = $this->TCKN;
        if (isset($this->Gorev)) $o['Gorev'] = $this->Gorev;
        if (isset($this->IletisimBilgisi)) $o['IletisimBilgisi'] = JsonConverters::to('EYPIletisimBilgisi', $this->IletisimBilgisi);
        return empty($o) ? new class(){} : $o;
    }
}

class EYPImza implements JsonSerializable
{
    public function __construct(
        /** @var EYPGercekSahis|null */
        public ?EYPGercekSahis $Imzalayan=null,
        /** @var EYPGercekSahis|null */
        public ?EYPGercekSahis $YetkiDevreden=null,
        /** @var EYPGercekSahis|null */
        public ?EYPGercekSahis $VekaletVeren=null,
        /** @var string|null */
        public ?string $Makam=null,
        /** @var string|null */
        public ?string $Amac=null,
        /** @var string|null */
        public ?string $Aciklama=null,
        /** @var DateTime */
        public DateTime $Tarih=new DateTime(),
        /** @var string|null */
        public ?string $TCYK=null,
        /** @var bool|null */
        public ?bool $TarihBelirli=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Imzalayan'])) $this->Imzalayan = JsonConverters::from('EYPGercekSahis', $o['Imzalayan']);
        if (isset($o['YetkiDevreden'])) $this->YetkiDevreden = JsonConverters::from('EYPGercekSahis', $o['YetkiDevreden']);
        if (isset($o['VekaletVeren'])) $this->VekaletVeren = JsonConverters::from('EYPGercekSahis', $o['VekaletVeren']);
        if (isset($o['Makam'])) $this->Makam = $o['Makam'];
        if (isset($o['Amac'])) $this->Amac = $o['Amac'];
        if (isset($o['Aciklama'])) $this->Aciklama = $o['Aciklama'];
        if (isset($o['Tarih'])) $this->Tarih = JsonConverters::from('DateTime', $o['Tarih']);
        if (isset($o['TCYK'])) $this->TCYK = $o['TCYK'];
        if (isset($o['TarihBelirli'])) $this->TarihBelirli = $o['TarihBelirli'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Imzalayan)) $o['Imzalayan'] = JsonConverters::to('EYPGercekSahis', $this->Imzalayan);
        if (isset($this->YetkiDevreden)) $o['YetkiDevreden'] = JsonConverters::to('EYPGercekSahis', $this->YetkiDevreden);
        if (isset($this->VekaletVeren)) $o['VekaletVeren'] = JsonConverters::to('EYPGercekSahis', $this->VekaletVeren);
        if (isset($this->Makam)) $o['Makam'] = $this->Makam;
        if (isset($this->Amac)) $o['Amac'] = $this->Amac;
        if (isset($this->Aciklama)) $o['Aciklama'] = $this->Aciklama;
        if (isset($this->Tarih)) $o['Tarih'] = JsonConverters::to('DateTime', $this->Tarih);
        if (isset($this->TCYK)) $o['TCYK'] = $this->TCYK;
        if (isset($this->TarihBelirli)) $o['TarihBelirli'] = $this->TarihBelirli;
        return empty($o) ? new class(){} : $o;
    }
}

enum EYPKisiType : int
{
    case GercekSahis = 1;
    case TuzelSahis = 2;
    case KurumKurulus = 3;
}

class EYPTuzelSahis implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Id=null,
        /** @var string|null */
        public ?string $Adi=null,
        /** @var EYPIletisimBilgisi|null */
        public ?EYPIletisimBilgisi $IletisimBilgisi=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Id'])) $this->Id = $o['Id'];
        if (isset($o['Adi'])) $this->Adi = $o['Adi'];
        if (isset($o['IletisimBilgisi'])) $this->IletisimBilgisi = JsonConverters::from('EYPIletisimBilgisi', $o['IletisimBilgisi']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Id)) $o['Id'] = $this->Id;
        if (isset($this->Adi)) $o['Adi'] = $this->Adi;
        if (isset($this->IletisimBilgisi)) $o['IletisimBilgisi'] = JsonConverters::to('EYPIletisimBilgisi', $this->IletisimBilgisi);
        return empty($o) ? new class(){} : $o;
    }
}

class EYPKurumKurulus implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $KKK=null,
        /** @var string|null */
        public ?string $Adi=null,
        /** @var string|null */
        public ?string $BirimKKK=null,
        /** @var EYPIletisimBilgisi|null */
        public ?EYPIletisimBilgisi $IletisimBilgisi=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['KKK'])) $this->KKK = $o['KKK'];
        if (isset($o['Adi'])) $this->Adi = $o['Adi'];
        if (isset($o['BirimKKK'])) $this->BirimKKK = $o['BirimKKK'];
        if (isset($o['IletisimBilgisi'])) $this->IletisimBilgisi = JsonConverters::from('EYPIletisimBilgisi', $o['IletisimBilgisi']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->KKK)) $o['KKK'] = $this->KKK;
        if (isset($this->Adi)) $o['Adi'] = $this->Adi;
        if (isset($this->BirimKKK)) $o['BirimKKK'] = $this->BirimKKK;
        if (isset($this->IletisimBilgisi)) $o['IletisimBilgisi'] = JsonConverters::to('EYPIletisimBilgisi', $this->IletisimBilgisi);
        return empty($o) ? new class(){} : $o;
    }
}

class EYPHedef implements JsonSerializable
{
    public function __construct(
        /** @var EYPKisiType|null */
        public ?EYPKisiType $HedefTipi=null,
        /** @var EYPGercekSahis|null */
        public ?EYPGercekSahis $GercekSahis=null,
        /** @var EYPTuzelSahis|null */
        public ?EYPTuzelSahis $TuzelSahis=null,
        /** @var EYPKurumKurulus|null */
        public ?EYPKurumKurulus $KurumKurulus=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['HedefTipi'])) $this->HedefTipi = JsonConverters::from('EYPKisiType', $o['HedefTipi']);
        if (isset($o['GercekSahis'])) $this->GercekSahis = JsonConverters::from('EYPGercekSahis', $o['GercekSahis']);
        if (isset($o['TuzelSahis'])) $this->TuzelSahis = JsonConverters::from('EYPTuzelSahis', $o['TuzelSahis']);
        if (isset($o['KurumKurulus'])) $this->KurumKurulus = JsonConverters::from('EYPKurumKurulus', $o['KurumKurulus']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->HedefTipi)) $o['HedefTipi'] = JsonConverters::to('EYPKisiType', $this->HedefTipi);
        if (isset($this->GercekSahis)) $o['GercekSahis'] = JsonConverters::to('EYPGercekSahis', $this->GercekSahis);
        if (isset($this->TuzelSahis)) $o['TuzelSahis'] = JsonConverters::to('EYPTuzelSahis', $this->TuzelSahis);
        if (isset($this->KurumKurulus)) $o['KurumKurulus'] = JsonConverters::to('EYPKurumKurulus', $this->KurumKurulus);
        return empty($o) ? new class(){} : $o;
    }
}

class EYPDigestMethod implements JsonSerializable
{
    public function __construct(
        /** @var XmlNode[]|null */
        public ?array $Any=null,
        /** @var string|null */
        public ?string $Algorithm=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Any'])) $this->Any = JsonConverters::fromArray('XmlNode', $o['Any']);
        if (isset($o['Algorithm'])) $this->Algorithm = $o['Algorithm'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Any)) $o['Any'] = JsonConverters::toArray('XmlNode', $this->Any);
        if (isset($this->Algorithm)) $o['Algorithm'] = $this->Algorithm;
        return empty($o) ? new class(){} : $o;
    }
}

class EYPReference implements JsonSerializable
{
    public function __construct(
        /** @var EYPDigestMethod|null */
        public ?EYPDigestMethod $DigestMethod=null,
        /** @var EYPDigestMethod|null */
        public ?EYPDigestMethod $DigestMethod1=null,
        /** @var ByteArray|null */
        public ?ByteArray $DigestValue=null,
        /** @var ByteArray|null */
        public ?ByteArray $DigestValue1=null,
        /** @var string|null */
        public ?string $Id=null,
        /** @var string|null */
        public ?string $URI=null,
        /** @var string|null */
        public ?string $Type=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['DigestMethod'])) $this->DigestMethod = JsonConverters::from('EYPDigestMethod', $o['DigestMethod']);
        if (isset($o['DigestMethod1'])) $this->DigestMethod1 = JsonConverters::from('EYPDigestMethod', $o['DigestMethod1']);
        if (isset($o['DigestValue'])) $this->DigestValue = JsonConverters::from('ByteArray', $o['DigestValue']);
        if (isset($o['DigestValue1'])) $this->DigestValue1 = JsonConverters::from('ByteArray', $o['DigestValue1']);
        if (isset($o['Id'])) $this->Id = $o['Id'];
        if (isset($o['URI'])) $this->URI = $o['URI'];
        if (isset($o['Type'])) $this->Type = $o['Type'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->DigestMethod)) $o['DigestMethod'] = JsonConverters::to('EYPDigestMethod', $this->DigestMethod);
        if (isset($this->DigestMethod1)) $o['DigestMethod1'] = JsonConverters::to('EYPDigestMethod', $this->DigestMethod1);
        if (isset($this->DigestValue)) $o['DigestValue'] = JsonConverters::to('ByteArray', $this->DigestValue);
        if (isset($this->DigestValue1)) $o['DigestValue1'] = JsonConverters::to('ByteArray', $this->DigestValue1);
        if (isset($this->Id)) $o['Id'] = $this->Id;
        if (isset($this->URI)) $o['URI'] = $this->URI;
        if (isset($this->Type)) $o['Type'] = $this->Type;
        return empty($o) ? new class(){} : $o;
    }
}

enum EYPIvedilik : string
{
    case NRM = 'NRM';
    case ACL = 'ACL';
    case GNL = 'GNL';
    case IVD = 'IVD';
    case CIV = 'CIV';
}

enum EYPDagitimTuru : string
{
    case GRG = 'GRG';
    case BLG = 'BLG';
}

class EYPKonulmamisEk implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $EkId=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['EkId'])) $this->EkId = $o['EkId'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->EkId)) $o['EkId'] = $this->EkId;
        return empty($o) ? new class(){} : $o;
    }
}

class EYPDagitim implements JsonSerializable
{
    public function __construct(
        /** @var EYPIvedilik|null */
        public ?EYPIvedilik $Ivedilik=null,
        /** @var EYPDagitimTuru|null */
        public ?EYPDagitimTuru $DagitimTuru=null,
        /** @var string|null */
        public ?string $Miat=null,
        /** @var array<EYPKonulmamisEk>|null */
        public ?array $KonulmamisEkListesi=null,
        /** @var EYPKisiType|null */
        public ?EYPKisiType $DagitimTipi=null,
        /** @var EYPGercekSahis|null */
        public ?EYPGercekSahis $GercekSahis=null,
        /** @var EYPTuzelSahis|null */
        public ?EYPTuzelSahis $TuzelSahis=null,
        /** @var EYPKurumKurulus|null */
        public ?EYPKurumKurulus $KurumKurulus=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Ivedilik'])) $this->Ivedilik = JsonConverters::from('EYPIvedilik', $o['Ivedilik']);
        if (isset($o['DagitimTuru'])) $this->DagitimTuru = JsonConverters::from('EYPDagitimTuru', $o['DagitimTuru']);
        if (isset($o['Miat'])) $this->Miat = $o['Miat'];
        if (isset($o['KonulmamisEkListesi'])) $this->KonulmamisEkListesi = JsonConverters::fromArray('EYPKonulmamisEk', $o['KonulmamisEkListesi']);
        if (isset($o['DagitimTipi'])) $this->DagitimTipi = JsonConverters::from('EYPKisiType', $o['DagitimTipi']);
        if (isset($o['GercekSahis'])) $this->GercekSahis = JsonConverters::from('EYPGercekSahis', $o['GercekSahis']);
        if (isset($o['TuzelSahis'])) $this->TuzelSahis = JsonConverters::from('EYPTuzelSahis', $o['TuzelSahis']);
        if (isset($o['KurumKurulus'])) $this->KurumKurulus = JsonConverters::from('EYPKurumKurulus', $o['KurumKurulus']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Ivedilik)) $o['Ivedilik'] = JsonConverters::to('EYPIvedilik', $this->Ivedilik);
        if (isset($this->DagitimTuru)) $o['DagitimTuru'] = JsonConverters::to('EYPDagitimTuru', $this->DagitimTuru);
        if (isset($this->Miat)) $o['Miat'] = $this->Miat;
        if (isset($this->KonulmamisEkListesi)) $o['KonulmamisEkListesi'] = JsonConverters::toArray('EYPKonulmamisEk', $this->KonulmamisEkListesi);
        if (isset($this->DagitimTipi)) $o['DagitimTipi'] = JsonConverters::to('EYPKisiType', $this->DagitimTipi);
        if (isset($this->GercekSahis)) $o['GercekSahis'] = JsonConverters::to('EYPGercekSahis', $this->GercekSahis);
        if (isset($this->TuzelSahis)) $o['TuzelSahis'] = JsonConverters::to('EYPTuzelSahis', $this->TuzelSahis);
        if (isset($this->KurumKurulus)) $o['KurumKurulus'] = JsonConverters::to('EYPKurumKurulus', $this->KurumKurulus);
        return empty($o) ? new class(){} : $o;
    }
}

enum EYPGuvenlikKodu : string
{
    case YOK = 'YOK';
    case TSD = 'TSD';
    case HZO = 'HZO';
    case OZL = 'OZL';
    case GZL = 'GZL';
    case CGZ = 'CGZ';
    case KSO = 'KSO';
}

class EYPIlgi implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Id=null,
        /** @var string|null */
        public ?string $BelgeNo=null,
        /** @var DateTime */
        public DateTime $Tarih=new DateTime(),
        /** @var bool|null */
        public ?bool $TarihBelirliMi=null,
        /** @var string|null */
        public ?string $Etiket=null,
        /** @var string|null */
        public ?string $EkId=null,
        /** @var string|null */
        public ?string $Ad=null,
        /** @var string|null */
        public ?string $Aciklama=null,
        /** @var string|null */
        public ?string $OzId=null,
        /** @var bool|null */
        public ?bool $EYazismaIdMi=null,
        /** @var bool|null */
        public ?bool $EYazismaIdBelirliMi=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Id'])) $this->Id = $o['Id'];
        if (isset($o['BelgeNo'])) $this->BelgeNo = $o['BelgeNo'];
        if (isset($o['Tarih'])) $this->Tarih = JsonConverters::from('DateTime', $o['Tarih']);
        if (isset($o['TarihBelirliMi'])) $this->TarihBelirliMi = $o['TarihBelirliMi'];
        if (isset($o['Etiket'])) $this->Etiket = $o['Etiket'];
        if (isset($o['EkId'])) $this->EkId = $o['EkId'];
        if (isset($o['Ad'])) $this->Ad = $o['Ad'];
        if (isset($o['Aciklama'])) $this->Aciklama = $o['Aciklama'];
        if (isset($o['OzId'])) $this->OzId = $o['OzId'];
        if (isset($o['EYazismaIdMi'])) $this->EYazismaIdMi = $o['EYazismaIdMi'];
        if (isset($o['EYazismaIdBelirliMi'])) $this->EYazismaIdBelirliMi = $o['EYazismaIdBelirliMi'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Id)) $o['Id'] = $this->Id;
        if (isset($this->BelgeNo)) $o['BelgeNo'] = $this->BelgeNo;
        if (isset($this->Tarih)) $o['Tarih'] = JsonConverters::to('DateTime', $this->Tarih);
        if (isset($this->TarihBelirliMi)) $o['TarihBelirliMi'] = $this->TarihBelirliMi;
        if (isset($this->Etiket)) $o['Etiket'] = $this->Etiket;
        if (isset($this->EkId)) $o['EkId'] = $this->EkId;
        if (isset($this->Ad)) $o['Ad'] = $this->Ad;
        if (isset($this->Aciklama)) $o['Aciklama'] = $this->Aciklama;
        if (isset($this->OzId)) $o['OzId'] = $this->OzId;
        if (isset($this->EYazismaIdMi)) $o['EYazismaIdMi'] = $this->EYazismaIdMi;
        if (isset($this->EYazismaIdBelirliMi)) $o['EYazismaIdBelirliMi'] = $this->EYazismaIdBelirliMi;
        return empty($o) ? new class(){} : $o;
    }
}

class EYPIlgili implements JsonSerializable
{
    public function __construct(
        /** @var EYPKisiType|null */
        public ?EYPKisiType $IlgiliTipi=null,
        /** @var EYPGercekSahis|null */
        public ?EYPGercekSahis $GercekSahis=null,
        /** @var EYPTuzelSahis|null */
        public ?EYPTuzelSahis $TuzelSahis=null,
        /** @var EYPKurumKurulus|null */
        public ?EYPKurumKurulus $KurumKurulus=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['IlgiliTipi'])) $this->IlgiliTipi = JsonConverters::from('EYPKisiType', $o['IlgiliTipi']);
        if (isset($o['GercekSahis'])) $this->GercekSahis = JsonConverters::from('EYPGercekSahis', $o['GercekSahis']);
        if (isset($o['TuzelSahis'])) $this->TuzelSahis = JsonConverters::from('EYPTuzelSahis', $o['TuzelSahis']);
        if (isset($o['KurumKurulus'])) $this->KurumKurulus = JsonConverters::from('EYPKurumKurulus', $o['KurumKurulus']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->IlgiliTipi)) $o['IlgiliTipi'] = JsonConverters::to('EYPKisiType', $this->IlgiliTipi);
        if (isset($this->GercekSahis)) $o['GercekSahis'] = JsonConverters::to('EYPGercekSahis', $this->GercekSahis);
        if (isset($this->TuzelSahis)) $o['TuzelSahis'] = JsonConverters::to('EYPTuzelSahis', $this->TuzelSahis);
        if (isset($this->KurumKurulus)) $o['KurumKurulus'] = JsonConverters::to('EYPKurumKurulus', $this->KurumKurulus);
        return empty($o) ? new class(){} : $o;
    }
}

class EYPOlusturan implements JsonSerializable
{
    public function __construct(
        /** @var EYPKisiType|null */
        public ?EYPKisiType $OlusturanTipi=null,
        /** @var EYPGercekSahis|null */
        public ?EYPGercekSahis $GercekSahis=null,
        /** @var EYPTuzelSahis|null */
        public ?EYPTuzelSahis $TuzelSahis=null,
        /** @var EYPKurumKurulus|null */
        public ?EYPKurumKurulus $KurumKurulus=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['OlusturanTipi'])) $this->OlusturanTipi = JsonConverters::from('EYPKisiType', $o['OlusturanTipi']);
        if (isset($o['GercekSahis'])) $this->GercekSahis = JsonConverters::from('EYPGercekSahis', $o['GercekSahis']);
        if (isset($o['TuzelSahis'])) $this->TuzelSahis = JsonConverters::from('EYPTuzelSahis', $o['TuzelSahis']);
        if (isset($o['KurumKurulus'])) $this->KurumKurulus = JsonConverters::from('EYPKurumKurulus', $o['KurumKurulus']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->OlusturanTipi)) $o['OlusturanTipi'] = JsonConverters::to('EYPKisiType', $this->OlusturanTipi);
        if (isset($this->GercekSahis)) $o['GercekSahis'] = JsonConverters::to('EYPGercekSahis', $this->GercekSahis);
        if (isset($this->TuzelSahis)) $o['TuzelSahis'] = JsonConverters::to('EYPTuzelSahis', $this->TuzelSahis);
        if (isset($this->KurumKurulus)) $o['KurumKurulus'] = JsonConverters::to('EYPKurumKurulus', $this->KurumKurulus);
        return empty($o) ? new class(){} : $o;
    }
}

enum EYPEkTuru : string
{
    case DED = 'DED';
    case HRF = 'HRF';
    case FZK = 'FZK';
}

class EYPEkOzet implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $OzetAlgoritmasi=null,
        /** @var ByteArray|null */
        public ?ByteArray $OzetDegeri=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['OzetAlgoritmasi'])) $this->OzetAlgoritmasi = $o['OzetAlgoritmasi'];
        if (isset($o['OzetDegeri'])) $this->OzetDegeri = JsonConverters::from('ByteArray', $o['OzetDegeri']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->OzetAlgoritmasi)) $o['OzetAlgoritmasi'] = $this->OzetAlgoritmasi;
        if (isset($this->OzetDegeri)) $o['OzetDegeri'] = JsonConverters::to('ByteArray', $this->OzetDegeri);
        return empty($o) ? new class(){} : $o;
    }
}

enum EYPEkOzetModu : string
{
    case Yok = 'Yok';
    case SHA1 = 'SHA1';
    case SHA512 = 'SHA512';
    case RIPEMD160 = 'RIPEMD160';
    case SHA256 = 'SHA256';
}

class EYPEk implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Id=null,
        /** @var string|null */
        public ?string $BelgeNo=null,
        /** @var EYPEkTuru|null */
        public ?EYPEkTuru $EkTuru=null,
        /** @var string|null */
        public ?string $DosyaAdi=null,
        /** @var string|null */
        public ?string $MimeTuru=null,
        /** @var string|null */
        public ?string $Ad=null,
        /** @var string|null */
        public ?string $SiraNo=null,
        /** @var string|null */
        public ?string $Aciklama=null,
        /** @var string|null */
        public ?string $Referans=null,
        /** @var bool|null */
        public ?bool $ImzaliMi=null,
        /** @var bool|null */
        public ?bool $ImzaliMiBelirliMi=null,
        /** @var EYPEkOzet|null */
        public ?EYPEkOzet $Ozet=null,
        /** @var ByteArray|null */
        public ?ByteArray $Icerik=null,
        /** @var EYPEkOzetModu|null */
        public ?EYPEkOzetModu $OzetModu=null,
        /** @var string */
        public string $OzetId=''
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Id'])) $this->Id = $o['Id'];
        if (isset($o['BelgeNo'])) $this->BelgeNo = $o['BelgeNo'];
        if (isset($o['EkTuru'])) $this->EkTuru = JsonConverters::from('EYPEkTuru', $o['EkTuru']);
        if (isset($o['DosyaAdi'])) $this->DosyaAdi = $o['DosyaAdi'];
        if (isset($o['MimeTuru'])) $this->MimeTuru = $o['MimeTuru'];
        if (isset($o['Ad'])) $this->Ad = $o['Ad'];
        if (isset($o['SiraNo'])) $this->SiraNo = $o['SiraNo'];
        if (isset($o['Aciklama'])) $this->Aciklama = $o['Aciklama'];
        if (isset($o['Referans'])) $this->Referans = $o['Referans'];
        if (isset($o['ImzaliMi'])) $this->ImzaliMi = $o['ImzaliMi'];
        if (isset($o['ImzaliMiBelirliMi'])) $this->ImzaliMiBelirliMi = $o['ImzaliMiBelirliMi'];
        if (isset($o['Ozet'])) $this->Ozet = JsonConverters::from('EYPEkOzet', $o['Ozet']);
        if (isset($o['Icerik'])) $this->Icerik = JsonConverters::from('ByteArray', $o['Icerik']);
        if (isset($o['OzetModu'])) $this->OzetModu = JsonConverters::from('EYPEkOzetModu', $o['OzetModu']);
        if (isset($o['OzetId'])) $this->OzetId = $o['OzetId'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Id)) $o['Id'] = $this->Id;
        if (isset($this->BelgeNo)) $o['BelgeNo'] = $this->BelgeNo;
        if (isset($this->EkTuru)) $o['EkTuru'] = JsonConverters::to('EYPEkTuru', $this->EkTuru);
        if (isset($this->DosyaAdi)) $o['DosyaAdi'] = $this->DosyaAdi;
        if (isset($this->MimeTuru)) $o['MimeTuru'] = $this->MimeTuru;
        if (isset($this->Ad)) $o['Ad'] = $this->Ad;
        if (isset($this->SiraNo)) $o['SiraNo'] = $this->SiraNo;
        if (isset($this->Aciklama)) $o['Aciklama'] = $this->Aciklama;
        if (isset($this->Referans)) $o['Referans'] = $this->Referans;
        if (isset($this->ImzaliMi)) $o['ImzaliMi'] = $this->ImzaliMi;
        if (isset($this->ImzaliMiBelirliMi)) $o['ImzaliMiBelirliMi'] = $this->ImzaliMiBelirliMi;
        if (isset($this->Ozet)) $o['Ozet'] = JsonConverters::to('EYPEkOzet', $this->Ozet);
        if (isset($this->Icerik)) $o['Icerik'] = JsonConverters::to('ByteArray', $this->Icerik);
        if (isset($this->OzetModu)) $o['OzetModu'] = JsonConverters::to('EYPEkOzetModu', $this->OzetModu);
        if (isset($this->OzetId)) $o['OzetId'] = $this->OzetId;
        return empty($o) ? new class(){} : $o;
    }
}

class VerifyDocumentDetails implements JsonSerializable
{
    public function __construct(
        /** @var ByteArray|null */
        public ?ByteArray $DocumentContent=null,
        /** @var string|null */
        public ?string $DocumentName=null,
        /** @var string|null */
        public ?string $DocumentType=null,
        /** @var string|null */
        public ?string $DocumentKey=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['DocumentContent'])) $this->DocumentContent = JsonConverters::from('ByteArray', $o['DocumentContent']);
        if (isset($o['DocumentName'])) $this->DocumentName = $o['DocumentName'];
        if (isset($o['DocumentType'])) $this->DocumentType = $o['DocumentType'];
        if (isset($o['DocumentKey'])) $this->DocumentKey = $o['DocumentKey'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->DocumentContent)) $o['DocumentContent'] = JsonConverters::to('ByteArray', $this->DocumentContent);
        if (isset($this->DocumentName)) $o['DocumentName'] = $this->DocumentName;
        if (isset($this->DocumentType)) $o['DocumentType'] = $this->DocumentType;
        if (isset($this->DocumentKey)) $o['DocumentKey'] = $this->DocumentKey;
        return empty($o) ? new class(){} : $o;
    }
}

class TSValidationResultItem implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $ID=null,
        /** @var string|null */
        public ?string $Message=null,
        /** @var string|null */
        public ?string $Result=null,
        /** @var bool|null */
        public ?bool $Successed=null,
        /** @var array<TSValidationResultItem>|null */
        public ?array $Child=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ID'])) $this->ID = $o['ID'];
        if (isset($o['Message'])) $this->Message = $o['Message'];
        if (isset($o['Result'])) $this->Result = $o['Result'];
        if (isset($o['Successed'])) $this->Successed = $o['Successed'];
        if (isset($o['Child'])) $this->Child = JsonConverters::fromArray('TSValidationResultItem', $o['Child']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ID)) $o['ID'] = $this->ID;
        if (isset($this->Message)) $o['Message'] = $this->Message;
        if (isset($this->Result)) $o['Result'] = $this->Result;
        if (isset($this->Successed)) $o['Successed'] = $this->Successed;
        if (isset($this->Child)) $o['Child'] = JsonConverters::toArray('TSValidationResultItem', $this->Child);
        return empty($o) ? new class(){} : $o;
    }
}

class SgValidationResultItem implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $ID=null,
        /** @var string|null */
        public ?string $Message=null,
        /** @var string|null */
        public ?string $Result=null,
        /** @var bool|null */
        public ?bool $Successed=null,
        /** @var SgValidationResultItem|null */
        public ?SgValidationResultItem $Child=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ID'])) $this->ID = $o['ID'];
        if (isset($o['Message'])) $this->Message = $o['Message'];
        if (isset($o['Result'])) $this->Result = $o['Result'];
        if (isset($o['Successed'])) $this->Successed = $o['Successed'];
        if (isset($o['Child'])) $this->Child = JsonConverters::from('SgValidationResultItem', $o['Child']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ID)) $o['ID'] = $this->ID;
        if (isset($this->Message)) $o['Message'] = $this->Message;
        if (isset($this->Result)) $o['Result'] = $this->Result;
        if (isset($this->Successed)) $o['Successed'] = $this->Successed;
        if (isset($this->Child)) $o['Child'] = JsonConverters::to('SgValidationResultItem', $this->Child);
        return empty($o) ? new class(){} : $o;
    }
}

class CertValidationResultItem implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $ID=null,
        /** @var string|null */
        public ?string $Message=null,
        /** @var string|null */
        public ?string $Result=null,
        /** @var bool|null */
        public ?bool $Successed=null,
        /** @var CertValidationResultItem|null */
        public ?CertValidationResultItem $Child=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ID'])) $this->ID = $o['ID'];
        if (isset($o['Message'])) $this->Message = $o['Message'];
        if (isset($o['Result'])) $this->Result = $o['Result'];
        if (isset($o['Successed'])) $this->Successed = $o['Successed'];
        if (isset($o['Child'])) $this->Child = JsonConverters::from('CertValidationResultItem', $o['Child']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ID)) $o['ID'] = $this->ID;
        if (isset($this->Message)) $o['Message'] = $this->Message;
        if (isset($this->Result)) $o['Result'] = $this->Result;
        if (isset($this->Successed)) $o['Successed'] = $this->Successed;
        if (isset($this->Child)) $o['Child'] = JsonConverters::to('CertValidationResultItem', $this->Child);
        return empty($o) ? new class(){} : $o;
    }
}

class VerifySignerDetails implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Cert_SubjectCN=null,
        /** @var string|null */
        public ?string $ID=null,
        /** @var X509Certificate2|null */
        public ?X509Certificate2 $SignerCertificate=null,
        /** @var string|null */
        public ?string $SignType=null,
        /** @var string|null */
        public ?string $SignAlgorithm=null,
        /** @var string|null */
        public ?string $HashAlgorithm=null,
        /** @var bool|null */
        public ?bool $SignStatusIsValid=null,
        /** @var string|null */
        public ?string $CertStatusValue=null,
        /** @var DateTime */
        public DateTime $SigningTime=new DateTime(),
        /** @var bool|null */
        public ?bool $IsTimeStampExist=null,
        /** @var VerifySignerDetails|null */
        public ?VerifySignerDetails $NextSigner=null,
        /** @var array<VerifySignerDetails>|null */
        public ?array $CounterSigners=null,
        /** @var array<TSValidationResultItem>|null */
        public ?array $TimeStampDetails=null,
        /** @var array<SgValidationResultItem>|null */
        public ?array $SignValidationDetails=null,
        /** @var array<CertValidationResultItem>|null */
        public ?array $CertValidationDetails=null,
        /** @var string|null */
        public ?string $Cert_SubjectSN=null,
        /** @var string|null */
        public ?string $Cert_Issuer=null,
        /** @var DateTime */
        public DateTime $Cert_ValidFrom=new DateTime(),
        /** @var DateTime */
        public DateTime $Cert_ValidTo=new DateTime(),
        /** @var string|null */
        public ?string $CertBase64=null,
        /** @var string|null */
        public ?string $SigningLocation=null,
        /** @var string|null */
        public ?string $SigningReason=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Cert_SubjectCN'])) $this->Cert_SubjectCN = $o['Cert_SubjectCN'];
        if (isset($o['ID'])) $this->ID = $o['ID'];
        if (isset($o['SignerCertificate'])) $this->SignerCertificate = JsonConverters::from('X509Certificate2', $o['SignerCertificate']);
        if (isset($o['SignType'])) $this->SignType = $o['SignType'];
        if (isset($o['SignAlgorithm'])) $this->SignAlgorithm = $o['SignAlgorithm'];
        if (isset($o['HashAlgorithm'])) $this->HashAlgorithm = $o['HashAlgorithm'];
        if (isset($o['SignStatusIsValid'])) $this->SignStatusIsValid = $o['SignStatusIsValid'];
        if (isset($o['CertStatusValue'])) $this->CertStatusValue = $o['CertStatusValue'];
        if (isset($o['SigningTime'])) $this->SigningTime = JsonConverters::from('DateTime', $o['SigningTime']);
        if (isset($o['IsTimeStampExist'])) $this->IsTimeStampExist = $o['IsTimeStampExist'];
        if (isset($o['NextSigner'])) $this->NextSigner = JsonConverters::from('VerifySignerDetails', $o['NextSigner']);
        if (isset($o['CounterSigners'])) $this->CounterSigners = JsonConverters::fromArray('VerifySignerDetails', $o['CounterSigners']);
        if (isset($o['TimeStampDetails'])) $this->TimeStampDetails = JsonConverters::fromArray('TSValidationResultItem', $o['TimeStampDetails']);
        if (isset($o['SignValidationDetails'])) $this->SignValidationDetails = JsonConverters::fromArray('SgValidationResultItem', $o['SignValidationDetails']);
        if (isset($o['CertValidationDetails'])) $this->CertValidationDetails = JsonConverters::fromArray('CertValidationResultItem', $o['CertValidationDetails']);
        if (isset($o['Cert_SubjectSN'])) $this->Cert_SubjectSN = $o['Cert_SubjectSN'];
        if (isset($o['Cert_Issuer'])) $this->Cert_Issuer = $o['Cert_Issuer'];
        if (isset($o['Cert_ValidFrom'])) $this->Cert_ValidFrom = JsonConverters::from('DateTime', $o['Cert_ValidFrom']);
        if (isset($o['Cert_ValidTo'])) $this->Cert_ValidTo = JsonConverters::from('DateTime', $o['Cert_ValidTo']);
        if (isset($o['CertBase64'])) $this->CertBase64 = $o['CertBase64'];
        if (isset($o['SigningLocation'])) $this->SigningLocation = $o['SigningLocation'];
        if (isset($o['SigningReason'])) $this->SigningReason = $o['SigningReason'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Cert_SubjectCN)) $o['Cert_SubjectCN'] = $this->Cert_SubjectCN;
        if (isset($this->ID)) $o['ID'] = $this->ID;
        if (isset($this->SignerCertificate)) $o['SignerCertificate'] = JsonConverters::to('X509Certificate2', $this->SignerCertificate);
        if (isset($this->SignType)) $o['SignType'] = $this->SignType;
        if (isset($this->SignAlgorithm)) $o['SignAlgorithm'] = $this->SignAlgorithm;
        if (isset($this->HashAlgorithm)) $o['HashAlgorithm'] = $this->HashAlgorithm;
        if (isset($this->SignStatusIsValid)) $o['SignStatusIsValid'] = $this->SignStatusIsValid;
        if (isset($this->CertStatusValue)) $o['CertStatusValue'] = $this->CertStatusValue;
        if (isset($this->SigningTime)) $o['SigningTime'] = JsonConverters::to('DateTime', $this->SigningTime);
        if (isset($this->IsTimeStampExist)) $o['IsTimeStampExist'] = $this->IsTimeStampExist;
        if (isset($this->NextSigner)) $o['NextSigner'] = JsonConverters::to('VerifySignerDetails', $this->NextSigner);
        if (isset($this->CounterSigners)) $o['CounterSigners'] = JsonConverters::toArray('VerifySignerDetails', $this->CounterSigners);
        if (isset($this->TimeStampDetails)) $o['TimeStampDetails'] = JsonConverters::toArray('TSValidationResultItem', $this->TimeStampDetails);
        if (isset($this->SignValidationDetails)) $o['SignValidationDetails'] = JsonConverters::toArray('SgValidationResultItem', $this->SignValidationDetails);
        if (isset($this->CertValidationDetails)) $o['CertValidationDetails'] = JsonConverters::toArray('CertValidationResultItem', $this->CertValidationDetails);
        if (isset($this->Cert_SubjectSN)) $o['Cert_SubjectSN'] = $this->Cert_SubjectSN;
        if (isset($this->Cert_Issuer)) $o['Cert_Issuer'] = $this->Cert_Issuer;
        if (isset($this->Cert_ValidFrom)) $o['Cert_ValidFrom'] = JsonConverters::to('DateTime', $this->Cert_ValidFrom);
        if (isset($this->Cert_ValidTo)) $o['Cert_ValidTo'] = JsonConverters::to('DateTime', $this->Cert_ValidTo);
        if (isset($this->CertBase64)) $o['CertBase64'] = $this->CertBase64;
        if (isset($this->SigningLocation)) $o['SigningLocation'] = $this->SigningLocation;
        if (isset($this->SigningReason)) $o['SigningReason'] = $this->SigningReason;
        return empty($o) ? new class(){} : $o;
    }
}

class VerifyResult implements JsonSerializable
{
    public function __construct(
        /** @var bool|null */
        public ?bool $Result=null,
        /** @var string|null */
        public ?string $ErrorMesage=null,
        /** @var bool|null */
        public ?bool $IsValid=null,
        /** @var array<VerifyDocumentDetails>|null */
        public ?array $DocumentDetails=null,
        /** @var array<VerifySignerDetails>|null */
        public ?array $Signers=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Result'])) $this->Result = $o['Result'];
        if (isset($o['ErrorMesage'])) $this->ErrorMesage = $o['ErrorMesage'];
        if (isset($o['IsValid'])) $this->IsValid = $o['IsValid'];
        if (isset($o['DocumentDetails'])) $this->DocumentDetails = JsonConverters::fromArray('VerifyDocumentDetails', $o['DocumentDetails']);
        if (isset($o['Signers'])) $this->Signers = JsonConverters::fromArray('VerifySignerDetails', $o['Signers']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Result)) $o['Result'] = $this->Result;
        if (isset($this->ErrorMesage)) $o['ErrorMesage'] = $this->ErrorMesage;
        if (isset($this->IsValid)) $o['IsValid'] = $this->IsValid;
        if (isset($this->DocumentDetails)) $o['DocumentDetails'] = JsonConverters::toArray('VerifyDocumentDetails', $this->DocumentDetails);
        if (isset($this->Signers)) $o['Signers'] = JsonConverters::toArray('VerifySignerDetails', $this->Signers);
        return empty($o) ? new class(){} : $o;
    }
}

class AnaSdp implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Kod=null,
        /** @var string|null */
        public ?string $Ad=null,
        /** @var string|null */
        public ?string $Aciklama=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Kod'])) $this->Kod = $o['Kod'];
        if (isset($o['Ad'])) $this->Ad = $o['Ad'];
        if (isset($o['Aciklama'])) $this->Aciklama = $o['Aciklama'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Kod)) $o['Kod'] = $this->Kod;
        if (isset($this->Ad)) $o['Ad'] = $this->Ad;
        if (isset($this->Aciklama)) $o['Aciklama'] = $this->Aciklama;
        return empty($o) ? new class(){} : $o;
    }
}

class SdpListesi implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Kod=null,
        /** @var string|null */
        public ?string $Ad=null,
        /** @var string|null */
        public ?string $Aciklama=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Kod'])) $this->Kod = $o['Kod'];
        if (isset($o['Ad'])) $this->Ad = $o['Ad'];
        if (isset($o['Aciklama'])) $this->Aciklama = $o['Aciklama'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Kod)) $o['Kod'] = $this->Kod;
        if (isset($this->Ad)) $o['Ad'] = $this->Ad;
        if (isset($this->Aciklama)) $o['Aciklama'] = $this->Aciklama;
        return empty($o) ? new class(){} : $o;
    }
}

class DigerSdpler implements JsonSerializable
{
    public function __construct(
        /** @var array<SdpListesi>|null */
        public ?array $SdpListesi=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['SdpListesi'])) $this->SdpListesi = JsonConverters::fromArray('SdpListesi', $o['SdpListesi']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->SdpListesi)) $o['SdpListesi'] = JsonConverters::toArray('SdpListesi', $this->SdpListesi);
        return empty($o) ? new class(){} : $o;
    }
}

class SdpBilgisi implements JsonSerializable
{
    public function __construct(
        /** @var AnaSdp|null */
        public ?AnaSdp $AnaSdp=null,
        /** @var DigerSdpler|null */
        public ?DigerSdpler $DigerSdpler=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['AnaSdp'])) $this->AnaSdp = JsonConverters::from('AnaSdp', $o['AnaSdp']);
        if (isset($o['DigerSdpler'])) $this->DigerSdpler = JsonConverters::from('DigerSdpler', $o['DigerSdpler']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->AnaSdp)) $o['AnaSdp'] = JsonConverters::to('AnaSdp', $this->AnaSdp);
        if (isset($this->DigerSdpler)) $o['DigerSdpler'] = JsonConverters::to('DigerSdpler', $this->DigerSdpler);
        return empty($o) ? new class(){} : $o;
    }
}

class NihaiUstveri implements JsonSerializable
{
    public function __construct(
        /** @var array<EYPImza>|null */
        public ?array $Imzalar=null,
        /** @var DateTime */
        public DateTime $Tarih=new DateTime(),
        /** @var string|null */
        public ?string $BelgeNo=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Imzalar'])) $this->Imzalar = JsonConverters::fromArray('EYPImza', $o['Imzalar']);
        if (isset($o['Tarih'])) $this->Tarih = JsonConverters::from('DateTime', $o['Tarih']);
        if (isset($o['BelgeNo'])) $this->BelgeNo = $o['BelgeNo'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Imzalar)) $o['Imzalar'] = JsonConverters::toArray('EYPImza', $this->Imzalar);
        if (isset($this->Tarih)) $o['Tarih'] = JsonConverters::to('DateTime', $this->Tarih);
        if (isset($this->BelgeNo)) $o['BelgeNo'] = $this->BelgeNo;
        return empty($o) ? new class(){} : $o;
    }
}

class ParafOzeti implements JsonSerializable
{
    public function __construct(
        /** @var array<EYPReference>|null */
        public ?array $Ozetler=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Ozetler'])) $this->Ozetler = JsonConverters::fromArray('EYPReference', $o['Ozetler']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Ozetler)) $o['Ozetler'] = JsonConverters::toArray('EYPReference', $this->Ozetler);
        return empty($o) ? new class(){} : $o;
    }
}

class Heysk implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $Kod=0,
        /** @var string|null */
        public ?string $Ad=null,
        /** @var string|null */
        public ?string $Tanim=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Kod'])) $this->Kod = $o['Kod'];
        if (isset($o['Ad'])) $this->Ad = $o['Ad'];
        if (isset($o['Tanim'])) $this->Tanim = $o['Tanim'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Kod)) $o['Kod'] = $this->Kod;
        if (isset($this->Ad)) $o['Ad'] = $this->Ad;
        if (isset($this->Tanim)) $o['Tanim'] = $this->Tanim;
        return empty($o) ? new class(){} : $o;
    }
}

enum MessageTypes : string
{
    case Unknown = 'Unknown';
    case Error = 'Error';
    case Warning = 'Warning';
    case Info = 'Info';
}

class MessageDto implements JsonSerializable
{
    public function __construct(
        /** @var MessageTypes|null */
        public ?MessageTypes $MessageType=null,
        /** @var string|null */
        public ?string $URI=null,
        /** @var string|null */
        public ?string $Message=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['MessageType'])) $this->MessageType = JsonConverters::from('MessageTypes', $o['MessageType']);
        if (isset($o['URI'])) $this->URI = $o['URI'];
        if (isset($o['Message'])) $this->Message = $o['Message'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->MessageType)) $o['MessageType'] = JsonConverters::to('MessageTypes', $this->MessageType);
        if (isset($this->URI)) $o['URI'] = $this->URI;
        if (isset($this->Message)) $o['Message'] = $this->Message;
        return empty($o) ? new class(){} : $o;
    }
}

class DaBEYPPackage implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $BelgeNo=null,
        /** @var string|null */
        public ?string $BelgeId=null,
        /** @var array<EYPImza>|null */
        public ?array $Imzalar=null,
        /** @var array<EYPHedef>|null */
        public ?array $Hedefler=null,
        /** @var ByteArray|null */
        public ?ByteArray $BelgeImzaXML=null,
        /** @var ByteArray|null */
        public ?ByteArray $Muhur=null,
        /** @var array<EYPReference>|null */
        public ?array $NihaiOzetler=null,
        /** @var ByteArray|null */
        public ?ByteArray $NihaiOzet=null,
        /** @var array<EYPReference>|null */
        public ?array $PaketOzetleri=null,
        /** @var bool|null */
        public ?bool $PaketOzetiDogrulamasi=null,
        /** @var bool|null */
        public ?bool $NihaiOzetDogrulamasi=null,
        /** @var bool|null */
        public ?bool $ParafOzetiDogrulamasi=null,
        /** @var array<EYPDagitim>|null */
        public ?array $Dagitimlar=null,
        /** @var string|null */
        public ?string $Dil=null,
        /** @var DateTime|null */
        public ?DateTime $GuvenlikGecerlilikTarihi=null,
        /** @var EYPGuvenlikKodu|null */
        public ?EYPGuvenlikKodu $GuvenlikKodu=null,
        /** @var array<EYPIlgi>|null */
        public ?array $Ilgiler=null,
        /** @var array<EYPIlgili>|null */
        public ?array $Ilgililer=null,
        /** @var string|null */
        public ?string $Konu=null,
        /** @var string|null */
        public ?string $MimeTuru=null,
        /** @var EYPOlusturan|null */
        public ?EYPOlusturan $Olusturan=null,
        /** @var DateTime */
        public DateTime $Tarih=new DateTime(),
        /** @var ByteArray|null */
        public ?ByteArray $UstveriXML=null,
        /** @var ByteArray|null */
        public ?ByteArray $UstYaziPDF=null,
        /** @var ByteArray|null */
        public ?ByteArray $BelgeHedefXML=null,
        /** @var array<EYPEk>|null */
        public ?array $Ekler=null,
        /** @var ByteArray|null */
        public ?ByteArray $Imza=null,
        /** @var ByteArray|null */
        public ?ByteArray $PaketOzeti=null,
        /** @var bool|null */
        public ?bool $ImzaKontrol=null,
        /** @var VerifyResult|null */
        public ?VerifyResult $EYPDogrulamaSonuc=null,
        /** @var SdpBilgisi|null */
        public ?SdpBilgisi $SdpBilgisi=null,
        /** @var NihaiUstveri|null */
        public ?NihaiUstveri $NihaiUstveri=null,
        /** @var ParafOzeti|null */
        public ?ParafOzeti $ParafOzeti=null,
        /** @var array<Heysk>|null */
        public ?array $HeyskListesi=null,
        /** @var string|null */
        public ?string $PaketVersiyonu=null,
        /** @var bool|null */
        public ?bool $Result=null,
        /** @var bool|null */
        public ?bool $IsValid=null,
        /** @var string|null */
        public ?string $ErrorMessage=null,
        /** @var array<MessageDto>|null */
        public ?array $Messages=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['BelgeNo'])) $this->BelgeNo = $o['BelgeNo'];
        if (isset($o['BelgeId'])) $this->BelgeId = $o['BelgeId'];
        if (isset($o['Imzalar'])) $this->Imzalar = JsonConverters::fromArray('EYPImza', $o['Imzalar']);
        if (isset($o['Hedefler'])) $this->Hedefler = JsonConverters::fromArray('EYPHedef', $o['Hedefler']);
        if (isset($o['BelgeImzaXML'])) $this->BelgeImzaXML = JsonConverters::from('ByteArray', $o['BelgeImzaXML']);
        if (isset($o['Muhur'])) $this->Muhur = JsonConverters::from('ByteArray', $o['Muhur']);
        if (isset($o['NihaiOzetler'])) $this->NihaiOzetler = JsonConverters::fromArray('EYPReference', $o['NihaiOzetler']);
        if (isset($o['NihaiOzet'])) $this->NihaiOzet = JsonConverters::from('ByteArray', $o['NihaiOzet']);
        if (isset($o['PaketOzetleri'])) $this->PaketOzetleri = JsonConverters::fromArray('EYPReference', $o['PaketOzetleri']);
        if (isset($o['PaketOzetiDogrulamasi'])) $this->PaketOzetiDogrulamasi = $o['PaketOzetiDogrulamasi'];
        if (isset($o['NihaiOzetDogrulamasi'])) $this->NihaiOzetDogrulamasi = $o['NihaiOzetDogrulamasi'];
        if (isset($o['ParafOzetiDogrulamasi'])) $this->ParafOzetiDogrulamasi = $o['ParafOzetiDogrulamasi'];
        if (isset($o['Dagitimlar'])) $this->Dagitimlar = JsonConverters::fromArray('EYPDagitim', $o['Dagitimlar']);
        if (isset($o['Dil'])) $this->Dil = $o['Dil'];
        if (isset($o['GuvenlikGecerlilikTarihi'])) $this->GuvenlikGecerlilikTarihi = JsonConverters::from('DateTime', $o['GuvenlikGecerlilikTarihi']);
        if (isset($o['GuvenlikKodu'])) $this->GuvenlikKodu = JsonConverters::from('EYPGuvenlikKodu', $o['GuvenlikKodu']);
        if (isset($o['Ilgiler'])) $this->Ilgiler = JsonConverters::fromArray('EYPIlgi', $o['Ilgiler']);
        if (isset($o['Ilgililer'])) $this->Ilgililer = JsonConverters::fromArray('EYPIlgili', $o['Ilgililer']);
        if (isset($o['Konu'])) $this->Konu = $o['Konu'];
        if (isset($o['MimeTuru'])) $this->MimeTuru = $o['MimeTuru'];
        if (isset($o['Olusturan'])) $this->Olusturan = JsonConverters::from('EYPOlusturan', $o['Olusturan']);
        if (isset($o['Tarih'])) $this->Tarih = JsonConverters::from('DateTime', $o['Tarih']);
        if (isset($o['UstveriXML'])) $this->UstveriXML = JsonConverters::from('ByteArray', $o['UstveriXML']);
        if (isset($o['UstYaziPDF'])) $this->UstYaziPDF = JsonConverters::from('ByteArray', $o['UstYaziPDF']);
        if (isset($o['BelgeHedefXML'])) $this->BelgeHedefXML = JsonConverters::from('ByteArray', $o['BelgeHedefXML']);
        if (isset($o['Ekler'])) $this->Ekler = JsonConverters::fromArray('EYPEk', $o['Ekler']);
        if (isset($o['Imza'])) $this->Imza = JsonConverters::from('ByteArray', $o['Imza']);
        if (isset($o['PaketOzeti'])) $this->PaketOzeti = JsonConverters::from('ByteArray', $o['PaketOzeti']);
        if (isset($o['ImzaKontrol'])) $this->ImzaKontrol = $o['ImzaKontrol'];
        if (isset($o['EYPDogrulamaSonuc'])) $this->EYPDogrulamaSonuc = JsonConverters::from('VerifyResult', $o['EYPDogrulamaSonuc']);
        if (isset($o['SdpBilgisi'])) $this->SdpBilgisi = JsonConverters::from('SdpBilgisi', $o['SdpBilgisi']);
        if (isset($o['NihaiUstveri'])) $this->NihaiUstveri = JsonConverters::from('NihaiUstveri', $o['NihaiUstveri']);
        if (isset($o['ParafOzeti'])) $this->ParafOzeti = JsonConverters::from('ParafOzeti', $o['ParafOzeti']);
        if (isset($o['HeyskListesi'])) $this->HeyskListesi = JsonConverters::fromArray('Heysk', $o['HeyskListesi']);
        if (isset($o['PaketVersiyonu'])) $this->PaketVersiyonu = $o['PaketVersiyonu'];
        if (isset($o['Result'])) $this->Result = $o['Result'];
        if (isset($o['IsValid'])) $this->IsValid = $o['IsValid'];
        if (isset($o['ErrorMessage'])) $this->ErrorMessage = $o['ErrorMessage'];
        if (isset($o['Messages'])) $this->Messages = JsonConverters::fromArray('MessageDto', $o['Messages']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->BelgeNo)) $o['BelgeNo'] = $this->BelgeNo;
        if (isset($this->BelgeId)) $o['BelgeId'] = $this->BelgeId;
        if (isset($this->Imzalar)) $o['Imzalar'] = JsonConverters::toArray('EYPImza', $this->Imzalar);
        if (isset($this->Hedefler)) $o['Hedefler'] = JsonConverters::toArray('EYPHedef', $this->Hedefler);
        if (isset($this->BelgeImzaXML)) $o['BelgeImzaXML'] = JsonConverters::to('ByteArray', $this->BelgeImzaXML);
        if (isset($this->Muhur)) $o['Muhur'] = JsonConverters::to('ByteArray', $this->Muhur);
        if (isset($this->NihaiOzetler)) $o['NihaiOzetler'] = JsonConverters::toArray('EYPReference', $this->NihaiOzetler);
        if (isset($this->NihaiOzet)) $o['NihaiOzet'] = JsonConverters::to('ByteArray', $this->NihaiOzet);
        if (isset($this->PaketOzetleri)) $o['PaketOzetleri'] = JsonConverters::toArray('EYPReference', $this->PaketOzetleri);
        if (isset($this->PaketOzetiDogrulamasi)) $o['PaketOzetiDogrulamasi'] = $this->PaketOzetiDogrulamasi;
        if (isset($this->NihaiOzetDogrulamasi)) $o['NihaiOzetDogrulamasi'] = $this->NihaiOzetDogrulamasi;
        if (isset($this->ParafOzetiDogrulamasi)) $o['ParafOzetiDogrulamasi'] = $this->ParafOzetiDogrulamasi;
        if (isset($this->Dagitimlar)) $o['Dagitimlar'] = JsonConverters::toArray('EYPDagitim', $this->Dagitimlar);
        if (isset($this->Dil)) $o['Dil'] = $this->Dil;
        if (isset($this->GuvenlikGecerlilikTarihi)) $o['GuvenlikGecerlilikTarihi'] = JsonConverters::to('DateTime', $this->GuvenlikGecerlilikTarihi);
        if (isset($this->GuvenlikKodu)) $o['GuvenlikKodu'] = JsonConverters::to('EYPGuvenlikKodu', $this->GuvenlikKodu);
        if (isset($this->Ilgiler)) $o['Ilgiler'] = JsonConverters::toArray('EYPIlgi', $this->Ilgiler);
        if (isset($this->Ilgililer)) $o['Ilgililer'] = JsonConverters::toArray('EYPIlgili', $this->Ilgililer);
        if (isset($this->Konu)) $o['Konu'] = $this->Konu;
        if (isset($this->MimeTuru)) $o['MimeTuru'] = $this->MimeTuru;
        if (isset($this->Olusturan)) $o['Olusturan'] = JsonConverters::to('EYPOlusturan', $this->Olusturan);
        if (isset($this->Tarih)) $o['Tarih'] = JsonConverters::to('DateTime', $this->Tarih);
        if (isset($this->UstveriXML)) $o['UstveriXML'] = JsonConverters::to('ByteArray', $this->UstveriXML);
        if (isset($this->UstYaziPDF)) $o['UstYaziPDF'] = JsonConverters::to('ByteArray', $this->UstYaziPDF);
        if (isset($this->BelgeHedefXML)) $o['BelgeHedefXML'] = JsonConverters::to('ByteArray', $this->BelgeHedefXML);
        if (isset($this->Ekler)) $o['Ekler'] = JsonConverters::toArray('EYPEk', $this->Ekler);
        if (isset($this->Imza)) $o['Imza'] = JsonConverters::to('ByteArray', $this->Imza);
        if (isset($this->PaketOzeti)) $o['PaketOzeti'] = JsonConverters::to('ByteArray', $this->PaketOzeti);
        if (isset($this->ImzaKontrol)) $o['ImzaKontrol'] = $this->ImzaKontrol;
        if (isset($this->EYPDogrulamaSonuc)) $o['EYPDogrulamaSonuc'] = JsonConverters::to('VerifyResult', $this->EYPDogrulamaSonuc);
        if (isset($this->SdpBilgisi)) $o['SdpBilgisi'] = JsonConverters::to('SdpBilgisi', $this->SdpBilgisi);
        if (isset($this->NihaiUstveri)) $o['NihaiUstveri'] = JsonConverters::to('NihaiUstveri', $this->NihaiUstveri);
        if (isset($this->ParafOzeti)) $o['ParafOzeti'] = JsonConverters::to('ParafOzeti', $this->ParafOzeti);
        if (isset($this->HeyskListesi)) $o['HeyskListesi'] = JsonConverters::toArray('Heysk', $this->HeyskListesi);
        if (isset($this->PaketVersiyonu)) $o['PaketVersiyonu'] = $this->PaketVersiyonu;
        if (isset($this->Result)) $o['Result'] = $this->Result;
        if (isset($this->IsValid)) $o['IsValid'] = $this->IsValid;
        if (isset($this->ErrorMessage)) $o['ErrorMessage'] = $this->ErrorMessage;
        if (isset($this->Messages)) $o['Messages'] = JsonConverters::toArray('MessageDto', $this->Messages);
        return empty($o) ? new class(){} : $o;
    }
}

class VerifyEYPPackageWithDocumentIdResponse extends BaseResponse implements JsonSerializable
{
    /**
     * @param bool|null $ServiceSuccessResult
     * @param string|null $ErrorMesage
     */
    public function __construct(
        ?bool $ServiceSuccessResult=null,
        ?string $ErrorMesage=null,
        /** @var DaBEYPPackage|null */
        public ?DaBEYPPackage $Result=null
    ) {
        parent::__construct($ServiceSuccessResult,$ErrorMesage);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
        if (isset($o['Result'])) $this->Result = JsonConverters::from('DaBEYPPackage', $o['Result']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        if (isset($this->Result)) $o['Result'] = JsonConverters::to('DaBEYPPackage', $this->Result);
        return empty($o) ? new class(){} : $o;
    }
}

class VerifyEYPPackageWithDocumentId implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $ClientKey=null,
        /** @var string|null */
        public ?string $AuthorizationID=null,
        /** @var int */
        public int $DocumentId=0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ClientKey'])) $this->ClientKey = $o['ClientKey'];
        if (isset($o['AuthorizationID'])) $this->AuthorizationID = $o['AuthorizationID'];
        if (isset($o['DocumentId'])) $this->DocumentId = $o['DocumentId'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ClientKey)) $o['ClientKey'] = $this->ClientKey;
        if (isset($this->AuthorizationID)) $o['AuthorizationID'] = $this->AuthorizationID;
        if (isset($this->DocumentId)) $o['DocumentId'] = $this->DocumentId;
        return empty($o) ? new class(){} : $o;
    }
}

PHP VerifyEYPPackageWithDocumentId DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /VerifyEYPPackageWithDocumentId/ HTTP/1.1 
Host: imzagerservices.eyyubiye.bel.tr 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"ClientKey":"String","AuthorizationID":"String","DocumentId":0}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{Unable to show example output for type 'VerifyEYPPackageWithDocumentIdResponse' using the custom 'other' filter}One or more errors occurred.