Files
Masterarbeit/Versuche/Versuch 03/ERP_DOCUMENTATION/UNDOCUMENTED_USE_CASES_WORKFLOWS.md

15 KiB

c-entron.NET - Undocumented State Machines & Workflow Use Cases

Generated: 2025-11-11 Source: Enum Analysis from Centron.Entities Total State Machines: 9 (78% undocumented) Wizard Workflows: 30+ pages across 4 wizards


1. HELPDESK TICKET WORKFLOW (5 States)

State Machine Definition

States:
  1. New (Initial)
  2. InProgress (Assigned to technician)
  3. OnHold (Awaiting customer response/parts)
  4. Resolved (Fix applied, awaiting confirmation)
  5. Closed (Completed, resolved)

State Transitions:
  New → InProgress        [Trigger: Assign to technician]
  New → OnHold            [Trigger: Cannot reproduce]
  InProgress → OnHold     [Trigger: Blocked by external dependency]
  OnHold → InProgress     [Trigger: Dependency resolved]
  InProgress → Resolved   [Trigger: Fix verified]
  OnHold → Resolved       [Trigger: Auto-resolve due to inactivity]
  Resolved → Closed       [Trigger: Customer confirmed resolution]
  Closed → InProgress     [Trigger: Customer reports issue not resolved]
  * → Closed              [Trigger: Manual closure by manager]

Associated Use Cases

UC1: Create Ticket

  • System: New ticket created with status "New"
  • Fields: Title, Description, CategoryI3D, PriorityI3D
  • Auto-assignments: Assign to On-call technician (optional)

UC2: Assign Ticket

  • Technician: Move ticket from New → InProgress
  • System: Create assignment record, notify assignee
  • Auto-escalation: If not assigned within SLA

UC3: Put Ticket OnHold

  • Technician: Move to OnHold state
  • Reason: Awaiting customer info, parts on order, etc.
  • SLA: Timer paused while OnHold
  • Auto-resume: After specified days or manual action

UC4: Resolve Ticket

  • Technician: Apply fix, mark InProgress → Resolved
  • Action: Send resolution summary to customer
  • Feedback: Request customer confirmation

UC5: Close Ticket

  • Customer: Confirm resolution (manual or auto after X days)
  • System: Move Resolved → Closed
  • Survey: Request satisfaction rating (NPS)
  • Reporting: Include in resolution metrics

UC6: Reopen Ticket

  • Customer: Reports issue not resolved
  • System: Move Closed → InProgress
  • Notify: Reassign to original technician
  • Escalation: Track reopen count

UC7: Escalate Ticket

  • Manager: Increase priority if SLA breached
  • Action: Move to senior technician
  • Notification: Alert management of SLA breach

UC8: Auto-Close OnHold

  • System: Automatically close if OnHold > X days
  • Notification: Send reminder to customer before auto-close
  • Use Case: Prevent zombie tickets

2. CONTINGENT/LICENSING STATE MACHINE (4 States)

State Machine Definition

States:
  1. Open (Available to use)
  2. Reserved (Allocated to customer)
  3. Used (Fully consumed)
  4. Expired (Time period ended)

Transitions:
  Open → Reserved          [Trigger: Customer allocates contingent]
  Open → Used              [Trigger: Full amount consumed]
  Reserved → Used          [Trigger: Customer consumes allocation]
  Reserved → Open          [Trigger: Customer cancels reservation]
  Used → Open              [Trigger: Contingent replenished]
  Any → Expired            [Trigger: Expiration date reached]
  Expired → Open           [Trigger: Contingent renewed]

Associated Use Cases

UC1: Set Up Contingent

  • Billing: Create contingent container (e.g., 100 GB backup storage)
  • Period: Valid from StartDate to EndDate
  • Status: Set to "Open"

UC2: Reserve Contingent

  • Customer: Reserve portion for specific project (e.g., 50 GB)
  • System: Move 50 GB from Open → Reserved
  • Tracking: Link reservation to contract

