Configuration
Config entity schema
Membership Type is a config entity. Its schema is defined in config/schema/crm_membership.schema.yml:
| Key | Type | Description |
|---|---|---|
id |
string | Machine ID of the type. |
label |
label | Human-readable label. |
description |
text | Optional description. |
default_target_contact |
string (nullable) | Default target contact (e.g. CRM contact ID). |
membership_term |
string | Membership Term plugin ID. |
membership_term_config |
sequence (nullable) | Plugin-specific configuration (sequence of values; structure depends on the plugin). |
Schema prefix: crm_membership.crm_membership_type.*. The membership_term_config sequence uses type: ignore so that plugin-specific config is not validated by the schema; plugins define their own form and config shape.
See Plugin configuration reference for per-plugin keys.
Module settings (planned)
A menu link in crm_membership.links.menu.yml points at route crm_membership.settings (Administration → Configuration → System → CRM Membership), but the route, form class, and install config are not implemented yet. There is no crm_membership.routing.yml or SettingsForm in the codebase.
Module-wide settings will be added in a future release. See Roadmap.
Permissions
Permissions are defined in crm_membership.permissions.yml and appear under People → Permissions.
There is no dedicated “create memberships” permission. Creating memberships requires administer crm_membership via the entity’s admin_permission.
For the full permission list, entity access handlers, operation matrix, and recommended roles, see Access control.