Navigation

Feature List

The Spryker Commerce OS, provides you with the necessary features to build a solid base for your new web shop.

Store Administration

Acl, Auth, User, Back-office Application

The back-office application contains a user interface to create back-office users. Furthermore, the users control module gives the possibility to create groups and assign roles to users (e.g. finance, operations, content management). As a result, the access rights management gives you the possibility to manage content availability based on the roles assigned. The backend graphical user interface itself is provided with forms and tables.

Auth

Out of the box:

  • Login form
  • The user name consists of the e-mail address
  • Password reset
  • Logout

Acl

Out of the box:

  • UI to add new roles per store
    • Define role name
    • Add and remove rules for roles
    • Rules can be applied on module (e.g. sales), controller (e.g. orders) and action (e.g. edit) level.
    • Configure permission (allow or deny action)
    • List of assigned rule sets
      • Module (e.g. sales)
      • Controller (e.g. orders)
      • Action (e.g. edit)
      • Permission (e.g. deny)
  • Search for rules in assigned rule sets
  • UI for the list of existing roles
    • Created at Name
    • Action
      • Edit
      • Delete
    • Search for roles
    • List of assigned rule sets
      • Module (e.g. sales)
      • Controller (e.g. orders)
      • Action (e.g. edit)
      • Permission (e.g. deny)
    • Search for rules in assigned rule sets
  • UI to create single level groups with names
    • Name
    • Assign roles to groups
  • UI for the list of groups
    • Name
    • Roles
    • Created at
    • Edit
    • Search for groups

Out of the box:

  • Multi-level access control list (e.g. for approval work flows)

User

Out of the box:

  • UI to create back-office application users per store
    • First name and last name User name (e-mail address based)
    • Password verify function
    • Group assignation
    • User status attached (active, blocked, deleted)
  • UI for the list of users
    • User ID
    • First name
    • Last name
    • Last login
    • Status
    • Action
      • Edit
      • Deactivate
      • Activate
      • Delete
  • Search for users

Back-office Application (Available modules in Zed)

Out of the box:

  • Sales (manage orders)
  • Customers (manage customers)
  • Category (manage product categories)
  • CMS (manage CMS pages)
  • Glossary (manage translations)
  • Products (manage products)
  • Discount (manage vouchers and cart rules)
  • Shipment (manage carriers and shipment methods)
  • User Control (manage backend users)
  • Maintenance (tools for the maintenance of the live shop)

Product Management

Product

Products can have any number of variants (e.g. attributes like size and weight). Therefore, for all products a product hierarchy can be designed with abstract products (e.g. shoe) and variants (e.g. shoe with size 40). Moreover, product module, a set of two or more products, can exist as a distinct product (e.g. tires and rims in the form of a complete wheel). A product management system allows creating and editing products. Product attributes can be managed in the attribute management system, where values for a given attribute can be defined and translated.

Product Management

