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:

Business

Development

Core

Entity Definitions

The definitions in this module have id discriminators in the range 75-120.

AbstractExpensableEntityDefinition

The AbstractExpensableEntityDefinition extends the AbstractEntityDefinition:

asciidoctor diagram AbstractExpensableEntityDefinition

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

AbstractPriceableEntityDefinition

The AbstractPriceableEntityDefinition extends the AbstractEntityDefinition:

asciidoctor diagram AbstractPriceableEntityDefinition

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:

CommerceCatalogEntityDefinition

The CommerceCatalogEntityDefinition extends the CatalogEntityDefinition, going further to the AbstractEntityDefinition and the AbstractNameableEntityDefinition.

asciidoctor diagram CommerceCatalogEntityDefinition

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.

InStockStatusDefinition

The InStockStatusDefinition extends the AbstractEntityEnum:

asciidoctor diagram InStockStatusDefinition

The added values to the enumeration’s list, are FORCEOUTOFSTOCK and FORCEINSTOCK.

KeywordEntityDefinition

The KeywordEntityDefinition extends the AbstractEntityDefinition:

asciidoctor diagram KeywordEntityDefinition

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

ManufacturerEntityDefinition

The ManufacturerEntityDefinition extends the AbstractEntityDefinition:

asciidoctor diagram ManufacturerEntityDefinition

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

ProductApprovalStatusDefinition

The ProductApprovalStatusDefinition extends the AbstractEntityEnum:

asciidoctor diagram ProductApprovalStatusDefinition

The added values to the enumeration’s list, describe the status of the product - either APPROVED or UNAPPROVED.

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

ProductReferenceEntityDefinition

The ProductReferenceEntityDefinition extends the AbstractEntityDefinition and the AbstractActivatableEntityDefinition:

asciidoctor diagram ProductReferenceEntityDefinition

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

ProductReferenceTypeDefinition

The ProductReferenceTypeDefinition extends the AbstractEntityEnum:

asciidoctor diagram ProductReferenceTypeDefinition

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.

asciidoctor diagram StockLevelEntityDefinition

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 (FORCEOUTOFSTOCK or FORCEINSTOCK)

product

stores the product the stock is for

warehouse

stores the warehouse the stock is for

StockLevelStatusDefinition

The StockLevelStatusDefinition extends the AbstractEntityEnum:

asciidoctor diagram StockLevelStatusDefinition

The enumerated list here stores the values for the products in stock, respectively - LOWSTOCK, INSTOCK or OUTOFSTOCK.

asciidoctor diagram UnitEntityDefinition
VariantAttributeDescriptorEntityDefinition

The VariantAttributeDescriptorEntityDefinition extends the AbstractEntityDefinition and the AbstractNameableEntityDefinition:

asciidoctor diagram VariantAttributeDescriptorEntityDefinition
asciidoctor diagram VariantProductEntityDefinition

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.

VariantTypeEntityDefinition

The VariantTypeEntityDefinition extends the AbstractEntityDefinition:

asciidoctor diagram VariantTypeEntityDefinition

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:

CheckoutFlowEnumDefinition

The CheckoutFlowEnumDefinition extends the AbstractEntityEnum:

asciidoctor diagram CheckoutFlowEnumDefinition

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

CheckoutPciOptionEnumDefinition

The CheckoutPciOptionEnumDefinition extends the AbstractEntityEnum:

asciidoctor diagram CheckoutPciOptionEnumDefinition

The enumerated values correspond to a payment flow of your choice - HOP - Hosted Order Post or SOP - Silent Order Post.

CommerceSiteEntityDefinition

The CommerceSiteEntityDefinition extends the SiteEntityDefinition. The inheritance goes further to the AbstractEntityDefinition and the AbstractDescriptionableEntityDefinition:

asciidoctor diagram CommerceSiteEntityDefinition

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

PickupInStoreModeDefinition

The PickupInStoreModeDefinition extends the AbstractEntityEnum:

asciidoctor diagram PickupInStoreModeDefinition

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:

asciidoctor diagram LeasingPaymentEntityDefinition

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

LeasingPaymentFrequencyDefinition

The LeasingPaymentFrequencyDefinition extends the AbstractEntityEnum:

asciidoctor diagram LeasingPaymentFrequencyDefinition

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.

LeasingProviderEntityDefinition

The LeasingProviderEntityDefinition extends the AbstractEntityDefinition and the AbstractNameableEntityDefinition:

asciidoctor diagram LeasingProviderEntityDefinition

The defined here catalog property is supposed to store a CatalogEntityDefinition instance. It represents the catalog the product is grouped in.

LeasingSchemeEntityDefinition

The LeasingSchemeEntityDefinition extends the AbstractEntityDefinition and the AbstractExpensableEntityDefinition.

asciidoctor diagram LeasingSchemeEntityDefinition
Location Definitions

