Working with PIM

PIM – Product Information Management – is a feature which lets you manage all aspects of your product portfolio from one central location. This provides you with greater control over all aspects of the product lifecycle than traditional setups.

With PIM you can deal with cross-department product information such as:

  • Essential product data like names, titles, product numbers, descriptions, etc.
  • Categorization and product relationships like categories, related products, etc.
  • Digital assets like images, videos & documents
  • Technical and logistical data like weight, volume, stock states & unit data
  • Marketing data like keywords, SEO, etc.
  • Localization of product data, e.g. descriptions, names, etc.

In practical terms, the process is usually as follows:

  • Products and product groups are imported to a warehouse from an external system using the integration framework
  • The products are indexed using the New Indexing engine
  • The products are enriched using either:
    • Queries which extract a subset of the product portfolio with something in common – products with no title or products with no English description.
    • The warehouse tree, where products are organized in groups and subgroups.
  • The enriched products are published to one or more channels, e.g. an Ecommerce web shop, Adobe InDesign, etc.

In this article, we will go through the basic concepts and components in Dynamicweb PIM. We assume that you are somewhat familiar with Dynamicweb Ecommerce.

Key Technologies

On a technical level, Dynamicweb PIM builds on two key technologies:

  • The New Indexing engine is used to index and query the product portfolio
  • The Integration Framework is used to import the product portfolio from remote systems, like Dynamics NAV or AX

However, while knowledge of these features is useful during the creation phase, it is perfectly possible to work as a content editor, translator, or a portfolio manager without it.

Like other areas of Dynamicweb, the interface for Dynamicweb PIM is accessed through the area menu (1) and consists of an area tree (2) and a content pane (3) (Figure 2.1).

Figure 2.1 The PIM interface

The content pane is where content is rendered and interacted with – in this case, view modes for managing and enriching the product portfolio.

Via the area tree you can access the following:

  • The PIM Dashboard
  • Personal and shared queries
  • PIM Warehouses and groups
  • The Email notifications feature

You can read more about dashboards here – the rest of the features are described in this article.

Tip: All area trees can be refreshed by double-clicking on the button in the area menu.

Since Dynamicweb PIM is something of a paradigm shift compared to Ecommerce, here’s a short list of features which may require more attention than you are used to. 

In most cases, products are imported to the portfolio from an external system – e.g. an ERP system like Dynamics NAV or AX. They can be organized inside PIM in a manner which is optimized for enrichment and administrational purposes – e.g. by serial numbers, by manufacturer, etc. – and then published to various channels in a manner which makes sense in the context.

If you are not familiar with the Integration Framework, please consult the Integration documentation.

You can, of course, also create products in Dynamicweb PIM manually.

Dynamicweb PIM builds in part on the generalized search framework in Dynamicweb known as New Indexing, which can be used to index all sorts of data on a solution – content, users, files, products, etc. If you are unfamiliar with the indexing framework in general, please consult the manual.

PIM specifically depends on a product index being present on the solution, which can then be queried to identify products which share certain properties - products in group X with no description, products with no price, etc. Every time a product retrieved by a query is enriched and saved, this index is rebuilt – and you can configure the warehouse to do the same thing when editing products via the warehouse tree structure.

To select a product index for Dynamicweb PIM:

  • Go to Settings > PIM > General
  • Use the Available Indexes list to make one or more indexes available to PIM
  • Save
  • Select a default index using the Default Index dropdown
  • Save

You should end up with a setup similar to (Figure 5.1).

Figure 5.1 Selecting a default index

In most cases using the same index for PIM and your frontend is perfectly fine. However, if you want to customize the PIM index for e.g. performance reasons or with custom data which is not relevant in frontend, you may want to create a separate PIM index.

You cannot use two separate indexes to delay publication of data edited in PIM - both indexes point to the same data in the database, and changes made in PIM to product data which is rendered in frontend is immediately published.

Delayed publishing is handled by the product versioning - see more here.

 

Dynamicweb PIM introduces a new Boolean field called ’Show in Product List’, which is available when enriching product data. Accompanying this field is a calculated field called ShowInList, which calculates whether this product should be rendered in the product list or not.

The value of the ShowInList field is calculated like this:

Product Type

Active

HasVariants

ShowInProductList

ShowInList value

Single product 1

False

False

False

False