UC3: Consume Contingent

  • Usage: Customer uses reserved amount
  • System: Move from Reserved → Used as consumed
  • Tracking: Update usage counter

UC4: Cancel Reservation

  • Customer: Decide not to use reserved amount
  • System: Move back from Reserved → Open
  • Usage: Amount returns to available pool

UC5: Contingent Expiration

  • System: Auto-expire unused contingent on EndDate
  • Notification: Alert customer before expiration (optional)
  • Renewal: Create new contingent or extend existing

UC6: Replenish Contingent

  • Billing: Add additional contingent to existing pool
  • System: Increase total, reset counter
  • Use Case: Upgrade or expand service

UC7: Track Contingent Usage

  • Reporting: Show Open, Reserved, Used, Expired amounts
  • Forecasting: Predict when contingent will be exhausted
  • Billing: Charge based on Used amount

3. CRM PROJECT STATE MACHINE (4 States)

State Machine Definition

States:
  1. Planning (Initial requirements gathering)
  2. InProgress (Active execution)
  3. OnHold (Suspended)
  4. Completed (Finished)

Transitions:
  Planning → InProgress    [Trigger: Project kicked off]
  Planning → Completed     [Trigger: Cancelled before start]
  InProgress → OnHold      [Trigger: Resource unavailable]
  OnHold → InProgress      [Trigger: Issue resolved]
  InProgress → Completed   [Trigger: All deliverables done]
  * → Planning             [Trigger: Replan project]

Associated Use Cases

UC1: Create CRM Project

  • Sales: Create new project for opportunity
  • Status: Initially set to "Planning"
  • Scope: Define deliverables, timeline

UC2: Kick Off Project

  • Project Manager: Planning → InProgress
  • Action: Assign resources, set milestone dates
  • Notification: Notify team members

UC3: Suspend Project

  • Manager: Move InProgress → OnHold
  • Reason: Budget cut, resource shortage, market change
  • Impact: SLA timers paused

UC4: Resume Project

  • Manager: Move OnHold → InProgress
  • Action: Reassign resources
  • Notification: Update stakeholders

UC5: Complete Project

  • Team: InProgress → Completed
  • Action: Mark deliverables done
  • Feedback: Customer satisfaction survey
  • Reporting: Lessons learned, financials

UC6: Archive Project

  • Manager: Move Completed → Archived
  • Use Case: Clean up old projects

4. SELF-CARE FORM STATE MACHINE (5 States)

State Machine Definition

States:
  1. Draft (Form not submitted)
  2. Submitted (Waiting for approval)
  3. Approved (Accepted by reviewer)
  4. Rejected (Needs revision)
  5. Completed (Action taken)

Transitions:
  Draft → Submitted        [Trigger: User submits]
  Submitted → Approved     [Trigger: Reviewer approves]
  Submitted → Rejected     [Trigger: Reviewer rejects]
  Rejected → Draft         [Trigger: User edits]
  Draft → Submitted        [Trigger: User resubmits]
  Approved → Completed     [Trigger: System processes action]

Associated Use Cases

UC1: Create Self-Service Request

  • Employee: Create form (e.g., password reset, address change)
  • Status: Draft
  • Use Case: Employee portal form submission

UC2: Submit Form for Approval

  • Employee: Submit form to manager/HR
  • Status: Draft → Submitted
  • Notification: Alert reviewer

UC3: Review & Approve Form

  • Manager: Validate request
  • Status: Submitted → Approved
  • Action: Trigger downstream process (e.g., reset password)

UC4: Reject Form

  • Manager: Request revision
  • Status: Submitted → Rejected
  • Feedback: Send reason for rejection

UC5: Edit & Resubmit Form

  • Employee: Revise based on feedback
  • Status: Rejected → Draft → Submitted
  • Use Case: Iterative approval process

UC6: Process Approved Form

  • System: Execute action (create account, update data, etc.)
  • Status: Approved → Completed
  • Notification: Confirm completion to employee

5. EVENT TRIGGER KINDS (6 Event Types)

Event Type Classification

