Entity Statuses

Entities can have one of 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 published, to either Active or Inactive state. When publishing an Entity it will validate that the Entity is fully and correctly configured and that all referenced Entities are also published. It will then create any relevant additional resources (such as tables, background jobs etc, depending on the type of Entity).

Active / Inactive

There are two published states - Active and Inactive. The difference between the two is if they are visible 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 Inactive are not visible in the Loyalty API without special permission.
  • 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 Active and Inactive at any time. This makes it easy to turn on or off for example an offer or cms page.

Archived

Once an Active / Inactive 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 republish an Archived Entity by flicking it back to Active or Inactive.

Deleted

Whilst a Draft Entity can be fully deleted, once Published it can no longer be permanently deleted. However it's possible to mark them as Deleted by changing the state to 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.