description: >
    Implement to provide unique identifier of originator of the activity

properties:
    - name: OriginatorId
      type: string
      description: >
          Unique Id of the originator that initiated the respective
          operation. This is an implementation-defined string described
          by a value of type OriginatorType. The originator id can be
          shown in user interfaces but this field should not be used for
          any programmatic interrogation of an object.

    - name: OriginatorType
      type: enum[self.OriginatorTypes]
      description: >
          Type of the originator that initiated the respective
          operation.

enumerations:
    - name: OriginatorTypes
      description: >
          Indicates the type of the originator that initiated the operation.
      values:
          - name: Client
            description: >
                Client of the service that initiated the operation.
          - name: Internal
            description: >
                A process running on the service initiated the operation.
          - name: SupportingService
            description: >
                A process not running on the service but running on a supporting service
                initiated the operation.