Single product 2

True

False

False

True

Single product 3

True

False

True

True

 

 

 

 

 

Main product 1

True

True

False

False

Main product 2

False

True

True

False

Main product 3

True

True

True

True

- Variant 1

True

False

False

False

- Variant 2

True

False

True

True

- Variant 3

False

False

False

False

- Variant 4

False

False

True

False

To summarize:

  • Inactive products will always have ShowInList = false
  • Active products with NO VARIANTS don’t care about the ShowInProductList flag
  • Both active products WITH VARIANTS and the active variants can be published using the ShowInProductList flag. Variants will automatically be added as related products when a main product is saved with ShowInList = true.

In concrete terms this simply means that the queries you use to publish products in frontend with should check for the ShowInList value rather than the active value.

As Dynamicweb PIM enables you to edit multiple products, language version, and variants at the same time, you need to pay more attention to your Fields settings (Figure 7.1) than you are perhaps used to.

The field settings can be edited from Settings > Ecommerce > Advanced configuration > Fields.

Figure 7.1 Field settings - an example

Specifically, you must actively decide which fields are allowed to contain differentiated values across both different languages and different variants.

In the screenshot above:

  • The active state is allowed to be different across both languages and variants
  • The name can be different across languages – but not across variants, where we will instead use tags to render the variant combination labels (large, green, etc.) in frontend.
  • The product number must be identical across both languages and variants
  • Descriptions can be different across languages, for translation purposes – but not across variants (where text will be generic)
  • Etc.

Each solution will most likely require a unique setup, so the examples above are merely illustrative of the thought process behind the Fields settings.

The Fields settings will have an impact on where the fields can be edited, both in the Edit view mode (languages) and the product edit mode (languages & variants).

Performance when editing products with PIM is heavily dependent on the number of fields the browser has to render - and that is dependent on two factors:

  • The number of visible fields set on the query or warehouse group
  • The number of languages for which the selected fields are rendered

Since these two parameters can vary wildly between PIM setups - some have only 1 ecommerce language, and some have more than 20 - we have created a formula which will generate six dynamic page-size options:

(Visible fields * Visible languages) / Factor = Result

The result then determines the number of products between each interval:

Result Interval
0-25 100
26-50 50
51-100 25
101-300 10
300-INF 5

For example:

Fields Languages Factor Result Intervals
10 6 1 60 25
20 2 2 20 100
5 25 1 125 10
5 25 2 62,5 25

Or put more simply; the higher your language factor is the more products you will be shown, at the cost of performance.

The product portfolio is a collection of all the products on the solution – a kind of database, which can be organized, enriched, and published across various channels.

In most cases, products are imported to the portfolio from an external system – e.g. an ERP system like Dynamics NAV or AX – and are organized in a manner which optimized for enrichment and administration, but which is not necessarily similar to way the products will be presented in a web shop. This could be by serial number, by manufacturer, or by any other metric which makes sense for the particular portfolio.

There are two main ways (Figure 9.1) to organize your product portfolio:

  • Warehouses (1) are parallel to shops in Ecommerce, and can contain a full group structure
  • Queries (2) are kind of dynamic product group, which contain all products matching the query criteria  - e.g. Products with no English description, or products with no weight
Figure 9.1 Organizing the product portfolio

The two are not mutually exclusive, and you will be using both at various times:

  • The warehouse structure allows you to work with product data through a predefined structure, which is useful for people who are expected to know the structure in the first place
  • Queries allow you to retrieve and enrich products independent of the warehouse structure, which is useful for employees who are only responsible for specialized tasks, e.g. translation or textual work

Warehouses are parallel to ‘shops’ in Ecommerce, and are used as containers for groups.

Products from a warehouse can be published across multiple channels, so in most cases a solution will need only one warehouse.

Technically, a Warehouse is in fact a shop with different properties – so to create a warehouse:

  • Go to Settings > Ecommerce > Product Catalog > Shops
  • Click New Shop to open the shop settings (Figure 10.1)
  • Name the warehouse
  • Select a page with a product catalog attached as the Preview page - PIM will use the templates from this page to render previews on
  • Check the Use as PIM Product Warehouse checkbox
  • Save

In addition to these basic settings, you can also define image patterns on a warehouse – and select an index to rebuild when products under this warehouse are edited. This is recommended, as the same thing happens automatically when editing products from a query.