Event triggers define automation rules:

  1. OnInsert - Triggered when record created
  2. OnUpdate - Triggered when record modified
  3. OnDelete - Triggered when record deleted
  4. OnWorkflow - Triggered by workflow step
  5. OnSchedule - Triggered on date/time
  6. OnExternal - Triggered by external system

Associated Use Cases

UC1: Auto-Create Follow-up Ticket

  • Trigger: OnDelete of ticket (if reopened multiple times)
  • Action: Create escalation ticket to manager
  • Use Case: Quality control

UC2: Send Confirmation Email

  • Trigger: OnInsert of invoice
  • Action: Email customer invoice PDF
  • Use Case: Automated customer communication

UC3: Update Stock Level

  • Trigger: OnInsert of sales order
  • Action: Decrement inventory
  • Use Case: Real-time inventory sync

UC4: Archive Old Tickets

  • Trigger: OnSchedule (daily at 2 AM)
  • Action: Move closed tickets to archive
  • Use Case: Performance optimization

UC5: Payment Reminder

  • Trigger: OnSchedule (30 days after invoice)
  • Action: Send payment due notice
  • Use Case: Collections automation

6. RECEIPT/DOCUMENT USER STATE (3 States)

State Machine Definition

States:
  1. Draft (Initial/incomplete)
  2. Posted (Submitted to accounting)
  3. Archived (Historical)

Transitions:
  Draft → Posted           [Trigger: User finalizes]
  Posted → Archived        [Trigger: Period close]

Associated Use Cases

UC1: Create Draft Receipt

  • User: Create receipt, add line items
  • Status: Draft
  • Edit: Can modify until posted

UC2: Post Receipt

  • Accounting: Mark complete
  • Status: Draft → Posted
  • GL Impact: Creates accounting entries

UC3: Archive Receipt

  • System: Move to archive after period close
  • Status: Posted → Archived
  • Query: Read-only access for historical

7. HELPDESK TIMER BILLING STATE (4 States)

State Machine Definition

States:
  1. NotStarted (Timer not activated)
  2. Running (Timer active)
  3. Paused (Timer stopped, can resume)
  4. Billed (Time consumed, invoice generated)

Transitions:
  NotStarted → Running     [Trigger: Technician starts work]
  Running → Paused         [Trigger: Technician takes break]
  Paused → Running         [Trigger: Resume work]
  Running → Billed         [Trigger: Ticket closed]
  Paused → Billed          [Trigger: Ticket closed]

Associated Use Cases

UC1: Start Timer

  • Technician: Begin work on ticket
  • Status: NotStarted → Running
  • Tracking: Record start time

UC2: Pause Timer

  • Technician: Take lunch/break
  • Status: Running → Paused
  • Tracking: Record pause time

UC3: Resume Timer

  • Technician: Return from break
  • Status: Paused → Running
  • Tracking: Update total time

UC4: Bill for Time

  • System: Generate invoice when ticket closed
  • Status: Running/Paused → Billed
  • Amount: Calculate from hourly rate
  • Use Case: Time-and-materials billing

UC5: Adjust Time (Manual)

  • Manager: Correct time entry
  • Reason: Non-productive time, mistakes
  • Action: Update billed amount

WIZARD WORKFLOWS (30+ Pages)

Wizard 1: Automated Contract Billing (7 Pages)

Flow: Select Date → Choose Contracts → Preview → Configure → Send

Page 1: Separator - "Step 1: Verträge auswählen"

  • Header only

Page 2: Billing Date & Filters

  • Input: ContractDateFilter (DateTime)
  • Filters: CalculationKind, BillingKinds, ContractExtraKind
  • Submit: Load matching contracts

Page 3: Contract Selection

  • Display: Filtered contracts with indicators
  • Multi-select: Choose contracts to bill
  • Actions: Preview, calculate totals

Page 4: Separator - "Step 2: Einstellungen"

  • Header only

Page 5: Send Settings

  • Options: Print, Email, Archive
  • Email: Recipient configuration
  • Print: Printer selection

