Skip to main content
APM Hero Light

What is Appsiel Print Manager?

Appsiel Print Manager (APM) is a robust print management system designed for Point of Sale (POS) environments. It bridges web-based POS applications with thermal and dot matrix printers through a WebSocket server, enabling real-time print job processing and template-based document generation. APM consists of two main components:

Windows Service

Background service that handles WebSocket connections and print job processing on port 7000

MAUI Application

Cross-platform UI for managing printers, templates, and monitoring print jobs

Key features

WebSocket communication

Real-time bidirectional communication between web clients and the print server

Template-based printing

Flexible JSON templates with support for static sections, tables, and repeated elements

Multiple printer types

Support for thermal (ESC/POS) and dot matrix (ESC/P) printers via TCP, USB, or IPP

Scale integration

Serial scale support for weight-based products with real-time data streaming

Rich document types

Pre-built templates for sales tickets, kitchen orders, invoices, stickers, and more

Remote template updates

Update print templates from web applications without restarting the service

Architecture overview

APM follows a layered architecture pattern:
The Windows Service runs as a background process, while the MAUI app provides configuration and monitoring capabilities. Both can run independently.

How it works

1

Client connects

Your web application establishes a WebSocket connection to ws://localhost:7000/websocket/
2

Send print job

Send a PrintJobRequest JSON message containing document type, printer ID, and data
3

Template rendering

APM matches the document type to a template and renders the data using the template sections
4

Command generation

The renderer generates ESC/POS or ESC/P commands based on the printer type
5

Print output

Commands are sent to the printer via the configured connection (TCP, USB, or IPP)
6

Result notification

A PrintJobResult is sent back to the client with success/error status

Document types

APM includes default templates for common POS documents:
Document TypeDescriptionUse Case
ticket_ventaSales receiptPoint of sale transactions
comandaKitchen orderRestaurant order tickets
factura_electronicaElectronic invoiceFormal invoicing with tax details
sticker_codigo_barrasBarcode stickerProduct labeling
comprobante_egresoPayment voucherCash disbursements
Template definitions are stored as JSON files in the application data folder. Always backup templates before making changes.

WebSocket message types

APM handles several message types over the WebSocket connection:
{
  "JobId": "SALE-12345",
  "StationId": "CAJA_1",
  "PrinterId": "printer_main",
  "DocumentType": "ticket_venta",
  "Document": {
    "company": { ... },
    "sale": { ... },
    "footer": []
  }
}
Refer to /home/daytona/workspace/source/Core/Models/PrintJobRequest.cs:1 for the complete model definition.

Technology stack

.NET 10

Core runtime and libraries

.NET MAUI

Cross-platform UI framework

WebSockets

Real-time communication protocol

Next steps

Installation

Install the Windows Service and MAUI application

Quick start

Send your first print job in minutes

Build docs developers (and LLMs) love