Figure 10.1 Creating a PIM Warehouse

Warehouses contain warehouse groups, which are used to group products and product containers.

They are in all respects identical to product groups in Ecommerce, except of course that they are not published to frontend – and can therefore be named and organized in a way which makes sense in a PIM context (Figure 11.1).

Figure 11.1 Groups in PIM

Most of the time, groups will be imported from an external system to PIM along with the products.

To create a group manually:

  • Right click on a warehouse or an existing group to open a context menu
  • Click New group/New subgroup
  • Fill in the appropriate fields (e.g. Name and Number)
  • Save

The context menu (Figure 11.2) also gives you access to other group-related functions, such as:

  • Creating subgroups
  • Editing the group settings
  • Moving or deleting the group
  • Attaching groups and products to the group
  • Sorting products inside the group
  • Setting permissions
Figure 11.2 Context menu

Groups and subgroups may be sorted by clicking the sort icon, rearranging the groups in the content pane, then saving (Figure 11.3).

Figure 11.3 Sorting warehouse groups

From all view modes you can select products and use the Add to group button manage group membership (Figure 12.1).

Figure 12.1 Adding products to a Warehouse group

This allows you to review basic information for each group the product belongs to;

  • Name
  • Warehouse
  • Group path
  • Primary group status

Use the green plus-icon to add the product to a new warehouse group.

A query is a set of instructions for retrieving and displaying a part of your product portfolio in one of the view modes. If you are familiar with the Dynamicweb indexing framework, you should be familiar with the basics of indexing and queries.

A query consists of:

  • A set of expressions which define which data should be returned by the query
  • Default sorting instructions
  • Instructions for which product fields and languages should be shown in the Edit view mode

Or in other words; show me the products with properties X, sorted Y way, displaying Z fields across Æ languages.

Queries may be personal or shared, and can be organized in folders and subfolders as necessary (Figure 13.1).

  • Queries created under My Queries are personal and cannot be used by other users
  • Queries created under Shared Queries are shared amongst all users on the solution
Figure 13.1 Shared & personal queries

To create a query:

  • Right click on either My Queries or Shared Queries in the PIM tree
  • Click New Query
  • Name the query
  • Select a product index as the data source
  • Click OK

This will open the query configuration view, where you can define the expressions, the sorting instructions and the display instructions.

The way queries work, an empty query returns all data in the index.

This is not very useful, so you want to create a number of expressions to limit the data returned and create specialized, manageable lists for you to work with. For instance, you may want to isolate all active products with no description (Figure 14.1), or perhaps you are only interested in products which are a part of the Christmas campaign.

To create expressions:

  • Click Add Group
  • Select a field in the index
  • Select an operator
  • If the operator requires it, set a test value
  • Click OK
Figure 14.1 Query expressions

The operators and test values you can use depends on the data type of the field you query. For instance, a Boolean is a data type which can only be true or false – and so the only operator available is ‘Equal’ and the only test values available are true and false.

Expressions may be combined in AND-groups and OR-groups, and can be negated to return all elements not matching the expressions. This makes it possible to create pretty powerful and complex queries.

For more information regarding expressions, please consult the indexing documentation.

When a query is executed, the products matching the expression criteria will be rendered in the content pane, where you can review and work with them using the views available to you (see below).

By default, products are sorted by ProductID, but you can define a default sort order in the query definition (Figure 15.1).

Figure 15.1 Creating a default sort order

To do so:

  • Click Add Sorting
  • Select a Field and a Direction
  • Click OK

Don’t forget to save the query before exiting. To remove a default sort order click the red X and save.

The final part of a query is the display instructions – they detail exactly which fields and languages are rendered when executing this query in the Edit view mode.

You have access to two selectors – the Display fields and Display languages (Figure 16.1) – and to include a field or language in the PIM list entries, simply move them from the left side box to the right side box. In this example

Figure 16.1 Display instructions for a query

A few things to keep in mind:

  • The more fields and languages you include, the slower the PIM list will be to work with – this is a browser memory issue
  • The fields and languages are listed in the same order they have on the right side of the selector, so you should sort them to your liking using the sorting arrows

Of course, when working with a query result you always have the option of adding or removing fields and languages from the present view. The display configurations are merely default instructions for the Edit view mode.

