Postman collection
Statistics Read

pixiAdminGetCULStatistics

Returns the peak number of concurrent licensed users (CULs) per hour or per day since a start date, broken down by Pixi client application.

Evaluates the session snapshots in UsersLoggedIn and returns how many licence-relevant users were logged in concurrently.

Period

  • If StartDate is empty, it is set to the earliest Tag of all desktop/web sessions (UserActiveSessionTypeId 1 or 2).
  • A calendar grid is built from today back to StartDate: one row per day and hour 0–23 if Hourly = 1, or one row per day (hour 0) if Hourly = 0.

Which sessions count

  • Session type 1 (desktop) or 2 (web) with Tag later than StartDate.
  • The application (AppName) must be registered in ExeClientVersion with LicenceNeeded = 1, and the licence manager for its session type must be enabled: setting pixiLicencesManager for desktop clients, pixiLicencesManagerWeb for the web client.
  • Computers listed in MasterUsers and the Pixi user master are excluded.

Calculation

  1. Sessions are counted per snapshot (Tag); one session per Tag/SessionId/Pixi user.
  2. Per hour, the maximum snapshot count is taken as CULs.
  3. Per day, the highest hourly value is stored as CULsPerDay on the hour in which it was first reached.
  4. Days without any usage get a row with CULs = 0 and CULsPerDay = 0.
  5. The per-application columns count the sessions of the peak snapshot of the hour, mapped by executable name (e.g. PPOS2.exe → POS, pixi.Presentation.Web → Web).

Output

  • Hourly = 1: one row per day and hour; CULsPerDay is filled only in the peak hour of the day, otherwise NULL.
  • Hourly = 0: one row per day with the daily peak in CULs and CULsPerDay; Hour is always 0.
  • Sorted by Date ascending, then by the hour of the usage data.

Notes

  • Read-only; all tables are read WITH (NOLOCK), so results may include uncommitted data.
  • If neither pixiLicencesManager nor pixiLicencesManagerWeb is 1, no sessions qualify and all values are 0.
  • If UsersLoggedIn contains no qualifying sessions and no StartDate is passed, the period cannot be determined and the result is empty.
  • The filter Tag > StartDate is strict: with the default start date, the very first snapshot is not counted.
  • Date is derived from the current date and time, so it carries the current time of day, not midnight.
  • The secondary sort uses the hour of the usage data, which is NULL for hours without usage; within a day these rows come first in undefined order. Sort by Hour on the client if needed.
  • The per-application columns do not necessarily add up to CULs: sessions of Repairs.exe and of applications not in the internal mapping are counted in CULs but have no own column.
  • The calendar grid relies on the helper table Numbers; it must contain at least as many rows as days in the period.
  • For long periods with hourly output the result can become large (24 rows per day).

Parameters

Parameter Type Default Description
StartDate
datetime
dateTime
NULL

Start of the evaluation period. Only sessions with a later Tag are counted. If empty, the earliest session snapshot in UsersLoggedIn is used.

Example: 2024-05-01T00:00:00

Hourly
bit
boolean
1

Selects hourly or daily output.

Allowed values

  • 1 – One row per day and hour (0–23); `CULsPerDay` only in the peak hour.
  • 0 – One row per day with the daily peak.

Example: 1

Response

Result set 1 · Always (empty if no start date can be determined)

Concurrent licensed user statistics per day and hour (or per day), with a breakdown by client application.

Column Type Description
Date smalldatetime
dateTime

Day of the row (current date minus n days, including the current time of day).

Hour int

Hour of the day (0–23); always 0 in daily mode.

Day int

Day of month of Date.

Month int

Month of Date.

POS int

Sessions of PPOS2.exe in the peak snapshot.

SupplOrders int

Sessions of supplorders_a.exe in the peak snapshot.

Payments int

Sessions of paymentsclient_a.exe in the peak snapshot.

CustomerService int

Sessions of CustomerClient_A.exe in the peak snapshot.

Shipping int

Sessions of shippingclient_a.exe in the peak snapshot.

Reports int

Sessions of ReportClientA.exe in the peak snapshot.

Bin int

Sessions of binclient_a.exe in the peak snapshot.

Invoices int

Sessions of InvoicesClient_A.exe in the peak snapshot.

ControlCenter int

Sessions of ControlCenter.exe in the peak snapshot.

Web int

Sessions of pixi.Presentation.Web in the peak snapshot.

CULs int

Maximum number of concurrent licensed users in this hour (daily mode: daily peak); 0 without usage.

CULsPerDay
Nullable
int

Daily peak of concurrent licensed users; in hourly mode only filled in the hour where the peak was first reached, otherwise NULL. 0 for days without usage.

Examples

POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
  <SOAP-ENV:Body>
    <ns1:pixiAdminGetCULStatistics>
      <!-- <StartDate>2024-05-01T00:00:00</StartDate> -->
      <!-- <Hourly>1</Hourly> -->
    </ns1:pixiAdminGetCULStatistics>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Tables used

Numbers · Read UsersLoggedIn · Read Settings · Read ExeClientVersion · Read MasterUsers · Read
SQL object:
dbo.pipiAdminGetCULStatistics
Procedure last changed on 2026-10-05
Documentation written by claude-opus-5-5 on 2026-10-30