Skip to main content

Inclusion Type Decision Tree

Purpose: Determine the correct ServiceInclusionType for a child service.


Decision Tree

flowchart TD
Start[Child Service] --> Q1{Is this service<br/>essential for parent<br/>to function?}
Q1 -->|Yes| Q2{Can parent exist<br/>without this service?}
Q2 -->|No, required| MANDATORY[InclusionType: MANDATORY<br/>Auto-activated with parent]
Q2 -->|Yes, but degraded| Q3{Default on or off?}

Q1 -->|No| Q4{Who decides activation?}
Q4 -->|Customer| OPTIONAL[InclusionType: OPTIONAL<br/>User selects at purchase]
Q4 -->|System rules| CONFIGURABLE[InclusionType: CONFIGURABLE<br/>Rules determine activation]
Q4 -->|Always included| MANDATORY

Q3 -->|Default on| MANDATORY
Q3 -->|Default off| OPTIONAL

style MANDATORY fill:#4CAF50
style OPTIONAL fill:#2196F3
style CONFIGURABLE fill:#FF9800

Inclusion Types Explained

MANDATORY (Auto-Activated)

Definition: Service is automatically activated when parent activates. User has no choice.

Characteristics:

  • Activates without user intervention
  • Cannot be deactivated independently
  • Terminates when parent terminates
  • No separate billing line (bundled)

Use When:

  • Parent cannot function without this service
  • Regulatory requirement (e.g., Number Registry for MSN)
  • Technical dependency (e.g., NBN Access for NBN AVC)
  • Default functionality (e.g., basic voicemail)

Examples:

ServiceParentWhy MANDATORY
NBN_ACCESSNBN_BASECannot use NBN without access service
NBN_AVCNBN_ACCESSAVC is technical component of Access
NUMBER_REGISTRY_AU_IPNDMSNIPND registration is regulatory requirement
VOICEMAIL_BASICMOBILE_BASEBasic voicemail included by default

OPTIONAL (User Choice)

Definition: Service is offered to customer at purchase. Customer decides to include or not.

Characteristics:

  • Presented in service configurator
  • Customer explicitly chooses
  • Can be added/removed independently
  • Has separate billing line

Use When:

  • Customer pays extra for this service
  • Not everyone needs/wants this service
  • Service is a premium upgrade
  • Service is add-on functionality

Examples:

ServiceParentWhy OPTIONAL
MOBILE_DATA_50GBMOBILE_BASECustomer chooses data tier
INTL_ROAMINGMOBILE_BASENot all customers travel
SPEED_BOOSTNBN_BASEPremium upgrade
STATIC_IPNBN_BASEBusiness customers only
VOICEMAIL_VISUALVOICEMAILUpgrade from basic

CONFIGURABLE (Rule-Based)

Definition: System determines activation based on rules, eligibility, or configuration.

Characteristics:

  • Not directly user-selectable
  • Activated based on business rules
  • May depend on other services
  • May depend on customer attributes

Use When:

  • Eligibility constraints apply
  • Service depends on customer tier
  • Activation requires verification
  • Complex business logic needed

Examples:

ServiceParentWhy CONFIGURABLE
MSN_GOLDMOBILE_BASEOnly premium tier eligible
ENTERPRISE_FEATURESANY_BASEOnly business customers
DEVICE_SUBSIDYMOBILE_BASEOnly contract customers
LOYALTY_DISCOUNTANY_BASEBased on tenure rules

Detailed Decision Criteria

Question 1: Is this service essential for parent to function?

Yes → Likely MANDATORY

Ask follow-up: Can parent exist without this service?

  • No → Definitely MANDATORY (technical dependency)
  • Yes, but degraded → Probably MANDATORY (default functionality)

No → OPTIONAL or CONFIGURABLE

Ask follow-up: Who decides activation?

  • Customer → OPTIONAL
  • System rules → CONFIGURABLE

Question 2: Does the customer pay extra?

Yes → Likely OPTIONAL

If customer explicitly chooses and pays extra, it should be OPTIONAL so they can see the price and make a decision.

No → Likely MANDATORY or CONFIGURABLE

If bundled in parent price, it should be MANDATORY. If free but conditional, it should be CONFIGURABLE.


Question 3: Are there eligibility restrictions?

Yes → Likely CONFIGURABLE

If not everyone can get this service, use CONFIGURABLE with eligibility constraints.

No → MANDATORY or OPTIONAL

If available to everyone, use MANDATORY (always included) or OPTIONAL (customer choice).


Question 4: Is this a regulatory requirement?

Yes → MANDATORY

Regulatory services must be MANDATORY to ensure compliance:

  • Number Registry for IPND compliance
  • Caller ID presentation for TCP Code
  • Emergency service access

Service Type Analysis

Mobile Services

ServiceInclusion TypeRationale
MSN_STANDARDOPTIONALCustomer chooses number tier
MSN_GOLDCONFIGURABLEEligibility check (premium tier)
SIM_PHYSICALOPTIONALCustomer chooses SIM type
SIM_ESIMOPTIONALCustomer chooses SIM type
MOBILE_DATA_*OPTIONALCustomer chooses data tier
VOICEMAILMANDATORYBasic voicemail included
VOICEMAIL_VISUALOPTIONALPremium upgrade
INTL_ROAMINGOPTIONALCustomer chooses
NUMBER_REGISTRY_AU_IPNDMANDATORYRegulatory requirement
DEVICE_HANDSETOPTIONALCustomer chooses device