Dynamicweb PIM contains a system for creating dynamic workflows, which can help you create work processes tailored to the unique business needs of a particular solution. PIM Workflows are created under Settings > PIM - see here.

A workflow consist of:

  • A number of states – e.g. New product, Ready for description, Ready for translation, etc.
  • A set of availability instructions per state, which control which states a product can move to from the current state
  • Optionally, a set of state notifications for notifying key people when a product enters a new state

Once a workflow has been created, you will have access to a workflow state field when editing products in product edit or multi-edit mode (Figure 17.1).

Figure 17.1 Using PIM workflows

Start a workflow by selecting a state for a product and save. This triggers any state notifications for the state, and the product can now move to and from the states defined in the workflow configuration.

By default, all workflows can be selected - but you can limit the states available by selecting a particular workflow at the group level ([figureref}). If a product is a member of several groups with explicit workflows set, both workflows will be available when editing the product.

Figure 17.2 Selecting a particular workflow at the group level

Combine products is a feature which allows you to handle relations between products after the products have been imported to PIM.

This can be very useful if the remote system does not or cannot account for product relations, or if it’s simply more economical to handle product relations in Dynamicweb PIM.

To activate the function:

  • Go  to Settings > Ecommerce > Advanced configuration > General
  • Check the Allow combining products as family checkbox

A new button for combining products will appear in both the Dynamicweb PIM and Dynamicweb Ecommerce toolbars.

To use the feature, simply select any number of products in a list and click the Combine products button to launch the combination dialog (Figure 18.1).

Figure 18.1 Combine products as family

The products may be combined in two ways:

  • As variants
  • As a product family

Both options are explained below.

Please note, that when combining products you should allow the product number field to differ across variants. Main products are generated without a product number, and unless you allow field contents to vary so will the variants and product family members.

Tip: You can combine products which exist across different languages as a family - the master product will automatically be created for all languages used in the family.

Variants are products which differ only in respect to one or more variant groups – size, color, etc.

When combining a set of products as variants (Figure 19.1), you will select one or more exisiting variant groups and assign a variant option to each product, e.g. Large or Black.

Figure 19.1 Combine as variants

To combine a set of products as variants:

  • Select the Create variants mode
  • Select the relevant variant groups
  • Review the list of products you are combining – you can add or delete products from the selection
  • Click Next

You must now do three things (Figure 19.2):

  • Assign the relevant variant options to each product
  • Select a product to generate a main product from
  • Click Save
Figure 19.2 Combine as variants

Variant combinations must be unique – you can’t save two products with the same variant option (e.g. black). If you’re trying to do this, the products are not truly variants of each other, and the relationship is perhaps better emulated at a group-level.

Please note, that you cannot add new variant products using this view - this is only intended as a tool for combining already existing products.

A product family is a collection of product which are related but not variants of each other.

Like variants, products in a family are located under a main product – but the main product is not intended to be a product in its own right, but simply acts as a container for data shared by all the products in the family (Figure 20.1).

Figure 20.1 Combine as family

To combine products in a family:

  • Select the Create family mode
  • Review the list of products you are combining – you can add or delete products from the selection
  • Click Next

On the next screen (Figure 20.2):

  • Select a product to generate a main product from
  • Click Save
Figure 20.2 Combine as family

When products are imported, they usually only contain basic information – such as an ID, a Name, a Weight and so on.

The Sales and Marketing departments then need to enrich the products with more information – descriptions in various languages, product images, related products, prices and so on – to be able to publish and sell them across different channels, countries, etc.

To manage and enrich your product portfolio:

  • Select a query or a warehouse group
  • Select a view mode suitable for the task at hand – List, Thumbnails or Edit
  • Manage or enrich your products

Apart from the view modes, you also have access to a number of specialized tools, e.g. the bulk edit tool and the import/export to Excel tool, which can make your life easier in some ways. 

When you click on a query or a product group in the PIM tree, the products in the query or group will be rendered in the content pane using one of the three view modes:

  • The List view  mode provides you with an overview of key data, e.g. the product name and number
  • The Thumbnails view mode provides you with a graphical overview showing the product image, number, and last updated date.
  • The Edit view mode provides you with editing access to the fields defined on the query

When starting a new session the view mode will be List – but PIM maintains a persistent environment across the session, and will remember the last view mode used, so it’s easy to switch from one query to another with a minimum of hassle.

