Custom Device Configuration for SCO

In this article

Overview

Custom Device SDK

Custom Device Configuration in SCO Card

Terminals and Device Type

Custom Device Configuration for SCO

Testing and Validation

Summary

See Also

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.

Custom Device SDK

SCO provides a Custom Device SDK hosted on the public GitHub repository. Partners must request access via a Support ticket.

The SDK depends on the NuGet package LSRetail.SelfCheckout.Connector.Plugin, which provides the default service interfaces and implementations used in custom integrations. This package is published on nuget.org and is the only way to obtain it - it is not distributed through a repository folder, by email, or by any other means. The SDK repository itself already references this same NuGet package.

The GitHub repository contains full SDK documentation, including service contracts, interfaces, and examples.

SDK Workflow

  1. Clone the SDK repository from GitHub. Review the provided documentation and sample code.
  2. Modify the code as necessary to connect with the custom POS device, implementing device-specific communication logic.
  3. Compile the SDK to produce the required DLL assemblies:
    • LS.SCO.Plugin.Adapter.dll
    • LS.SCO.Plugin.Core.dll
    • LS.SCO.Plugin.Service.dll
  4. Move all compiled DLLs to the plugin folder selected during SCO setup.
  5. Restart SCO. If SCO is configured with Manufacturer = Custom and a valid PluginFolderPath, it will automatically load and use these DLLs.

Once the plugin assemblies are deployed, continue with the steps below to configure the SCO card, terminals, and feature flags for the custom device.

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

  1. Verify SCO loads the plugin DLLs without errors after restart.
  2. Test SCO services (ItemService, AddToTrans, etc.) to confirm correct responses.
  3. Perform transactions on all terminals to validate device communication.
  4. 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