Internet Services

ServiceInclusion TypeRationale
NBN_ACCESSMANDATORYTechnical requirement
NBN_AVCMANDATORYTechnical component of Access
NBN_DATA_*OPTIONALCustomer chooses data tier
DEVICE_MODEMOPTIONALBYO vs provided
STATIC_IPOPTIONALBusiness feature
SPEED_BOOSTOPTIONALPremium upgrade

VoIP Services

ServiceInclusion TypeRationale
VOIP_NUMBERMANDATORYVoIP needs number
VOIP_DATAOPTIONALCustomer chooses plan
DEVICE_ATAOPTIONALCustomer chooses device
VOICEMAILMANDATORYBasic included
CALL_FORWARDINGOPTIONALPremium feature

Landline Services

ServiceInclusion TypeRationale
LANDLINE_NUMBERMANDATORYLandline needs number
LANDLINE_FEATURESOPTIONALCustomer chooses
CALLER_IDOPTIONALPremium feature
VOICEMAILMANDATORYBasic included

Common Mistakes

Mistake 1: Making Paid Services MANDATORY

Incorrect

Customer-paid service as MANDATORY

{
code: 'SVC_MOBILE_DATA_50GB',
inclusionType: ServiceInclusionType.MANDATORY // ← WRONG
}
Correct

Customer-paid service as OPTIONAL

{
code: 'SVC_MOBILE_DATA_50GB',
inclusionType: ServiceInclusionType.OPTIONAL // ← CORRECT
}

Impact: Customer cannot remove unwanted paid service. Leads to complaints.


Mistake 2: Making Regulatory Services OPTIONAL

Incorrect

Regulatory service as OPTIONAL

{
code: 'SVC_NUMBER_REGISTRY_AU_IPND',
inclusionType: ServiceInclusionType.OPTIONAL // ← WRONG - Compliance violation!
}
Correct

Regulatory service as MANDATORY

{
code: 'SVC_NUMBER_REGISTRY_AU_IPND',
inclusionType: ServiceInclusionType.MANDATORY // ← CORRECT
}

Impact: Non-compliance with IPND registration requirements. Legal risk.


Mistake 3: Making Technical Dependencies OPTIONAL

Incorrect

Technical component as OPTIONAL

{
code: 'SVC_NBN_ACCESS',
inclusionType: ServiceInclusionType.OPTIONAL // ← WRONG
}
Correct

Technical component as MANDATORY

{
code: 'SVC_NBN_ACCESS',
inclusionType: ServiceInclusionType.MANDATORY // ← CORRECT
}

Impact: NBN service cannot function without Access. Breaks service.


Mistake 4: Ignoring Eligibility Constraints

Incorrect

Premium service as OPTIONAL without eligibility

{
code: 'SVC_MSN_GOLD',
inclusionType: ServiceInclusionType.OPTIONAL, // ← WRONG - No eligibility check
eligibilityConstraints: [] // Empty!
}
Correct

Premium service as CONFIGURABLE with eligibility

{
code: 'SVC_MSN_GOLD',
inclusionType: ServiceInclusionType.CONFIGURABLE, // ← CORRECT
eligibilityConstraints: [
{ type: 'CUSTOMER_TIER', value: 'PREMIUM' }
]
}

Impact: Any customer can select premium number. Business rule violation.


Business Logic Considerations

Billing Impact

Inclusion TypeBilling Behaviour
MANDATORYBundled in parent price. No separate line.
OPTIONALSeparate billing line. Customer pays extra.
CONFIGURABLEDepends on rules. May be bundled or separate.

Activation Flow

Inclusion TypeActivation Flow
MANDATORYAuto-activates with parent. No user action.
OPTIONALDisplayed in service configurator. User selects.
CONFIGURABLEEligibility evaluated. Auto-includes if eligible.

Termination Behaviour

Inclusion TypeTermination Behaviour
MANDATORYTerminates with parent. Cannot terminate independently.
OPTIONALCan terminate independently. May terminate with parent.
CONFIGURABLEFollows parent. May have custom rules.

User Experience Implications

Service Configurator Display

Inclusion TypeUI Display
MANDATORYNot shown (auto-included) OR shown as "Included"
OPTIONALShown with checkbox/toggle. User can select.
CONFIGURABLEShown with eligibility indicator. May be greyed out.

Order Summary

Inclusion TypeOrder Summary
MANDATORYListed under "Included Services"
OPTIONALListed under "Selected Add-ons" with price
CONFIGURABLEListed if activated by rules

Validation Checklist

After determining inclusion type, verify:

  • MANDATORY services have no separate price
  • MANDATORY services cannot be deselected in UI
  • OPTIONAL services have price configured
  • OPTIONAL services appear in service configurator
  • CONFIGURABLE services have eligibility constraints
  • Regulatory services are MANDATORY
  • Technical dependencies are MANDATORY
  • Customer-paid add-ons are OPTIONAL
  • Premium/restricted services are CONFIGURABLE