Out of the box:

  • UI with list of abstract products (products that have variants)
    • Product ID
    • Name
    • SKU
    • Price
    • Tax set
    • Variants
    • Stock
    • Categories
    • Availability
    • Status (active or inactive for the shop)
    • Actions
      • View
      • View in shop
      • Edit
  • UI to create and edit a product with variants (an abstract with one or more variants)
    • Add general information
      • SKU (serves as prefix for variant SKUs)
      • Name (localized)
      • Description (localized)
    • Add price and tax set
      • Price
      • Tax set (select among pre-defined tax sets that include one or more tax rates)
    • Add attributes
      • Select attributes and add localized values for them
    • Create variants
      • Select attributes for which the values differ among variants
      • Edit variants (incl. stock)
    • SEO
      • Add meta information (localized)
    • Images
      • Add image set
      • Each image set may have multiple images
      • Image sets can be used for product representation on different pages for different purpose
  • UI to edit product variant information (variants inherit information from the abstract product)
    • Edit general information that is inherited from the abstract product
      • Name (localized)
      • Description (localized)
    • Edit price and stock
      • Price
      • Stock per warehouse
    • Add attributes
      • Select attributes and add localized values for them
    • Edit Images
      • Add image set
      • Each image set may have multiple images
      • Image sets can be used for product representation on different pages for different purposes
  • UI for product view (incl. localized information)
    • Product name and descriptions
    • Product category
    • SKU
    • Price, stock, and taxes
    • Product attributes and values
    • List of variants Image sets
    • Meta information
    • Product options
  • Unlimited product attributes
  • UI with list of attributes that are available in the product management system
    • Attribute ID
    • Attribute key
    • Type (text, text area, number, float, date, time, datetime)
    • Actions
      • View
      • Edit
  • UI for creating a product attribute (Attributes and their values are used by the backoffice application)
    • Add general information
    • Attribute key
    • Input type
      • Text, text area, number, float, date, time, datetime
    • Enable multi select
    • Pre-define values Allow input any value other than pre-defined ones
    • Translations
      • Translate the attribute key
      • Translate the pre-defined values

Possible extensions:

  • Product types
    • Grouped products
    • Virtual products
    • Digital products
    • Personalized products (e.g. upload photo for coffee mug)
    • Product attachments Spare parts for products
    • Accessories (complementary products)
    • Featured products
  • Set final date of product availability
  • Offer follow-up versions
  • Replacement/Alternative for products that are out of stock
  • Product import and export
    • Product synchronization
    • Scheduled import and export
    • Export products to Google Shopping
  • Product data feed
  • Configure products
    • Product locking to avoid parallel editing
    • Batch processing
    • Product labeling
    • Attribute set for quick configuration
  • Track changes made to the products
  • Product recycle bin to recover deleted products
  • Offer different order units
  • Up-selling
  • Cross-selling
  • Send product detail page to a friend
  • Google content
  • API for shopping
  • Manage product suggestions
  • Logging product changes (product history)
  • Product ratings
  • Product reviews
  • Product recommendation engine based on
    • Cart content
    • Order history
    • Browsing behavior

Product Option

Create a product option by defining option values with translation key, sku, and price. More than one option value creates an option group. Manage product configurations and maintain product option types (e.g. frames for photos). Option types and option values (e.g. blue, red) can have a translation for each locale.

  • Out of the box:
  • UI to create and edit a product option
    • Add general information
      • Option group name (localized)
      • Tax set
      • Option values
        • Name (localized)
        • SKU
        • Price
  • Assign option(s) to products
    • View products with this option
    • Select product to assign
  • UI with list of product options
    • Option group ID
    • Group name
    • SKU
    • Option value name
    • Price
    • Status
    • Actions
      • Edit
      • View
      • Activate/Deactivate
  • Shop integration
  • List of product options on the product detail page
    • Product options in cart and checkout
    • Options in order overview of customer account
  • Zed sales order also has options listed if applicable

Possible extensions:

  • Stocks for options
  • Option dependency logic
  • Dynamic options based on the value of the option selected before
  • Set validity period for option
  • Limit number of options
  • Options for categories
  • Dynamically select products for option
  • Discounts based on option configuration

Product-Bundle module

The Product-Bundle module takes two or more existing products combined into a new type of product for the sole purpose to be displayed as one product in the shop frontend and to be sold together. Typically the products are concrete products, because both need to be potential order items. The new Bundle Product moduledoes not physically exist in a bundled state. The Product Bundle module can be bought by customers, but in the order management system the items of a module are handled separately, because this way it is convenient for the shop owner to manage the products separately.

