Entity Statuses

Entities can have the following statuses:

DRAFT

All newly created Entities are in Draft state. The following applies to this state:

  • They don't have to have been fully configured
  • They may reference other Entities which are also Draft
  • They don't have any functionality or side effects in the system
  • They are only accessible through the config API
  • They can be deleted

Once a draft Entity has been fully configured it can be installed. When installing an Entity it will validate that the Entity is fully and correctly configured and that all referenced Entities are also installed. It will then create any relevant additional resources (such as tables, background jobs etc, depending on the type of Entity).

INSTALLED and PUBLISHED

There are two installed states - Installed and Published. The difference between the two is if they are visible in the loyalty API or not. The following applies to Published Entities:

  • They need to be valid
  • Certain aspects of the configuration may no longer be possible to change
  • They become available in the Loyalty API. Note however, that entities with status Installed are not visible in the Loyalty API unless specifically asked for (includeUnpublished=true).
  • They can no longer be deleted. This is because once they are published there may be data associated with them which can't be removed. However, it is possible to mark the Entity as Deleted.

It's possible to flick between Published and Installed at any time. This makes it easy to turn on or off for example an offer or cms page form being visible on a web page.

ARCHIVED

Once an Installed / Published Entity is not needed anymore it can be Archived. Archived Entities can't be referenced or used, but they are still there and all associated data remains in case they are needed at a later date.
It is always possible to reinstall an Archived Entity by flicking it back to Installed or Published.

DELETED

Whilst a Draft Entity can be fully deleted, once Installed it can no longer be permanently deleted. However it's possible to mark them as Deleted.
This will remove associated data and free up resources. However, the entity and entity Id remains hidden in the database since the database may contain activities or other transactional data which still references it.
Once marked as Deleted it can no longer be used, but it is possible in the portal to look up deleted Entities and see or clone their configuration .
Note that even if an Entity is deleted, the internal entity Id is still taken up and can never be reused.