Among the location-relevant definitions are:

CommerceStoreEntityDefinition

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:

asciidoctor diagram CommerceStoreEntityDefinition

The defined property within the interface is warehouse. Here is kept the information from which warehouse the store gets its products.

WarehouseEntityDefinition

The WarehouseEntityDefinition inherits the features of the AbstractEntityDefinition:

asciidoctor diagram WarehouseEntityDefinition

The property defined in the interface is name and stored the name of the respective warehouse.

Order Definitions

Among the order-relevant definitions are:

AbstractPurchasableEntityDefinition

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.

OrderEntityDefinition

The OrderEntityDefinition adds the order features to the general AbstractEntityDefinition and AbstractPurchasableEntityDefinition:

asciidoctor diagram AbstractOrderEntityDefinition

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.

CartEntryEntityDefinition

The CartEntryEntityDefinition extends the AbstractEntityDefinition and the AbstractPurchasableEntityDefinition :

asciidoctor diagram CartEntryEntityDefinition

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

AbstractPurchasableEntityDefinition

the AbstractPurchasableEntityDefinition extends the AbstractEntityDefinition:

asciidoctor diagram AbstractPurchasableEntityDefinition

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.

AbstractPurchasableEntryEntityDefinition

The AbstractPurchasableEntryEntityDefinition extends the AbstractEntityDefinition:

asciidoctor diagram AbstractPurchasableEntryEntityDefinition

The respective getter-setter method gives you acces to the cartEntry.

AdvancePaymentInfoEntityDefinition

The AdvancePaymentInfoEntityDefinition extends the PaymentInfoEntityDefinition:

asciidoctor diagram AdvancePaymentInfoEntityDefinition
AbstractCheckoutableEntityDefinition

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

CheckoutInfoEntityDefinition

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.

CartEntityDefinition

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]:

asciidoctor diagram CartEntityDefinition
asciidoctor diagram CartEntryEntityDefinition
CreditCardPaymentInfoEntityDefinition

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

asciidoctor diagram CreditCardPaymentInfoEntityDefinition

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

CreditCardTypeDefinition

The CreditCardTypeDefinition extends the AbstractEntityEnum:

asciidoctor diagram CreditCardTypeDefinition

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.

asciidoctor diagram DeliveryModeEntityDefinition
DeliveryStatusDefinition

The DeliveryStatusDefinition extends the AbstractEntityEnum:

asciidoctor diagram DeliveryStatusDefinition

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

InvoiceEntityDefinition

The InvoiceEntityDefinition extends the AbstractEntityDefinition:

asciidoctor diagram InvoiceEntityDefinition

The extra property, defined in the InvoiceEntityDefinition, stores the order the particular invoice is for.

OrderCodeSequenceDefinition

The OrderCodeSequenceDefinition extends the AbstractSequenceDefinition:

asciidoctor diagram OrderCodeSequenceDefinition
OrderEntityDefinition

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

asciidoctor diagram OrderEntityDefinition

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

OrderEntryEntityDefinition

The OrderEntryEntityDefinition extends all of the features, already defined in the CartEntryEntityDefinition, going further to the AbstractEntityDefinition :

asciidoctor diagram OrderEntryEntityDefinition
OrderStatusDefinition

The OrderStatusDefinition extends the AbstractEntityEnum:

asciidoctor diagram OrderStatusDefinition

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.

PaymentInfoEntityDefinition

The PaymentInfoEntityDefinition extends the AbstractEntityDefinition and the AbstractUserableEntityDefinition:

asciidoctor diagram PaymentInfoEntityDefinition

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

asciidoctor diagram PaymentModeEntityDefinition

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

PaymentModeMethodDefinition

The PaymentModeMethodDefinition extends the AbstractEntityEnum:

asciidoctor diagram PaymentModeMethodDefinition

The available payment mode methods, defined within the enumerated list, are HOP, SOP and SUBSCRIPTION.

PaymentModeValueEntityDefinition

The PaymentModeValueEntityDefinition extends the AbstractEntityDefinition and the AbstractExpensableEntityDefinition:

asciidoctor diagram PaymentModeValueEntityDefinition

The defined here property lets information about the paymentMode to be stored in the database.

asciidoctor diagram PaymentTransactionEntityDefinition

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.
PaymentTransactionTypeDefinition

The PaymentTransactionTypeDefinition extends the AbstractEntityEnum:

asciidoctor diagram PaymentTransactionTypeDefinition

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

RefundReasonDefinition

The RefundReasonDefinition extends the AbstractEntityEnum:

asciidoctor diagram RefundReasonDefinition

The pre-defined enum value for the refund reason here is BROKEN_DELIVERY.

ReturnRequestEntityDefinition

The ReturnRequestEntityDefinition extends the AbstractEntityDefinition:

asciidoctor diagram ReturnRequestEntityDefinition

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

