Rules & Actions
Reference the validations that assign each EOD status, identify the current handoff, and recommend the next operational action.
Active configuration
Values loaded by this running deployment.
- Application timezone
- Asia/Manila
- Expected POS EOD
- 03:00 Day after business date
- RMS allowance
- 15 min
- PDE allowance
- 15 min
- Delta allowance
- 15 min
A missing POS becomes Missing only after the target; exactly at the target it remains Pending. RMS, PDE, and Delta become Delayed when elapsed time reaches their allowance.
Possible values
The normalized inputs and classification outputs used by every scenario.
| Input | Possible values | How it is used |
|---|---|---|
business_date | A valid local calendar date (YYYY-MM-DD) | Anchors the EOD target on the following calendar day. |
eod_id | Record identifier or NULL | Distinguishes an expected missing EOD from an existing malformed Z-reading. |
pos_created_at | Valid timestamp or NULL | Validates POS completion and whether it occurred after target. |
rms_created_at | Valid timestamp or NULL | Measures POS-to-RMS processing and unlocks downstream checks. |
pde_sent_at | Valid timestamp or NULL | Displays PDE confirmation time when the success flag is true. |
delta_extracted_at | Valid timestamp or NULL | Displays Delta confirmation time when the success flag is true. |
is_sent_to_pde | true or false | Authoritative success value for PDE delivery. |
eod_extracted_to_delta | true or false | Authoritative success value for Delta extraction. |
- Overall and stage status
- HealthyPendingDelayedMissingData Issue
- Cause type
noneNo unresolved causehuman-process-likelyHuman/process likelysystem-likelySystem likelydata-qualityData quality- Current stage
POSBXI RMSLynexusPDEDeltaComplete- Issue flags
posDelayedtrue or falsermsDelayedtrue or falsedataIssuetrue or false
Stage validation matrix
Read from POS through Delta. A row may list multiple overall results when another stage determines the final classification.
POS
Validates whether the store created and submitted the Z-reading by the configured target.
| Scenario and condition | Stage result | Overall result | Likely cause | Next action |
|---|---|---|---|---|
Z-reading exists without a POS timestampA normalized EOD record exists, but its POS creation time is absent.Technical inputseod_id != NULLpos_created_at = NULL | Data IssueThis validation takes priority before missing or pending POS checks. | Data IssueCurrent stagePOS | data-qualityZ-reading exists in RMS but its POS creation timestamp is missing | Validate the POS-to-RMS payload and backfill the POS creation timestamp if recoverable |
No Z-reading before or exactly at targetNo expected EOD record has arrived and the configured target has not passed.Technical inputseod_id = NULLpos_created_at = NULLnow <= expected_eod_at | Pending | PendingCurrent stagePOS | human-process-likelyWaiting for the store to perform EOD/Z-reading | Verify the cashier performed EOD and that the POS submitted the Z-reading |
No Z-reading after targetNo expected EOD record has arrived and the configured target has passed.Technical inputseod_id = NULLpos_created_at = NULLnow > expected_eod_at | Missing | MissingCurrent stagePOS | human-process-likelyNo Z-reading received by the configured EOD target | Verify the cashier performed EOD and that the POS submitted the Z-reading |
Z-reading created on timeThe POS creation time is at or before the configured target.Technical inputspos_created_at <= expected_eod_at | Healthy | HealthyPendingDelayedCurrent stageBXI RMSLynexusPDEDeltaComplete | destination-specificDetermined by the first unresolved downstream handoff | Follow the action for the current downstream stage |
Z-reading created after targetThe POS creation time is later than the configured target.Technical inputspos_created_at > expected_eod_at | DelayedIf downstream work is pending, the overall result is upgraded to Delayed. | DelayedCurrent stageBXI RMSLynexusPDEDeltaComplete | human-process-likelyPOS EOD completed after the configured target | Verify why store EOD was completed after the configured target |
BXI RMS
Measures POS-to-RMS processing time and identifies an unresolved ingestion delay.
| Scenario and condition | Stage result | Overall result | Likely cause | Next action |
|---|---|---|---|---|
Blocked by POSRMS cannot process a Z-reading that has not been observed from POS.Technical inputspos_created_at = NULL | Missing | PendingMissingData IssueCurrent stagePOS | upstreamDetermined by the POS validation | Follow the POS action |
Processing within allowancePOS exists, RMS is absent, and elapsed processing time is below 15 minutes.Technical inputspos_created_at != NULLrms_created_at = NULLnow - pos_created_at < 15m | PendingA late POS upgrades the overall result to Delayed. | PendingDelayedCurrent stageBXI RMS | system-likelyRMS is processing the Z-reading | Check the RMS ingestion queue and POS-to-RMS connectivity |
Unresolved at or beyond allowancePOS exists, RMS is absent, and elapsed processing time is at least 15 minutes.Technical inputspos_created_at != NULLrms_created_at = NULLnow - pos_created_at >= 15m | Delayed | DelayedCurrent stageBXI RMS | system-likelyRMS processing delay | Check the RMS ingestion queue and POS-to-RMS connectivity |
Processed within allowanceRMS processed the Z-reading in less than 15 minutes.Technical inputsrms_created_at != NULLrms_created_at - pos_created_at < 15m | Healthy | HealthyPendingDelayedCurrent stageLynexusPDEDeltaComplete | destination-specificDetermined by POS timing and downstream delivery | Follow the action for the current downstream stage |
Processed at or beyond allowanceRMS completed, but POS-to-RMS processing took at least 15 minutes.Technical inputsrms_created_at != NULLrms_created_at - pos_created_at >= 15m | DelayedA completed RMS delay can coexist with an overall Healthy result. | HealthyDelayedCurrent stageLynexusPDEDeltaComplete | destination-specificThe RMS delay is retained as an issue flag after processing completes | No RMS action is assigned unless RMS is still unresolved |
Lynexus
Represents outbound orchestration from RMS to the two monitored destinations.
| Scenario and condition | Stage result | Overall result | Likely cause | Next action |
|---|---|---|---|---|
Blocked by RMSNo processed RMS record is available for outbound delivery.Technical inputsrms_created_at = NULL | Missing | PendingDelayedMissingData IssueCurrent stagePOSBXI RMS | upstreamDetermined by the POS or RMS validation | Follow the current upstream stage action |
Both destinations pending within allowancesNeither destination is confirmed and both delivery allowances remain open.Technical inputsis_sent_to_pde = falseeod_extracted_to_delta = falseelapsed_from_rms < pde_threshold (15m)elapsed_from_rms < delta_threshold (15m) | PendingA late POS upgrades the overall result to Delayed. | PendingDelayedCurrent stageLynexus | system-likelyLynexus delivery pending | Check Lynexus outbound queues and destination connectivity |
One or both destinations overdueNeither destination is confirmed and at least one delivery allowance has been reached.Technical inputsis_sent_to_pde = falseeod_extracted_to_delta = falseelapsed_from_rms >= first_destination_threshold (15m) | Delayed | DelayedCurrent stageLynexus | system-likelyLynexus delivery delay | Check Lynexus outbound queues and destination connectivity |
One destination confirmedExactly one of PDE or Delta has completed.Technical inputsis_sent_to_pde != eod_extracted_to_delta | Healthy | PendingDelayedCurrent stagePDEDelta | destination-specificThe remaining PDE or Delta handoff is pending or delayed | Follow the action for the incomplete destination |
Both destinations confirmedPDE submission and Delta extraction are both successful.Technical inputsis_sent_to_pde = trueeod_extracted_to_delta = true | HealthyA late POS can keep the completed EOD classified as Delayed. | HealthyDelayedCurrent stageComplete | noneEOD completed across all monitored destinations | No action required |
PDE
Validates the Lynexus PDE submission flag and its optional confirmation timestamp.
| Scenario and condition | Stage result | Overall result | Likely cause | Next action |
|---|---|---|---|---|
Blocked by RMSNo processed RMS record is available for PDE submission.Technical inputsrms_created_at = NULL | Missing | PendingDelayedMissingData IssueCurrent stagePOSBXI RMS | upstreamDetermined by the POS or RMS validation | Follow the current upstream stage action |
Unconfirmed within allowancePDE is not confirmed and elapsed delivery time is below 15 minutes.Technical inputsis_sent_to_pde = falseelapsed_from_rms < 15m | PendingThe overall current stage is Lynexus while both destinations are incomplete. | PendingDelayedCurrent stagePDELynexus | system-likelyPDE delivery pending | Check the Lynexus PDE queue and PDE endpoint health |
Unconfirmed at or beyond allowancePDE is not confirmed and elapsed delivery time is at least 15 minutes.Technical inputsis_sent_to_pde = falseelapsed_from_rms >= 15m | DelayedThe overall current stage is Lynexus while both destinations are incomplete. | DelayedCurrent stagePDELynexus | system-likelyPDE delivery delay | Check the Lynexus PDE queue and PDE endpoint health |
Confirmed with timestampPDE submission is successful and its timestamp is available.Technical inputsis_sent_to_pde = truepde_sent_at != NULL | Healthy | HealthyPendingDelayedCurrent stageDeltaComplete | destination-specificDetermined by the other destination or a late POS | Follow the other destination action, if incomplete |
Confirmed with timestamp unavailablePDE submission is successful, but no confirmation time was supplied.Technical inputsis_sent_to_pde = truepde_sent_at = NULL | Healthy | HealthyPendingDelayedCurrent stageDeltaComplete | destination-specificThe success flag is authoritative; the time is shown as unavailable | No action for this destination |
Delta
Validates the Lynexus Delta extraction flag and its optional confirmation timestamp.
| Scenario and condition | Stage result | Overall result | Likely cause | Next action |
|---|---|---|---|---|
Blocked by RMSNo processed RMS record is available for Delta extraction.Technical inputsrms_created_at = NULL | Missing | PendingDelayedMissingData IssueCurrent stagePOSBXI RMS | upstreamDetermined by the POS or RMS validation | Follow the current upstream stage action |
Unconfirmed within allowanceDelta is not confirmed and elapsed delivery time is below 15 minutes.Technical inputseod_extracted_to_delta = falseelapsed_from_rms < 15m | PendingThe overall current stage is Lynexus while both destinations are incomplete. | PendingDelayedCurrent stageDeltaLynexus | system-likelyDelta extraction pending | Check the Lynexus Delta extraction queue and Delta endpoint health |
Unconfirmed at or beyond allowanceDelta is not confirmed and elapsed delivery time is at least 15 minutes.Technical inputseod_extracted_to_delta = falseelapsed_from_rms >= 15m | DelayedThe overall current stage is Lynexus while both destinations are incomplete. | DelayedCurrent stageDeltaLynexus | system-likelyDelta extraction delay | Check the Lynexus Delta extraction queue and Delta endpoint health |
Confirmed with timestampDelta extraction is successful and its timestamp is available.Technical inputseod_extracted_to_delta = truedelta_extracted_at != NULL | Healthy | HealthyPendingDelayedCurrent stagePDEComplete | destination-specificDetermined by the other destination or a late POS | Follow the other destination action, if incomplete |
Confirmed with timestamp unavailableDelta extraction is successful, but no confirmation time was supplied.Technical inputseod_extracted_to_delta = truedelta_extracted_at = NULL | Healthy | HealthyPendingDelayedCurrent stagePDEComplete | destination-specificThe success flag is authoritative; the time is shown as unavailable | No action for this destination |
Cross-stage precedence
How overlapping validations determine the final record status.
- Validate source integrity first.An existing
eod_idwith nopos_created_atis always a Data Issue, even before the EOD target. - Stop at the first unresolved handoff.Missing POS blocks RMS and all destinations; missing RMS blocks Lynexus, PDE, and Delta.
- Keep late POS visible.A late POS upgrades an otherwise Healthy or Pending record to Delayed, while the current stage can remain downstream or Complete.
- Track issue flags independently.One record may set both
posDelayedandrmsDelayed. A completed RMS delay may coexist with an overall Healthy result. - Evaluate destinations independently.PDE and Delta can have different results. When one succeeds, the incomplete destination becomes the current stage; when both succeed, the current stage is Complete.