Skip to content

Account dashboard template

Authenticated account overview and navigation.

Output: page body inside the storefront layout.

Shared structures available in recorded contexts: shop, branding, theme, urls, page, navigation, languageSwitcher, currencySwitcher, headerActionContributions, labels, security, footer, cartPreview, accountHeader.

viewModel.account.dashboard.labels uses the account-label structure.

Field Type Meaning Availability
viewModel.account object Account data; check child fields before use. When the parent is provided; check optional fields.
viewModel.account.dashboard object Dashboard data; check child fields before use. When the parent is provided; check optional fields.
viewModel.account.dashboard.cards array Prepared cards collection; may be empty. When the parent is provided; check optional fields.
viewModel.account.dashboard.cards[].actionLabel string Prepared action display text. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.cards[].key string Key value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.cards[].state string State value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.cards[].text string Text value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.cards[].title string Title value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.cards[].url string Prepared url URL; use unchanged. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.company object Company data; check child fields before use. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.addresscustomfields array Prepared addresscustomfields collection; may be empty. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.addresses array Prepared addresses collection; may be empty. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.assignedShopCount number Assigned shop count numeric value. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.assignments array Prepared assignments collection; may be empty. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.assignments[].isActive number Is active numeric value. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.assignments[].isPrimary number Is primary numeric value. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.assignments[].key string Key value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.assignments[].name string Name value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.assignments[].shopId number shop identifier; do not load data with it. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.canOrder boolean Whether order applies; use for display only. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.companyAddition string Company addition value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.companyNumber string Company number value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.createdAt date or empty string Database timestamp when available. This is not a localized display label. Within an existing customer/company object; empty when no timestamp is available.
viewModel.account.dashboard.company.customerCompanyId number customer company identifier; do not load data with it. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.customerCompanyMemberId number customer company member identifier; do not load data with it. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.customerGroupAmountType string Customer group amount type value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.customerGroupId number customer group identifier; do not load data with it. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.customerGroupName string Customer group name value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.customerGroupPriceListId number customer group price list identifier; do not load data with it. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.customerGroupPriceListName string Customer group price list name value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.customFields array Prepared custom fields collection; may be empty. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.email string Email value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.isActive number Is active numeric value. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.isPrimaryContact boolean Whether primary contact applies; use for display only. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members array Prepared members collection; may be empty. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].canOrder number Can order numeric value. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].customerCompanyId number customer company identifier; do not load data with it. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].customerCompanyMemberId number customer company member identifier; do not load data with it. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].customerId number customer identifier; do not load data with it. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].customerNumber string Customer number value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].customerShopId number customer shop identifier; do not load data with it. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].displayName string Display name value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].email string Email value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].firstName string First name value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].isCustomerActive number Is customer active numeric value. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].isGuest number Is guest numeric value. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].isPrimaryContact number Is primary contact numeric value. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].lastName string Last name value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].memberCreatedAt string member created timestamp; may be empty. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].memberUpdatedAt string member updated timestamp; may be empty. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].role string Role value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].salutation string Salutation value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].salutationId number salutation identifier; do not load data with it. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].status string Status value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].title string Title value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.members[].titleId number title identifier; do not load data with it. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.name string Name value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.role string Role value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.shopId number shop identifier; do not load data with it. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.shopIsActive number Shop is active numeric value. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.shopIsPrimary number Shop is primary numeric value. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.shopKey string Shop key value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.shopName string Shop name value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.status string Status value supplied for this context. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.company.updatedAt date or empty string Database timestamp when available. This is not a localized display label. Within an existing customer/company object; empty when no timestamp is available.
viewModel.account.dashboard.company.vatId string vat identifier; do not load data with it. Use child fields only when account.dashboard.hasCompany is true.
viewModel.account.dashboard.customer object Customer data; check child fields before use. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.addresscustomfields array Prepared addresscustomfields collection; may be empty. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.addresses array Prepared addresses collection; may be empty. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.addresses[].addressLine2 string Address line2 value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].addressType string Address type value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].city string City value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].company string Company value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].countryId number country identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].countryIsoCode string Country iso code value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].createdAt date or empty string Database timestamp when available. This is not a localized display label. Within an existing customer/company object; empty when no timestamp is available.
viewModel.account.dashboard.customer.addresses[].customerAddressId number customer address identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].customerId number customer identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].customerShopId number customer shop identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].customFields array Prepared custom fields collection; may be empty. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].email string Email value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].firstName string First name value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].isActive boolean Whether active applies; use for display only. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].isDefaultBilling boolean Whether default billing applies; use for display only. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].isDefaultShipping boolean Whether default shipping applies; use for display only. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].label string Label value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].lastName string Last name value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].mobile string Mobile value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].phone string Phone value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].postcode string Postcode value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].salutation string Salutation value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].salutationId number salutation identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].state string State value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].street string Street value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].streetNumber string Street number value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].title string Title value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].titleId number title identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.addresses[].updatedAt date or empty string Database timestamp when available. This is not a localized display label. Within an existing customer/company object; empty when no timestamp is available.
viewModel.account.dashboard.customer.assignedShopCount number Assigned shop count numeric value. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.assignments array Prepared assignments collection; may be empty. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.assignments[].addressCount number Address count numeric value. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].cartCount number Cart count numeric value. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].companyMembershipCount number Company membership count numeric value. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].currencyId number currency identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].customerGroupId number customer group identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].customerId number customer identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].customerShopId number customer shop identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].hasDependentData boolean Whether dependent data applies; use for display only. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].isPrimary number Is primary numeric value. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].key string Key value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].languageId number language identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].name string Name value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].orderCount number Order count numeric value. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].shopId number shop identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.assignments[].status string Status value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies array Prepared companies collection; may be empty. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.companies[].assignedShopCount number Assigned shop count numeric value. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].assignments array Prepared assignments collection; may be empty. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].assignments[].isActive number Is active numeric value. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].assignments[].isPrimary number Is primary numeric value. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].assignments[].key string Key value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].assignments[].name string Name value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].assignments[].shopId number shop identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].canOrder boolean Whether order applies; use for display only. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].companyAddition string Company addition value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].companyNumber string Company number value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].createdAt date or empty string Database timestamp when available. This is not a localized display label. Within an existing customer/company object; empty when no timestamp is available.
viewModel.account.dashboard.customer.companies[].customerCompanyId number customer company identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].customerCompanyMemberId number customer company member identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].customerGroupAmountType string Customer group amount type value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].customerGroupId number customer group identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].customerGroupName string Customer group name value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].customerGroupPriceListId number customer group price list identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].customerGroupPriceListName string Customer group price list name value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].email string Email value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].isActive boolean Whether active applies; use for display only. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].isPrimaryContact boolean Whether primary contact applies; use for display only. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].memberCreatedAt string member created timestamp; may be empty. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].memberUpdatedAt string member updated timestamp; may be empty. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].name string Name value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].role string Role value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].shopId number shop identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].shopIsActive number Shop is active numeric value. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].shopIsPrimary number Shop is primary numeric value. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].shopKey string Shop key value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].shopName string Shop name value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].status string Status value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.companies[].updatedAt date or empty string Database timestamp when available. This is not a localized display label. Within an existing customer/company object; empty when no timestamp is available.
viewModel.account.dashboard.customer.companies[].vatId string vat identifier; do not load data with it. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.customer.createdAt date or empty string Database timestamp when available. This is not a localized display label. Within an existing customer/company object; empty when no timestamp is available.
viewModel.account.dashboard.customer.currencyId number currency identifier; do not load data with it. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.customerGroupAmountType string Customer group amount type value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.customerGroupId number customer group identifier; do not load data with it. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.customerGroupName string Customer group name value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.customerGroupPriceListId number customer group price list identifier; do not load data with it. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.customerGroupPriceListName string Customer group price list name value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.customerId number customer identifier; do not load data with it. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.customerNumber string Customer number value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.customerShopId number customer shop identifier; do not load data with it. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.customFields array Prepared custom fields collection; may be empty. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.displayName string Display name value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.email string Email value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.firstName string First name value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.isActive boolean Whether active applies; use for display only. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.isGuest boolean Whether guest applies; use for display only. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.languageId number language identifier; do not load data with it. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.lastLoginAt date or empty string Database timestamp when available. This is not a localized display label. Within an existing customer/company object; empty when no timestamp is available.
viewModel.account.dashboard.customer.lastName string Last name value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.letterSalutation string Letter salutation value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.passwordHash string Password hash value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.salutation string Salutation value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.salutationId number salutation identifier; do not load data with it. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.shopId number shop identifier; do not load data with it. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.shopLinkedAt date or empty string Database timestamp when available. This is not a localized display label. Within an existing customer/company object; empty when no timestamp is available.
viewModel.account.dashboard.customer.shopUpdatedAt date or empty string Database timestamp when available. This is not a localized display label. Within an existing customer/company object; empty when no timestamp is available.
viewModel.account.dashboard.customer.status string Status value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.title string Title value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.titleId number title identifier; do not load data with it. When the parent is provided; check optional fields.
viewModel.account.dashboard.customer.updatedAt date or empty string Database timestamp when available. This is not a localized display label. Within an existing customer/company object; empty when no timestamp is available.
viewModel.account.dashboard.customerNumberLabel string Prepared customer number display text. When the parent is provided; check optional fields.
viewModel.account.dashboard.emailLabel string Prepared email display text. When the parent is provided; check optional fields.
viewModel.account.dashboard.hasCompany boolean Whether company applies; use for display only. When the parent is provided; check optional fields.
viewModel.account.dashboard.hasNotice boolean Whether notice applies; use for display only. When the parent is provided; check optional fields.
viewModel.account.dashboard.labels object Labels data; check child fields before use. When the parent is provided; check optional fields.
viewModel.account.dashboard.logoutLabel string Prepared logout display text. When the parent is provided; check optional fields.
viewModel.account.dashboard.logoutUrl string Prepared logout URL; use unchanged. When the parent is provided; check optional fields.
viewModel.account.dashboard.navigation array Prepared navigation collection; may be empty. When the parent is provided; check optional fields.
viewModel.account.dashboard.navigation[].isActive boolean Whether active applies; use for display only. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.navigation[].key string Key value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.navigation[].label string Label value supplied for this context. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.navigation[].url string Prepared url URL; use unchanged. For each existing item; optional child fields depend on item type.
viewModel.account.dashboard.notice object Notice data; check child fields before use. When the parent is provided; check optional fields.
viewModel.account.dashboard.status object Status data; check child fields before use. When the parent is provided; check optional fields.
viewModel.account.dashboard.status.addressCount number Address count numeric value. When the parent is provided; check optional fields.
viewModel.account.dashboard.status.companyAddressCount number Company address count numeric value. When the parent is provided; check optional fields.
viewModel.account.dashboard.status.companyComplete boolean Whether company complete applies; use for display only. When the parent is provided; check optional fields.
viewModel.account.dashboard.status.hasBillingAddress boolean Whether billing address applies; use for display only. When the parent is provided; check optional fields.
viewModel.account.dashboard.status.hasCompanyBillingAddress boolean Whether company billing address applies; use for display only. When the parent is provided; check optional fields.
viewModel.account.dashboard.status.hasCompanyShippingAddress boolean Whether company shipping address applies; use for display only. When the parent is provided; check optional fields.
viewModel.account.dashboard.status.hasShippingAddress boolean Whether shipping address applies; use for display only. When the parent is provided; check optional fields.
viewModel.account.dashboard.status.memberCount number Member count numeric value. When the parent is provided; check optional fields.
viewModel.account.dashboard.status.profileComplete boolean Whether profile complete applies; use for display only. When the parent is provided; check optional fields.
viewModel.account.dashboard.title string Title value supplied for this context. When the parent is provided; check optional fields.
viewModel.account.dashboard.welcomeText string Welcome text value supplied for this context. When the parent is provided; check optional fields.
viewModel.search object Search data; check child fields before use. When the parent is provided; check optional fields.
viewModel.search.isEnabled boolean Whether enabled applies; use for display only. When the parent is provided; check optional fields.
viewModel.wishlist object Wishlist data; check child fields before use. When the parent is provided; check optional fields.
viewModel.wishlist.isEmpty boolean Whether empty applies; use for display only. When the parent is provided; check optional fields.
viewModel.wishlist.itemCount number Item count numeric value. When the parent is provided; check optional fields.
viewModel.wishlist.items array Prepared items collection; may be empty. When the parent is provided; check optional fields.
viewModel.wishlist.productIdMap object Product id map data; check child fields before use. When the parent is provided; check optional fields.
viewModel.wishlist.productIds array Prepared product ids collection; may be empty. When the parent is provided; check optional fields.
viewModel.wishlist.wishlistId number wishlist identifier; do not load data with it. When the parent is provided; check optional fields.
viewModel.wishlist.wishlistKey string Wishlist key value supplied for this context. When the parent is provided; check optional fields.

The reference package uses its bundled theme CSS, Bootstrap and theme JavaScript. Account and checkout controls use the bundled checkout script. Partials use their caller’s resolved assets.

<cfset viewModel = routeConfig.viewModel>
<cfoutput><h1>#encodeForHtml(viewModel.page.title)#</h1></cfoutput>

Use the page-specific structures above for the remaining content.

Use prepared form actions, field names and CSRF inputs from the reference implementation. Access checks, validation and commerce decisions remain outside the theme.