egm.EGMJackpotGroupMeterReading_v1



STOMP DestinationX/EGM.<protocol>.<GMID>.EGMJackpotGroupMeterReading
STOMP Publish CapabilityMAX-EGMMonitoring
STOMP Subscribe CapabilityMAX-EGMMonitoring, Live-EGM

Meter reading for a jackpot group as a whole (as opposed to a contributing EGM) So either a SAP on an EGM or from an LPJS.

NameTypeDocumentation
fromegm.EGMStateBase_v1EGM, SC, etc identifiers and time
metersjackpot.meters.JackpotLinkMeters_v1Meters for the link on this SAP EGM/LPJS.

egm.EGMStateBase_v1

Used to carry the standard set of identifiers for a sample of any state/value that is from/about an EGM.

NameTypeDocumentation
venueId"string"Venue this state was generated in (or is for). Must not be blank.
scId"string"Site Controller (MID) that recorded this state. Should not be blank.
interfaceId"string"a.k.a GMIC ID. EGM interface (X = GMIC ID, G2S = egmId from G2S message body, QCOM=MAC address) that delivered this state. Blank if not from an EGM/EGM interface (e.g. desired config or command to EGM)
egmElectronicId"string"a.k.a GMID. EGM technician entered identifier X = GMID, QCOM=egm electronic id (egm serial number without manufacturer prefix), G2S = cabinetprofile.machineNum. Must not be blank (it is the key!)
manufacturerId"string"QCOM=manufacturer prefix, otherwise blank
floorPosition"string"Provided in desired config and reflected in detected data so that current and historical 'position' of the EGM can be viewed/reported on
updatedTime"long"When the state was recorded/updated.

jackpot.meters.JackpotLinkMeters_v1

A unified model for jackpot link meters (link as opposed to meters for a single contributor). Includes the case of a SAP (a link of one EGM). Used by API attached LPJS (mystery and/or EGM triggered), X LPJS and SAP EGMs(X, QCOM and G2S).

NameTypeDocumentation
machinesCommunicating"null" | "int"Number of contributing EGMs applied to the link that are communicating. PDB1 Number of machines communicating. (X series only)
machinesNotCommunicating"null" | "int"Number of contributing EGMs applied to the link that are not communicating. PDB1 Number of machines not communicating. (X series only)
turnoverContributedMeter"null" | "long"Sum of turnover amounts from contributing EGMs applied to the link. Null if protocol/device does not account for contributed turnover at the link level (see contributions per level) X SAP or LPJS: PDB2 Turnover Since Startup
turnoverContributedSinceConfigChangeMeter"null" | "long"Sum of turnover amounts from contributing EGMs since the configuration of the link last changed. X SAP or LPJS: PDB2 Turnover Since Configuration Change. Do not use for non-X Devices.
levels[jackpot.meters.JackpotLinkLevelMeters]The per level (pool) meters. :Levels are numbered 1..N.

jackpot.meters.JackpotLinkLevelMeters

Because of variations in jackpot protocols/systems a fully detailed, balancing set of level meters may not always be available. However, the following equation *should* balance.<br/> See documentation for each fields for derivation/source.<br/> BALANCE EQUATION: currentValueGauge = resetContributionsMeter + incrementContributionsMeter - winsMeter + simultaneousWinOverpay - pendingExcessGauge + positiveAdjustmentsMeter - negativeAdjustmentsMeter + roundingMeter. Some of these fields are calculated - see field descriptions.<br/> Some systems/protocols may store values that need to be multiplied by jackpot level parameters (eg increment rate and reset amount) to derive some of these meters. In such systems treat changes to jackpot parameters as:<br/> Creation of a new level (making hitsCounter 0 etc) and new level positiveAdjustmentsGauge = old level (currentValueGauge - resetAmount + pendingExcessGauge) just as if the old level/pool had been closed and a new one created.<br> Or (to support QCOM custom SAP behaviour) pre-calculate the expected currentValueGauge that would occur using the above method; apply the parameter change; calculate and apply to positiveAdjustmentsMeter an amount that produces the expected currentValueGauge using BALANCE EQUATION with the new parameter values and values of other level meters.

