Customer List
First-Pass Node Dossier
This page is an evidence-backed node dossier generated from the domain hierarchy and node questionnaire.
What It Is
Customer List is the customer-owned product list concept in Pyle. It is a list of products attached to a customer and a user, with a visibility setting that controls whether the list stays private or can be shared.
Parent hierarchy:
Customer ManagementCustomer-Owned RecordsCustomer List
Primary implementation paths:
packages/framework/src/Models/CustomerList.phppackages/framework/src/Actions/CustomerListpackages/storefront/src/Livewire/Storefront/CustomerListpackages/storefront/src/Livewire/Storefront/MyAccount/Listspackages/storefront/src/Livewire/Storefront/MyAccount/List
What Users Can Do With It
Direct capabilities
Storefront users can:
- create a new list
- rename or update a list
- switch a list between private and public
- add products to a list
- remove products from a list
- download a list as a PDF
- open the quote flow from a list
Indirect capabilities
Other workflows use customer lists without treating them as a standalone admin object:
- product cards and cart items can add products to a list
- shared lists can be opened by link when visibility allows it
- wishlist content can be migrated into customer lists
- list contents can be reused later as a quote or follow-up workflow
Where It Is Managed
| Channel | Role | Notes |
|---|---|---|
| Storefront my-account lists page | Direct | Users see their saved lists here |
| Storefront list page | Direct | Users manage one list, share it, download it, or open quote-related flows |
| Storefront add-to-list dialog | Direct | Users create a list or add products into an existing list |
| Product card and cart item buttons | Indirect | Users can add products to a list from shopping surfaces |
| Wishlist migration | Direct system-owned | Legacy wishlist content can be moved into customer lists |
Sources:
packages/storefront/src/Livewire/Storefront/MyAccount/Lists/Page.phppackages/storefront/src/Livewire/Storefront/MyAccount/List/Page.phppackages/storefront/src/Livewire/Storefront/CustomerList/CreateDialog.phppackages/storefront/src/Livewire/Storefront/CustomerList/EditDialog.phppackages/storefront/src/Livewire/Storefront/CustomerList/ShareDialog.phppackages/framework/src/Actions/CustomerList/MigrateWishlistsToCustomerList.php
Channel-Level Field Coverage
List creation and editing
The packaged list workflow exposes:
nameproject_namevisibility_status
The backend also stores:
customer_iduser_iduuid
Source:
packages/storefront/src/Livewire/Storefront/CustomerList/CreateDialog.phppackages/storefront/src/Livewire/Storefront/CustomerList/EditDialog.phppackages/storefront/src/Livewire/Storefront/CustomerList/ShareDialog.phppackages/framework/src/Models/CustomerList.php
Product membership
List items carry:
product_idquantity
Source:
packages/framework/src/Models/CustomerListProduct.php
Configuration And Data Model
Key model characteristics:
- customer-owned
- user-owned
- soft-deletable
- visibility-aware
- product-list pivot based
Important field groups:
| Field Group | Purpose |
|---|---|
| identity | uuid |
| ownership | customer_id, user_id |
| display | name, project_name |
| visibility | visibility_status |
Visibility behavior:
- private lists stay within the owner context
- public lists can be shared through a link
- shared lists remain tied to the original user and customer
Sources:
packages/framework/src/Models/CustomerList.phppackages/framework/src/Enums/CustomerListVisiblityEnum.php
Relationships
Customer List directly relates to:
customeruserproductscomments
Source:
packages/framework/src/Models/CustomerList.php
Rules And Downstream Effects
Important rules and effects:
- a list belongs to the current customer account context
- a public list can be opened through its share URL
- the quote/open flow dispatches the list into a separate follow-up dialog
- list updates refresh storefront list state after save
Sources:
packages/storefront/src/Livewire/Storefront/MyAccount/List/Page.phppackages/storefront/src/Livewire/Storefront/CustomerList/ShareDialog.phppackages/storefront/src/Livewire/Storefront/CustomerList/EditDialog.phppackages/storefront/src/Livewire/Storefront/CustomerList/AddToCustomerListDialog.php
Integrations And Automation
PDF download
The list page can render a PDF export of the current list and its products.
Source:
packages/storefront/src/Livewire/Storefront/MyAccount/List/Page.php
Wishlist migration
The framework includes a migration path that converts wishlists into customer lists.
Source:
packages/framework/src/Actions/CustomerList/MigrateWishlistsToCustomerList.php
Product entry points
Products can be added to lists from product cards and cart item surfaces.
Sources:
packages/storefront/src/Livewire/Storefront/Product/Card/AddToCustomerListButton.phppackages/storefront/src/Livewire/Storefront/Cart/Items/ItemBlock/AddToCustomerListButton.php
Where It Appears To End Users
Customer List appears in:
- the my-account lists page
- the individual list page
- the add-to-list dialog from product and cart surfaces
Sources:
packages/storefront/src/Livewire/Storefront/MyAccount/Lists/Page.phppackages/storefront/src/Livewire/Storefront/MyAccount/List/Page.phppackages/storefront/src/Livewire/Storefront/CustomerList/AddToCustomerListDialog.php
Current Documentation Takeaways
- Customer lists are the storefront list-keeping concept, not an admin-only data table.
- Public/private visibility is the main sharing control.
- The feature overlaps with wishlists, but the framework now exposes customer lists as the stronger workflow.
Open Questions
- This sprint did not find a dedicated admin-side customer-list management screen.
- The quote/open dialog is dispatched from the list page, but the downstream quoting destination lives elsewhere in the storefront app.
Sources
packages/framework/src/Models/CustomerList.phppackages/framework/src/Models/CustomerListProduct.phppackages/framework/src/Actions/CustomerList/CreateCustomerList.phppackages/framework/src/Actions/CustomerList/UpdateCustomerList.phppackages/framework/src/Actions/CustomerList/DeleteCustomerList.phppackages/framework/src/Actions/CustomerList/MigrateWishlistsToCustomerList.phppackages/storefront/src/Livewire/Storefront/CustomerList/CreateDialog.phppackages/storefront/src/Livewire/Storefront/CustomerList/EditDialog.phppackages/storefront/src/Livewire/Storefront/CustomerList/ShareDialog.phppackages/storefront/src/Livewire/Storefront/MyAccount/Lists/Page.phppackages/storefront/src/Livewire/Storefront/MyAccount/List/Page.php