Out of the box:

  • UI to create product modules
    • The creation process of product modules is aligned with the process for creating regular products
    • Characteristics of product modules:
      • The quantity of each concrete product may be more than 1
      • A product module has a localized name and description
      • A product module has a sku
      • A product module has a price and tax set
      • A product module has a virtual stock that is dependent on the stock of the bundled products
      • The stock level has a upper boundary (see Stock calculation)
      • A product modulecan have attributes with localized values
      • A product modulecan have localized SEO information
      • A product modulecan have multiple localized image sets
  • Bundle availability is calculated from bundled product availability
  • Bundles are updated when:
    • Stock of bundled product is changed
    • Availability of bundled product is changed
    • When creating bundle
    • Adding new bundled products to bundle
    • When state machine sets flag reserved to bundled product
  • Bundles have dynamic stock, defined by bundled products
    • It cannot be imported as regular products
    • The product-bundle will get maximum possible stock quantity based on bundled product quantity
    • Stock is calculated for each warehouse separately

Product Labels

Product labels can be used to attract customer attention towards certain products. These labels can be used for labeling products for example as new, on sale or bestseller products. They can be exclusive, meaning that combination of labels are also possible. A combination of rules can be used to define which products the label should be applied to. For every label a validity period can be defined as well.

Product Category

Product categories can be created and arranged in an hierarchical order in the form of category trees. These categories may be marked as active or inactive and can be searchable in the frontend application if needed.

Product Category Out of the box:

  • UI with list of product categories
    • Parent node
    • Category tree
  • UI to change category hierarchy manually
  • UI to create new category
    • Name (localized)
    • Category key
    • Select one or many parent categories
    • Meta information (Title, description, keywords)(localized)
    • Activate category
    • Make category searchable
    • Show in menu
    • List of products in category
  • UI to assign products to categories
  • Individual category presentation
  • Product category sorting

Breadcrumbs For navigational aid in the shop breadcrumbs can be found on product detail pages, the catalog and the checkout. The breadcrumbs show the path to the page the user is on.

Catalog Management

The catalog includes a filter search and a text search for products. Catalog Management

Out of the box:

  • Varying layouts between different products or different catalog categories
  • Individual product detail pages
  • Sort by
    • Catalog
    • Category
    • Product
  • Filtered search
  • Text search
  • Price range filters
  • Catalog in different formats (e.g. list or grid )
  • Display available stock

Possible extensions:

  • Shared catalogs across stores
  • Customer specific catalogs
  • Breadcrumbs
  • Product quickview (mini view of product page)
  • Assign products to product categories via batch jobs based on product attributes

Content Management

Content Management System (CMS)

The CMS is a lightweight tool used for publishing, editing and modifying the content displayed in the shop interface. It offers page and content creation. Pre-defined templates that are based on twig have placeholders that can be maintained via the CMS user-interface in the back-office application (Zed). Blocks (partial page) and URL-redirects can be added and edited. CMS pages can be marked as searchable.

CMS

Out of the box:

  • CMS pages are not locale specific, locales are used instead to deliver translations
    • CMS page search-ability and activation as well as the template is defined globally per page and not per locale
    • CMS page attributes can be localized (name, HTML meta header information etc)
  • UI to manage content, pages, placeholders, blocks, and redirects Use templates for example for:
    • Landing pages
      • Informational pages
  • UI to add CMS page based on already existing templates
    • Assign new page to URL
    • Specify validity period to publish content on schedule
    • Set CMS pages active/inactive
    • Add CMS page name
    • Add CMS page meta information (Title, description, keywords)
    • Mark CMS page as searchable
    • Assign glossary keys to placeholders
      • Automatically Create new glossary key
      • Find glossary key
      • Full text glossary key search
    • WYSIWYG editor
      • Upload assets that are stored in the database
        • Pictures
        • Videos
      • Edit HTML code
    • Add meta information (Title, description, keywords)
  • UI for the list of CMS pages
    • Page ID
    • URL Template
    • Actions
      • Edit placeholders
      • Edit page
    • Search for CMS pages
  • UI to create CMS blocks (partial pages embedded in other pages; e.g. a contact us form)
    • Block types
      • Static blocks
      • Category blocks
      • Product blocks
    • Add values to blocks for SEO
    • Set blocks active/inactive
  • UI for the list of CMS blocks
    • Block ID
    • Name
    • Template
    • Type
    • Value
    • Actions
      • Edit placeholder
      • Edit block
    • Search for CMS blocks
  • UI to add CMS redirects
    • Add URL to be redirected from
    • Add destination
    • URL Add status to redirects
  • Automatic redirects
    • When a product name, category name or CMS page URL changes, a 301 redirect from the old URL to the new one is created
  • UI for the list of CMS redirects
    • ID From URL To URL
    • Redirect status code
    • Actions
      • Edit
      • Delete
    • Search for CMS redirects
  • Make CMS pages or content searchable in the storefront

