Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel2
outlinefalse
stylenone
typelist
printabletrue

Customer Domain schema

Customer attributes JSON Schema

Code Block
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Customer Domain Schema",
  "description": "Schema for the Customer domain in the Orthogramic Metamodel",
  "type": "object",
  "required": ["customerID", "title", "description", "orgUnitTitle"],
  "properties": {
    "customerID": {
      "type": "string",
      "description": "Unique identifier for the customer element"
    },
    "title": {
      "type": "string",
      "description": "The name or title of the customer segment or persona"
    },
    "description": {
      "type": "string",
      "description": "A detailed explanation of the customer segment's characteristics"
    },
    "customerSegmentType": {
      "type": "string",
      "description": "Classification of segment (e.g., demographic, behavioral, value-based)",
      "enum": ["demographic", "behavioral", "value-based", "needs-based", "lifecycle", "industry", "geographic", "psychographic", "technographic", "other"]
    },
    "orgUnitTitle": {
      "type": "string",
      "description": "The organization unit(s) responsible for this customer segment"
    },
    "orgUnitRoles": {
      "type": "array",
      "description": "Specific roles within the organization unit that manage this segment",
      "items": {
        "type": "string"
      }
    },
    "customerNeeds": {
      "type": "array",
      "description": "Primary needs, wants, and pain points addressed",
      "items": {
        "type": "string"
      }
    },
    "customerValue": {
      "type": "string",
      "description": "The value proposition offered to this customer segment"
    },
    "acquisitionChannels": {
      "type": "array",
      "description": "Channels used to acquire this type of customer",
      "items": {
        "type": "string"
      }
    },
    "retentionStrategies": {
      "type": "array",
      "description": "Approaches to maintaining customer relationships",
      "items": {
        "type": "string"
      }
    },
    "customerLifecycleStage": {
      "type": "string",
      "description": "Current position in the customer journey",
      "enum": ["awareness", "consideration", "purchase", "onboarding", "usage", "growth", "retention", "advocacy", "win-back", "other"]
    },
    "customerLifetimeValue": {
      "type": "object",
      "description": "Expected or measured value of this customer type",
      "properties": {
        "value": {
          "type": "number",
          "description": "Numeric value"
        },
        "currency": {
          "type": "string",
          "description": "Currency code"
        },
        "timespan": {
          "type": "string",
          "description": "Period over which value is calculated"
        },
        "calculationMethod": {
          "type": "string",
          "description": "Method used to calculate lifetime value"
        }
      }
    },
    "performanceIndicators": {
      "type": "array",
      "description": "Metrics used to measure success with this segment",
      "items": {
        "type": "object",
        "properties": {
          "metricName": {
            "type": "string",
            "description": "Name of the performance metric"
          },
          "metricDescription": {
            "type": "string",
            "description": "Description of what the metric measures"
          },
          "currentValue": {
            "type": "string",
            "description": "Current performance value"
          },
          "targetValue": {
            "type": "string",
            "description": "Target performance value"
          },
          "unit": {
            "type": "string",
            "description": "Unit of measurement"
          }
        }
      }
    },
    "dependencies": {
      "type": "array",
      "description": "Other domains, processes, or systems supporting this segment",
      "items": {
        "type": "object",
        "properties": {
          "dependencyType": {
            "type": "string",
            "description": "Type of dependency"
          },
          "domainType": {
            "type": "string",
            "description": "Type of domain this depends on",
            "enum": ["Capability", "Service", "Product", "Information", "Value Stream", "Strategy", "Organization", "Technology", "Initiative", "Other"]
          },
          "entityID": {
            "type": "string",
            "description": "ID of the entity being depended upon"
          },
          "description": {
            "type": "string",
            "description": "Description of the dependency"
          }
        }
      }
    },
    "relatedCustomerSegments": {
      "type": "array",
      "description": "Other segments with relationships to this one",
      "items": {
        "type": "object",
        "properties": {
          "segmentID": {
            "type": "string",
            "description": "ID of the related segment"
          },
          "relationshipType": {
            "type": "string",
            "description": "Type of relationship",
            "enum": ["parent", "child", "complementary", "competitor", "influencer", "progression", "other"]
          },
          "relationshipStrength": {
            "type": "integer",
            "description": "Strength of the relationship (1-5)",
            "minimum": 1,
            "maximum": 5
          }
        }
      }
    },
    "improvementOpportunities": {
      "type": "array",
      "description": "Areas where customer experience can be enhanced",
      "items": {
        "type": "string"
      }
    },
    "strategicAlignment": {
      "type": "string",
      "description": "How this customer segment aligns with strategic goals"
    }
  }
}

