POS and Headquarters extensions


Some of the functionality described in these release notes has not been released. Delivery timelines may change and projected functionality may not be released (see Microsoft policy). Learn more: What's new and planned

Enabled for Public preview General availability
Admins, makers, or analysts, automatically August 2019 October 2019

Business value

Nearly all retailers need or choose to extend Dynamics 365 for Retail to modify the existing business logic or add some new feature to the product to meet their business goals. In the point of sale (POS), commerce runtime (CRT), and Headquarters, we are adding more extension points to support custom business scenarios. The goal of this feature is to add the necessary core extension points in the product to support extension scenarios.

Feature details

Framework enhancements

After moving toward the binary-based extension model, we are wrapping and exposing all our core POS logic and user interface (UI) controls as SDK (APIs) to help the extension to easily consume and override our logic. Without these APIs, it will be difficult for the extension to write some custom logic. In some cases, the extension has to rewrite some of the existing code or write too many lines of code to do a simple scenario. To avoid this and to reduce the number of lines of code, we’re introducing more advanced APIs and configuration-driven development to simplify the overall development process.

POS UI and API extension

We are continuously enhancing the POS framework to add more POS APIs to consume our logic in extension and UI extension points to add custom columns, app bar buttons, and custom controls in core POS views.

POS overridable requests and triggers

New overridable requests are added in POS to override the POS workflow or POS business logic and to add custom logic or validation. POS trigger framework helps you to run custom logic before or after core POS logic. With this new pattern, developers can easily customize any workflow in POS.

Dev infrastructure and tools improvements

Reference to NuGet: Retail SDK references, including commerce runtime and Retail server references, are shipped in the Retail SDK for extensions to consume, but now we are planning to publish all the reference to NuGet package manager for the extension project to easily consume our references. With this approach, the extension project can get the latest updates for the reference library with a few clicks instead of going through the Lifecycle Services (LCS) update flow.

Samples to GitHub: Currently all the development samples for Retail extensions are included in the SDK, but we are planning to move all the samples to GitHub. That way they can be easily consumed and updated.

Commerce runtime analyzer: The commerce runtime analyzer tool helps to identify which request and response is used in CRT for any POS operation or workflow. For example, if a developer wants to customize a search workflow to get some additional information needed to modify the right request in CRT, this tool helps to identify the exact request used in that scenario.

Code samples and documentation: Many new code samples and documentation will be published to help with any development scenarios. With these new samples, developers can virtually copy and paste the code, and only make a few changes to complete their extensions.