<?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 RegistrationprofileInformation implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $ID=null,
/** @var string|null */
public ?string $Name=null,
/** @var bool|null */
public ?bool $WizardAutomatischDoorlopen=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ID'])) $this->ID = $o['ID'];
if (isset($o['Name'])) $this->Name = $o['Name'];
if (isset($o['WizardAutomatischDoorlopen'])) $this->WizardAutomatischDoorlopen = $o['WizardAutomatischDoorlopen'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ID)) $o['ID'] = $this->ID;
if (isset($this->Name)) $o['Name'] = $this->Name;
if (isset($this->WizardAutomatischDoorlopen)) $o['WizardAutomatischDoorlopen'] = $this->WizardAutomatischDoorlopen;
return empty($o) ? new class(){} : $o;
}
}
enum DragDropAction : string
{
case CopyEmailIncludingAttachments = 'CopyEmailIncludingAttachments';
case CopyEmailIncludingAndSeparateAttachments = 'CopyEmailIncludingAndSeparateAttachments';
case CopyEmailExcludingAndSeparateAttachments = 'CopyEmailExcludingAndSeparateAttachments';
case CopyEmailExcludingAttachments = 'CopyEmailExcludingAttachments';
case CopyOnlyAttachments = 'CopyOnlyAttachments';
case MoveEmailIncludingAttachments = 'MoveEmailIncludingAttachments';
case MoveEmailIncludingAndSeparateAttachments = 'MoveEmailIncludingAndSeparateAttachments';
case MoveEmailExcludingAndSeparateAttachments = 'MoveEmailExcludingAndSeparateAttachments';
case MoveEmailExcludingAttachments = 'MoveEmailExcludingAttachments';
case MoveOnlyAttachments = 'MoveOnlyAttachments';
case Files = 'Files';
case FileStream = 'FileStream';
}
class QuickRegistrationOptions implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $ProgCode=null,
/** @var string|null */
public ?string $RegistrationProfileID=null,
/** @var array<RegistrationprofileInformation>|null */
public ?array $RegistrationProfiles=null,
/** @var string|null */
public ?string $AttachmentRegistrationProfileID=null,
/** @var array<RegistrationprofileInformation>|null */
public ?array $AttachmentProfiles=null,
/** @var string|null */
public ?string $RegistrationProfileNewEmailID=null,
/** @var string|null */
public ?string $EMailActie=null,
/** @var string|null */
public ?string $EMailActieNieuw=null,
/** @var string|null */
public ?string $EMailActieBeantwoorden=null,
/** @var string|null */
public ?string $EMailActieDoorsturen=null,
/** @var DragDropAction|null */
public ?DragDropAction $DefaultDragDropAction=null,
/** @var string|null */
public ?string $RegistratieWizard365URL=null,
/** @var string|null */
public ?string $ApplicationName=null,
/** @var string|null */
public ?string $Extension=null,
/** @var bool|null */
public ?bool $MenuTonenBijSlepen=null,
/** @var bool|null */
public ?bool $AllowMultipleRegistrations=null,
/** @var int */
public int $MinimumAttachmentSize=0,
/** @var bool|null */
public ?bool $AllowEmptyEmailInRegistrationprofileWizard=null,
/** @var bool|null */
public ?bool $UpdateRefNrInSentItems=null,
/** @var bool|null */
public ?bool $VersturenViaBCC=null,
/** @var string|null */
public ?string $BCCEmailAdres=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ProgCode'])) $this->ProgCode = $o['ProgCode'];
if (isset($o['RegistrationProfileID'])) $this->RegistrationProfileID = $o['RegistrationProfileID'];
if (isset($o['RegistrationProfiles'])) $this->RegistrationProfiles = JsonConverters::fromArray('RegistrationprofileInformation', $o['RegistrationProfiles']);
if (isset($o['AttachmentRegistrationProfileID'])) $this->AttachmentRegistrationProfileID = $o['AttachmentRegistrationProfileID'];
if (isset($o['AttachmentProfiles'])) $this->AttachmentProfiles = JsonConverters::fromArray('RegistrationprofileInformation', $o['AttachmentProfiles']);
if (isset($o['RegistrationProfileNewEmailID'])) $this->RegistrationProfileNewEmailID = $o['RegistrationProfileNewEmailID'];
if (isset($o['EMailActie'])) $this->EMailActie = $o['EMailActie'];
if (isset($o['EMailActieNieuw'])) $this->EMailActieNieuw = $o['EMailActieNieuw'];
if (isset($o['EMailActieBeantwoorden'])) $this->EMailActieBeantwoorden = $o['EMailActieBeantwoorden'];
if (isset($o['EMailActieDoorsturen'])) $this->EMailActieDoorsturen = $o['EMailActieDoorsturen'];
if (isset($o['DefaultDragDropAction'])) $this->DefaultDragDropAction = JsonConverters::from('DragDropAction', $o['DefaultDragDropAction']);
if (isset($o['RegistratieWizard365URL'])) $this->RegistratieWizard365URL = $o['RegistratieWizard365URL'];
if (isset($o['ApplicationName'])) $this->ApplicationName = $o['ApplicationName'];
if (isset($o['Extension'])) $this->Extension = $o['Extension'];
if (isset($o['MenuTonenBijSlepen'])) $this->MenuTonenBijSlepen = $o['MenuTonenBijSlepen'];
if (isset($o['AllowMultipleRegistrations'])) $this->AllowMultipleRegistrations = $o['AllowMultipleRegistrations'];
if (isset($o['MinimumAttachmentSize'])) $this->MinimumAttachmentSize = $o['MinimumAttachmentSize'];
if (isset($o['AllowEmptyEmailInRegistrationprofileWizard'])) $this->AllowEmptyEmailInRegistrationprofileWizard = $o['AllowEmptyEmailInRegistrationprofileWizard'];
if (isset($o['UpdateRefNrInSentItems'])) $this->UpdateRefNrInSentItems = $o['UpdateRefNrInSentItems'];
if (isset($o['VersturenViaBCC'])) $this->VersturenViaBCC = $o['VersturenViaBCC'];
if (isset($o['BCCEmailAdres'])) $this->BCCEmailAdres = $o['BCCEmailAdres'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ProgCode)) $o['ProgCode'] = $this->ProgCode;
if (isset($this->RegistrationProfileID)) $o['RegistrationProfileID'] = $this->RegistrationProfileID;
if (isset($this->RegistrationProfiles)) $o['RegistrationProfiles'] = JsonConverters::toArray('RegistrationprofileInformation', $this->RegistrationProfiles);
if (isset($this->AttachmentRegistrationProfileID)) $o['AttachmentRegistrationProfileID'] = $this->AttachmentRegistrationProfileID;
if (isset($this->AttachmentProfiles)) $o['AttachmentProfiles'] = JsonConverters::toArray('RegistrationprofileInformation', $this->AttachmentProfiles);
if (isset($this->RegistrationProfileNewEmailID)) $o['RegistrationProfileNewEmailID'] = $this->RegistrationProfileNewEmailID;
if (isset($this->EMailActie)) $o['EMailActie'] = $this->EMailActie;
if (isset($this->EMailActieNieuw)) $o['EMailActieNieuw'] = $this->EMailActieNieuw;
if (isset($this->EMailActieBeantwoorden)) $o['EMailActieBeantwoorden'] = $this->EMailActieBeantwoorden;
if (isset($this->EMailActieDoorsturen)) $o['EMailActieDoorsturen'] = $this->EMailActieDoorsturen;
if (isset($this->DefaultDragDropAction)) $o['DefaultDragDropAction'] = JsonConverters::to('DragDropAction', $this->DefaultDragDropAction);
if (isset($this->RegistratieWizard365URL)) $o['RegistratieWizard365URL'] = $this->RegistratieWizard365URL;
if (isset($this->ApplicationName)) $o['ApplicationName'] = $this->ApplicationName;
if (isset($this->Extension)) $o['Extension'] = $this->Extension;
if (isset($this->MenuTonenBijSlepen)) $o['MenuTonenBijSlepen'] = $this->MenuTonenBijSlepen;
if (isset($this->AllowMultipleRegistrations)) $o['AllowMultipleRegistrations'] = $this->AllowMultipleRegistrations;
if (isset($this->MinimumAttachmentSize)) $o['MinimumAttachmentSize'] = $this->MinimumAttachmentSize;
if (isset($this->AllowEmptyEmailInRegistrationprofileWizard)) $o['AllowEmptyEmailInRegistrationprofileWizard'] = $this->AllowEmptyEmailInRegistrationprofileWizard;
if (isset($this->UpdateRefNrInSentItems)) $o['UpdateRefNrInSentItems'] = $this->UpdateRefNrInSentItems;
if (isset($this->VersturenViaBCC)) $o['VersturenViaBCC'] = $this->VersturenViaBCC;
if (isset($this->BCCEmailAdres)) $o['BCCEmailAdres'] = $this->BCCEmailAdres;
return empty($o) ? new class(){} : $o;
}
}
PHP QuickRegistrationOptions DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/QuickRegistrationOptions HTTP/1.1
Host: test-do-services.klokgroep.nl
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<QuickRegistrationOptions xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">
<AllowEmptyEmailInRegistrationprofileWizard>false</AllowEmptyEmailInRegistrationprofileWizard>
<AllowMultipleRegistrations>false</AllowMultipleRegistrations>
<ApplicationName>String</ApplicationName>
<AttachmentProfiles xmlns:d2p1="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Registrationprofile">
<d2p1:RegistrationprofileInformation>
<d2p1:ID>00000000-0000-0000-0000-000000000000</d2p1:ID>
<d2p1:Name>String</d2p1:Name>
<d2p1:WizardAutomatischDoorlopen>false</d2p1:WizardAutomatischDoorlopen>
</d2p1:RegistrationprofileInformation>
</AttachmentProfiles>
<AttachmentRegistrationProfileID>00000000-0000-0000-0000-000000000000</AttachmentRegistrationProfileID>
<BCCEmailAdres>String</BCCEmailAdres>
<DefaultDragDropAction>CopyEmailIncludingAttachments</DefaultDragDropAction>
<EMailActieBeantwoorden>String</EMailActieBeantwoorden>
<EMailActieDoorsturen>String</EMailActieDoorsturen>
<EMailActieNieuw>String</EMailActieNieuw>
<Extension>String</Extension>
<MenuTonenBijSlepen>false</MenuTonenBijSlepen>
<MinimumAttachmentSize>0</MinimumAttachmentSize>
<ProgCode>String</ProgCode>
<RegistratieWizard365URL>String</RegistratieWizard365URL>
<RegistrationProfileID>00000000-0000-0000-0000-000000000000</RegistrationProfileID>
<RegistrationProfileNewEmailID>00000000-0000-0000-0000-000000000000</RegistrationProfileNewEmailID>
<RegistrationProfiles xmlns:d2p1="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Registrationprofile">
<d2p1:RegistrationprofileInformation>
<d2p1:ID>00000000-0000-0000-0000-000000000000</d2p1:ID>
<d2p1:Name>String</d2p1:Name>
<d2p1:WizardAutomatischDoorlopen>false</d2p1:WizardAutomatischDoorlopen>
</d2p1:RegistrationprofileInformation>
</RegistrationProfiles>
<UpdateRefNrInSentItems>false</UpdateRefNrInSentItems>
<VersturenViaBCC>false</VersturenViaBCC>
</QuickRegistrationOptions>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<QuickRegistrationOptions xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document">
<AllowEmptyEmailInRegistrationprofileWizard>false</AllowEmptyEmailInRegistrationprofileWizard>
<AllowMultipleRegistrations>false</AllowMultipleRegistrations>
<ApplicationName>String</ApplicationName>
<AttachmentProfiles xmlns:d2p1="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Registrationprofile">
<d2p1:RegistrationprofileInformation>
<d2p1:ID>00000000-0000-0000-0000-000000000000</d2p1:ID>
<d2p1:Name>String</d2p1:Name>
<d2p1:WizardAutomatischDoorlopen>false</d2p1:WizardAutomatischDoorlopen>
</d2p1:RegistrationprofileInformation>
</AttachmentProfiles>
<AttachmentRegistrationProfileID>00000000-0000-0000-0000-000000000000</AttachmentRegistrationProfileID>
<BCCEmailAdres>String</BCCEmailAdres>
<DefaultDragDropAction>CopyEmailIncludingAttachments</DefaultDragDropAction>
<EMailActieBeantwoorden>String</EMailActieBeantwoorden>
<EMailActieDoorsturen>String</EMailActieDoorsturen>
<EMailActieNieuw>String</EMailActieNieuw>
<Extension>String</Extension>
<MenuTonenBijSlepen>false</MenuTonenBijSlepen>
<MinimumAttachmentSize>0</MinimumAttachmentSize>
<ProgCode>String</ProgCode>
<RegistratieWizard365URL>String</RegistratieWizard365URL>
<RegistrationProfileID>00000000-0000-0000-0000-000000000000</RegistrationProfileID>
<RegistrationProfileNewEmailID>00000000-0000-0000-0000-000000000000</RegistrationProfileNewEmailID>
<RegistrationProfiles xmlns:d2p1="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Registrationprofile">
<d2p1:RegistrationprofileInformation>
<d2p1:ID>00000000-0000-0000-0000-000000000000</d2p1:ID>
<d2p1:Name>String</d2p1:Name>
<d2p1:WizardAutomatischDoorlopen>false</d2p1:WizardAutomatischDoorlopen>
</d2p1:RegistrationprofileInformation>
</RegistrationProfiles>
<UpdateRefNrInSentItems>false</UpdateRefNrInSentItems>
<VersturenViaBCC>false</VersturenViaBCC>
</QuickRegistrationOptions>