SalesApplicationDefinition

The SalesApplicationDefinition extends the AbstractEntityEnum:

asciidoctor diagram SalesApplicationDefinition

The enumerated list consists of the values for the corresponding applications: WEB, WEBMOBILE and CALLCENTER.

TerritoryDeliveryModeEntityDefinition

The TerritoryDeliveryModeEntityDefinition adds more features to the extended DeliveryModeEntityDefinition. The DeliveryModeEntityDefinition relies on the AbstractEntityDefinition, the AbstractActivatableEntityDefinition, the AbstractNameableEntityDefinition and the AbstractDescriptionableEntityDefinition:

asciidoctor diagram TerritoryDeliveryModeEntityDefinition

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

TerritoryDeliveryModeValueEntityDefinition

The TerritoryDeliveryModeValueEntityDefinition extends the AbstractEntityDefinition and the AbstractExpensableEntityDefinition:

asciidoctor diagram TerritoryDeliveryModeValueEntityDefinition

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

TerritoryEntityDefinition

The TerritoryEntityDefinition extends the AbstractEntityDefinition:

asciidoctor diagram TerritoryEntityDefinition

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

TransactionStatusDefinition

The TransactionStatusDefinition extends the AbstractEntityEnum:

asciidoctor diagram TransactionStatusDefinition

The transaction statuses, defined here, are ACCEPTED and REVIEW.

Price Definitions

Among the price-relevant definitions are:

asciidoctor diagram BidEntityDefinition

The defined property here is customer. It stores information for the customer who made the bid.

asciidoctor diagram DiscountEntityDefinition

There are 2 properties, defined here:

Property Description

name

stores the name of the discount

product

stores the product this discount applies for

PackagingEntityDefinition

The PackagingEntityDefinition inherits the features of the AbstractEntityDefinition:

asciidoctor diagram PackagingEntityDefinition
asciidoctor diagram PriceEntityDefinition

The defined property here is product. It’s intended to store the respective product the price applies for.

asciidoctor diagram TaxEntityDefinition

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:

CommerceSearchFacetConfigEntityDefinition

The CommerceSearchFacetConfigEntityDefinition extends the SearchFacetConfigEntityDefinition, the latter inheriting the features of the AbstractEntityDefinition:

asciidoctor diagram CommerceSearchFacetConfigEntityDefinition

The defined here property - currencies - stores a set of the available currencies.

ProductKeywordDestinationEntityDefinition

The ProductKeywordDestinationEntityDefinition extends the SearchFacetConfigEntityDefinition, the latter inheriting the features of the AbstractEntityDefinition:

asciidoctor diagram ProductKeywordDestinationEntityDefinition

The defined property here is product. It stores the particular product the keyword relates to.

User Definitions
CommerceCustomerEntityDefinition

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:

asciidoctor diagram CommerceCustomerEntityDefinition

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

CommerceUserEntityDefinition

The CommerceUserEntityDefinition extends the UserEntityDefinition, going further to the PrincipalEntityDefinition and the AbstractEntityDefinition:

asciidoctor diagram CommerceUserEntityDefinition

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:

BidRepository

The BidRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the BidEntityDefinition:

asciidoctor diagram BidRepository
KeywordRepository

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

asciidoctor diagram KeywordRepository
ManufacturerRepository

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

asciidoctor diagram ManufacturerRepository
PriceRepository

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

asciidoctor diagram PriceRepository
ProductReferenceRepository

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

asciidoctor diagram ProductReferenceRepository
ProductRepository

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

asciidoctor diagram ProductRepository
UnitRepository

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

asciidoctor diagram UnitRepository
VariantAttributeDescriptorRepository

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

asciidoctor diagram VariantAttributeDescriptorRepository
VariantProductRepository

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

asciidoctor diagram VariantProductRepository
VariantTypeRepository

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

asciidoctor diagram VariantTypeRepository
Delivery Repositories
CountryTerritoryDeliveryModeRepository

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

asciidoctor diagram CountryTerritoryDeliveryModeRepository
Discount Repositories
DiscountRepository

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

asciidoctor diagram DiscountRepository
Keyword Repositories
ProductKeywordDestinationRepository

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

asciidoctor diagram ProductKeywordDestinationRepository
Leasing Repositories

The leasing-related repositories are:

LeasingPaymentRepository

The LeasingPaymentRepository extends the BaseCatalogableEntityRepository and is the corresponding Spring Data JPA repository for the LeasingPaymentEntityDefinition:

asciidoctor diagram LeasingPaymentRepository
LeasingProviderRepository

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

asciidoctor diagram LeasingProviderRepository
LeasingSchemeRepository

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

asciidoctor diagram LeasingSchemeRepository
Location Repositories
WarehouseRepository

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

asciidoctor diagram WarehouseRepository
Order Repositories