Possible extensions:

  • Make content time dependent
  • Make content available after approval Implement meta tags for online marketing purposes
  • Create HTML site map
  • Create Google site map
  • Create a digital asset management

Translations/Glossary

Maintain translations via a glossary in the back-office application (Zed).

Among other things glossary keys enable multi-language stores and product attributes to be localized per store.

The product information and content is stored in the glossary, each of them having dedicated glossary keys together with a value for each locale configured in the shop. The set of values associated to a distinct glossary key represents a set of translations. The key concept for rendering web pages with translated content very fast using a key-value storage.

Out of the box:

  • UI to create new glossary keys
    • Add values to glossary key for each locale
    • WYSIWYG editor
      • Upload assets
        • Pictures
        • Videos
  • UI with list for all glossary key translations
    • Glossary key
    • ID
    • Name
    • Locale
    • Actions
      • Edit
    • Search for translations
  • Multiple languages per store

Locale

A locale are described as a culture. It has an associated language, formatting for price or time, etc.

Example:

Belgium has two official locales: be_fr, be_nl.

Locale Out of the box:

  • Support for different languages in the storefront

Internationalization

Out of the box:

  • Add multiple stores that are split out in a different database each
  • Different themes for different stores
  • Store specific catalogs
  • Support for different currencies
  • Store specific
    • Catalogs
    • Products Design & layout
    • Currency & price
    • Tax calculation
    • Expense calculation
    • Order processing
    • Format of time & number
    • Available stocks from a different ERP/client
    • Availability of shipment methods / shipment provider
    • Availability of payment methods / payment provider

Possible extensions:

  • Multi-website business — central management of different websites and stores

URL

A URL is stored for each product detail page and product catalog page.

Out of the box:

  • Automatic URL creation
  • UI for creating URL for new pages in the CMS
  • Add URL status to CMS pages
  • URL routing makes URLs more human readable and SEO friendly (shows complete breadcrumbs) Possible extensions:
  • URL export
  • Management of short links

Prices, Taxes, Calculations

Price Prices can be added to abstract (e.g. shoe) and concrete products (e.g. shoe size 40). Each price is assigned to a price type (e.g. gross price, net price).

Out of the box:

  • Different price types supported
    • Gross price
    • Net price (e.g. when the customer is another company)
    • Special price (crossed regular prices)
  • Prices for products
  • Prices for variants of products (e.g. Nike Air shoe size 45)
  • In case that no price or price availability is not given, the product will not be displayed in the catalog anymore
  • Automatic tax calculation

Possible extensions:

  • Support for different currencies
  • Price availability (Time slot)
  • Import of price lists
  • Order without payment (e.g. free downloads)
  • Customer specific prices
  • Minimum advertised price
  • Customer specific price list
  • Customer segment specific price lists
  • Scaled prices
  • Distinguish between
    • Sale price
    • List price
    • Cost price
  • Customer type-specific price display (gross, net)
  • Promotional pricing (for stores, categories or products)
  • Multi-tier pricing for quantity discounts

Tax

Destination based tax calculation according to European standards for B2C shops. Taxes are administered in the form of tax rates and tax sets. Tax sets can be applied to products, options, and shipments.