Customer Persona Element Schema

Code Block
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Customer Persona Schema",
  "description": "Schema for Customer Persona element in the Customer domain",
  "type": "object",
  "required": ["personaID", "title", "description", "orgUnitTitle"],
  "properties": {
    "personaID": {
      "type": "string",
      "description": "Unique identifier for the persona"
    },
    "title": {
      "type": "string",
      "description": "Name of the specific customer persona"
    },
    "description": {
      "type": "string",
      "description": "Detailed profile of this persona"
    },
    "orgUnitTitle": {
      "type": "string",
      "description": "The organization unit responsible for this persona"
    },
    "customerSegmentID": {
      "type": "string",
      "description": "ID of the customer segment this persona belongs to"
    },
    "demographicAttributes": {
      "type": "object",
      "description": "Age, gender, location, income level, etc.",
      "properties": {
        "ageRange": {
          "type": "string",
          "description": "Age range of the persona"
        },
        "gender": {
          "type": "string",
          "description": "Gender identity of the persona"
        },
        "location": {
          "type": "string",
          "description": "Geographic location"
        },
        "education": {
          "type": "string",
          "description": "Educational background"
        },
        "income": {
          "type": "string",
          "description": "Income level or range"
        },
        "occupation": {
          "type": "string",
          "description": "Professional role or occupation"
        },
        "familyStatus": {
          "type": "string",
          "description": "Family or household composition"
        },
        "additionalAttributes": {
          "type": "object",
          "description": "Additional demographic attributes specific to this persona"
        }
      }
    },
    "psychographicAttributes": {
      "type": "object",
      "description": "Values, attitudes, interests, lifestyle",
      "properties": {
        "values": {
          "type": "array",
          "description": "Core values and beliefs",
          "items": {
            "type": "string"
          }
        },
        "attitudes": {
          "type": "array",
          "description": "Key attitudes and outlooks",
          "items": {
            "type": "string"
          }
        },
        "interests": {
          "type": "array",
          "description": "Primary interests and hobbies",
          "items": {
            "type": "string"
          }
        },
        "lifestyle": {
          "type": "string",
          "description": "Lifestyle description"
        },
        "personalityTraits": {
          "type": "array",
          "description": "Defining personality characteristics",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "behaviors": {
      "type": "array",
      "description": "Typical behaviors and preferences",
      "items": {
        "type": "string"
      }
    },
    "goals": {
      "type": "array",
      "description": "What the persona is trying to accomplish",
      "items": {
        "type": "string"
      }
    },
    "painPoints": {
      "type": "array",
      "description": "Challenges and frustrations experienced",
      "items": {
        "type": "string"
      }
    },
    "influences": {
      "type": "array",
      "description": "Factors influencing decisions",
      "items": {
        "type": "string"
      }
    },
    "purchaseDecisionProcess": {
      "type": "string",
      "description": "How decisions are made"
    },
    "technographics": {
      "type": "object",
      "description": "Technology usage patterns",
      "properties": {
        "deviceUsage": {
          "type": "array",
          "description": "Devices used",
          "items": {
            "type": "string"
          }
        },
        "channelPreferences": {
          "type": "array",
          "description": "Preferred digital channels",
          "items": {
            "type": "string"
          }
        },
        "techAdoptionLevel": {
          "type": "string",
          "description": "Level of technology adoption",
          "enum": ["innovator", "early adopter", "early majority", "late majority", "laggard"]
        },
        "softwareUsage": {
          "type": "array",
          "description": "Key software or platforms used",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "quotations": {
      "type": "array",
      "description": "Representative quotes that express the persona's perspective",
      "items": {
        "type": "string"
      }
    },
    "narrativeScenario": {
      "type": "string",
      "description": "A day-in-the-life or typical scenario for this persona"
    }
  }
}

Customer Journey Element Schema

Code Block
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Customer Journey Schema",
  "description": "Schema for Customer Journey element in the Customer domain",
  "type": "object",
  "required": ["journeyID", "journeyTitle", "description", "orgUnitTitle"],
  "properties": {
    "journeyID": {
      "type": "string",
      "description": "Unique identifier for the customer journey"
    },
    "journeyTitle": {
      "type": "string",
      "description": "Name of the specific customer journey"
    },
    "description": {
      "type": "string",
      "description": "Overview of the entire customer journey"
    },
    "customerSegmentID": {
      "type": "string",
      "description": "ID of the customer segment this journey is designed for"
    },
    "personaIDs": {
      "type": "array",
      "description": "IDs of personas this journey applies to",
      "items": {
        "type": "string"
      }
    },
    "orgUnitTitle": {
      "type": "string",
      "description": "The organization unit responsible for overall journey management"
    },
    "journeyStages": {
      "type": "array",
      "description": "Sequential stages in the customer journey",
      "items": {
        "type": "object",
        "required": ["stageID", "stageName", "stageDescription"],
        "properties": {
          "stageID": {
            "type": "string",
            "description": "Unique identifier for this journey stage"
          },
          "stageName": {
            "type": "string",
            "description": "Name of this journey stage"
          },
          "stageDescription": {
            "type": "string",
            "description": "Description of this journey stage"
          },
          "stageOwner": {
            "type": "string",
            "description": "Organization unit responsible for this stage"
          },
          "sequenceNumber": {
            "type": "integer",
            "description": "Ordering of this stage in the journey"
          },
          "touchpoints": {
            "type": "array",
            "description": "Interaction points with the organization",
            "items": {
              "type": "object",
              "properties": {
                "touchpointID": {
                  "type": "string",
                  "description": "Unique identifier for this touchpoint"
                },
                "touchpointName": {
                  "type": "string",
                  "description": "Name of this touchpoint"
                },
                "touchpointDescription": {
                  "type": "string",
                  "description": "Description of the interaction"
                },
                "channel": {
                  "type": "string",
                  "description": "Channel through which interaction occurs"
                },
                "interactionType": {
                  "type": "string",
                  "description": "Nature of the interaction"
                },
                "orgUnitResponsible": {
                  "type": "string",
                  "description": "Organization unit responsible for this touchpoint"
                }
              }
            }
          },
          "customerActions": {
            "type": "array",
            "description": "What customers do at this stage",
            "items": {
              "type": "string"
            }
          },
          "customerThoughts": {
            "type": "array",
            "description": "What customers think/feel",
            "items": {
              "type": "string"
            }
          },
          "customerPainPoints": {
            "type": "array",
            "description": "Challenges faced at this stage",
            "items": {
              "type": "string"
            }
          },
          "customerOpportunities": {
            "type": "array",
            "description": "Potential for enhanced experience",
            "items": {
              "type": "string"
            }
          },
          "relevantCapabilities": {
            "type": "array",
            "description": "Capabilities supporting this journey stage",
            "items": {
              "type": "object",
              "properties": {
                "capabilityID": {
                  "type": "string",
                  "description": "ID of the capability"
                },
                "importanceLevel": {
                  "type": "integer",
                  "description": "Importance to this stage (1-5)",
                  "minimum": 1,
                  "maximum": 5
                }
              }
            }
          },
          "relevantValueStreams": {
            "type": "array",
            "description": "Value streams involved",
            "items": {
              "type": "object",
              "properties": {
                "valueStreamID": {
                  "type": "string",
                  "description": "ID of the value stream"
                },
                "valueStreamStage": {
                  "type": "string",
                  "description": "Specific stage of the value stream"
                }
              }
            }
          },
          "performanceMetrics": {
            "type": "array",
            "description": "How success is measured at this stage",
            "items": {
              "type": "object",
              "properties": {
                "metricName": {
                  "type": "string",
                  "description": "Name of the metric"
                },
                "metricDescription": {
                  "type": "string",
                  "description": "Description of what is measured"
                },
                "currentValue": {
                  "type": "string",
                  "description": "Current performance value"
                },
                "targetValue": {
                  "type": "string",
                  "description": "Target performance value"
                },
                "unit": {
                  "type": "string",
                  "description": "Unit of measurement"
                }
              }
            }
          }
        }
      }
    },
    "overallJourneyMetrics": {
      "type": "array",
      "description": "Metrics for the entire journey",
      "items": {
        "type": "object",
        "properties": {
          "metricName": {
            "type": "string",
            "description": "Name of the journey-level metric"
          },
          "metricDescription": {
            "type": "string",
            "description": "Description of what is measured"
          },
          "currentValue": {
            "type": "string",
            "description": "Current performance value"
          },
          "targetValue": {
            "type": "string",
            "description": "Target performance value"
          },
          "unit": {
            "type": "string",
            "description": "Unit of measurement"
          }
        }
      }
    },
    "journeyImprovements": {
      "type": "array",
      "description": "Planned or potential improvements to the journey",
      "items": {
        "type": "object",
        "properties": {
          "improvementName": {
            "type": "string",
            "description": "Name of the improvement initiative"
          },
          "improvementDescription": {
            "type": "string",
            "description": "Description of the improvement"
          },
          "targetStages": {
            "type": "array",
            "description": "Journey stages affected",
            "items": {
              "type": "string"
            }
          },
          "expectedBenefit": {
            "type": "string",
            "description": "Anticipated benefit"
          },
          "implementationStatus": {
            "type": "string",
            "description": "Current status",
            "enum": ["planned", "in-progress", "implemented", "evaluated"]
          }
        }
      }
    }
  }
}

Customer Relationship Element Schema

Code Block
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Customer Relationship Schema",
  "description": "Schema for Customer Relationship element in the Customer domain",
  "type": "object",
  "required": ["relationshipID", "title", "description", "orgUnitTitle"],
  "properties": {
    "relationshipID": {
      "type": "string",
      "description": "Unique identifier for the customer relationship"
    },
    "title": {
      "type": "string",
      "description": "Name of the relationship type"
    },
    "description": {
      "type": "string",
      "description": "Detailed description of the relationship"
    },
    "customerSegmentID": {
      "type": "string",
      "description": "ID of the customer segment this relationship applies to"
    },
    "orgUnitTitle": {
      "type": "string",
      "description": "The organization unit responsible for this relationship"
    },
    "relationshipType": {
      "type": "string",
      "description": "Nature of the relationship",
      "enum": ["transactional", "subscription", "membership", "partnership", "advisory", "support", "community", "other"]
    },
    "relationshipStrength": {
      "type": "integer",
      "description": "Indicator of relationship quality (1-5)",
      "minimum": 1,
      "maximum": 5
    },
    "engagementLevel": {
      "type": "string",
      "description": "Degree of active engagement",
      "enum": ["dormant", "occasional", "regular", "active", "advocate"]
    },
    "loyaltyStatus": {
      "type": "string",
      "description": "Current loyalty or retention status",
      "enum": ["at-risk", "stable", "loyal", "advocate", "unknown"]
    },
    "relationshipHistory": {
      "type": "array",
      "description": "Timeline of key relationship events",
      "items": {
        "type": "object",
        "properties": {
          "eventDate": {
            "type": "string",
            "format": "date",
            "description": "Date of the event"
          },
          "eventType": {
            "type": "string",
            "description": "Type of event"
          },
          "eventDescription": {
            "type": "string",
            "description": "Description of what happened"
          },
          "impact": {
            "type": "string",
            "description": "Impact on the relationship"
          }
        }
      }
    },
    "relationshipValue": {
      "type": "object",
      "description": "Current and potential relationship value",
      "properties": {
        "currentValue": {
          "type": "number",
          "description": "Current monetary value"
        },
        "potentialValue": {
          "type": "number",
          "description": "Potential future value"
        },
        "currency": {
          "type": "string",
          "description": "Currency code"
        },
        "valueBasis": {
          "type": "string",
          "description": "How value is calculated"
        }
      }
    },
    "relationshipRisks": {
      "type": "array",
      "description": "Threats to relationship continuity",
      "items": {
        "type": "object",
        "properties": {
          "riskName": {
            "type": "string",
            "description": "Name of the risk"
          },
          "riskDescription": {
            "type": "string",
            "description": "Description of the risk"
          },
          "probability": {
            "type": "integer",
            "description": "Likelihood (1-5)",
            "minimum": 1,
            "maximum": 5
          },
          "impact": {
            "type": "integer",
            "description": "Potential impact (1-5)",
            "minimum": 1,
            "maximum": 5
          },
          "mitigationStrategy": {
            "type": "string",
            "description": "Approach to addressing the risk"
          }
        }
      }
    },
    "growthOpportunities": {
      "type": "array",
      "description": "Opportunities for relationship expansion",
      "items": {
        "type": "object",
        "properties": {
          "opportunityName": {
            "type": "string",
            "description": "Name of the opportunity"
          },
          "opportunityDescription": {
            "type": "string",
            "description": "Description of the opportunity"
          },
          "potentialValue": {
            "type": "string",
            "description": "Estimated value of the opportunity"
          },
          "probability": {
            "type": "integer",
            "description": "Likelihood of achievement (1-5)",
            "minimum": 1,
            "maximum": 5
          },
          "approach": {
            "type": "string",
            "description": "Strategy for pursuing the opportunity"
          }
        }
      }
    },
    "engagementModel": {
      "type": "object",
      "description": "How the relationship is managed",
      "properties": {
        "primaryContact": {
          "type": "string",
          "description": "Main point of contact"
        },
        "contactFrequency": {
          "type": "string",
          "description": "How often contact is made"
        },
        "preferredChannels": {
          "type": "array",
          "description": "Preferred communication channels",
          "items": {
            "type": "string"
          }
        },
        "reviewCadence": {
          "type": "string",
          "description": "Schedule for relationship reviews"
        },
        "escalationPath": {
          "type": "string",
          "description": "Process for handling issues"
        }
      }
    }
  }
}

...