The order-related repositories are:

AbstractOrderEntryRepository

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

asciidoctor diagram AbstractOrderEntryRepository
AbstractOrderRepository

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

asciidoctor diagram AbstractOrderRepository
CartEntryRepository

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

asciidoctor diagram CartEntryRepository
CartRepository

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

asciidoctor diagram CartRepository
CreditCardPaymentInfoRepository

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

asciidoctor diagram CreditCardPaymentInfoRepository
DeliveryModeRepository

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

asciidoctor diagram DeliveryModeRepository
InvoiceRepository

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

asciidoctor diagram InvoiceRepository
OrderEntryRepository

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

asciidoctor diagram OrderEntryRepository
OrderRepository

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

asciidoctor diagram OrderRepository
PaymentInfoRepository

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

asciidoctor diagram PaymentInfoRepository
PaymentModeRepository

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

asciidoctor diagram PaymentModeRepository
PaymentTransactionRepository

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

asciidoctor diagram PaymentTransactionRepository
TerritoryDeliveryModeRepository

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

asciidoctor diagram TerritoryDeliveryModeRepository
TerritoryDeliveryModeValueRepository

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

asciidoctor diagram TerritoryDeliveryModeValueRepository
TerritoryRepository

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

asciidoctor diagram TerritoryRepository
Price Repositories
PackagingRepository

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

asciidoctor diagram PackagingRepository
TaxRepository

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

asciidoctor diagram TaxRepository
Stock Repositories
StockLevelRepository

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

asciidoctor diagram StockLevelRepository

Business Services

AddressVerificationService

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()

CalculationService

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()

AbstractOrderService

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()

CartService

The CartService extends the AbstractOrderService

asciidoctor diagram CartService

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()

CheckoutService

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()

DeliveryService

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()

DiscountService

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()

CommerceI18NService

The CommerceI18NService extends the I18NService:

asciidoctor diagram CommerceI18NService

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()

AbstractOrderEntryService

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()

OrderService

The OrderService extends the AbstractOrderService:

asciidoctor diagram OrderService

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()

OrderRefundService

The helper method, defined in the OrderRefundService is processOrderRefund(). It’s supposed to start the order’s refund.

OrderReturnService

The helper method, defined in the OrderReturnService is createRMA(). It instantiates the return request process.

PaymentService

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()

PriceService

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()

TaxService

The helper method, defined in the TaxService is getAmountAfterTaxes(). It helps the respective calculations to be done.

ProductService

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()

StockService

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()

SimpleSuggestionService

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.

CommerceCustomerAccountService

The CommerceCustomerAccountService extends the CustomerAccountService:

asciidoctor diagram CommerceCustomerAccountService

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()

VariantsService

The helper method, defined in the VariantsService is getVariantAttributeValue().

WarehouseService

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

ProductBreadcrumbMapperFactoryConfigurer

The ProductBreadcrumbMapperFactoryConfigurer implements the MapperFactoryConfigurer:

asciidoctor diagram ProductBreadcrumbMapperFactoryConfigurer

The registered conversions, within the configurer, are:

  • from ProductEntityDefinition to BreadcrumbProductDtoDefinition and

  • from CategoryEntityDefinition to BreadcrumbCategoryDtoDefinition.

The conversion is done via the byDefault() method.

CartMapperFactoryConfigurer

The CartMapperFactoryConfigurer implements the MapperFactoryConfigurer:

asciidoctor diagram CartMapperFactoryConfigurer

The registered conversions, within the configurer, are:

  • from CartEntityDefinition to AbstractCartDtoDefinition,

  • from CartEntityDefinition to CartDtoDefinition and

  • from CartEntityDefinition to MiniCartDtoDefinition

Apart from the first, customized conversion, all the other are done via the byDefault() method.

CartModificationMapperFactoryConfigurer

The CartModificationMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the CommerceCartModification to CartModificationDtoDefinition:

asciidoctor diagram CartModificationMapperFactoryConfigurer

The conversion is done via the byDefault() method.

CheckoutOrderEntryProductMapperFactoryConfigurer

The CheckoutOrderEntryProductMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition to the CheckoutCartEntryProductDtoDefinition:

asciidoctor diagram CheckoutOrderEntryProductMapperFactoryConfigurer

The conversion is done via the byDefault() method.

CommerceSiteMapperFactoryConfigurer

The CommerceSiteMapperFactoryConfigurer implements the MapperFactoryConfigurer:

asciidoctor diagram CommerceSiteMapperFactoryConfigurer

The registered conversions, within the configurer, are:

  • from CommerceSiteEntityDefinition to CommerceSiteDtoDefinition and

  • from CategoryEntityDefinition to DetailsProductCategoryDtoDefinition.

The conversion is done via the byDefault() method.

LeasingPaymentMapperFactoryConfigurer