Additionally, you can click individual products or product containers to open the details view mode, from which you can work with both main product and variant product data.

The List view mode is optimized for showing essential product data in a list format (Figure 23.1).

Figure 23.1 The List view mode

By default, the fields shown are Image, Number and Name – but you can add or remove fields from the List view mode by using the Visible fields button to open the field selector (Figure 23.2):

  • Find the fields manually or using the search filter
  • Move the field you want to include from the left side column to the right side column
  • Sort the included fields in the order you want the columns to occur in
  • Click ok
Figure 23.2 Selecting visible fields

The thumbnails view mode is optimized for showing products in a grid view (Figure 24.1), which provides you with a more visual view of key product data.

This view mode cannot be customized.

Figure 24.1 The Thumbnails view mode

The Edit view mode is optimized for editing products. In this mode, the fields and language selected on the query are rendered and can be edited directly from the list.

For instance, a query which includes the name and description fields of products across two languages (Figure 25.1)…

Figure 25.1 Configuring the visible fields and languages for the Edit view

…will be rendered as in Figure 25.2 when viewed in the edit view mode.

Figure 25.2 The Edit view mode

As you can see from the screenshot, the Edit view mode has some information available by default – the Product ID, the product image (if set), and the creation date and last update date.

As with the List view mode, you can add or remove fields from the List view mode using the Visible fields button – and the view languages buttons to show or hide non-default languages (Figure 25.3).

Figure 25.3 Selecting visible fields and languages

From each of the overall view modes, you can click an individual product or product container to open the details view mode (Figure 26.1).

The details view mode consists of a ribbon bar and a content pane, where the languages (1) and fields (2) selected are shown. You can use the visible fields button (3) to add or remove fields, and the language selector (4) to add or remove languages from the view. You cannot remove the default language.

You can use the Previous and Next buttons to move between products in the current group or query.

Figure 26.1 The Details view mode

If the product contains variants or variant combinations – which can be created from the ribbon bar using the variants button – these can be accessed using the variants menu (Figure 26.2). 

Figure 26.2 Editing variants

Which fields are available on the main product and the variant depends on your field settings:

  • Fields which are not allowed to have different values across variants are shown on the main product
  • Fields which can have different values across variants are rendered on each variant
  • Fields which are not allowed to have different values across languages are greyed out in the non-default language columns
  • If included, the Name, Number, and Active fields are always present on both the main product and variants, but will be greyed out where they cannot be edited

From the details view mode you can also use the preview icon next to the language indicator to preview the currently selected product (main product or variant). In order for this to function properly, you must disable two settings under Settings > Web and HTTP > Customized URLs, namely 404 for products not in website shop and 404 for products not in website language.

From the toolbar, you can also work create or manage variants and related products.

 

Bulk edit lets you edit multiple products at once, across several fields, variants, and languages.

Bulk edit is available from:

  • The Multi-edit view mode when one or more products have been selected (Figure 27.1)
  • The Details view mode for a product with variants or multiple languages

 

Figure 27.1 Bulk edit

To use bulk edit:

  • Select/open the products you want to bul edit
  • Click the bulk edit button

This opens the bulk edit interface (Figure 27.2).

Figure 27.2 Selecting the fields and languages to bulk-edit

Using this interface, you must:

  • Select one or more languages for which you want the changes to apply
  • (Details view mode only) Select one or more product variants to edit
  • Add one or more fields to bulk edit
  • Select or create the field values you want to add to selected products
  • Click OK

When editing a single product across variants & languages using the Details view mode, you can bulk edit all product fields.

When editing multiple products using the multi-edit view mode, you can only bulk edit the fields selected using the visible fields selector.

From the Details view mode you can use the Export to Excel button (Figure 28.1) to export selected fields and languages in .XLSX format.

The data can then be translated and imported, making it easier to have e.g. the translation process handled externally.

Figure 28.1 Exporting to excel

Use the Languages and Fields selectors (Figure 28.2) to select which data you want to export, then click Export.

Figure 28.2 Exporting to excel

This will export a proper .xlsx file to be edited. Field settings will be respected, so fields dependent on the main product cannot be edited for variants, and so on. Each language version will be exported with language-specific system field names (Name > Navn), if they are available. 

