Custom Device Configuration for SCO
The Self-Checkout Connector (SCO) supports custom device implementations through a plugin-based architecture. This allows partners to integrate non-standard self-checkout devices with LS Central while maintaining consistent SCO functionality.
Overview
Custom devices require a set of plugin assemblies (DLLs) that implement SCO integration interfaces. SCO communicates with these plugins to handle transactions, device settings, and hardware operations.
Unlike standard manufacturers (Diebold Nixdorf or NCR), custom devices rely on partners to provide the necessary assemblies and configuration for proper operation.
SDK and GitHub Resources
SCO provides a Custom Device SDK hosted on the public GitHub repository. Partners must request access via a Support ticket.
Additionally, a NuGet package LS.SelfCheckout.Connector.Plugin is available,
providing default service interfaces and implementations usable in custom integrations.
The GitHub repository contains full SDK documentation, including service contracts, interfaces, and examples.
SDK Workflow
- Clone the SDK repository from GitHub. Review the provided documentation and sample code.
- Modify the code as necessary to connect with the custom POS device, implementing device-specific communication logic.
- Compile the SDK to produce the required DLL assemblies:
- LS.SCO.Plugin.Adapter.dll
- LS.SCO.Plugin.Core.dll
- LS.SCO.Plugin.Service.dll
- Move all compiled DLLs to the plugin folder selected during SCO setup.
- Restart SCO. If SCO is configured with Manufacturer = Custom and a valid PluginFolderPath, it will automatically load and use these DLLs.
Custom Device Configuration in SCO Card
- Set the Manufacturer field to Custom.
- Select the system folder containing the compiled plugin DLLs.
- Assign the appropriate Hardware Profile in the SCO card and terminals table.
- Configure Feature Flags that apply to the custom device as needed.
Terminals and Device Type
- Terminals added to the SCO card must be of Self-Checkout Device type.
- All terminals associated with a custom SCO instance must share the same Self-Checkout Device Type.
- Hardware Profile inheritance rules apply as described in the SCO card overview.
Feature Flags for Custom Devices
- Custom implementations can use generic SCO Feature Flags and any additional flags defined for the device.
- Feature Flags can be assigned at the SCO, terminal, or item level.
Testing and Validation
- Verify SCO loads the plugin DLLs without errors after restart.
- Test SCO services (ItemService, AddToTrans, etc.) to confirm correct responses.
- Perform transactions on all terminals to validate device communication.
- Check Feature Flags and SCO settings in the SCO Management Portal.
Summary
By following the SDK workflow, compiling and deploying the DLLs, and configuring SCO properly, partners can integrate custom self-checkout devices with LS Central while leveraging SCO functionality.
See Also
- SCO Connector Home – Overview of the Self-Checkout Connector and its architecture.
- Feature Flags for SCO Connector – Learn about configurable feature flags for devices and the connector.
- SCO Connector Card Configuration – Steps to configure and manage the SCO BC card in LS Central.
- SCO Service Administration Portal – Monitoring and managing the SCO service.
- Diebold Nixdorf Device Configuration – Configuration guidance for Diebold Nixdorf SCO devices.
- NCR Device Configuration – Configuration guidance for NCR SCO devices.