GET | /eaccounting/customers |
---|
<?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 EAccountingPagination implements JsonSerializable
{
public function __construct(
/** @description Page number that will be fetched to e-accounting client; Default 1 */
// @DataMember(Order=1)
// @ApiMember(Description="Page number that will be fetched to e-accounting client; Default 1")
/** @var int|null */
public ?int $PageNumber=null,
/** @description Page size that will be fetched to e-accounting client; Default 75~ */
// @DataMember(Order=2)
// @ApiMember(Description="Page size that will be fetched to e-accounting client; Default 75~")
/** @var int|null */
public ?int $PageSize=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['PageNumber'])) $this->PageNumber = $o['PageNumber'];
if (isset($o['PageSize'])) $this->PageSize = $o['PageSize'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->PageNumber)) $o['PageNumber'] = $this->PageNumber;
if (isset($this->PageSize)) $o['PageSize'] = $this->PageSize;
return empty($o) ? new class(){} : $o;
}
}
class InvoiceAddress implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $CorporateIdentityNumber=null,
/** @var string|null */
public ?string $InvoiceAddress1=null,
/** @var string|null */
public ?string $InvoiceAddress2=null,
/** @var string|null */
public ?string $InvoiceCity=null,
/** @var string|null */
public ?string $InvoicePostalCode=null,
/** @var string|null */
public ?string $InvoiceCountryCode=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['CorporateIdentityNumber'])) $this->CorporateIdentityNumber = $o['CorporateIdentityNumber'];
if (isset($o['InvoiceAddress1'])) $this->InvoiceAddress1 = $o['InvoiceAddress1'];
if (isset($o['InvoiceAddress2'])) $this->InvoiceAddress2 = $o['InvoiceAddress2'];
if (isset($o['InvoiceCity'])) $this->InvoiceCity = $o['InvoiceCity'];
if (isset($o['InvoicePostalCode'])) $this->InvoicePostalCode = $o['InvoicePostalCode'];
if (isset($o['InvoiceCountryCode'])) $this->InvoiceCountryCode = $o['InvoiceCountryCode'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->CorporateIdentityNumber)) $o['CorporateIdentityNumber'] = $this->CorporateIdentityNumber;
if (isset($this->InvoiceAddress1)) $o['InvoiceAddress1'] = $this->InvoiceAddress1;
if (isset($this->InvoiceAddress2)) $o['InvoiceAddress2'] = $this->InvoiceAddress2;
if (isset($this->InvoiceCity)) $o['InvoiceCity'] = $this->InvoiceCity;
if (isset($this->InvoicePostalCode)) $o['InvoicePostalCode'] = $this->InvoicePostalCode;
if (isset($this->InvoiceCountryCode)) $o['InvoiceCountryCode'] = $this->InvoiceCountryCode;
return empty($o) ? new class(){} : $o;
}
}
class EAccountingTermsOfPayment implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $Id=null,
/** @var string|null */
public ?string $Name=null,
/** @var string|null */
public ?string $NameEnglish=null,
/** @var int */
public int $NumberOfDays=0,
/** @var int */
public int $TermsOfPaymentTypeId=0,
/** @var string|null */
public ?string $TermsOfPaymentTypeText=null,
/** @var bool|null */
public ?bool $AvailableForSales=null,
/** @var bool|null */
public ?bool $AvailableForPurchase=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['NameEnglish'])) $this->NameEnglish = $o['NameEnglish'];
if (isset($o['NumberOfDays'])) $this->NumberOfDays = $o['NumberOfDays'];
if (isset($o['TermsOfPaymentTypeId'])) $this->TermsOfPaymentTypeId = $o['TermsOfPaymentTypeId'];
if (isset($o['TermsOfPaymentTypeText'])) $this->TermsOfPaymentTypeText = $o['TermsOfPaymentTypeText'];
if (isset($o['AvailableForSales'])) $this->AvailableForSales = $o['AvailableForSales'];
if (isset($o['AvailableForPurchase'])) $this->AvailableForPurchase = $o['AvailableForPurchase'];
}
/** @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->NameEnglish)) $o['NameEnglish'] = $this->NameEnglish;
if (isset($this->NumberOfDays)) $o['NumberOfDays'] = $this->NumberOfDays;
if (isset($this->TermsOfPaymentTypeId)) $o['TermsOfPaymentTypeId'] = $this->TermsOfPaymentTypeId;
if (isset($this->TermsOfPaymentTypeText)) $o['TermsOfPaymentTypeText'] = $this->TermsOfPaymentTypeText;
if (isset($this->AvailableForSales)) $o['AvailableForSales'] = $this->AvailableForSales;
if (isset($this->AvailableForPurchase)) $o['AvailableForPurchase'] = $this->AvailableForPurchase;
return empty($o) ? new class(){} : $o;
}
}
class CustomerLabel implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $Id=null,
/** @var string|null */
public ?string $Name=null,
/** @var string|null */
public ?string $Description=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['Description'])) $this->Description = $o['Description'];
}
/** @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->Description)) $o['Description'] = $this->Description;
return empty($o) ? new class(){} : $o;
}
}
class DirectDebitCustomerSettings implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $MandateId=null,
/** @var int */
public int $MandateType=0,
/** @var int */
public int $SequenceType=0,
/** @var DateTime */
public DateTime $SigningDate=new DateTime(),
/** @var DateTime */
public DateTime $EndDate=new DateTime(),
/** @var DateTime */
public DateTime $LatestDirectDebit=new DateTime()
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['MandateId'])) $this->MandateId = $o['MandateId'];
if (isset($o['MandateType'])) $this->MandateType = $o['MandateType'];
if (isset($o['SequenceType'])) $this->SequenceType = $o['SequenceType'];
if (isset($o['SigningDate'])) $this->SigningDate = JsonConverters::from('DateTime', $o['SigningDate']);
if (isset($o['EndDate'])) $this->EndDate = JsonConverters::from('DateTime', $o['EndDate']);
if (isset($o['LatestDirectDebit'])) $this->LatestDirectDebit = JsonConverters::from('DateTime', $o['LatestDirectDebit']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->MandateId)) $o['MandateId'] = $this->MandateId;
if (isset($this->MandateType)) $o['MandateType'] = $this->MandateType;
if (isset($this->SequenceType)) $o['SequenceType'] = $this->SequenceType;
if (isset($this->SigningDate)) $o['SigningDate'] = JsonConverters::to('DateTime', $this->SigningDate);
if (isset($this->EndDate)) $o['EndDate'] = JsonConverters::to('DateTime', $this->EndDate);
if (isset($this->LatestDirectDebit)) $o['LatestDirectDebit'] = JsonConverters::to('DateTime', $this->LatestDirectDebit);
return empty($o) ? new class(){} : $o;
}
}
class CreateEAccountingCustomer extends InvoiceAddress implements JsonSerializable
{
/**
* @param string|null $CorporateIdentityNumber
* @param string|null $InvoiceAddress1
* @param string|null $InvoiceAddress2
* @param string|null $InvoiceCity
* @param string|null $InvoicePostalCode
* @param string|null $InvoiceCountryCode
*/
public function __construct(
?string $CorporateIdentityNumber=null,
?string $InvoiceAddress1=null,
?string $InvoiceAddress2=null,
?string $InvoiceCity=null,
?string $InvoicePostalCode=null,
?string $InvoiceCountryCode=null,
/** @var string|null */
public ?string $CustomerNumber=null,
/** @var string|null */
public ?string $ContactPersonEmail=null,
/** @var string|null */
public ?string $ContactPersonMobile=null,
/** @var string|null */
public ?string $ContactPersonName=null,
/** @var string|null */
public ?string $ContactPersonPhone=null,
/** @var string|null */
public ?string $CurrencyCode=null,
/** @var string|null */
public ?string $GLN=null,
/** @var string|null */
public ?string $EmailAddress=null,
/** @var string|null */
public ?string $EmailAddressOrder=null,
/** @var string|null */
public ?string $EmailAddressQuote=null,
/** @var string|null */
public ?string $DeliveryCustomerName=null,
/** @var string|null */
public ?string $DeliveryAddress1=null,
/** @var string|null */
public ?string $DeliveryAddress2=null,
/** @var string|null */
public ?string $DeliveryCity=null,
/** @var string|null */
public ?string $DeliveryCountryCode=null,
/** @var string|null */
public ?string $DeliveryPostalCode=null,
/** @var string|null */
public ?string $DeliveryMethodId=null,
/** @var string|null */
public ?string $DeliveryTermId=null,
/** @var string|null */
public ?string $PayToAccountId=null,
/** @var string|null */
public ?string $Name=null,
/** @var string|null */
public ?string $Note=null,
/** @var bool|null */
public ?bool $ReverseChargeOnConstructionServices=null,
/** @var int|null */
public ?int $WebshopCustomerNumber=null,
/** @var string|null */
public ?string $MobilePhone=null,
/** @var string|null */
public ?string $Telephone=null,
/** @var string|null */
public ?string $TermsOfPaymentId=null,
/** @var EAccountingTermsOfPayment|null */
public ?EAccountingTermsOfPayment $EAccountingTermsOfPayment=null,
/** @var string|null */
public ?string $VatNumber=null,
/** @var string|null */
public ?string $WwwAddress=null,
/** @var string|null */
public ?string $LastInvoiceDate=null,
/** @var bool|null */
public ?bool $IsPrivatePerson=null,
/** @var bool|null */
public ?bool $IsNorthernIreland=null,
/** @var float */
public float $DiscountPercentage=0.0,
/** @var DateTime|null */
public ?DateTime $ChangedUtc=null,
/** @var bool|null */
public ?bool $IsActive=null,
/** @var bool|null */
public ?bool $ForceBookkeepVat=null,
/** @var string|null */
public ?string $EdiGlnNumber=null,
/** @var string|null */
public ?string $SalesDocumentLanguage=null,
/** @var string|null */
public ?string $ElectronicAddress=null,
/** @var string|null */
public ?string $ElectronicReference=null,
/** @var string|null */
public ?string $EdiServiceDelivererId=null,
/** @var DateTime|null */
public ?DateTime $AutoInvoiceActivationEmailSentDate=null,
/** @var DateTime|null */
public ?DateTime $AutoInvoiceRegistrationRequestSentDate=null,
/** @var array<string>|null */
public ?array $EmailAddresses=null,
/** @var array<CustomerLabel>|null */
public ?array $CustomerLabels=null,
/** @var array<string>|null */
public ?array $MessageThreads=null,
/** @var array<string>|null */
public ?array $Notes=null,
/** @var bool|null */
public ?bool $IsFutureInvoiceDateAllowed=null,
/** @var bool|null */
public ?bool $DeliveryBasedVat=null,
/** @var string|null */
public ?string $SalesPriceListId=null,
/** @var string|null */
public ?string $Iban=null,
/** @var DirectDebitCustomerSettings|null */
public ?DirectDebitCustomerSettings $DirectDebitCustomerSettings=null,
/** @var string|null */
public ?string $DiscountAgreementId=null,
/** @var float */
public float $UnpaidInvoicesAmount=0.0
) {
parent::__construct($CorporateIdentityNumber,$InvoiceAddress1,$InvoiceAddress2,$InvoiceCity,$InvoicePostalCode,$InvoiceCountryCode);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['CustomerNumber'])) $this->CustomerNumber = $o['CustomerNumber'];
if (isset($o['ContactPersonEmail'])) $this->ContactPersonEmail = $o['ContactPersonEmail'];
if (isset($o['ContactPersonMobile'])) $this->ContactPersonMobile = $o['ContactPersonMobile'];
if (isset($o['ContactPersonName'])) $this->ContactPersonName = $o['ContactPersonName'];
if (isset($o['ContactPersonPhone'])) $this->ContactPersonPhone = $o['ContactPersonPhone'];
if (isset($o['CurrencyCode'])) $this->CurrencyCode = $o['CurrencyCode'];
if (isset($o['GLN'])) $this->GLN = $o['GLN'];
if (isset($o['EmailAddress'])) $this->EmailAddress = $o['EmailAddress'];
if (isset($o['EmailAddressOrder'])) $this->EmailAddressOrder = $o['EmailAddressOrder'];
if (isset($o['EmailAddressQuote'])) $this->EmailAddressQuote = $o['EmailAddressQuote'];
if (isset($o['DeliveryCustomerName'])) $this->DeliveryCustomerName = $o['DeliveryCustomerName'];
if (isset($o['DeliveryAddress1'])) $this->DeliveryAddress1 = $o['DeliveryAddress1'];
if (isset($o['DeliveryAddress2'])) $this->DeliveryAddress2 = $o['DeliveryAddress2'];
if (isset($o['DeliveryCity'])) $this->DeliveryCity = $o['DeliveryCity'];
if (isset($o['DeliveryCountryCode'])) $this->DeliveryCountryCode = $o['DeliveryCountryCode'];
if (isset($o['DeliveryPostalCode'])) $this->DeliveryPostalCode = $o['DeliveryPostalCode'];
if (isset($o['DeliveryMethodId'])) $this->DeliveryMethodId = $o['DeliveryMethodId'];
if (isset($o['DeliveryTermId'])) $this->DeliveryTermId = $o['DeliveryTermId'];
if (isset($o['PayToAccountId'])) $this->PayToAccountId = $o['PayToAccountId'];
if (isset($o['Name'])) $this->Name = $o['Name'];
if (isset($o['Note'])) $this->Note = $o['Note'];
if (isset($o['ReverseChargeOnConstructionServices'])) $this->ReverseChargeOnConstructionServices = $o['ReverseChargeOnConstructionServices'];
if (isset($o['WebshopCustomerNumber'])) $this->WebshopCustomerNumber = $o['WebshopCustomerNumber'];
if (isset($o['MobilePhone'])) $this->MobilePhone = $o['MobilePhone'];
if (isset($o['Telephone'])) $this->Telephone = $o['Telephone'];
if (isset($o['TermsOfPaymentId'])) $this->TermsOfPaymentId = $o['TermsOfPaymentId'];
if (isset($o['EAccountingTermsOfPayment'])) $this->EAccountingTermsOfPayment = JsonConverters::from('EAccountingTermsOfPayment', $o['EAccountingTermsOfPayment']);
if (isset($o['VatNumber'])) $this->VatNumber = $o['VatNumber'];
if (isset($o['WwwAddress'])) $this->WwwAddress = $o['WwwAddress'];
if (isset($o['LastInvoiceDate'])) $this->LastInvoiceDate = $o['LastInvoiceDate'];
if (isset($o['IsPrivatePerson'])) $this->IsPrivatePerson = $o['IsPrivatePerson'];
if (isset($o['IsNorthernIreland'])) $this->IsNorthernIreland = $o['IsNorthernIreland'];
if (isset($o['DiscountPercentage'])) $this->DiscountPercentage = $o['DiscountPercentage'];
if (isset($o['ChangedUtc'])) $this->ChangedUtc = JsonConverters::from('DateTime', $o['ChangedUtc']);
if (isset($o['IsActive'])) $this->IsActive = $o['IsActive'];
if (isset($o['ForceBookkeepVat'])) $this->ForceBookkeepVat = $o['ForceBookkeepVat'];
if (isset($o['EdiGlnNumber'])) $this->EdiGlnNumber = $o['EdiGlnNumber'];
if (isset($o['SalesDocumentLanguage'])) $this->SalesDocumentLanguage = $o['SalesDocumentLanguage'];
if (isset($o['ElectronicAddress'])) $this->ElectronicAddress = $o['ElectronicAddress'];
if (isset($o['ElectronicReference'])) $this->ElectronicReference = $o['ElectronicReference'];
if (isset($o['EdiServiceDelivererId'])) $this->EdiServiceDelivererId = $o['EdiServiceDelivererId'];
if (isset($o['AutoInvoiceActivationEmailSentDate'])) $this->AutoInvoiceActivationEmailSentDate = JsonConverters::from('DateTime', $o['AutoInvoiceActivationEmailSentDate']);
if (isset($o['AutoInvoiceRegistrationRequestSentDate'])) $this->AutoInvoiceRegistrationRequestSentDate = JsonConverters::from('DateTime', $o['AutoInvoiceRegistrationRequestSentDate']);
if (isset($o['EmailAddresses'])) $this->EmailAddresses = JsonConverters::fromArray('string', $o['EmailAddresses']);
if (isset($o['CustomerLabels'])) $this->CustomerLabels = JsonConverters::fromArray('CustomerLabel', $o['CustomerLabels']);
if (isset($o['MessageThreads'])) $this->MessageThreads = JsonConverters::fromArray('string', $o['MessageThreads']);
if (isset($o['Notes'])) $this->Notes = JsonConverters::fromArray('string', $o['Notes']);
if (isset($o['IsFutureInvoiceDateAllowed'])) $this->IsFutureInvoiceDateAllowed = $o['IsFutureInvoiceDateAllowed'];
if (isset($o['DeliveryBasedVat'])) $this->DeliveryBasedVat = $o['DeliveryBasedVat'];
if (isset($o['SalesPriceListId'])) $this->SalesPriceListId = $o['SalesPriceListId'];
if (isset($o['Iban'])) $this->Iban = $o['Iban'];
if (isset($o['DirectDebitCustomerSettings'])) $this->DirectDebitCustomerSettings = JsonConverters::from('DirectDebitCustomerSettings', $o['DirectDebitCustomerSettings']);
if (isset($o['DiscountAgreementId'])) $this->DiscountAgreementId = $o['DiscountAgreementId'];
if (isset($o['UnpaidInvoicesAmount'])) $this->UnpaidInvoicesAmount = $o['UnpaidInvoicesAmount'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->CustomerNumber)) $o['CustomerNumber'] = $this->CustomerNumber;
if (isset($this->ContactPersonEmail)) $o['ContactPersonEmail'] = $this->ContactPersonEmail;
if (isset($this->ContactPersonMobile)) $o['ContactPersonMobile'] = $this->ContactPersonMobile;
if (isset($this->ContactPersonName)) $o['ContactPersonName'] = $this->ContactPersonName;
if (isset($this->ContactPersonPhone)) $o['ContactPersonPhone'] = $this->ContactPersonPhone;
if (isset($this->CurrencyCode)) $o['CurrencyCode'] = $this->CurrencyCode;
if (isset($this->GLN)) $o['GLN'] = $this->GLN;
if (isset($this->EmailAddress)) $o['EmailAddress'] = $this->EmailAddress;
if (isset($this->EmailAddressOrder)) $o['EmailAddressOrder'] = $this->EmailAddressOrder;
if (isset($this->EmailAddressQuote)) $o['EmailAddressQuote'] = $this->EmailAddressQuote;
if (isset($this->DeliveryCustomerName)) $o['DeliveryCustomerName'] = $this->DeliveryCustomerName;
if (isset($this->DeliveryAddress1)) $o['DeliveryAddress1'] = $this->DeliveryAddress1;
if (isset($this->DeliveryAddress2)) $o['DeliveryAddress2'] = $this->DeliveryAddress2;
if (isset($this->DeliveryCity)) $o['DeliveryCity'] = $this->DeliveryCity;
if (isset($this->DeliveryCountryCode)) $o['DeliveryCountryCode'] = $this->DeliveryCountryCode;
if (isset($this->DeliveryPostalCode)) $o['DeliveryPostalCode'] = $this->DeliveryPostalCode;
if (isset($this->DeliveryMethodId)) $o['DeliveryMethodId'] = $this->DeliveryMethodId;
if (isset($this->DeliveryTermId)) $o['DeliveryTermId'] = $this->DeliveryTermId;
if (isset($this->PayToAccountId)) $o['PayToAccountId'] = $this->PayToAccountId;
if (isset($this->Name)) $o['Name'] = $this->Name;
if (isset($this->Note)) $o['Note'] = $this->Note;
if (isset($this->ReverseChargeOnConstructionServices)) $o['ReverseChargeOnConstructionServices'] = $this->ReverseChargeOnConstructionServices;
if (isset($this->WebshopCustomerNumber)) $o['WebshopCustomerNumber'] = $this->WebshopCustomerNumber;
if (isset($this->MobilePhone)) $o['MobilePhone'] = $this->MobilePhone;
if (isset($this->Telephone)) $o['Telephone'] = $this->Telephone;
if (isset($this->TermsOfPaymentId)) $o['TermsOfPaymentId'] = $this->TermsOfPaymentId;
if (isset($this->EAccountingTermsOfPayment)) $o['EAccountingTermsOfPayment'] = JsonConverters::to('EAccountingTermsOfPayment', $this->EAccountingTermsOfPayment);
if (isset($this->VatNumber)) $o['VatNumber'] = $this->VatNumber;
if (isset($this->WwwAddress)) $o['WwwAddress'] = $this->WwwAddress;
if (isset($this->LastInvoiceDate)) $o['LastInvoiceDate'] = $this->LastInvoiceDate;
if (isset($this->IsPrivatePerson)) $o['IsPrivatePerson'] = $this->IsPrivatePerson;
if (isset($this->IsNorthernIreland)) $o['IsNorthernIreland'] = $this->IsNorthernIreland;
if (isset($this->DiscountPercentage)) $o['DiscountPercentage'] = $this->DiscountPercentage;
if (isset($this->ChangedUtc)) $o['ChangedUtc'] = JsonConverters::to('DateTime', $this->ChangedUtc);
if (isset($this->IsActive)) $o['IsActive'] = $this->IsActive;
if (isset($this->ForceBookkeepVat)) $o['ForceBookkeepVat'] = $this->ForceBookkeepVat;
if (isset($this->EdiGlnNumber)) $o['EdiGlnNumber'] = $this->EdiGlnNumber;
if (isset($this->SalesDocumentLanguage)) $o['SalesDocumentLanguage'] = $this->SalesDocumentLanguage;
if (isset($this->ElectronicAddress)) $o['ElectronicAddress'] = $this->ElectronicAddress;
if (isset($this->ElectronicReference)) $o['ElectronicReference'] = $this->ElectronicReference;
if (isset($this->EdiServiceDelivererId)) $o['EdiServiceDelivererId'] = $this->EdiServiceDelivererId;
if (isset($this->AutoInvoiceActivationEmailSentDate)) $o['AutoInvoiceActivationEmailSentDate'] = JsonConverters::to('DateTime', $this->AutoInvoiceActivationEmailSentDate);
if (isset($this->AutoInvoiceRegistrationRequestSentDate)) $o['AutoInvoiceRegistrationRequestSentDate'] = JsonConverters::to('DateTime', $this->AutoInvoiceRegistrationRequestSentDate);
if (isset($this->EmailAddresses)) $o['EmailAddresses'] = JsonConverters::toArray('string', $this->EmailAddresses);
if (isset($this->CustomerLabels)) $o['CustomerLabels'] = JsonConverters::toArray('CustomerLabel', $this->CustomerLabels);
if (isset($this->MessageThreads)) $o['MessageThreads'] = JsonConverters::toArray('string', $this->MessageThreads);
if (isset($this->Notes)) $o['Notes'] = JsonConverters::toArray('string', $this->Notes);
if (isset($this->IsFutureInvoiceDateAllowed)) $o['IsFutureInvoiceDateAllowed'] = $this->IsFutureInvoiceDateAllowed;
if (isset($this->DeliveryBasedVat)) $o['DeliveryBasedVat'] = $this->DeliveryBasedVat;
if (isset($this->SalesPriceListId)) $o['SalesPriceListId'] = $this->SalesPriceListId;
if (isset($this->Iban)) $o['Iban'] = $this->Iban;
if (isset($this->DirectDebitCustomerSettings)) $o['DirectDebitCustomerSettings'] = JsonConverters::to('DirectDebitCustomerSettings', $this->DirectDebitCustomerSettings);
if (isset($this->DiscountAgreementId)) $o['DiscountAgreementId'] = $this->DiscountAgreementId;
if (isset($this->UnpaidInvoicesAmount)) $o['UnpaidInvoicesAmount'] = $this->UnpaidInvoicesAmount;
return empty($o) ? new class(){} : $o;
}
}
class EAccountingCustomerResponse extends CreateEAccountingCustomer implements JsonSerializable
{
/**
* @param string|null $CorporateIdentityNumber
* @param string|null $InvoiceAddress1
* @param string|null $InvoiceAddress2
* @param string|null $InvoiceCity
* @param string|null $InvoicePostalCode
* @param string|null $InvoiceCountryCode
* @param string|null $CustomerNumber
* @param string|null $ContactPersonEmail
* @param string|null $ContactPersonMobile
* @param string|null $ContactPersonName
* @param string|null $ContactPersonPhone
* @param string|null $CurrencyCode
* @param string|null $GLN
* @param string|null $EmailAddress
* @param string|null $EmailAddressOrder
* @param string|null $EmailAddressQuote
* @param string|null $DeliveryCustomerName
* @param string|null $DeliveryAddress1
* @param string|null $DeliveryAddress2
* @param string|null $DeliveryCity
* @param string|null $DeliveryCountryCode
* @param string|null $DeliveryPostalCode
* @param string|null $DeliveryMethodId
* @param string|null $DeliveryTermId
* @param string|null $PayToAccountId
* @param string|null $Name
* @param string|null $Note
* @param bool|null $ReverseChargeOnConstructionServices
* @param int|null $WebshopCustomerNumber
* @param string|null $MobilePhone
* @param string|null $Telephone
* @param string|null $TermsOfPaymentId
* @param EAccountingTermsOfPayment|null $EAccountingTermsOfPayment
* @param string|null $VatNumber
* @param string|null $WwwAddress
* @param string|null $LastInvoiceDate
* @param bool|null $IsPrivatePerson
* @param bool|null $IsNorthernIreland
* @param float $DiscountPercentage
* @param DateTime|null $ChangedUtc
* @param bool|null $IsActive
* @param bool|null $ForceBookkeepVat
* @param string|null $EdiGlnNumber
* @param string|null $SalesDocumentLanguage
* @param string|null $ElectronicAddress
* @param string|null $ElectronicReference
* @param string|null $EdiServiceDelivererId
* @param DateTime|null $AutoInvoiceActivationEmailSentDate
* @param DateTime|null $AutoInvoiceRegistrationRequestSentDate
* @param array<string>|null $EmailAddresses
* @param array<CustomerLabel>|null $CustomerLabels
* @param array<string>|null $MessageThreads
* @param array<string>|null $Notes
* @param bool|null $IsFutureInvoiceDateAllowed
* @param bool|null $DeliveryBasedVat
* @param string|null $SalesPriceListId
* @param string|null $Iban
* @param DirectDebitCustomerSettings|null $DirectDebitCustomerSettings
* @param string|null $DiscountAgreementId
* @param float $UnpaidInvoicesAmount
*/
public function __construct(
?string $CorporateIdentityNumber=null,
?string $InvoiceAddress1=null,
?string $InvoiceAddress2=null,
?string $InvoiceCity=null,
?string $InvoicePostalCode=null,
?string $InvoiceCountryCode=null,
?string $CustomerNumber=null,
?string $ContactPersonEmail=null,
?string $ContactPersonMobile=null,
?string $ContactPersonName=null,
?string $ContactPersonPhone=null,
?string $CurrencyCode=null,
?string $GLN=null,
?string $EmailAddress=null,
?string $EmailAddressOrder=null,
?string $EmailAddressQuote=null,
?string $DeliveryCustomerName=null,
?string $DeliveryAddress1=null,
?string $DeliveryAddress2=null,
?string $DeliveryCity=null,
?string $DeliveryCountryCode=null,
?string $DeliveryPostalCode=null,
?string $DeliveryMethodId=null,
?string $DeliveryTermId=null,
?string $PayToAccountId=null,
?string $Name=null,
?string $Note=null,
?bool $ReverseChargeOnConstructionServices=null,
?int $WebshopCustomerNumber=null,
?string $MobilePhone=null,
?string $Telephone=null,
?string $TermsOfPaymentId=null,
?EAccountingTermsOfPayment $EAccountingTermsOfPayment=null,
?string $VatNumber=null,
?string $WwwAddress=null,
?string $LastInvoiceDate=null,
?bool $IsPrivatePerson=null,
?bool $IsNorthernIreland=null,
float $DiscountPercentage=0.0,
?DateTime $ChangedUtc=null,
?bool $IsActive=null,
?bool $ForceBookkeepVat=null,
?string $EdiGlnNumber=null,
?string $SalesDocumentLanguage=null,
?string $ElectronicAddress=null,
?string $ElectronicReference=null,
?string $EdiServiceDelivererId=null,
?DateTime $AutoInvoiceActivationEmailSentDate=null,
?DateTime $AutoInvoiceRegistrationRequestSentDate=null,
?array $EmailAddresses=null,
?array $CustomerLabels=null,
?array $MessageThreads=null,
?array $Notes=null,
?bool $IsFutureInvoiceDateAllowed=null,
?bool $DeliveryBasedVat=null,
?string $SalesPriceListId=null,
?string $Iban=null,
?DirectDebitCustomerSettings $DirectDebitCustomerSettings=null,
?string $DiscountAgreementId=null,
float $UnpaidInvoicesAmount=0.0,
/** @var string|null */
public ?string $Id=null
) {
parent::__construct($CorporateIdentityNumber,$InvoiceAddress1,$InvoiceAddress2,$InvoiceCity,$InvoicePostalCode,$InvoiceCountryCode,$CustomerNumber,$ContactPersonEmail,$ContactPersonMobile,$ContactPersonName,$ContactPersonPhone,$CurrencyCode,$GLN,$EmailAddress,$EmailAddressOrder,$EmailAddressQuote,$DeliveryCustomerName,$DeliveryAddress1,$DeliveryAddress2,$DeliveryCity,$DeliveryCountryCode,$DeliveryPostalCode,$DeliveryMethodId,$DeliveryTermId,$PayToAccountId,$Name,$Note,$ReverseChargeOnConstructionServices,$WebshopCustomerNumber,$MobilePhone,$Telephone,$TermsOfPaymentId,$EAccountingTermsOfPayment,$VatNumber,$WwwAddress,$LastInvoiceDate,$IsPrivatePerson,$IsNorthernIreland,$DiscountPercentage,$ChangedUtc,$IsActive,$ForceBookkeepVat,$EdiGlnNumber,$SalesDocumentLanguage,$ElectronicAddress,$ElectronicReference,$EdiServiceDelivererId,$AutoInvoiceActivationEmailSentDate,$AutoInvoiceRegistrationRequestSentDate,$EmailAddresses,$CustomerLabels,$MessageThreads,$Notes,$IsFutureInvoiceDateAllowed,$DeliveryBasedVat,$SalesPriceListId,$Iban,$DirectDebitCustomerSettings,$DiscountAgreementId,$UnpaidInvoicesAmount);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['Id'])) $this->Id = $o['Id'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->Id)) $o['Id'] = $this->Id;
return empty($o) ? new class(){} : $o;
}
}
class EAccountingCustomerQuery extends EAccountingPagination implements ICompany, JsonSerializable
{
/**
* @param int|null $PageNumber
* @param int|null $PageSize
*/
public function __construct(
?int $PageNumber=null,
?int $PageSize=null,
/** @var string|null */
public ?string $CompanyId=null
) {
parent::__construct($PageNumber,$PageSize);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['CompanyId'])) $this->CompanyId = $o['CompanyId'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->CompanyId)) $o['CompanyId'] = $this->CompanyId;
return empty($o) ? new class(){} : $o;
}
}
PHP EAccountingCustomerQuery DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /eaccounting/customers HTTP/1.1 Host: api.bokamera.se Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Id: String, CustomerNumber: String, ContactPersonEmail: String, ContactPersonMobile: String, ContactPersonName: String, ContactPersonPhone: String, CurrencyCode: String, GLN: String, EmailAddress: String, EmailAddressOrder: String, EmailAddressQuote: String, DeliveryCustomerName: String, DeliveryAddress1: String, DeliveryAddress2: String, DeliveryCity: String, DeliveryCountryCode: String, DeliveryPostalCode: String, DeliveryMethodId: String, DeliveryTermId: String, PayToAccountId: String, Name: String, Note: String, ReverseChargeOnConstructionServices: False, WebshopCustomerNumber: 0, MobilePhone: String, Telephone: String, TermsOfPaymentId: String, EAccountingTermsOfPayment: { Id: String, Name: String, NameEnglish: String, NumberOfDays: 0, TermsOfPaymentTypeId: 0, TermsOfPaymentTypeText: String, AvailableForSales: False, AvailableForPurchase: False }, VatNumber: String, WwwAddress: String, LastInvoiceDate: String, IsPrivatePerson: False, IsNorthernIreland: False, DiscountPercentage: 0, ChangedUtc: "0001-01-01T00:00:00", IsActive: False, ForceBookkeepVat: False, EdiGlnNumber: String, SalesDocumentLanguage: String, ElectronicAddress: String, ElectronicReference: String, EdiServiceDelivererId: String, AutoInvoiceActivationEmailSentDate: "0001-01-01T00:00:00", AutoInvoiceRegistrationRequestSentDate: "0001-01-01T00:00:00", EmailAddresses: [ String ], CustomerLabels: [ { Id: String, Name: String, Description: String } ], MessageThreads: [ String ], Notes: [ String ], IsFutureInvoiceDateAllowed: False, DeliveryBasedVat: False, SalesPriceListId: String, Iban: String, DirectDebitCustomerSettings: { MandateId: String, MandateType: 0, SequenceType: 0 }, DiscountAgreementId: String, UnpaidInvoicesAmount: 0, CorporateIdentityNumber: String, InvoiceAddress1: String, InvoiceAddress2: String, InvoiceCity: String, InvoicePostalCode: String, InvoiceCountryCode: String }