Once the data has been translated/enriched, you can import it:

  • Upload the .xslx file to your solution
  • Open one of the view modes (List, Thumbnails, Edit)
  • Click the Import from Excel button to launch the import view (Figure 28.3)
  • Select the languages you want to import
  • Review the data validation schema, to ensure that the data type is correct
  • Click Import
Figure 28.3 Importing from Excel

Product versioning is a feature which allows you to edit products in the product portfolio, without instantly publishing the changes to linked channels (like your Ecommerce shop).

The changes can then be reviewed – and either approved or discarded.

Product versioning works well in conjunction with the Workflows feature.

To use product versioning:

  • Open a product and switch to the Workflow tab (Figure 29.1).
  • Click Use draft (and note the Approve and Discard changes buttons)
Figure 29.1 Activating draft mode

This activates draft mode for the product – any changes made to the product are saved to the draft but not published immediately.

Once a draft version is saved, an editor can use the Versions button to open the version list (Figure 29.2).

Here you can see the version history for the product, with a version number, and a creation and publication date for each version.

Figure 29.2 Version history

For each version, you can click the Compare button to open a detailed comparison window (Figure 29.3).

Figure 29.3 Comparing a draft with the published version.

The comparison window presents you with:

  • A menu for selecting a language, an extended variant, and a version
  • Three columns with product field data – current versionpublished version, and compare

The Compare column will highlight any changes between the current (draft) version and the published version.

If you are happy with the proposed changes, go back to the product view and approve the changes using the 'Approve' button on the workflows tab - or discard them using the 'Discard changes' button.

A product property is a kind of product category field which is only rendered if it has a value. Read more about creating product properties here.

Product properties can be added, removed, and sorted manually by clicking the Add property button and launching the hidden fields dialog (Figure 31.1).

Figure 31.1 Adding product properties

Using this dialog you select which properties should be included on this particular product. You do so by moving them from the hidden fields column to the included fields column.

The sort order of the included fields column will be reflected in frontend.

Products in a product portfolio are in principle ready to be published across multiple channels, such as an Ecommerce shop, desktop publishing software such as Adobe InDesign, etc.

Currently, the only publication channel available is our very own channel – Dynamicweb Ecommerce – but more channels are in the works.

From any of the view modes you can use the Publish to Ecom button (Figure 33.1) to publish parts of the product portfolio to your Ecommerce solution.

Figure 33.1 Publishing products to Ecommerce

You must:

  • Select one or more products using the checkboxes (not necessary in product edit mode)
  • Click Publish to Ecom to open the dialog (Figure 33.2)
  • Fold out the shop(s) you want to add the products to
  • Select one or more product groups to add the products to
  • Click Save and close
Figure 33.2 Selecting groups

The products will be added to the groups selected, and the product index defined on the warehouse/query/shop will be rebuilt.

To unpublish a product from a group:

  • Open the product edit mode
  • Click Publish to Ecom
  • Click the red x to remove an existing group relation (Figure 33.3)
  • Click OK
  • Confirm
  • Save the product

This removes the product from the Ecommerce groups – and the product index defined on the warehouse/query will be rebuilt.

Figure 33.3 Unpublishing a product from Ecommerce

Dynamicweb PIM contains an email notification system, which makes it possible to alert key people – e.g. translators – when their services are needed. Basically, you create a scheduled email which will be sent to a particular user or user group when a certain query contains results/more than X items, to let them know that there are products waiting to be enriched.

This makes it possible for you to create a basic workflow, where items move from query to query as they are enriched.

The Email Notification system can be accessed from the Email notifications node in the PIM tree (Figure 34.1)

Figure 34.1 The Email Notifications node

To create an email notification:

  • Click on the Email Notifications node
  • Click Add notification in the toolbar and configure the notification (Figure 34.2)
  • Provide a title and a subject
  • Select one or more users to email
  • Select a query
  • Select a rule for when the email should be triggered
  • Select an email template to use, and the max number of query items to include in the email
  • Specify which item fields to include in which placeholder column in the email
  • Click Save
Figure 34.2 Creating a notification

Help help, I am being spammed!

Currently, all email notifications are scheduled to be sent every hour.

To change this (and you want to change this) go to Settings > System > Scheduled Tasks and change the repeat interval for the Send PIM email notifications task to something sane, e.g. 1 day.