Out of the box:

  • UI for list of tax rates
    • Tax rate
    • ID Name
    • Created at
    • Country
    • Percentage (%)
    • Actions
      • Edit
      • View
      • Delete
  • UI for tax rate creation
    • Name
    • Country
    • Percentage tax rate
  • UI for list of tax sets
    • Tax set
    • ID Name
    • Created at
    • Actions
      • Edit
      • View
      • Delete
  • UI for tax set creation
    • Name
    • Multi-select existing tax rates
  • Automatic tax calculation
  • Multiple tax rates per product

Possible extensions:

  • Tax rates per location
  • Predefined tax sets like VAT or state and environment tax
  • European Union VAT-ID validation

Calculation

The stack of calculators are triggered every time something (cart items, total-calculations, discounts, taxes, expenses) in the cart changes. To extend the stack of calculators you can add custom calculators (e.g. subtotal calculation).

Out of the box:

  • Automatic cart calculation
    • Prices (totals)
    • Taxes
    • Discounts
    • Shipment costs
  • Automatic checkout calculation
    • Keeps track of the list of products added in the cart
    • Keeps track of the list of product options selected
    • Calculating taxes
    • Discount calculation
    • Sale expenses (e.g. shipping cost)
    • Item expenses for products in the cart (logistics)

Possible extensions:

  • Product-Bundle calculation

Promotions & Merchandizing

Discounts (Voucher Codes & Cart Rules)

Add discounts via cart rules to discountable objects (e.g. order, order item, order expense, item options) or create vouchers with respective voucher codes. Whereas a voucher can be redeemed by applying the corresponding voucher code in the checkout of the shop, the cart rules apply based on characteristics of a customer order. Discounts can be a percentage value or a fixed value discount.

Out of the box:

  • UI for voucher and cart rule creation
    • Discount Name (Displayed to customers in the shop)
    • Description
    • Discount Exclusiveness
      • An exclusive discount will only be applied alone. It discards all other discounts unless there is a higher discount provided by another exclusive discount. Then the higher one is redeemed. Non-exclusive vouchers can be redeemed in combination with other non-exclusive discounts.
    • Validity interval
    • Choose the type of discount (fixed amount or percentage) and the corresponding amount
    • Query builder for user friendly query creation
      • For defining what to apply the discount to
        • Create combinations of conditions that discountable products must satisfy
      • For defining when to apply the discount
        • Create combinations of conditions that must be satisfied in general in order to apply the discount
      • Switch between a clickable query builder and plain query input mode (in written form)
      • Add conditions
      • Group conditions
      • Combine conditions or groups with AND and OR connectors
      • Predefined condition fields:
        • Sku, grand-total, sub-total, total-quantity, item-quantity, item-price, calender-week, day-of-week, month, time and any attribute you want
      • Predefined operators for handling integers and strings:
        • Contains, does not contain, equal to, not equal to, is in, is not in, less, less or equal to, greater, greater or equal to
    • Save and set discount active later
  • UI for voucher code creation (Single and multiple voucher code creation at once)
    • Code quantity
    • Custom Code
    • Random generated code length (For creation of multiple codes)
    • Maximum number of uses (infinite usage is possible too)
    • Voucher code export
  • UI for list of vouchers
    • Voucher code
    • Number of times the voucher code has been used
    • Maximum number of uses
    • Created at
    • Batch value
    • Actions
      • Delete
  • Export voucher codes in CSV

Possible extensions:

  • Determine target group to which the discount is made available
  • Performance statistics
  • Determine promotion budget

Order Management

OMS

The order process management is handled through a state machine. The state machines map all processes and can be looked into in Zed (back end). Multiple state machines are commonly used to cover all the necessary business processes.

OMS via State Machine

