Models overview
Calculation models
Located under Model\Calculation:
AssetToCalculation– represents a basket of assets to be used in offer calculation.OfferItem– a single item in the basket with financial parameters.ItemDetail– descriptive details about the asset.EsbCalculateBasicOfferRestReturn– result of basic offer calculation, including offer variants.
These models are typically built using builders:
use Imoli\EflLeasingSdk\Model\Calculation\AssetToCalculation;
use Imoli\EflLeasingSdk\Model\Calculation\OfferItem;
use Imoli\EflLeasingSdk\Model\Calculation\ItemDetail;
$itemDetail = new ItemDetail(
guid: 'item-guid-1',
description: 'Example asset'
// ... other required fields
);
$offerItem = OfferItem::builder('offer-item-guid-1')
->withItemDetail($itemDetail)
->build();
$basket = AssetToCalculation::builder('basket-guid-1')
->addOfferItem($offerItem)
->build();
Customer and lead models
Located under Model\Customer and Model\Lead:
CustomerData– top-level customer data for the transaction.Company/Person– legal entity or natural person details.Address,EmailAddress,Phone– contact details.CustomerDataStatement,StatementLead– statements and consents.ContactData– data for leads and contact forms.
Example:
use Imoli\EflLeasingSdk\Model\Customer\Address;
use Imoli\EflLeasingSdk\Model\Customer\Company;
use Imoli\EflLeasingSdk\Model\Customer\CustomerData;
use Imoli\EflLeasingSdk\Model\Customer\CustomerDataStatement;
use Imoli\EflLeasingSdk\Model\Customer\EmailAddress;
use Imoli\EflLeasingSdk\Model\Customer\Phone;
$company = Company::builder('company-guid', '1234567890')
->addEmail(new EmailAddress('email-guid', 'contact@example.com', 'work'))
->addPhone(new Phone('phone-guid', '+48', '123456789', 'mobile', 'mobile'))
->addAddress(new Address('addr-guid', 'Headquarters', 'registered_office', 'Warsaw', 'Main St', '1', '00-001', 'PL'))
->addStatement(new CustomerDataStatement('stmt-guid', true, 'gdpr'))
->build();
$customerData = CustomerData::builder('tx-1', 42)
->withCompany($company)
->build();
Process and verification models
Located under Model\Process and Model\Verification:
AuthenticateResponse– result of authentication / token retrieval and restore-process operations.FoicProcessStateResponse– process state response used when tracking process changes.VerificationInitializationParams/VerificationInitializationResult– input and output for identity verification initialisation.VerificationResult,ResultBlueMedia,StatusBlueMedia,BlueMediaProcessStateResponse– models representing identity verification outcomes and BlueMedia status.
These models allow you to work with typed representations of the process and verification state instead of raw arrays.
Products models
Located under Model\Products:
Sector,ProductClass,ProductType– hierarchical product catalogue entries (sector → class → type).Brand,ModelInfo– brand and model information for assets.SectorProductInfoTree,BrandProductInfoTree– tree structures returned by product information endpoints.
These models are typically returned by product-related methods on EflClient, such as getSectorClassAndType() and getBrandModelByProductType().
Restoration models
Located under Model\Restoration:
AuthenticationRestorationResult– result of customer session restoration.ReauthenticationAction– enum describing the next action to take after restoration (e.g. whether the user should be re-authenticated).
These models are returned by session restoration methods and help you decide how to continue the user flow after signing.
Error model
Located under Model\Error:
ProblemDetails– representation of API error details following RFC 7807.
Instances of ProblemDetails are available on ApiException and should be used for logging and diagnostics.