Skip to main content

CTT Status Rules

This page explains the actual CTT status-update flow shown in the team flowcharts.

API Endpoints

  • PUT /ticket/ctt/activity-status/update/:activityId
  • POST /ticket/ctt/bulk-update-ctt-activity-status
  • POST /ticket/ctt/bulk-resolve-by-ticket-id

Purpose

CTT status updates are not a free-form state change.

The current flowchart shows a controlled path focused on Resolved handling, with validation around:

  • whether the latest CTT activity exists
  • whether the CTT is already closed or cancelled
  • whether the requested status is actually Resolved
  • whether the resolved status must be synced to TaaS or TMF
  • whether note and post-logic handling should run after the update

Main business idea

At business level, this flow means:

  • not every requested status change is allowed
  • already closed or cancelled CTTs cannot be updated through this path
  • this path is mainly for moving a CTT into Resolved
  • routing to TaaS or TMF depends on the CTT number pattern, not just a generic source label

Main status update flow

The flow starts from a status update request.

Flow summary

StepBusiness meaning
Load latest CTT activity by activityId + cttIdthe system must find the current activity context first
CTT activity found?if not, the update fails immediately
Bind audit to CTTaudit tracking is attached before the state change continues
CTT already Closed or Cancel?closed or cancelled items are blocked from update
Resolve requested status LOVthe system resolves the requested status value
Requested status = Resolved?this flow only allows the resolved path
Build new resolved activity snapshotthe new resolved activity payload is created
Apply cause code, disposition, resolution code, delay reasonresolution metadata is attached
Validate resolution codes if neededthe request is checked for required resolution information
CTT number contains TaaS?decides external routing target
Send resolved status to TaaS or TMFexternal status sync is performed
Save resolved activitylocal resolved activity is stored
Run resolved post-logicfollow-up internal logic runs
Remark provided?optional note handling is evaluated
Create activity note or skip notenote behavior depends on whether a remark exists
Audit success and return updated activityfinal updated response is returned

Main failure gates

This flow fails when:

  • the latest CTT activity cannot be found
  • the CTT is already Closed or Cancel
  • the requested status is not Resolved

Important behavior

The flowchart makes one especially important rule clear:

  • only Resolved is allowed in this update path

So this is not a generic all-status update endpoint, even if the name sounds broad.

Rule summary

RuleMeaning
Latest activity must existupdate needs a valid current state snapshot
Closed or cancelled CTT cannot continueterminal states are blocked
Requested status must equal Resolvedother requested statuses are rejected
Resolution metadata may be requiredcause or resolution fields are part of the resolved path
CTT number pattern decides external routeTaaS in the CTT number routes to TaaS, otherwise TMF path is used
Remark is optionalnote creation depends on whether a remark was provided

TaaS-specific resolved path

The Resolved CTT TaaS flowchart gives a focused view of the TaaS branch.

TaaS resolved flow summary

StepBusiness meaning
Resolve CTT requestresolved flow begins
Load latest CTT activitycurrent state is loaded
CTT number contains TaaS?if no, use TMF resolved flow instead
Build resolved CTT activitylocal resolved structure is created
Set activity type to UCC Verificationthe resolved activity type is explicitly set
Send resolved status to TaaS via updateCttStatusToTaaS(...)external TaaS sync is performed
Save or update local resolved activitylocal state is updated
Run resolved post-logicfollow-up internal logic runs
Optional note sync to TaaSnote synchronization may happen after resolve

Important TaaS rule

For TaaS-style CTT numbers:

  • the resolved path is specialized
  • the activity type becomes UCC Verification
  • note sync to TaaS can happen after the main status update

Bulk status helper flow

The Bulk Status Helper flowchart shows how batch status processing works.

Flow summary

StepBusiness meaning
Bulk status helper requestbatch status operation begins
Receive list of CTT itemsmultiple CTT items are supplied
Loop each CTT itemeach item is handled one by one
Load CTT and latest activityeach item must have valid context
CTT/activity valid?invalid items are failed or skipped
Apply per-item resolve or update logicnormal status logic is run for each item
Needs external sync?some items need downstream sync and some remain local-only
CTT number contains TaaS?if external sync is needed, choose TaaS vs TMF path
Send status update to TaaS or TMFexternal sync occurs when required
Keep local-only resultlocal result is preserved when no sync is needed
Save or update local CTT activity resultlocal activity state is stored
Run post-resolve logic, notes, auditper-item completion logic runs
Mark item failed or skipinvalid items are tracked without breaking the whole loop
More items?continue until batch is done
Finish batch processingbatch run ends

What this means

Bulk status processing:

  • loops item by item
  • reuses per-item status logic
  • can mix external-sync and local-only results
  • can mark items failed or skipped without stopping the whole batch immediately

Decision matrix

SituationAllowed outcomeBlocked outcome
latest activity exists and requested status is Resolvedcontinue resolved flowfail if other required validation fails
CTT already Closed or Cancelnonestatus update blocked
requested status is not Resolvednone in this pathfail with only-resolved rule
CTT number contains TaaSsync resolved status to TaaSdo not use TMF resolved branch
CTT number does not contain TaaSuse TMF resolved pathdo not use TaaS resolved branch

What this means for developers

  • do not treat this flow as a general-purpose status transition handler
  • preserve the guard that blocks already closed or cancelled CTTs
  • preserve the rule that this path only allows Resolved
  • keep routing logic based on CTT number pattern
  • keep resolution metadata handling intact
  • keep audit, post-logic, and optional note creation after successful resolve
  • remember that bulk status helper is a wrapper around per-item logic, not a separate business rule set

What this means for QA and support

When checking a status-update issue, verify these in order:

  1. was the latest CTT activity found
  2. was the CTT already closed or cancelled
  3. was the requested status actually Resolved
  4. were cause code, disposition, resolution code, and delay reason supplied if needed
  5. did the route go to TaaS or TMF correctly
  6. was the resolved activity saved locally
  7. did post-logic run
  8. if a remark was given, was a note created

Final outcomes

ScenarioResult
activity not foundfail: CTT activity not found
CTT already closed or cancelledfail: status cannot update
requested status not resolvedfail: only resolved allowed
resolved request succeedssave resolved activity, run post-logic, audit success, return updated activity
remark existscreate activity note before success return
remark missingskip note and still return success

Still worth confirming with the team

The flowcharts are clear on control flow, but these details are still worth confirming in plain language:

QuestionWhy it matters
whether there are other status-update paths outside this resolved-only flowprevents over-documenting this one path as universal
which resolution codes are mandatory versus optionalonboarding and QA clarity
what exact post-logic runs after resolvedownstream behavior clarity
whether bulk helper returns mixed success or only completion state to the UIsupport and frontend clarity