Out of the box:

  • Sales order process management is possible with the help of the OMS module that uses state machines
  • Commands can be executed either for the whole order or for each order item at a time
  • Implement the defined commands
  • Implement the defined conditions
  • Describe states
  • Create transitions between states
  • Create events for the transitions
  • Split processes into sub processes
  • UI to see the state machine

Sales

Handle order items individually and gain insights into each item and its state in a state machine. For each item a transitionlog is created, in which the history of an item can be examined. Orders may be created, edited, updated or canceled. Furthermore, an overview of the process performance for all items is provided with the OMS Matrix. It categorizes the items according to the time spend in the process already (less than 24h, between 24h and 7d, more than 7d).

Refunds

Refunds are handled automatically. Partial refunds are enabled by an order splitting mechanism.

Orders

Out of the box:

  • UI with a list of orders
    • Order ID
    • Timestamp
    • Customer ID
    • Email
    • Billing name
    • Value
    • URL
  • UI to view, edit and create orders
    • Order overview
    • Comment function
    • Current state for order items
    • State history of order items
    • Trigger events for order items
    • Grand total calculation
    • Shipment details
    • Discount details
    • Customer addresses (billing and shipping)
  • Order status tracking
  • Create re-orders for customers from Zed
  • Email notification of orders
  • Search for orders
  • Order history

Sales Order Management

Business processes commonly covered by state machine:

  • Refund money automatically
  • Partial refund for single order items
  • Offer no payment option
  • Automatically create and send invoices
  • Set period for which a product may be returned
  • Order replenishment
  • Scheduled orders
  • Contact/Order request approval (B2B)

Possible extensions:

  • Order export
  • Order archiving
  • Fraud engine
    • Black list
    • White list

Order Matrix

Out of the box:

  • Order categorization by the time spend in the process already

Refunds

Out of the box:

  • UI with list of refunds
    • Refund ID
    • Sales
    • Order ID
    • Refund Date
    • Amount
    • Comment
  • DummyPayment
    • Example state machine with a set of commands and conditions that can serve for functionality demonstration
    • Test case
      • Let the checkout fail by using “invalid” as last name in the order
      • This demonstrates how projects can handle errors after the order was saved by redirecting the customer to the checkout page with a meaningful error message
  • Payone module is adapted to Refund

Wishlist

Customers can add items to a wishlist. Items can be edited in the wishlist. Wishlists can be expanded with additional information such as catalog price rules or last-minute sales.

Functionality:

  • A customer can add products to his accounts’ wishlist
  • Add products from wishlist to cart
  • Remove products from wishlist
  • View products from wishlist
  • Wishlist is persisted between sessions
  • One wishlist per customer by default
  • Multiple wishlists per customer easy to setup

Payment

Different payment service providers are integrated by Spryker OS to ensure a customized set of payment methods for each shop. Hence, shop owners can choose different payment methods from different payment providers for the checkout. State machines are used to handle payments.

  • Braintree — Spryker OS integrates PayPal and credit card as payment methods supported by Braintree.
  • Payone - Spryker OS integrates credit card, debit payment, invoice, online transfer, paypal and prepayment as payment methods supported by Payone.

Payment

Out of the box:

  • PCI DSS certified payment service providers
  • Administer availability of payment methods from different payment providers based on customer preferences and regulations
    • Any combination is possible
  • Customers select among payment methods
  • Customers can redeem any number of discounts/vouchers
  • Manage the rank in which the payment method is displayed
  • Define and display payment costs
  • Braintree
    • Credit card
    • PayPal
  • Payone
    • Credit card
    • Debit payment
    • Invoice
    • Online transfer
    • Paypal
    • Prepayment

Possible extensions:

  • Add payment providers and methods
  • Accept checks and money orders

Search & Filter Preferences

Search & Filter Preferences Define the search preferences for a given attribute and decide if an attribute is available for on-site search or not. Furthermore, the user can configure if an attribute should be in the full text search boosted, auto suggested, auto completed or not. Catalog filters can be configured by the user by selecting an attribute and defining what type of filter it should be in the store. Moreover, the order of the defined filters can be easily managed with a simple to use drag and drop interface. Products and content can be configured in such a way that they are searchable or not.

