Introduction
The module’s integration adds all the commerce functionalities to your site. As the Commerce module itself consists of a lot of different elements, so will this guide be structured:
Development
Core
Entity Definitions
The definitions in this module have id discriminators in the range 75-120. |
The AbstractExpensableEntityDefinition extends the AbstractEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
currency |
stores the currency for the particular entity |
value |
stores the value for the particular entity |
The AbstractPriceableEntityDefinition extends the AbstractEntityDefinition:

The extra added getter-setter method here is via the property price. The information stored is a set of prices for the particular entity.
Catalog Definitions
Among the catalog-relevant definitions are:
The CommerceCatalogEntityDefinition extends the CatalogEntityDefinition, going further to the AbstractEntityDefinition and the AbstractNameableEntityDefinition.

The CommerceCatalogEntityDefinition
is a Nemesis definition interface that defines the catalog JPA entity. Items (like products, widgets, slots and pages, for example) are grouped into catalogs. Later on those catalogs are assigned to sites so that we can define which items are displayed on which site and when.
The InStockStatusDefinition extends the AbstractEntityEnum:

The added values to the enumeration’s list, are FORCEOUTOFSTOCK
and FORCEINSTOCK
.
The KeywordEntityDefinition extends the AbstractEntityDefinition:

The extra added getter-setter method here is via the property keyword. Respectively, the stored information is for the associated with the entity keyword.
The ManufacturerEntityDefinition extends the AbstractEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
name |
stores the name of the manufacturer |
description |
stores the description for the manufacturer |
logo |
stores the logo of the manufacturer |
The ProductApprovalStatusDefinition extends the AbstractEntityEnum:

The added values to the enumeration’s list, describe the status of the product - either APPROVED
or UNAPPROVED
.
The ProductEntityDefinition extends the AbstractEntityDefinition, the AbstractActivatableEntityDefinition, the AbstractCatalogableEntityDefinition, the AbstractDescriptionableEntityDefinition, the AbstractNameableEntityDefinition, the AbstractPicturableEntityDefinition, the AbstractCategorizableEntityDefinition, the AbstractDynamicEntityDefinition and the AbstractSearchEngineOptimizableEntityDefinition:
Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
unitOfMeasurement |
stores the unit the particular entity can be sold in |
picture |
stores the picture for the product |
thumbnail |
stores the thumbnail for the product |
variants |
stores a list of variants for the product |
defaultVariant |
stores the default variant for the base product |
price |
stores a list of prices for the product |
discounts |
stores a list of discounts for the product |
taxes |
stores a list of taxes for the product |
stockLevels |
stores a list of stock levels for the product |
categories |
stores a list of categories the product belongs to |
freeDelivery |
stores if the product has free delivery or not |
manufacturer |
stores information for the manufacturer of the product |
productReferences |
stores a list of product references for the product |
approvalStatus |
stores the approval status of the product |
variantType |
stores the variant type for the product |
galleryImages |
stores a list of media containers for the particular product |
The ProductReferenceEntityDefinition extends the AbstractEntityDefinition and the AbstractActivatableEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
description |
stores the description of the product reference |
quantity |
stores the quantity of this product reference |
source |
stores the source of the product reference |
target |
stores the target of the product reference |
referenceType |
stores the type of the product reference |
The ProductReferenceTypeDefinition extends the AbstractEntityEnum:

The enumerated list here stores information for the type the reference product is of, for example - is it ACCESSORIES
, what it CONSISTS_OF
, is it MANDATORY
to be bought, is it SIMILAR
to the one you bought, is it an UPSELLING
offer, is it a CROSSELLING
offer.
The StockLevelEntityDefinition extends the AbstractEntityDefinition and the AbstractCatalogableEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
amount |
stores the available amount for the stock level |
reserved |
stores the reserved amount for this stock level |
overSelling |
stores the amount we are allowed to oversell |
treatNegativeAsZero |
stores true if negative quantities are treated as zero |
inStockStatus |
stores the in-stock status ( |
product |
stores the product the stock is for |
warehouse |
stores the warehouse the stock is for |
The StockLevelStatusDefinition extends the AbstractEntityEnum:

The enumerated list here stores the values for the products in stock, respectively - LOWSTOCK
, INSTOCK
or OUTOFSTOCK
.
The UnitEntityDefinition extends the AbstractEntityDefinition and the AbstractNameableEntityDefinition:

The VariantAttributeDescriptorEntityDefinition extends the AbstractEntityDefinition and the AbstractNameableEntityDefinition:

The VariantProductEntityDefinition extends the ProductEntityDefinition. The inheritance goes further to the AbstractEntityDefinition, the AbstractActivatableEntityDefinition, the AbstractCatalogableEntityDefinition, the AbstractDescriptionableEntityDefinition and the AbstractNameableEntityDefinition:

Via the VariantProductEntityDefinition
Information for the baseProduct the variant is for is stored in the database. It can be retrieved via the respective getter-setter pair of methods.
The VariantTypeEntityDefinition extends the AbstractEntityDefinition:

The defined property within the interface is attributes. The stored information corresponds to the variant attribute descriptors for the particular variant type.
CMS Definitions
Among the CMS-relevant definitions are:
The CheckoutFlowEnumDefinition extends the AbstractEntityEnum:

The provided, via the enumerated list, values for checkout here, are SINGLE
and MULTISTEP
.
The CheckoutPciOptionEnumDefinition extends the AbstractEntityEnum:

The enumerated values correspond to a payment flow of your choice - HOP
- Hosted Order Post or SOP
- Silent Order Post.
The CommerceSiteEntityDefinition extends the SiteEntityDefinition. The inheritance goes further to the AbstractEntityDefinition and the AbstractDescriptionableEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
defaultCurrency |
stores the default currency for the website |
supportedCurrencies |
stores a set of the supported by the website currencies |
enable3DSecure |
stores information if the 3D secure is enabled |
productUrlPattern |
stores the url pattern for the product detail page |
checkoutFlow |
stores information for the checkout flow of the site |
checkoutPciOption |
stores the chosen checkout Pci Option for the website |
commerceCatalogs |
stores a set of commerce catalogs for the site |
enableRegionBasedDeliveryMode |
stores information if the delivery mode is region-based |
enablePersistenceCart |
stores information if a persistence cart is enabled or not |
placeOrderEmail |
stores the email message that is sent when a successful order is placed |
The PickupInStoreModeDefinition extends the AbstractEntityEnum:

The enumerated list stores the options a customer has when they want to buy a product - the product could be not available (DISABLED
), the product can be bought (BUY_AND_COLLECT`), or reserved (RESERVE_AND_COLLECT
).
Leasing Definitions
Among the Leasing-relevant definitions are:
The LeasingPaymentEntityDefinition extends the AbstractEntityDefinition, the AbstractCatalogableEntityDefinition and the AbstractExpensableEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
paymentFrequency |
stores the frequency of the intended leasing payment |
leasingProvider |
stores the leasing provider the leasing payment is for |
product |
stores the product this leasing is for |
The LeasingPaymentFrequencyDefinition extends the AbstractEntityEnum:

The enumerated values here refer to the frequency of the intended leasing payment. As specified, it can be done DAILY
,WEEKLY
,MONTHLY
,QUARTERLY
or YEARLY
.
The LeasingProviderEntityDefinition extends the AbstractEntityDefinition and the AbstractNameableEntityDefinition:

The defined here catalog property is supposed to store a CatalogEntityDefinition
instance. It represents the catalog the product is grouped in.
The LeasingSchemeEntityDefinition extends the AbstractEntityDefinition and the AbstractExpensableEntityDefinition.

Location Definitions
Among the location-relevant definitions are:
The CommerceStoreEntityDefinition adds the commerce features to the more general StoreEntityDefinition. The StoreEntityDefinition
, on the other hand, relies on the inherited methods and properties from the AbstractEntityDefinition, the AbstractDescriptionableEntityDefinition and the AbstractNameableEntityDefinition:

The defined property within the interface is warehouse. Here is kept the information from which warehouse the store gets its products.
The WarehouseEntityDefinition inherits the features of the AbstractEntityDefinition:

The property defined in the interface is name and stored the name of the respective warehouse.
Order Definitions
Among the order-relevant definitions are:
The AbstractPurchasableEntityDefinition
is a building-block interface for all entity definitions that need to have a reference to the cart. More specifically
in our platform the OrderEntityDefinition
is an instance of AbstractPurchasableEntityDefinition
and thus receives a relation to the cart.
The OrderEntityDefinition adds the order features to the general AbstractEntityDefinition and AbstractPurchasableEntityDefinition:

The OrderEntityDefinition
represents an order that was actually placed by a customer on the website. It fields hold all the information we know about the
order.
Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
cart |
stores a reference to the cart of the customer for this order. |
status |
stores the status of the order/cart |
deliveryStatus |
stores the delivery status of the order |
trackingCode |
stores the tracking code for the order |
salesApplication |
stores the sales application through which the order was placed (mobile app, website, pos device, etc). |
returnRequests |
stores a set of return requests that were initiated by the customer. |
The CartEntryEntityDefinition extends the AbstractEntityDefinition and the AbstractPurchasableEntityDefinition :

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
quantity |
stores the quantity of the products ordered in the abstract order entry |
entryNumber |
stores the number of the entry |
product |
stores the product of the abstract order entry |
basePrice |
stores the base price for the abstract order entry |
totalPrice |
stores the total price for the abstract order entry |
returned |
stores information if the anbstract entry is returned or not |
unit |
stores the particular unit the abstract order entry relates to |
calculated |
stores indormation if the order entry is calculated or not |
taxValues |
stores the total amount of the taxes, applied to the order entry |
discountValues |
stores the total amount of the discounts, applied to the order entry |
pickupStore |
stores the particular store the entry can be found in |
the AbstractPurchasableEntityDefinition extends the AbstractEntityDefinition:

The AbstractPurchasableEntityDefinition
is a building-block interface for all entity definitions that need to have a reference to the cart. More specifically
in our platform the OrderEntityDefinition
is an instance of AbstractPurchasableEntityDefinition
and thus receives a relation to the cart.
The AbstractPurchasableEntryEntityDefinition extends the AbstractEntityDefinition:

The respective getter-setter method gives you acces to the cartEntry.
The AdvancePaymentInfoEntityDefinition extends the PaymentInfoEntityDefinition:

This is a building-block interface that allows other entities to hold reference to the CheckoutInfoEntityDefinition
. Simply put all entities that can go
through the checkout process will extend from this building block interface
The CheckoutInfoEntityDefinition holds all the
information collected from the customer during the checkout process. Usually this information is them assigned to a CartEntityDefinition
because the cart
extends from AbstractCheckoutbableEntityDefinition
, and then the cart is attached to an OrderEntityDefinition
if order is placed.
The CartEntityDefinition is the respective extending entity for the cart’s features. The extended abstract entities are link:../../core/apidocs/com/nemesis/platform/core/definition/AbstractEntityDefinition .html[AbstractEntityDefinition], link:apidocs/com/nemesis/platform/module/commerce/core/definition/order/AbstractCheckoutableEntityDefinition .html[AbstractCheckoutableEntityDefinition], link:../../core/apidocs/com/nemesis/platform/core/definition/cms/AbstractSiteableEntityDefinition .html[AbstractSiteableEntityDefinition] and link:../../core/apidocs/com/nemesis/platform/core/definition/user/AbstractUserableEntityDefinition .html[AbstractUserableEntityDefinition]:

The CartEntryEntityDefinition extends the AbstractEntityDefinition, the AbstractMeasurableEntityDefinition and the AbstractPurchasableEntityDefinition:

The CreditCardPaymentInfoEntityDefinition extends the PaymentInfoEntityDefinition. The inheritance goes further to the AbstractEntityDefinition and the AbstractUserableEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
cardType |
stores the type of the credit card |
holderName |
stores the name of the card holder |
cardNumber |
stores the number of the credit card |
issueNumber |
stores the issue number of the credit card |
expiryMonth |
stores the month the card expires in |
expiryYear |
stores the year the card expires in |
subscriptionCode |
stores the subscription code for the credit card |
The CreditCardTypeDefinition extends the AbstractEntityEnum:

Here is stored a list of all credit cards that can be used for purchasing an item. If none of them is applicable, there is an UNKNOWN
option left.
The DeliveryModeEntityDefinition extends the AbstractEntityDefinition, the AbstractActivatableEntityDefinition, the AbstractNameableEntityDefinition and the AbstractDescriptionableEntityDefinition:

The DeliveryStatusDefinition extends the AbstractEntityEnum:

The enumerated values identify the status of the delivery, respectively - NOTSHIPPED
, PARTSHIPPED
or SHIPPED
.
The InvoiceEntityDefinition extends the AbstractEntityDefinition:

The extra property, defined in the InvoiceEntityDefinition
, stores the order the particular invoice is for.
The OrderCodeSequenceDefinition extends the AbstractSequenceDefinition:

The OrderEntityDefinition extends the AbstractOrderEntityDefinition, going further to the AbstractEntityDefinition and the AbstractUserableEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
trackingCode |
stores the code the order can be tracked by |
salesApplication |
stores the sales application the order was placed from |
statusDisplay |
stores the display status for the order |
returnRequests |
stores a set of return requests for the respective order |
The OrderEntryEntityDefinition extends all of the features, already defined in the CartEntryEntityDefinition, going further to the AbstractEntityDefinition :

The OrderStatusDefinition extends the AbstractEntityEnum:

The enumerated list here stores the valid statuses of the order. Among the possible values here, are CHECKED_VALID
, CHECKED_INVALID
, PAYMENT_AUTHORIZED
, PAYMENT_NOT_AUTHORIZED
, CANCELLED
, CANCELLING
, SUSPENDED
, CREATED
, ON_VALIDATION
, COMPLETED
and so on.
The PaymentInfoEntityDefinition extends the AbstractEntityDefinition and the AbstractUserableEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
saved |
stores if the paument is saved or not |
billingAddress |
stores the billing address for the payment information |
paymentMode |
stores the payment mode for the particular payment |
The PaymentModeEntityDefinition extends the defined features in the AbstractEntityDefinition, in the AbstractActivatableEntityDefinition , in the AbstractNameableEntityDefinition and in the AbstractDescriptionableEntityDefinition:

Two getter-setter pairs of methods are defined here via the respective properties:
Property | Description |
---|---|
paymentMethod |
stores the respective payment mode method, chosen for the particular payment |
values |
stores the price value of this payment mode |
The PaymentModeMethodDefinition extends the AbstractEntityEnum:

The available payment mode methods, defined within the enumerated list, are HOP
, SOP
and SUBSCRIPTION
.
The PaymentModeValueEntityDefinition extends the AbstractEntityDefinition and the AbstractExpensableEntityDefinition:

The defined here property lets information about the paymentMode to be stored in the database.
The PaymentTransactionEntityDefinition extends the AbstractEntityDefinition, the AbstractPurchasableEntityDefinition and the AbstractExpensableEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
requestToken |
stores the request token for the payment transaction |
transactionStatus |
stores the status of the transaction |
type |
stores the payment transaction type of the payment transaction |
transactionStatusDetails |
stores the details for the transaction status |
subscriptionCode |
stores the subscription code for the payment transaction |
paymentMode |
stores the payment mode for the payment transaction |
As the `PaymentTransactionEntityDefinition` is expensable, it contains information about how much is spent within the particular transaction.
The PaymentTransactionTypeDefinition extends the AbstractEntityEnum:

The enumeration list consists of the available payment types: AUTHORIZE
, REFUND_FOLLOW_ON
, REFUND_STANDALONE
, PAYER_AUTHENTICATION
and CAPTURE
The RefundReasonDefinition extends the AbstractEntityEnum:

The pre-defined enum value for the refund reason here is BROKEN_DELIVERY
.
The ReturnRequestEntityDefinition extends the AbstractEntityDefinition:

The property defined here stores the RMA (return merchandise authorization) number for the return request.
The SalesApplicationDefinition extends the AbstractEntityEnum:

The enumerated list consists of the values for the corresponding applications: WEB
, WEBMOBILE
and CALLCENTER
.
The TerritoryDeliveryModeEntityDefinition adds more features to the extended DeliveryModeEntityDefinition. The DeliveryModeEntityDefinition
relies on the AbstractEntityDefinition, the AbstractActivatableEntityDefinition, the AbstractNameableEntityDefinition and the AbstractDescriptionableEntityDefinition:

There are 2 properties, defined here:
Property | Description |
---|---|
net |
stores information if the delivery mode is net or not |
values |
stores a set of values for the delivery mode |
The TerritoryDeliveryModeValueEntityDefinition extends the AbstractEntityDefinition and the AbstractExpensableEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
deliveryMode |
stores the delivery mode for the territory delivery mode |
territory |
stores the particular territory for the territory delivery mode value |
minimumOrderValue |
stores the minimum order value for the territory delivery mode value |
xaximumOrderValue |
stores the maximum order value for the territory delivery mode value |
The TerritoryEntityDefinition extends the AbstractEntityDefinition:

There are 2 properties, defined here:
Property | Description |
---|---|
countries |
stores a set of countries that belong to the particular territory |
includedRegions |
stores a set of regions that belong to the particular territory |
The TransactionStatusDefinition extends the AbstractEntityEnum:

The transaction statuses, defined here, are ACCEPTED
and REVIEW
.
Price Definitions
Among the price-relevant definitions are:
The BidEntityDefinition extends AbstractEntityDefinition, the AbstractExpensableEntityDefinition and the AbstractUserableEntityDefinition:

The defined property here is customer. It stores information for the customer who made the bid.
The DiscountEntityDefinition extends the AbstractEntityDefinition, the AbstractActivatableEntityDefinition, the AbstractExpensableEntityDefinition, the AbstractCatalogableEntityDefinition, the AbstractPurchasableEntityDefinition and the AbstractFilterableEntityDefinition:

There are 2 properties, defined here:
Property | Description |
---|---|
name |
stores the name of the discount |
product |
stores the product this discount applies for |
The PackagingEntityDefinition inherits the features of the AbstractEntityDefinition:

The PriceEntityDefinition extends the AbstractEntityDefinition, the AbstractCatalogableEntityDefinition, the AbstractExpensableEntityDefinition and the AbstractFilterableEntityDefinition:

The defined property here is product. It’s intended to store the respective product the price applies for.
The TaxEntityDefinition extends the AbstractEntityDefinition, the AbstractCatalogableEntityDefinition, the AbstractExpensableEntityDefinition and the AbstractFilterableEntityDefinition:

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:
Property | Description |
---|---|
name |
stores the name of the tax |
absolute |
stores information if the tax is absolute or relative |
product |
stores the product the price applies for |
Search Definitions
The search-relevant definitions are:
The CommerceSearchFacetConfigEntityDefinition extends the SearchFacetConfigEntityDefinition, the latter inheriting the features of the AbstractEntityDefinition:

The defined here property - currencies - stores a set of the available currencies.
The ProductKeywordDestinationEntityDefinition extends the SearchFacetConfigEntityDefinition, the latter inheriting the features of the AbstractEntityDefinition:

The defined property here is product. It stores the particular product the keyword relates to.
User Definitions
The CommerceCustomerEntityDefinition extends the CustomerEntityDefinition and the CommerceUserEntityDefinition. The further inheritance goes to the UserEntityDefinition, the PrincipalEntityDefinition and the AbstractEntityDefinition. Please, refer to the diagram below:

There are 2 properties, defined here:
Property | Description |
---|---|
defaultPaymentInfo |
stores the default payment information for the respective user |
paymentInfos |
stores a set of payment infos for the respective user |
The CommerceUserEntityDefinition extends the UserEntityDefinition, going further to the PrincipalEntityDefinition and the AbstractEntityDefinition:

There are 2 properties, defined here:
Property | Description |
---|---|
sessionCurrency |
stores the currency the respective user uses within a session |
orders |
stores a set of orders for the respective user |
Spring Data JPA Repositories
Catalog Repositories
The catalog-related JPA Repositories are:
The BidRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the BidEntityDefinition
:

The KeywordRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the KeywordEntityDefinition
:

The ManufacturerRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the ManufacturerEntityDefinition
:

The PriceRepository extends the BaseCatalogableEntityRepository and is the corresponding Spring Data JPA repository for the PriceEntityDefinition
:

The ProductReferenceRepository extends the ActivatableRepository and the BaseEntityRepository. The ProductReferenceRepository
is the corresponding Spring Data JPA repository for the ProductReferenceEntityDefinition
:

The ProductRepository extends the ActivatableRepository and the BaseCatalogableEntityRepository. The ProductRepository
is the corresponding Spring Data JPA repository for the ProductEntityDefinition
:

The UnitRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the UnitEntityDefinition
:

The VariantAttributeDescriptorRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the VariantAttributeDescriptorEntityDefinition
:

The VariantProductRepository extends the ActivatableRepository and the BaseCatalogableEntityRepository. The VariantProductRepository
is the corresponding Spring Data JPA repository for the VariantProductEntityDefinition
:

The VariantTypeRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the VariantTypeEntityDefinition
:

Delivery Repositories
The delivery-related CountryTerritoryDeliveryModeRepository extends the BaseEntityRepository. The CountryTerritoryDeliveryModeRepository
is the corresponding Spring Data JPA repository for the DeliveryModeEntityDefinition
:

Discount Repositories
The DiscountRepository extends the ActivatableRepository and the BaseCatalogableEntityRepository. The DiscountRepository
is the corresponding Spring Data JPA repository for the DiscountEntityDefinition
:

Keyword Repositories
The ProductKeywordDestinationRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the ProductKeywordDestinationEntityDefinition
:

Leasing Repositories
The leasing-related repositories are:
The LeasingPaymentRepository extends the BaseCatalogableEntityRepository and is the corresponding Spring Data JPA repository for the LeasingPaymentEntityDefinition
:

The LeasingProviderRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the LeasingProviderEntityDefinition
:

The LeasingSchemeRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the LeasingSchemeEntityDefinition
:

Location Repositories
The location-related WarehouseRepository extends the BaseEntityRepository. The WarehouseRepository
is the corresponding Spring Data JPA repository for the WarehouseEntityDefinition
:

Order Repositories
The order-related repositories are:
The AbstractOrderEntryRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the AbstractOrderEntryRepository
:

The AbstractOrderRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the AbstractOrderEntityDefinition
:

The CartEntryRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the CartEntryEntityDefinition
:

The CartRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the CartEntityDefinition
:

The CreditCardPaymentInfoRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the CreditCardPaymentInfoEntityDefinition
:

The DeliveryModeRepository extends the ActivatableRepository and the BaseEntityRepository. The DeliveryModeRepository
is the corresponding Spring Data JPA repository for the DeliveryModeEntityDefinition
:

The InvoiceRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the InvoiceEntityDefinition
:

The OrderEntryRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the OrderEntryEntityDefinition
:

The OrderRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the OrderEntityDefinition
:

The PaymentInfoRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the PaymentInfoEntityDefinition
:

The PaymentModeRepository extends the ActivatableRepository and the BaseEntityRepository. The PaymentModeRepository
is the corresponding Spring Data JPA repository for the PaymentModeEntityDefinition
:

The PaymentTransactionRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the PaymentTransactionEntityDefinition
:

The TerritoryDeliveryModeRepository extends the ActivatableRepository and the BaseEntityRepository. The TerritoryDeliveryModeRepository
is the corresponding Spring Data JPA repository for the TerritoryDeliveryModeEntityDefinition
:

The TerritoryDeliveryModeValueRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the TerritoryDeliveryModeValueEntityDefinition
:

The TerritoryRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the TerritoryEntityDefinition
:

Price Repositories
The PackagingRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the PackagingEntityDefinition
:

The TaxRepository extends the BaseCatalogableEntityRepository and is the corresponding Spring Data JPA repository for the TaxEntityDefinition
:

Stock Repositories
The StockLevelRepository extends the BaseCatalogableEntityRepository and is the corresponding Spring Data JPA repository for the StockLevelEntityDefinition
:

Business Services
Among the helper functionalities, defined within the AddressVerificationService, are:
Description | Method |
---|---|
to verify the address entity |
verifyAddress() |
to check if the given suggestions after address validation can be suppressed by the user |
isCustomerAllowedToIgnoreSuggestions() |
Among the helper functionalities, defined within the CalculationService, are:
Description | Method |
---|---|
to calculate the order made by the user |
calculate() |
to recalculate the order, after the taxes, the delivery costs and the promotions |
recalculate() |
to calculate the total, after considering the quantity of the ordered products, all of the dicounts, taxes and promotions |
calculateTotals() |
Among the helper functionalities, defined within the AbstractOrderService, are:
Description | Method |
---|---|
to get an entry, based on the entry number |
getEntryForNumber() |
to retrieve the entreies for the particular product |
getEntriesForProduct() |
to retrieve the number of the ordered products in all entries |
getOrderTotalUnitCount() |
to retrieve the number of the ordered products in a single entry |
getEntryTotalUnitCount() |
The CartService extends the AbstractOrderService

Among the helper functionalities, defined within the CartService
, are:
Description | Method |
---|---|
to retrieve the cart for the particular session |
getSessionCart() |
to associate a shoppring cart with the particular session |
setSessionCart() |
to calculate the total cost of the products in the shopping cart |
calculateCart() |
to recalculate the total payment cost |
recalculateCart() |
to check if the products ordered are available and can be entered in the cart |
validateCart() |
to add a product to the cart |
addToCart() |
to update the number of the products ordered |
updateQuantityForCartEntry() |
to add an extra entry to the given order |
addNewEntry() |
to detach and remove the cart from the current session |
removeSessionCart() |
to check if a cart for the particular session exists |
hasSessionCart() |
to update the quantity of the ordered products, based on multiple entries |
updateQuantities() |
to change the currency within the current session |
changeSessionCartCurrency() |
Among the helper functionalities, defined within the CheckoutService, are:
Description | Method |
---|---|
to enter an address the order to be sent to |
setDeliveryAddress() |
to choose how the delivery to be made |
setDeliveryMode() |
to check if the way the order is to be made is valid |
validateDeliveryMode() |
to add the user’s payment information |
setPaymentInfo() |
to create the order for the cart |
placeOrder() |
to remove the specified delivery mode |
removeDeliveryMode() |
to enter the mode for the payment |
setPaymentMode() |
Among the helper functionalities, defined within the DeliveryService, are:
Description | Method |
---|---|
to get the countries the order can be sent to |
getDeliveryCountriesForOrder() |
to get a list of the addresses the order can be delivered to |
getSupportedDeliveryAddressesForOrder() |
to get the supported delivery modes for the given order |
getSupportedDeliveryModesForOrder() |
to get the delivery mode value |
getTerritoryDeliveryModeValueForAbstractOrder() |
to get the regions an order can be delivered to |
getDeliveryRegionsInCountry() |
Among the helper functionalities, defined within the DiscountService, are:
Description | Method |
---|---|
to retrieve the total amount of the discounts for the product |
getTotalDiscountAmountForProduct() |
to retrieve the lowest discount amount for the product |
getVariantLowestDiscountAmountForProduct() |
to retrieve the discount amount for the given order |
getOrderGlobalDiscountAmount() |
to retrieve the calculated discount amount for the given order |
getOrderDiscountAmount() |
to retrieve the discounts for the given entry |
getOrderEntryDiscountAmount() |
to retrieve all the discounts for the given product and its base product (if applicable) |
getDiscountsForProduct() |
to calculate the total monetary amount of the given discount |
calculateDiscountAmount() |
The CommerceI18NService extends the I18NService:

Among the helper functionalities, defined within the CommerceI18NService
, are:
Description | Method |
---|---|
to retrieve the current currency for the session |
getCurrentCurrency() |
to define the currency for the session |
setCurrentCurrency() |
to get the default site currency for the session |
getDefaultCurrency() |
to convert the monetary amount from one currency to another |
convert() |
Among the helper functionalities, defined within the AbstractOrderEntryService, are:
Description | Method |
---|---|
to create a new order entry |
createEntry() |
to add a new discount value to the given entry |
addDiscountValue() |
to add a collection of all discount values, applicable to the given entry |
addAllDiscountValues() |
to remove a given discount from the entry |
removeDiscountValue() |
to collect the global discount values, appllicable to the entry |
getGlobalDiscountValue() |
to add the applicable taxes to the entry |
addTaxValue() |
to add a collection of all taxes to the entry |
addAllTaxValues() |
to remove a particular tax on an entry |
removeTaxValue() |
The OrderService extends the AbstractOrderService:

Among the helper functionalities, defined within the OrderService
, are:
Description | Method |
---|---|
to create the order, based on the added to the cart products |
createOrderFromCart() |
to submit the order made |
submitOrder() |
The helper method, defined in the OrderRefundService is processOrderRefund(). It’s supposed to start the order’s refund.
The helper method, defined in the OrderReturnService is createRMA(). It instantiates the return request process.
Among the helper functionalities, defined within the PaymentService, are:
Description | Method |
---|---|
to initiate the payment via the hosted order post |
beginHopCreatePaymentSubscription() |
to initiate the payment via the silent order post |
beginSopCreatePaymentSubscription() |
to complete the payment via the hosted order post |
completeHopCreatePaymentSubscription() |
to complete the payment via the silent order post |
completeSopCreatePaymentSubscription() |
Among the helper functionalities, defined within the PriceService, are:
Description | Method |
---|---|
to retrieve the price for the given product in the current currency |
getWebPriceForProduct() |
to retrieve the lowest variant price for the given product |
getFromPriceForProduct() |
to retrieve the price for the given product in base currency |
getPriceForProductInDefaultCurrency() |
to calculate the price for using the given payment method with the given order |
getPaymentModePrice() |
The helper method, defined in the TaxService is getAmountAfterTaxes(). It helps the respective calculations to be done.
Among the helper functionalities, defined within the ProductService, are:
Description | Method |
---|---|
to retrieve the base product for the chosen product variant |
getBaseProductForProduct() |
to retrieve all available products or all products related to a certain category |
getAllProducts() |
to retrieve all variant products modified after the given date and time and corresponding to the given catalog version |
getAllDirtyProducts() |
to check if the given product or its base product belongs to a given collection of products |
isProductOrItsBaseProductInProductCollection() |
Among the helper functionalities, defined within the StockService, are:
Description | Method |
---|---|
to retrieve the total stock amount of the searched product |
getTotalStockLevelAmount() |
to retrieve the total stock level amount of the given product for the given site |
getStockLevelForProductAndSite() |
to retrieve the total stock level amount of the given product for the given store |
getStockLevelForProductAndStore() |
to retrieve the total stock level amount of the given product for the given warehouse |
getStockLevelForProductAndWarehouse() |
to reserve a given amount of products in a given warehouse |
reserve() |
to release a given amount of products from a given warehouse |
release() |
to retrieve the available stock amount of a particular product |
getStockLevelStatusForProduct() |
to calculate the actual total stock level amount from a given collection of products |
calculateTotalActualAmount() |
to retrieve the actual in-stock status for the given product |
getInStockStatusForProduct() |
to update the stock availability of the given product for the given warehouse |
updateProductStockQuantityInWarehouse() |
The helper method, defined in the SimpleSuggestionService is getReferencesForPurchasedInCategory(). It lets you retrieve a list of referenced products for a product purchased in a category identified by categoryCode.
The CommerceCustomerAccountService extends the CustomerAccountService:

Among the helper functionalities, defined within the CommerceCustomerAccountService
, are:
Description | Method |
---|---|
to update the profile information for the given customer |
updateProfile() |
to convert a guest user to a registered customer |
convertGuestToCustomer() |
to retrieve the payment information by the given payment code and customer |
getPaymentInfoForCode() |
to retireve all the saved information for the particular customer |
getPaymentInfos() |
to edit the payment information for the given customer |
editPaymentInfo() |
to create new payment information for the user |
createPaymentInfo() |
to let the user set their default payment information |
setDefaultPaymentInfo() |
to remove a credit card payment information from the given customer’s account |
unlinkCCPaymentInfo() |
to retrievea list of the made user’s orders |
getOrderList() |
to retrieve a particular order by its code |
getOrderForCode() |
The helper method, defined in the VariantsService is getVariantAttributeValue()
.
Among the helper functionalities, defined within the WarehouseService, are:
Description | Method |
---|---|
to retrieve the warehouse with all the in-stock products |
getWarehousesWithProductsInStock() |
to retrieve a collection of all the warehouses |
getWarehouses() |
to retrieve the default warehouse |
getDefaultWarehouse() |
Facade
MapperFactoryConfigurers
The ProductBreadcrumbMapperFactoryConfigurer implements the MapperFactoryConfigurer:

The registered conversions, within the configurer, are:
-
from
ProductEntityDefinition
toBreadcrumbProductDtoDefinition
and -
from
CategoryEntityDefinition
toBreadcrumbCategoryDtoDefinition
.
The conversion is done via the byDefault()
method.
The CartMapperFactoryConfigurer implements the MapperFactoryConfigurer:

The registered conversions, within the configurer, are:
-
from
CartEntityDefinition
toAbstractCartDtoDefinition
, -
from
CartEntityDefinition
toCartDtoDefinition
and -
from
CartEntityDefinition
toMiniCartDtoDefinition
Apart from the first, customized conversion, all the other are done via the byDefault()
method.
The CartModificationMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the CommerceCartModification
to CartModificationDtoDefinition
:

The conversion is done via the byDefault()
method.
The CheckoutOrderEntryProductMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition
to the CheckoutCartEntryProductDtoDefinition
:

The conversion is done via the byDefault()
method.
The CommerceSiteMapperFactoryConfigurer implements the MapperFactoryConfigurer:

The registered conversions, within the configurer, are:
-
from
CommerceSiteEntityDefinition
toCommerceSiteDtoDefinition
and -
from
CategoryEntityDefinition
toDetailsProductCategoryDtoDefinition
.
The conversion is done via the byDefault()
method.
The LeasingPaymentMapperFactoryConfigurer implements the MapperFactoryConfigurer:

The registered conversions, within the configurer, are:
-
from
LeasingPaymentEntityDefinition
toLeasingPaymentDtoDefinition
and -
from
LeasingProviderEntityDefinition
toLeasingProviderDtoDefinition
The first conversion is customized, whereas the second is done via the byDefault()
method.
The BidMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the BidEntityDefinition
to BidDtoDefinition
:

The conversion is customized.
The CreditCardPaymentInfoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the CreditCardPaymentInfoEntityDefinition
to CreditCardPaymentInfoDtoDefinition
:

The conversion is customized.
The DeliveryModeMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the DeliveryModeEntityDefinition
to DeliveryModeDtoDefinition
:

The conversion is customized.
The OrderBasicDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition
to OrderBasicDtoDefinition
:

The conversion is customized.
The OrderDeliveryAddressDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition
to OrderDeliveryAddressDtoDefinition
:

The conversion is done via the byDefault()
method.
The OrderDeliveryMethodDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition
to OrderDeliveryMethodDtoDefinition
:

The conversion is done via the byDefault()
method.
The OrderDeliveryCartEntryGroupsDtoMapperFactoryConfigurer extends the CartEntryGroupsDtoMapperFactoryConfigurerSupport and implements the MapperFactoryConfigurer:

The conversion, registered here, is from AbstractOrderEntityDefinition
to OrderDeliveryOrderEntryGroupsDtoDefinition
. The conversion is customized.
The OrderDeliveryStatusDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition
to OrderDeliveryStatusDtoDefinition
:

The conversion is customized.
The OrderDiscountsDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition
to OrderDiscountsDtoDefinition
:

The conversion is customized.
The CartEntriesDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition
to OrderEntriesDtoDefinition
:

The conversion is done via the byDefault()
method.
The CartEntryMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the CartEntryEntityDefinition
to OrderEntryDtoDefinition
:

The conversion is customized.
The OrderEntryProductMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition
to OrderEntryProductDtoDefinition
:

The conversion is done via the byDefault()
method.
The OrderHistoryMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the OrderEntityDefinition
to OrderHistoryDtoDefinition
:

The conversion is done via the byDefault()
method.
The OrderMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the OrderEntityDefinition
to OrderDtoDefinition
:

The conversion is customized.
The OrderPaymentInfoDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition
to OrderPaymentInfoDtoDefinition
:

The conversion is customized.
The OrderPickupCartEntryGroupsDtoMapperFactoryConfigurer extends the CartEntryGroupsDtoMapperFactoryConfigurerSupport and implements the MapperFactoryConfigurer:

The customized conversion is from AbstractOrderEntityDefinition
to OrderPickupOrderEntryGroupsDtoDefinition
.
The OrderStatusDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the OrderEntityDefinition
to OrderStatusDtoDefinition
:

The conversion is customized.
The OrderTotalsDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition
to OrderTotalsDtoDefinition
:

The conversion is customized.
The PaymentTransactionMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the PaymentTransactionEntityDefinition
to PaymentTransactionDtoDefinition
:

The conversion is customized.
The TerritoryDeliveryModeMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the TerritoryDeliveryModeEntityDefinition
to DeliveryModeDtoDefinition
:

The conversion is customized.
The PaymentModeMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the PaymentModeEntityDefinition
to PaymentModeDto
:

The conversion is customized.
The PaymentSubscriptionResultMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the PaymentSubscriptionResultItem
to PaymentSubscriptionResultDto
:

The conversion is done via the byDefault()
method.
The BaseOptionDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the VariantProductEntityDefinition
to BaseOptionDto
:

The conversion is customized.
The ProductImagesDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition
to ProductPrimaryImageDtoDefinition
:

The conversion is customized.
The ProductMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition
to ProductUrlDtoDefinition
:

The conversion is customized.
The ProductPriceDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition
to ProductPriceDtoDefinition
:

The conversion is customized.
The ProductReferenceMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition
to ProductReferencesDtoDefinition
:

The conversion is customized.
The VariantOptionDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the VariantProductEntityDefinition
to VariantOptionDtoDefinition
:

The conversion is customized.
The AutocompleteSearchProductMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the SearchRequestProductDtoDefinition
to AutocompleteSearchProductDtoDefinition
:

The conversion is customized.
The ProductSearchMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition
to SearchRequestProductDtoDefinition
:

The conversion is customized.
The SearchProductMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the SearchRequestProductDtoDefinition
to SearchProductDtoDefinition
:

The conversion is customized.
The CommerceUserMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the CommerceUserEntityDefinition
to CustomerDetailsDtoDefinition
:

The conversion is done via the byDefault()
method.
The CustomerDetailsMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the CustomerEntityDefinition
to CustomerDetailsDtoDefinition
:

The conversion is done via the byDefault()
method.
More about the mapping configurations you may read in the respective Orika guide.
Dto definitions
The BreadcrumbCategoryDtoDefinition extends the AbstractCategoryDtoDefinition, the CategoryBasicDtoDefinition, the CategoryUrlDtoDefinition and the CategorySupercategoriesDtoDefinition:

This is the corresponding Dto object for the CategoryEntityDefinition
.
The BreadcrumbProductDtoDefinition extends the AbstractProductDtoDefinition, the ProductBasicDtoDefinition, and the ProductBreadcrumbMapperFactoryConfigurer, going further to the AbstractCategoryDtoDefinition :

This is the corresponding Dto object for the ProductEntityDefinition
.
The CheckoutCartEntryProductDtoDefinition extends the AbstractOrderEntryProductDtoDefinition. The inheritance chain goes further to the AbstractProductDtoDefinition, the ProductBasicDtoDefinition, the ProductUrlDtoDefinition, the ProductPriceDtoDefinition, the ProductBaseOptionsDtoDefinition and the ProductPrimaryImageDtoDefinition:

This is the corresponding Dto object for the ProductEntityDefinition
The CommerceSiteDtoDefinition extends the SiteDtoDefinition:

This is the corresponding Dto object for the CommerceSiteEntityDefinition
The DetailsProductCategoryDtoDefinition extends the AbstractCategoryDtoDefinition , the CategoryBasicDtoDefinition, the CategoryUrlDtoDefinition and the CategorySupercategoriesDtoDefinition:

This is the corresponding Dto object for the CategoryEntityDefinition
.
The DetailsProductDtoDefinition extends the UrlProductDtoDefinition and the DetailsDtoDefinition. The inheritance chain goes further to the AbstractProductDtoDefinition and the ProductUrlDtoDefinition:

The OrderPlacedEmailMessageContextDtoDefinition extends the EmailMessageContextDtoDefinition:

The LeasingPaymentDtoDefinition is the corresponding Dto object for the LeasingPaymentEntityDefinition
.
The LeasingProviderDtoDefinition is the corresponding Dto object for the LeasingProviderEntityDefinition
.
The AbstractCartDtoDefinition extends the AbstractOrderDtoDefinition, going further to the OrderBasicDtoDefinition and the OrderTotalsDtoDefinition:

This is the corresponding Dto object for the CartEntityDefinition
.
The AbstractOrderDtoDefinition extends the OrderBasicDtoDefinition and the OrderTotalsDtoDefinition:

the AbstractOrderEntryProductDtoDefinition extends the AbstractProductDtoDefinition, the ProductBasicDtoDefinition, the ProductUrlDtoDefinition, the ProductPriceDtoDefinition, the ProductBaseOptionsDtoDefinition and the ProductPrimaryImageDtoDefinition:

The BidDtoDefinition is the corresponding Dto object for the BidEntityDefinition
.
The CartDtoDefinition extends the AbstractCartDtoDefinition, the OrderDiscountsDtoDefinition, the OrderEntriesDtoDefinition, the OrderDeliveryAddressDtoDefinition, the OrderDeliveryMethodDtoDefinition, the OrderPaymentInfoDtoDefinition, the OrderDeliveryOrderEntryGroupsDtoDefinition and the OrderPickupOrderEntryGroupsDtoDefinition:

This is the corresponding Dto object for the CartEntityDefinition
.
The CartModificationDtoDefinition is the corresponding Dto object for the CommerceCartModification
The CreditCardPaymentInfoDtoDefinition extends the PaymentInfoDtoDefinition:

This is the corresponding Dto object for the CreditCardPaymentInfoEntityDefinition
.
The DeliveryModeDtoDefinition is the corresponding Dto object for the TerritoryDeliveryModeEntityDefinition
.
The DeliveryCartEntryGroupDto extends CartEntryGroupDto:

The MiniCartDtoDefinition extends the AbstractCartDtoDefinition and the OrderEntriesDtoDefinition. The inheritance goes further to the AbstractOrderDtoDefinition, the OrderBasicDtoDefinition and the OrderTotalsDtoDefinition:

This is the corresponding Dto object for the CartEntityDefinition
.
The OrderBasicDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition
.
The OrderDeliveryAddressDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition
.
The OrderDeliveryMethodDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition
.
The OrderDeliveryOrderEntryGroupsDtoDefinition extends the OrderEntriesDtoDefinition:

This is the corresponding Dto object for the AbstractOrderEntityDefinition
.
The OrderDeliveryStatusDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition
.
The OrderDiscountsDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition
.
The OrderDtoDefinition inherits some features here from the following interfaces: the AbstractOrderDtoDefinition, the OrderDiscountsDtoDefinition, the OrderEntriesDtoDefinition, the OrderDeliveryAddressDtoDefinition, the OrderDeliveryMethodDtoDefinition, the OrderPaymentInfoDtoDefinition, the OrderDeliveryStatusDtoDefinition, the OrderStatusDtoDefinition, the OrderPickupOrderEntryGroupsDtoDefinition and the OrderDeliveryOrderEntryGroupsDtoDefinition.
The OrderDtoDefinition
is the corresponding Dto object for the OrderEntityDefinition
.
the OrderEntriesDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition
.
The OrderEntryDtoDefinition is the corresponding Dto object for the CartEntryEntityDefinition
.
The OrderEntryProductDtoDefinition extends the AbstractOrderEntryProductDtoDefinition, the ProductDescriptionDtoDefinition, the ProductDiscountDtoDefinition, the ProductGalleryImagesDtoDefinition, the ProductBaseOptionsDtoDefinition and the ProductVariantOptionsDtoDefinition:

This is the corresponding Dto object for the ProductEntityDefinition
.
The OrderHistoryDtoDefinition is the corresponding Dto object for the OrderEntityDefinition
.
The OrderPaymentInfoDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition
.
the OrderPickupOrderEntryGroupsDtoDefinition extends the OrderEntriesDtoDefinition:

This is the corresponding Dto object for the AbstractOrderEntityDefinition
.
The OrderStatusDtoDefinition is the corresponding Dto object for the OrderEntityDefinition
.
the OrderTotalsDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition
.
The PaymentInfoDtoDefinition is the base class for the payment information.
The PaymentModeDto is the corresponding Dto object for the PaymentModeEntityDefinition
.
The PickupCartEntryGroupDto extends the CartEntryGroupDto:

The BaseOptionDto is the corresponding Dto object for the VariantProductEntityDefinition
The ProductGalleryImagesDtoDefinition extends the AbstractProductImagesDtoDefinition:

The ProductPriceDtoDefinition is the corresponding Dto object for the ProductEntityDefinition
.
The ProductPrimaryImageDtoDefinition extends the AbstractProductImagesDtoDefinition:

This is the corresponding Dto object for the ProductEntityDefinition
.
The ProductReferenceProductDtoDefinition extends the AbstractProductDtoDefinition, the ProductBasicDtoDefinition, the ProductUrlDtoDefinition, the ProductPrimaryImageDtoDefinition, the ProductPriceDtoDefinition, the ProductDiscountDtoDefinition, the ProductDescriptionDtoDefinition, the ProductVariantOptionsDtoDefinition, the ProductGalleryImagesDtoDefinition and the ProductBaseOptionsDtoDefinition .
The ProductReferencesDtoDefinition is the corresponding Dto object for the ProductEntityDefinition
.
the ProductUrlDtoDefinition is the corresponding Dto object for the ProductEntityDefinition
The UrlProductDtoDefinition extends the AbstractProductDtoDefinition and the ProductUrlDtoDefinition:

The VariantOptionDtoDefinition extends the ProductGalleryImagesDtoDefinition and the ProductPrimaryImageDtoDefinition. The inheritance goes further to the AbstractProductImagesDtoDefinition:

This is the corresponding Dto object for the VariantProductEntityDefinition
.
The VariantOptionsProductDtoDefinition extends the AbstractProductDtoDefinition and the ProductVariantOptionsDtoDefinition:

The AutocompleteSearchProductDtoDefinition extends the AbstractProductDtoDefinition, the AutocompleteSearchDtoDefinition, the ProductBasicDtoDefinition, the ProductDescriptionDtoDefinition, the ProductPriceDtoDefinition and the ProductDiscountDtoDefinition:

This is the corresponding Dto object for the SearchRequestProductDtoDefinition
.
The ProductFacetSearchPageDtoDefinition extends the FacetSearchPageDtoDefinition, the SearchPageBreadcrumbDtoDefinition and the SearchPageFacetsDtoDefinition:

The SearchProductCategoryDtoDefinition extends the AbstractCategoryDtoDefinition , the CategoryBasicDtoDefinition, the CategoryUrlDtoDefinition and the CategorySupercategoriesDtoDefinition:

The SearchProductDtoDefinition extends the AbstractProductDtoDefinition, the SearchDtoDefinition, the ProductBasicDtoDefinition, the ProductDescriptionDtoDefinition, the ProductPriceDtoDefinition, the ProductDiscountDtoDefinition, the ProductBreadcrumbMapperFactoryConfigurer, and the AbstractProductImagesDtoDefinition:

This is the corresponding Dto object for the SearchRequestProductDtoDefinition
.
The RelatedProductDtoDefinition extends the ProductBasicDtoDefinition, the ProductUrlDtoDefinition, the ProductBaseOptionsDtoDefinition, the ProductPrimaryImageDtoDefinition and the ProductPriceDtoDefinition:

The CustomerDetailsDtoDefinition extends the UserDetailsDtoDefinition, going further to the UserDetails:

This is the corresponding Dto object for the CommerceUserEntityDefinition
.
Facades
The functionalities, defined in the AddressVerificationFacade, let you:
-
verify the incoming address and
-
check if the user can ignore the provided address validation suggestions
The CheckoutFlowFacade extends the CheckoutFacade:

The functionalities, defined in the CheckoutFlowFacade
, let you:
-
get information about the checkout flow in the current session and
-
get information about the pci strategy in the current session
The functionalities, defined in the CustomerFacade, let you:
-
check if the address book is left empty,
-
retrieve the information from the address book,
-
add address,
-
remove address,
-
edit address,
-
take the user’s default address,
-
check if the entered address is the default one,
-
register a new user with predefined parameters,
-
create a guest user,
-
send an email in case of a forgotten password,
-
update the user’s password,
-
change the user’s password,
etc.
The DeliveryFacade holds delivery-related methods. The defined functionalities here let you:
-
obtain the delivery regions of the given country,
-
obtain a list of supported delivery countries, sorted alphabetically by code
The CommerceI18NFacade extends the I18NFacade:

The functionalities, defined in the CommerceI18NFacade
, let you:
-
obtain the supported currencies for the site
-
get the default currency from the particular session
The BidFacade is responsible for returning the bid history of the current user.
The functionalities, defined in the CartFacade, let you:
-
get the cart of the particular session,
-
check if the current session has a cart,
-
validate all the entries in the shopping cart,
-
validate the data in the shoppint cart,
-
add a product to the cart,
etc.
The functionalities, defined in the CheckoutFacade, let you:
-
collect a list of all HOP payment modes in the system,
-
collect a list of all SOP payment modes in the system,
-
edit the payment information,
-
let the user create their payment information,
-
get the payment details, entered by the user,
-
collect information for the delivery regions of the given country,
-
remove the delivery address,
-
authorize the payment,
etc.
The functionalities, defined in the OrderFacade, let you:
-
get the details for the order done,
-
track the order history of the user,
-
mark a given entry as refunded,
-
initiate the whole return process,
etc.
The functionalities, defined in the PaymentFacade, let you:
-
get the payment mode,
-
begin the payment in the chosen way,
-
complete the created payment,
etc.
The functionalities, defined in the ProductFacade, let you:
-
identify the particular product, based on the entered code,
-
identify the base product, based on a different product with a code,
-
get the name of the given product,
-
get the list of the gallery images for the particular product,
-
remove the given product from the cache,
etc.
The functionalities, defined in the CommerceSearchExportFacade, let you:
-
find all available products,
-
find all available variants of the basic products
The CommerceStoreSessionFacade extends the StoreSessionFacade:

The functionalities, defined in the CommerceStoreSessionFacade
, let you:
-
get the current currency, stored in the session,
-
set the currency for the current session,
-
get information for the currency, used within the current session
The functionality, defined in the StockFacade, lets you get aware of the total amount of the products' items, available in stock.
The functionality, defined in the SimpleSuggestionFacade, lets you identify all the purchased reference products.
The CommerceUserFacade extends the UserFacade:

The functionality, defined in the CommerceUserFacade
, lets you store the currency, chosen by the user (different from the default one).
The functionality, defined in the WarehouseFacade, lets you update the stock availability of the given product for the default warehouse.
Configuration
Name | Type | Description |
---|---|---|
nemesis.commerce.enable-fallback-currency-provider |
java.lang.Boolean |
Enable/disable the fallback currency provider. Conversion rates are stored in db instead of fetching them dynamically from IMF or ECB. |
nemesis.commerce.order-code-generator.digits |
java.lang.Integer |
How many digits will the generated id be. |
nemesis.commerce.order-code-generator.prefix |
java.lang.String |
Optional prefix for the generated values. |
nemesis.commerce.order-code-generator.start |
java.lang.Integer |
What will be the starting number for the generator. |