The LeasingPaymentMapperFactoryConfigurer implements the MapperFactoryConfigurer:

asciidoctor diagram LeasingPaymentMapperFactoryConfigurer

The registered conversions, within the configurer, are:

  • from LeasingPaymentEntityDefinition to LeasingPaymentDtoDefinition and

  • from LeasingProviderEntityDefinition to LeasingProviderDtoDefinition

The first conversion is customized, whereas the second is done via the byDefault() method.

BidMapperFactoryConfigurer

The BidMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the BidEntityDefinition to BidDtoDefinition:

asciidoctor diagram BidMapperFactoryConfigurer

The conversion is customized.

CreditCardPaymentInfoMapperFactoryConfigurer

The CreditCardPaymentInfoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the CreditCardPaymentInfoEntityDefinition to CreditCardPaymentInfoDtoDefinition:

asciidoctor diagram CreditCardPaymentInfoMapperFactoryConfigurer

The conversion is customized.

DeliveryModeMapperFactoryConfigurer

The DeliveryModeMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the DeliveryModeEntityDefinition to DeliveryModeDtoDefinition:

asciidoctor diagram DeliveryModeMapperFactoryConfigurer

The conversion is customized.

OrderBasicDtoMapperFactoryConfigurer

The OrderBasicDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition to OrderBasicDtoDefinition:

asciidoctor diagram OrderBasicDtoMapperFactoryConfigurer

The conversion is customized.

OrderDeliveryAddressDtoMapperFactoryConfigurer

The OrderDeliveryAddressDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition to OrderDeliveryAddressDtoDefinition:

asciidoctor diagram OrderDeliveryAddressDtoMapperFactoryConfigurer

The conversion is done via the byDefault() method.

OrderDeliveryMethodDtoMapperFactoryConfigurer

The OrderDeliveryMethodDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition to OrderDeliveryMethodDtoDefinition:

asciidoctor diagram OrderDeliveryMethodDtoMapperFactoryConfigurer

The conversion is done via the byDefault() method.

OrderDeliveryCartEntryGroupsDtoMapperFactoryConfigurer

The OrderDeliveryCartEntryGroupsDtoMapperFactoryConfigurer extends the CartEntryGroupsDtoMapperFactoryConfigurerSupport and implements the MapperFactoryConfigurer:

asciidoctor diagram OrderDeliveryCartEntryGroupsDtoMapperFactoryConfigurer

The conversion, registered here, is from AbstractOrderEntityDefinition to OrderDeliveryOrderEntryGroupsDtoDefinition. The conversion is customized.

OrderDeliveryStatusDtoMapperFactoryConfigurer

The OrderDeliveryStatusDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition to OrderDeliveryStatusDtoDefinition:

asciidoctor diagram OrderDeliveryStatusDtoMapperFactoryConfigurer

The conversion is customized.

OrderDiscountsDtoMapperFactoryConfigurer

The OrderDiscountsDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition to OrderDiscountsDtoDefinition:

asciidoctor diagram OrderDiscountsDtoMapperFactoryConfigurer

The conversion is customized.

CartEntriesDtoMapperFactoryConfigurer

The CartEntriesDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition to OrderEntriesDtoDefinition:

asciidoctor diagram CartEntriesDtoMapperFactoryConfigurer

The conversion is done via the byDefault() method.

CartEntryMapperFactoryConfigurer

The CartEntryMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the CartEntryEntityDefinition to OrderEntryDtoDefinition:

asciidoctor diagram CartEntryMapperFactoryConfigurer

The conversion is customized.

OrderEntryProductMapperFactoryConfigurer

The OrderEntryProductMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition to OrderEntryProductDtoDefinition:

asciidoctor diagram OrderEntryProductMapperFactoryConfigurer

The conversion is done via the byDefault() method.

OrderHistoryMapperFactoryConfigurer

The OrderHistoryMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the OrderEntityDefinition to OrderHistoryDtoDefinition:

asciidoctor diagram OrderHistoryMapperFactoryConfigurer

The conversion is done via the byDefault() method.

OrderMapperFactoryConfigurer

The OrderMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the OrderEntityDefinition to OrderDtoDefinition:

asciidoctor diagram OrderMapperFactoryConfigurer

The conversion is customized.

OrderPaymentInfoDtoMapperFactoryConfigurer

The OrderPaymentInfoDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition to OrderPaymentInfoDtoDefinition:

asciidoctor diagram OrderPaymentInfoDtoMapperFactoryConfigurer

The conversion is customized.

OrderPickupCartEntryGroupsDtoMapperFactoryConfigurer

The OrderPickupCartEntryGroupsDtoMapperFactoryConfigurer extends the CartEntryGroupsDtoMapperFactoryConfigurerSupport and implements the MapperFactoryConfigurer:

asciidoctor diagram OrderPickupCartEntryGroupsDtoMapperFactoryConfigurer