Search Preferences

Out of the box:

  • On-site search Text search – the search is made on all products
    • Auto-completion – Functionality that predicts the rest of a search string and offers a list of matching options to search for
    • Auto-suggest – Functionality that offers page suggestions by type (product, category, CMS Page, or any other page stored in Elasticsearch). Matching results are provided on the fly while typing a search string
    • "Did you mean" suggestions plugin that suggests typo corrections for the search string
  • Facet search – the search is made over a category of products
  • Have search results paginated
  • Configure the option to be able to search for a product on an individual basis
  • Configure search to exclude “out of stock” products
  • Sorting UI with list of all attributes and their preferences for search
    • Attribute key Include for full text search
    • Include for full text boosted search
    • Include for suggestion
    • Include for completion
    • Actions
    • Edit
    • Deactivate all
  • Action call to synchronize search preferences (trigger bulk product touch)
  • Create and edit search preferences for new attributes
    • Attribute key Include for full text search
    • Include for full text boosted search
    • Include for suggestion
    • Include for completion

Possible extensions:

  • Additional preferences for search
  • Search term history
  • Related search terms
  • Assign attribute weights
  • Auto-generated popular search term list
  • Search results rewrites
  • Search results redirects to specific pages Integrate other search engines

Filter Preferences

Out of the box:

  • UI with list of all filters in the shop
  • Filter position
    • Attribute key
    • Filter type
      • View
      • Edit
  • Action call to synchronize search preferences (trigger bulk product touch) Edit filter order
  • Create and edit new filter
    • Attribute key
    • Filter type
    • Filter name (localized)

Mail

Mail

Mails can be send directly or a mail provider of your choice can be integrated. The default mail provider is SwiftMailer. The mail module includes a sample implementations of newsletter subscriptions, customer registration, order shipment and more. Email templates are managed as Twig templates with placeholders replaced on send action and customers receive locale specific mails.

Newsletter

Offer newsletter subscriptions to your customers. Subscribers can subscribe to different newsletter types (e.g. editorial newsletter, recommendation newsletter). Spryker OS offers opt-in and opt-out email.

Customer

Customer Create customers by adding addresses (default, shipping, billing). Manage passwords including email restoring.

Account Customers may create a customer account. Administrators can create customers by adding addresses (default, shipping, billing) and email addresses. Passwords can be reset and retrieved. Customer Group Organize your customers into groups in order to manage and target them for discounts and promotions or to restrict access to specific products or categories. Customer grouping can be used for any type of customer segmentation needs.

Customer

Out of the box:

  • UI with list of customers
    • Customer ID
    • Registration date
    • Email
    • Last name
    • First name
    • Zip code
    • City
    • Country actions
    • Search for customers
  • UI to create customers
    • Email
    • Salutation
    • First name
    • Last name
    • Gender
  • Send password token through email

Customer Account

Out of the box:

  • Account creation possible before checkout
  • Omnipresent customer login
  • Password reset
  • Account dashboard
  • Manage personal data
    • Title
    • Name
    • Surname
    • Phone number
  • Manage password
  • Manage e-mail address
  • Order history
    • Order number
    • Order date
    • Sum
    • Payment status
    • Shipment status
  • Order detail view
    • Order number
    • Customer ID
    • Order status
    • Shipment status
    • Product name
    • Size or configuration (shoe size 45)
    • Product number
    • Price
    • Amount
    • Sum
    • Subtotal
    • Delivery cost
    • Total sum
    • VAT
  • Manage addresses
    • Default shipment address
    • Default payment address
    • Add new address
  • Manage newsletter subscription

