Standard alert
Machine name: alert
The node is either referenced to to an app (og_group_ref_single) or to a group or private group (og_group_ref_groups) this is through an organic group entity reference field type.
The alert visibility is set as private which means the user must be a member of that group (apps are groups too) to view it.
There is a date field for the date time to send (field_schedule_sending)
When a new alert is added it is unpublished.
There are three flags on each alert (android_sent, apple_sent, windows_sent)
There is a field (field_send_options) that tells you if it is a group or app wide alert, if this is useful
User alert
Machine name: alert_user
The user alert node does not have an organic group entity reference because otherwise everyone in a group would be able to see it. Instead it references memberships (field_select_user_og_membership)
The problem is that technically this doesn't actually offer any view access to the user, we will need to add this in programmatically.
It has the same sent flags as the standard alert