The customized conversion is from AbstractOrderEntityDefinition to OrderPickupOrderEntryGroupsDtoDefinition.

OrderStatusDtoMapperFactoryConfigurer

The OrderStatusDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the OrderEntityDefinition to OrderStatusDtoDefinition:

asciidoctor diagram OrderStatusDtoMapperFactoryConfigurer

The conversion is customized.

OrderTotalsDtoMapperFactoryConfigurer

The OrderTotalsDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the AbstractOrderEntityDefinition to OrderTotalsDtoDefinition:

asciidoctor diagram OrderTotalsDtoMapperFactoryConfigurer

The conversion is customized.

PaymentTransactionMapperFactoryConfigurer

The PaymentTransactionMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the PaymentTransactionEntityDefinition to PaymentTransactionDtoDefinition:

asciidoctor diagram PaymentTransactionMapperFactoryConfigurer

The conversion is customized.

TerritoryDeliveryModeMapperFactoryConfigurer

The TerritoryDeliveryModeMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the TerritoryDeliveryModeEntityDefinition to DeliveryModeDtoDefinition:

asciidoctor diagram TerritoryDeliveryModeMapperFactoryConfigurer

The conversion is customized.

PaymentModeMapperFactoryConfigurer

The PaymentModeMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the PaymentModeEntityDefinition to PaymentModeDto:

asciidoctor diagram PaymentModeMapperFactoryConfigurer

The conversion is customized.

PaymentSubscriptionResultMapperFactoryConfigurer

The PaymentSubscriptionResultMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the PaymentSubscriptionResultItem to PaymentSubscriptionResultDto:

asciidoctor diagram PaymentSubscriptionResultMapperFactoryConfigurer

The conversion is done via the byDefault() method.

BaseOptionDtoMapperFactoryConfigurer

The BaseOptionDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the VariantProductEntityDefinition to BaseOptionDto:

asciidoctor diagram BaseOptionDtoMapperFactoryConfigurer

The conversion is customized.

ProductImagesDtoMapperFactoryConfigurer

The ProductImagesDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition to ProductPrimaryImageDtoDefinition:

asciidoctor diagram ProductImagesDtoMapperFactoryConfigurer

The conversion is customized.

ProductMapperFactoryConfigurer

The ProductMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition to ProductUrlDtoDefinition:

asciidoctor diagram ProductMapperFactoryConfigurer

The conversion is customized.

ProductPriceDtoMapperFactoryConfigurer

The ProductPriceDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition to ProductPriceDtoDefinition:

asciidoctor diagram ProductPriceDtoMapperFactoryConfigurer

The conversion is customized.

ProductReferenceMapperFactoryConfigurer

The ProductReferenceMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition to ProductReferencesDtoDefinition:

asciidoctor diagram ProductReferenceMapperFactoryConfigurer

The conversion is customized.

VariantOptionDtoMapperFactoryConfigurer

The VariantOptionDtoMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the VariantProductEntityDefinition to VariantOptionDtoDefinition:

asciidoctor diagram VariantOptionDtoMapperFactoryConfigurer

The conversion is customized.

AutocompleteSearchProductMapperFactoryConfigurer

The AutocompleteSearchProductMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the SearchRequestProductDtoDefinition to AutocompleteSearchProductDtoDefinition:

asciidoctor diagram AutocompleteSearchProductMapperFactoryConfigurer

The conversion is customized.

ProductSearchMapperFactoryConfigurer

The ProductSearchMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the ProductEntityDefinition to SearchRequestProductDtoDefinition:

asciidoctor diagram ProductSearchMapperFactoryConfigurer

The conversion is customized.

SearchProductMapperFactoryConfigurer

The SearchProductMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the SearchRequestProductDtoDefinition to SearchProductDtoDefinition:

asciidoctor diagram SearchProductMapperFactoryConfigurer

The conversion is customized.

CommerceUserMapperFactoryConfigurer

The CommerceUserMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the CommerceUserEntityDefinition to CustomerDetailsDtoDefinition:

asciidoctor diagram CommerceUserMapperFactoryConfigurer

The conversion is done via the byDefault() method.

CustomerDetailsMapperFactoryConfigurer

The CustomerDetailsMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the CustomerEntityDefinition to CustomerDetailsDtoDefinition:

asciidoctor diagram CustomerDetailsMapperFactoryConfigurer

The conversion is done via the byDefault() method.

More about the mapping configurations you may read in the respective Orika guide.

Dto definitions

asciidoctor diagram BreadcrumbCategoryDtoDefinition

This is the corresponding Dto object for the CategoryEntityDefinition.

asciidoctor diagram BreadcrumbProductDtoDefinition

This is the corresponding Dto object for the ProductEntityDefinition.

asciidoctor diagram CheckoutCartEntryProductDtoDefinition