NameTypeDocumentation
levelNumber"int"Levels are numbered 1..N.
displayValueGauge"long"Current value of the pool clamped to ceiling/maximum - i.e. excludes any current overflow. X SAP or LPJS: PDB1 Current Jackpot Value Level , G2S SAP: spc.spcLevelStatus.currentLevelAmt (levelId=levelNumber) QCOM SAP: Whichever is the lesser of Progressive Configuration Response CEIL or currentValueGauge. API Jackpot Controller: Used to send current value updates to EGMs.
currentValueGauge"long"Current value of the pool. May exceed ceiling/maximum - i.e. includes any current overflow. Calculate currentOverflow = currentValueGauge - displayValueGauge. X SAP or LPJS: PDB1 Current Jackpot Value Level , G2S SAP: spc.spcLevelStatus.currentLevelAmt (levelId=levelNumber) QCOM SAP: Progressive Meters CAMT + Progressive Configuration Response SUP.
hitsCounter"long"Number of times the jackpot level has been hit (won). X SAP or LPJS: PDB2 Number of Jackpot Resets , G2S SAP: spc.spcLevelStatus.totalStartupAmt / spc.spcLevelStatus.currentStartupAmt (levelId = levelNumber), QCOM SAP: Sum for all games of Progressive Meters Response HITS for this level.
winsMeter"long"Cumulative value of wins awarded. This is the total value of wins awarded including any rounding etc. X SAP or LPJS: PDB2 Total Value of Jackpots Won for (levelNumber) ,G2S: spc.spcLevelStatus.totalPaidAmt (levelId=levelNumber), QCOM SAP: Progressive Meters WINS.
positiveAdjustmentsMeter"long"Pool Fills. Typically from retired pools. X SAP or LPJS: Derive from balance equation - if negative, set to 0 (see below). G2S SAP: spc.spcLEvelStatus.totalAdjustAmt. QCOM SAP: Derive from balance equation - if negative, set to 0 and apply absolute amount to negativeAdjustmentsMeter(see below). JPC: From adjustments performed
negativeAdjustmentsMeter"long"Any amounts transferred from this pool. Typically 0 until/unless pool retired. X SAP or LPJS: Derive from balance equation - if negative, set to 0 (see above). G2S SAP: N/A - set to 0. QCOM SAP: Derive from balance equation - if negative, set to 0 (see above). JPC: From adjustments performed
roundingMeter"long"When a win is paid it may be rounded (typically up) to a whole number of credits. This meter accumulates the rounding portion of wins. G2S SAP: spc.spcLevelStatus.totalpaidAmt - spc.spcLevelStatus.totalHitAmt. X, QCOM, JPC: N/A - Always 0.
pendingExcessGauge"long"Overflow, fill or other amounts that have not yet been applied to currentValueGauge (typically due to some limit on amount/rate of overflow etc to apply per win reset) aka hidden amount or just accumulated overflow. This amount SHOULD NOT include currentOverflow (see currentValueGauge). On on a win, currentOverflow is applied/carried over (implicitly as part of currentValueGauge - see BALANCE EQUATION). If part of currentOverflow should not be carried over it SHOULD only then (at time of win) be added to pendingExcessGauge. Systems that do not maintain separate currentValueGauge and displayValueGauges MUST maintain currentValueGauge = displayValueGauge = amount excluding overflow AND set/update pendingExcessGauge with the total current and accumulated overflow/hidden amount. X SAP and LPJS: Accrued Hiden Jackpot Value (levelNumber), G2S SAP: spc.spcLevelStatus.currentOverflowAmt, QCOM SAP, JPC: N/A - Always 0
resetContributionsMeter"long"For an unchanging jackpot reset parameters, caluclate as: (hitsCounter+1) * jackpot reset amount. X SAP and LPJS: Calculate, G2S SAP: spc.spcStatus.totalStartupAmt, QCOM SAP: Calculate. JPC: (hitsCounter+1) * JackpotLinkConfiguration_v1.levels[levelNumber].startupAmount
incrementContributionsMeter"long"Cumulative total contributions to increment. Equal to turnoverContributedMeter * contributionToIncrementRate assuming increment rate parameter is not changed. X SAP and LPJS: Calculate. G2S SAP: spc.spcStatus.totalContribAmt. QCOM SAP: Calculate. JPC: calculated
simultaneousWinOverpayMeter"long"Increases whenever a win that cannot be funded from current contributions and fills occurs (a.k.a. a simultaneous win) by the amount that was not funded. e.g. jackpot reset amount is $100, no fills, currentValueGauge is $200, 2 wins occur at almost the same time, with no turnover contributed between them, both claiming the $200, the first win does not increment this meter, the second does increment it by $100. Linked EGM trigggered jackpots only. JPC: Calculated as described
simultaneousWinCounter"long"Number of times that the simultaneousWinOverpay Meter has incremented. See simultaneousWinOverpayMeter for conditions for this to occur. JPC: Calculated as described
pendingAdjustmentGauge"long"An adjustment amount in cents that has been requested but has not yet been applied. Goes to 0 and the positiveAdjustmentsMeter and/or negativeAdjustmentsMeter change accordingly when the adjustment is applied. QCOM SAP: Applied only after RAM-clear. Everything else: Always 0

Avro Schema