Administration & Operations

Tenant onboarding, configuration management and infrastructure level endpoints used by the POSSUM platform and support teams.

AdminController

Used during tenant provisioning to monitor activity and bootstrap a new company database.

Endpoint Description Request Response
GET /api/Admin/GetLastActivity Returns last login, sync and status timestamps for every company in the master database. None. List of CompanyStatusViewModel.
POST /api/Admin/Register Creates a new tenant: stores company metadata, provisions the admin user, creates the tenant database and seeds it. Body: Company with administrator credentials. HTTP 200 with API result details or error information.

SettingController

Central hub for synchronising configuration data, floor plans, employees and logging device telemetry.

Endpoint Description Request Response
POST /api/Setting/PostSetting Creates or updates POS configuration settings coming from terminals. Body: Setting. HTTP 200 on success; HTTP 417 on failure.
GET /api/Setting/GetInvoiceCounters Returns invoice counter values to keep invoice numbering sequences aligned across devices. None. List of InvoiceCounter.
POST /api/Setting/PostInvoiceCounter Updates the stored invoice counter after a device has issued a new invoice number. Body: InvoiceCounter. HTTP 200 on success; HTTP 417 if persistence fails.
GET /api/Setting/GetSettings Delta endpoint returning settings, payment devices, floors, tables and outlets modified in the requested window. Query: Dates range. SettingData with grouped configuration entities.
GET /api/Setting/GetSettingsV2 Stream-based version of settings sync optimised for larger payloads. Query: DatesApi with paging/outlet filters. HttpResponseMessage streaming the JSON data.
POST /api/Setting/PostException Logs an application exception captured on a device. Body: ExceptionLog. HTTP 200 when logged; HTTP 417 on failure.
POST /api/Setting/PostEmployeeLog Stores employee activity logs (clock-in/out, etc.). Body: EmployeeLog. HTTP 200 on success; HTTP 417 when persistence fails.
POST /api/Setting/PostDeviceLog Captures payment device diagnostic logs for support analysis. Body: PaymentDeviceLog. HTTP 200 on success; HTTP 417 otherwise.
GET /api/Setting/GetEmployees Returns employee records updated in the given timeframe. Query: Dates. List of Employee.
POST /api/Setting/PostEmployee Creates or updates an employee profile received from the POS. Body: Employee. HTTP 200 when saved; HTTP 417 on failure.
GET /api/Setting/GetFloors Returns the floor plan definitions for the tenant. None. List of Floor records.
GET /api/Setting/GetTables Returns table layouts per floor. None. List of FoodTable entities.
GET /api/Setting/GetPaymentTypes Lists payment types configured for the tenant (cash, card, vouchers etc.). None. List of PaymentType.
GET /api/Setting/GetAllOutlets Returns all outlets for the tenant including address details. None. List of CustomerOutlet.

TerminalController

Keeps the back office aware of active terminals and their outlet assignments.

Endpoint Description Request Response
GET /api/Terminal/GetAllTerminals Lists all active terminals for the tenant. None. List of TerminalViewModel (Id, OutletId, Description).
GET /api/Terminal/GetAllTerminalsByOutletId Returns terminals assigned to a specific outlet. Query: outletId GUID as string. List of TerminalViewModel.

FileController

Serves stock export files generated by scheduled jobs.

Endpoint Description Request Response
GET /api/File/GetNewFile Checks the stock export folder for files created after the provided timestamp and copies the newest one to the download location. Query: Dates (uses LastExecutedDate). HTTP 200 with the file name when found; HTTP 404/417 otherwise.
GET /api/File/GetLatestFile Streams the newest stock export file to the caller. Query: Dates (uses LastExecutedDate). Binary response with correct MIME type when a file is available; HTTP 204 when not.