> Documentation index: https://stilldeeppos.com/llms.txt

# Build your point-of-sale screen on StillDeep

> Generate a StillDeep client from the gRPC contract in TypeScript, Python, Go, .NET, Java or Rust, or link the .NET libraries in-process.

Source: https://stilldeeppos.com/developers

StillDeep does the hard part of a point of sale. You build the screen, in the stack your team already knows.

## Two ways to connect
### Over gRPC
The register exposes the `stilldeep.v1` contract on the register itself. Generate a client from the `.proto` files in any gRPC language and call the sales, catalog, member and event services. The StillDeep source code is private; its client contract is public: [download the `.proto` files](/downloads/stilldeep-contracts.zip).
### In-process (.NET)
A .NET register can link the business libraries directly: one process, no local network hop. This is how the examples that drive thermal printers and cash drawers work.

## What a client does

1. Open a shift for the employee (by badge or password).
2. Open a cart, add items by scan or search, attach a customer.
3. Choose a payment method, tender, finalize.
4. Print the receipt and the attached documents (tickets, cards, contracts).
5. Listen to events: availability changes, chat messages, server refusals.

The server re-checks every sale. Your screen never needs to compute taxes or protect totals: it shows what the engine returns.

## Example clients

- Windows Forms examples for a simple store, a shop, a cinema and a ticket office.
- A WPF pet shop and grooming salon register, with a skin contract for your own branding.
- A self-service kiosk over gRPC.
- Web examples in Node.js (cinema) and Go (ticketing).

Reference clients are meant to be published as open source (MIT or Apache 2.0). The StillDeep core is proprietary.

## Contract rules

- Package `stilldeep.v1`; version 1 never receives a breaking change.
- Money in integer cents, percentages in basis points, quantities in thousandths. No floating point anywhere.
- Timestamps in UTC; errors as `google.rpc.Status` with a stable code.

## Next steps

- [Build a register screen](/docs/build-a-client): the full path from `.proto` files to a first sale.
- [Extensions](/docs/extensions): add rules and screens without touching the core.
- The generated [gRPC API reference](/fr/docs/reference/grpc) and the [language guides](/fr/docs/reference/sdk) are in French.