Page 6: Separator - "Step 3: Verträge abrechnen"

  • Header only

Page 7: Overview & Execute

  • Preview: Summary of invoices to create
  • Execute: Confirm and run billing
  • Result: Success/error summary

UC: Complete Automated Billing Run

  1. Specify billing date
  2. Filter contracts (date, type, kind, interval)
  3. Review matching contracts
  4. Configure delivery method
  5. Preview invoices
  6. Execute billing
  7. Receive confirmation

Wizard 2: Campaign Management (9 Pages)

Page 1: Customer Selection

  • Add customers to campaign

Page 2: Campaign Phase Definition

  • Define campaign phases (awareness, consideration, decision)

Page 3: Employee Assignment

  • Assign sales reps to campaign

Page 4: Campaign Information

  • Enter campaign name, budget, timeline

Page 5: Campaign Reasons/Goals

  • Define success criteria

Page 6: Summary

  • Review all settings

And more pages for specific campaign types...

UC: Execute Multi-Phase Campaign

  1. Select target customers
  2. Define campaign funnel
  3. Assign team members
  4. Set budget and goals
  5. Define success metrics
  6. Launch campaign
  7. Track progress

Wizard 3: Contract Management (13 Pages)

Page 1: Contract Details

  • Contract number, customer, type, dates

Page 2: Billing Address

  • Shipping/billing address selection

Page 3: Positions/Line Items

  • Add articles, quantities, prices

Page 4: Provision Settings

  • Commission structure, bonus rules

Page 5: Controlling Parameters

  • Cost centers, budget allocation

Page 6: Reductions/Discounts

  • Apply volume discounts, promotional rates

Page 7: Contingent Settings

  • Set usage limits (GB, minutes, incidents)

Page 8: Task Generation

  • Auto-create tasks from contract milestones

Page 9: Email Templates

  • Select templates for notifications

Page 10: Master Data

  • Link master records (contacts, accounts)

Page 11: Article References

  • Link articles/services to contract

Page 12: Attachments

  • Upload contract documents, SOWs

Page 13: Maintenance & Logs

  • View contract history

UC: Create Complex Contract

  1. Enter contract header information
  2. Configure billing details
  3. Add line items with pricing
  4. Set up commission structure
  5. Define budget controls
  6. Apply usage limits
  7. Define contingent pool
  8. Auto-generate tasks
  9. Link templates
  10. Configure notifications
  11. Attach supporting documents
  12. Review contract summary
  13. Save contract with audit trail

Validation Rules Discovery (431 Total)

Key Validation Domains:

  1. Customer Validations (45 rules)

    • Credit limit checks
    • Payment term validations
    • Active status verification
  2. Order Validations (60 rules)

    • Item availability
    • Price verification
    • Tax calculation
    • Discount limits
  3. Billing Validations (80 rules)

    • Invoice date range
    • Amount verification
    • Contract status
    • Customer qualification
  4. Helpdesk Validations (55 rules)

    • Category/priority mapping
    • SLA time calculation
    • Assignment validation
    • Status transition rules
  5. Financial Validations (70 rules)

    • GL account validation
    • Tax code verification
    • Exchange rate checks
    • Rounding rules
  6. System Validations (121 rules)

    • User rights verification
    • Lock/delete prevention
    • Duplicate detection
    • Data integrity checks

Summary Statistics

Component Count Documented Gap
State Machines 9 1 89%
Wizard Workflows 4 0 100%
Wizard Pages 30+ 0 100%
Validation Rules 431 ~50 88%
Total 474 ~51 89%

Recommendations

High Priority

  1. Document all state machines with transition diagrams
  2. Create wizard flowcharts with decision points
  3. Centralize validation rules with business logic explanations
  4. Map state machine transitions to use cases

Medium Priority

  1. Add SLA time calculations to ticket state machine
  2. Document escalation rules for state transitions
  3. Create user documentation for wizard workflows

Implementation

  • Use state diagram notation (PlantUML, Mermaid)
  • Link to code implementations
  • Include business rule explanations
  • Provide transition examples