This is the corresponding Dto object for the ProductEntityDefinition

CommerceSiteDtoDefinition

The CommerceSiteDtoDefinition extends the SiteDtoDefinition:

asciidoctor diagram CommerceSiteDtoDefinition

This is the corresponding Dto object for the CommerceSiteEntityDefinition

asciidoctor diagram DetailsProductCategoryDtoDefinition

This is the corresponding Dto object for the CategoryEntityDefinition.

DetailsProductDtoDefinition

The DetailsProductDtoDefinition extends the UrlProductDtoDefinition and the DetailsDtoDefinition. The inheritance chain goes further to the AbstractProductDtoDefinition and the ProductUrlDtoDefinition:

asciidoctor diagram DetailsProductDtoDefinition
OrderPlacedEmailMessageContextDtoDefinition

The OrderPlacedEmailMessageContextDtoDefinition extends the EmailMessageContextDtoDefinition:

asciidoctor diagram OrderPlacedEmailMessageContextDtoDefinition
LeasingPaymentDtoDefinition

The LeasingPaymentDtoDefinition is the corresponding Dto object for the LeasingPaymentEntityDefinition.

LeasingProviderDtoDefinition

The LeasingProviderDtoDefinition is the corresponding Dto object for the LeasingProviderEntityDefinition.

AbstractCartDtoDefinition

The AbstractCartDtoDefinition extends the AbstractOrderDtoDefinition, going further to the OrderBasicDtoDefinition and the OrderTotalsDtoDefinition:

asciidoctor diagram AbstractCartDtoDefinition

This is the corresponding Dto object for the CartEntityDefinition.

AbstractOrderDtoDefinition

The AbstractOrderDtoDefinition extends the OrderBasicDtoDefinition and the OrderTotalsDtoDefinition:

asciidoctor diagram AbstractOrderDtoDefinition
asciidoctor diagram AbstractOrderEntryProductDtoDefinition
BidDtoDefinition

The BidDtoDefinition is the corresponding Dto object for the BidEntityDefinition.

asciidoctor diagram CartDtoDefinition

This is the corresponding Dto object for the CartEntityDefinition.

CartModificationDtoDefinition

The CartModificationDtoDefinition is the corresponding Dto object for the CommerceCartModification

CreditCardPaymentInfoDtoDefinition

The CreditCardPaymentInfoDtoDefinition extends the PaymentInfoDtoDefinition:

asciidoctor diagram CreditCardPaymentInfoDtoDefinition

This is the corresponding Dto object for the CreditCardPaymentInfoEntityDefinition.

DeliveryModeDtoDefinition

The DeliveryModeDtoDefinition is the corresponding Dto object for the TerritoryDeliveryModeEntityDefinition.

DeliveryCartEntryGroupDto

The DeliveryCartEntryGroupDto extends CartEntryGroupDto:

asciidoctor diagram DeliveryCartEntryGroupDto
MiniCartDtoDefinition

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

asciidoctor diagram MiniCartDtoDefinition

This is the corresponding Dto object for the CartEntityDefinition.

OrderBasicDtoDefinition

The OrderBasicDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition.

OrderDeliveryAddressDtoDefinition

The OrderDeliveryAddressDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition.

OrderDeliveryMethodDtoDefinition

The OrderDeliveryMethodDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition.

OrderDeliveryOrderEntryGroupsDtoDefinition

The OrderDeliveryOrderEntryGroupsDtoDefinition extends the OrderEntriesDtoDefinition:

asciidoctor diagram OrderDeliveryOrderEntryGroupsDtoDefinition

This is the corresponding Dto object for the AbstractOrderEntityDefinition.

OrderDeliveryStatusDtoDefinition

The OrderDeliveryStatusDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition.

OrderDiscountsDtoDefinition

The OrderDiscountsDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition.

The OrderDtoDefinition is the corresponding Dto object for the OrderEntityDefinition.

OrderEntriesDtoDefinition

the OrderEntriesDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition.

OrderEntryDtoDefinition

The OrderEntryDtoDefinition is the corresponding Dto object for the CartEntryEntityDefinition.

asciidoctor diagram OrderEntryProductDtoDefinition

This is the corresponding Dto object for the ProductEntityDefinition.

OrderHistoryDtoDefinition

The OrderHistoryDtoDefinition is the corresponding Dto object for the OrderEntityDefinition.

OrderPaymentInfoDtoDefinition

The OrderPaymentInfoDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition.

OrderPickupOrderEntryGroupsDtoDefinition

the OrderPickupOrderEntryGroupsDtoDefinition extends the OrderEntriesDtoDefinition:

asciidoctor diagram OrderPickupOrderEntryGroupsDtoDefinition

This is the corresponding Dto object for the AbstractOrderEntityDefinition.

OrderStatusDtoDefinition