Possible extensions:

  • Group customers
  • Customer segmentation management
    • Standard segments
      • All customers
      • New customers
      • Unregistered customers
      • Registered customers
      • Returning customers
  • Search for customer segments
  • Dynamic customer segmentation
  • Distinguish between individual and business customer
  • Manage customer accounts from the admin area
  • Activate and deactivate customer accounts from the admin panel
  • Import customers
  • Search for customers
  • Get access to 3rd party customer segments
  • Manage access to view and purchase items by customer segment
  • Frequent buyer rewards
  • Order status tracking without logging in for customers

Possible extensions:

  • Re-order
  • Print order details
  • Product comparison
  • On-site order tracking
  • Recently viewed products
  • Recently viewed categories
  • Recently searched terms
  • Organization management (B2B)
  • Customer spend control (B2B)

Cart & Checkout

Cart

Customers can add and remove items to the cart, having an item list including gross prices. Items are then stored in session. Customers can manage the item quantity and coupon codes may already be applied in the cart. Upon changing quantity or adding/removing coupon code, the amounts are recalculated.

Out of the box:

  • Shopping cart with tax and shipping estimates
  • Discount calculation for cart rules and vouchers
  • Pop-up cart
  • Display promotion if applicable
  • Mini-cart
  • Maintain shopping cart between sessions
  • Cart calculation module
  • Possible extensions:
  • Download cart as PDF
  • Send cart via email
  • Show savings in the case of a promotion
  • Highlight promotion related products in cart

Checkout

The checkout offers the complete checkout workflow (Customer account login, Addresses, Shipment Methods, Payment, Overview, Success). The checkout is a multi-step checkout designed and structured in way to make powerful yet simple for developers to add, delete, or change the checkout process.

Out of the box:

  • Multi-step checkout
  • Both, guest users and registered users can submit orders
  • Customer address page
  • Shipment method page
  • Display shipping costs
  • Payment method page
  • Checkout overview page
  • Checkout success page
  • Display terms & conditions

Possible extensions:

  • One-page checkout
  • Request quote in checkout
  • Secured protocol checkout
  • Direct customers to the order review page if the necessary information is already given
  • Newsletter opt-in
  • Check address validity
  • Specify allowed countries of destination

Item Grouper

Items in the cart and in the wishlist can be grouped according to predefined grouping rules. Example: Items are grouped according to merchants. As a result, the single (or multiple) items are displayed in separate rows.

Availability

In the cart the availability of the product is calculated based on the amount of reserved items (Submitted orders for that item) and stock. The availability for the product to be sold and stock is calculated. Availability is persisted for all products.

Stock

Spryker OS enables defining several storage locations in which the products are being stored. A product can be stored in multiple storage locations, each of them having associated an available stock. A product can be associated with multiple stock product entries, each of them associated to a storage location.

Shipment

Create and edit the shipment methods for the store. Carriers (e.g. DHL, UPS) and shipment methods (e.g. DHL Express Shipment) can be added, disabled and removed. Shipment methods as well as corresponding calculated delivery costs can be implemented in such a way that for different stores you can offer different shipment methods to your customers.

Out of the box:

  • UI to add new carrier company
  • UI to add new shipment method
  • UI for the list of shipment methods
    • Status
    • Carrier
    • Method
    • Description
    • Price
    • Availability plugin
    • Price plugin
    • Delivery time plugin
    • Tax calculation plugin
    • Actions
      • Edit
      • Delete
    • Search

Possible extensions:

  • Integrate carriers with label printing
  • Pick up in store
  • Free shipping option
  • Customers can add special shipping instructions
  • Customers can add a desired delivery date
  • Manage destination dependent shipment methods
  • Manage product dependent shipment methods
  • Manage delivery time per product

Backup

Database backup Backup your system and database.

Demoshop

The demoshop is a boilerplate for any new project and it serves as a showcase for the Spryker OS feature set and available integrations. For starting a new project, you can either start from scratch using our packages or you can use the demoshop and modify it according to your needs.