End-to-end workflow
Step 1 - Create a wish list
Back office:
- Users create records on LSC Wish List Card. The OnInsert trigger assigns number, barcode, current Date Created, and owner info if links already exists.
Channel apps / e-commerce:
- Call web service WishListCreate. Provide the header (name, calculation type) and line rows through xmlport LSCWishListCreateXML.
- The service inserts the header, creates line rows (auto numbering in steps of 10000), and adds an owner link to the submitting membership card with Status = Active, Owner = true, Can Edit = true.
POS:
- Implement the OnWishListLinesConfirmed integration event to convert selected wish list lines into POS transaction lines and optionally remove them via WishListItemModify.
- The core panels do not create new wish lists, but can request them from upstream channels.
Step 2 - Maintain wish list content
Lines can be edited on the card page or via WishListItemModify web service. When an item number changes, the logic clears the previous variant, recalculates default unit of measure, and assures quantity defaults to 1.
Hospitality setups can mark specific lines as deals using Is Deal and Display Order ID for kiosk ordering.
FlowFields Purchased Qty and Purchased Qty (Int) show how many units were already sold (based on LSC Trans. Sales Entry). Use them to communicate progress back to the customer portal.
Step 3 - Share wish lists with members
Add members on the Wish List Members part. The first inserted link becomes the owner automatically. Only one owner is allowed; toggling Owner = true demotes others through EnsureSingleOwnerPerWishList.
Card No. lookups default the associated member contact, and Name mirrors the contact name.
- Links support statuses: Requesting, Active, Blocked, Remove.
Permissions: Can Edit decides if a member can maintain items via apps or POS.
- Owners are forced to Can Edit = true.
Use Wish List Link Logic.UpdateWishListLinks (surfaced through web service WishListLinking) to synchronize edits submitted by external channels.
Step 4 - Retrieve and fulfill a wish list in POS
- From an active POS transaction with an identified member card, run the WISHLIST_VIEW command. LSC Wish List Panel loads up to 100 lists. The limit can be overridden by subscribing to OnBeForeGetWishListSetMaxNumberOfLinesToRetrieve.
- If the member has no wish lists, the cashier can search via WISHLIST_SEARCH, filtering on number, name, owner, or contact.
- Select a wish list to open LSC Wish List Lines Panel. The panel shows items, allows multi-selection (Mark / Mark All), printing, or deletion. Confirm raises OnWishListLinesConfirmed so the POS extension can:
- Add items to the active transaction.
- Call WishListItemModifyUtils with Remove = true to keep channels in sync.
-
The WISHLIST_PRINT command calls LSC Wish List Report (pdf or printer selection) through LSC Wish List Logic.PrintWishList.
-
WISHLIST_DELETE at either panel invokes WishListPanel.DeleteWishList, which in turn calls the WishListDeleteByID web service to ensure remote copies stay consistent.
-
Monitor ownership and metadata
The list page action Refresh Missing Owner Info runs codeunit LSC Wish List Owner Refresh, which scans for headers with missing owner/contact information and repopulates values by re-reading the linked member contact.
No. of Times Visited, Date Last Used, and Date Created can be surfaced in analytics dashboards to measure engagement.