The OrderStatusDtoDefinition is the corresponding Dto object for the OrderEntityDefinition.

OrderTotalsDtoDefinition

the OrderTotalsDtoDefinition is the corresponding Dto object for the AbstractOrderEntityDefinition.

PaymentInfoDtoDefinition

The PaymentInfoDtoDefinition is the base class for the payment information.

PaymentModeDto

The PaymentModeDto is the corresponding Dto object for the PaymentModeEntityDefinition.

PickupCartEntryGroupDto

The PickupCartEntryGroupDto extends the CartEntryGroupDto:

asciidoctor diagram PickupCartEntryGroupDto
BaseOptionDto

The BaseOptionDto is the corresponding Dto object for the VariantProductEntityDefinition

ProductGalleryImagesDtoDefinition

The ProductGalleryImagesDtoDefinition extends the AbstractProductImagesDtoDefinition:

asciidoctor diagram ProductGalleryImagesDtoDefinition
ProductPriceDtoDefinition

The ProductPriceDtoDefinition is the corresponding Dto object for the ProductEntityDefinition.

ProductPrimaryImageDtoDefinition

The ProductPrimaryImageDtoDefinition extends the AbstractProductImagesDtoDefinition:

asciidoctor diagram ProductPrimaryImageDtoDefinition

This is the corresponding Dto object for the ProductEntityDefinition.

ProductReferencesDtoDefinition

The ProductReferencesDtoDefinition is the corresponding Dto object for the ProductEntityDefinition.

ProductUrlDtoDefinition

the ProductUrlDtoDefinition is the corresponding Dto object for the ProductEntityDefinition

UrlProductDtoDefinition

The UrlProductDtoDefinition extends the AbstractProductDtoDefinition and the ProductUrlDtoDefinition:

asciidoctor diagram UrlProductDtoDefinition
VariantOptionDtoDefinition

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

asciidoctor diagram VariantOptionDtoDefinition

This is the corresponding Dto object for the VariantProductEntityDefinition.

VariantOptionsProductDtoDefinition

The VariantOptionsProductDtoDefinition extends the AbstractProductDtoDefinition and the ProductVariantOptionsDtoDefinition:

asciidoctor diagram VariantOptionsProductDtoDefinition
asciidoctor diagram AutocompleteSearchProductDtoDefinition

This is the corresponding Dto object for the SearchRequestProductDtoDefinition.

asciidoctor diagram ProductFacetSearchPageDtoDefinition
asciidoctor diagram SearchProductCategoryDtoDefinition
asciidoctor diagram SearchProductDtoDefinition

This is the corresponding Dto object for the SearchRequestProductDtoDefinition.

asciidoctor diagram RelatedProductDtoDefinition
CustomerDetailsDtoDefinition

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

asciidoctor diagram CustomerDetailsDtoDefinition

This is the corresponding Dto object for the CommerceUserEntityDefinition.

Facades

AddressVerificationFacade

The functionalities, defined in the AddressVerificationFacade, let you:

  • verify the incoming address and

  • check if the user can ignore the provided address validation suggestions

CheckoutFlowFacade

The CheckoutFlowFacade extends the CheckoutFacade:

asciidoctor diagram CheckoutFlowFacade

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

CustomerFacade

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.

DeliveryFacade

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

CommerceI18NFacade

The CommerceI18NFacade extends the I18NFacade:

asciidoctor diagram CommerceI18NFacade

The functionalities, defined in the CommerceI18NFacade, let you:

  • obtain the supported currencies for the site

  • get the default currency from the particular session

BidFacade

The BidFacade is responsible for returning the bid history of the current user.

CartFacade

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.

CheckoutFacade

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.

OrderFacade

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.

PaymentFacade

The functionalities, defined in the PaymentFacade, let you:

  • get the payment mode,

  • begin the payment in the chosen way,

  • complete the created payment,

etc.

ProductFacade

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.

CommerceSearchExportFacade

The functionalities, defined in the CommerceSearchExportFacade, let you:

  • find all available products,

  • find all available variants of the basic products

CommerceStoreSessionFacade

The CommerceStoreSessionFacade extends the StoreSessionFacade:

asciidoctor diagram CommerceStoreSessionFacade

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

StockFacade

The functionality, defined in the StockFacade, lets you get aware of the total amount of the products' items, available in stock.

SimpleSuggestionFacade

The functionality, defined in the SimpleSuggestionFacade, lets you identify all the purchased reference products.

CommerceUserFacade

The CommerceUserFacade extends the UserFacade:

asciidoctor diagram CommerceUserFacade

The functionality, defined in the CommerceUserFacade, lets you store the currency, chosen by the user (different from the default one).

WarehouseFacade

The functionality, defined in the WarehouseFacade, lets you update the stock availability of the given product for the default warehouse.

Test your REST API

REST Tester

Authenticate

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.