Appearance
Announcement module overview
Announcement Bar vs. Announcement
The announcement bar is a prominent visual component of our platform, located below our main navigation and highlighted through the bright orange color. It is optionally dismissible and can be closed by a click on the X symbol
The announcement bar is used to either display promotional messages (marketing/sales related) or to communicate the site status (scheduled maintenance, server downtime, etc.) to our visitors and members. We refer to all of these messages as Announcements
NOTE
The Announcement module was previously called AnnouncementBar module. People and/or documentation may still refer to this module by its old name. If you find any occurrence of the AnnouncementBar module, please update and use its proper name.
Announcement
Is a conditional message, shown through the Announcement bar. Announcements can be created and managed through the Nova Panel. Please read How to activate Announcement Bar and How to set up a checkout countdown for more detailed instructions on their creation and management.
We can have any amount of active Announcements which may be shown to members or guests. If there are multiple, valid options, exactly one Announcement is picked at random.
Small Screen Text
Each Announcement has one dedicated small screen message text, only shown on mobile sizes with a limit of 22 characters.
In PHP:
php
/**
* @property string $text_small
*/
Medium+ Screen Text
Each Announcement has one dedicated medium screen text, only shown on medium or large screens with a limit of 46 characters.
In PHP:
php
/**
* @property string $text_medium_up
*/
Countdown
We can include a dynamic countdown into an Announcement. To do so, we have to set a date for Countdown ends at. If the Countdown timezone is set, the members local timezone is ignored and the given unified timezone is used instead. This will avoid scheduling issues for Live-Events and similar.
In PHP:
php
/**
* @property \Illuminate\Support\Carbon|null $countdown_ends_at
* @property string|null $countdown_timezone
*/NOTE
All non Masterclass announcements will have a countdown, but are used sparingly for campaigns

Condition: Announcement Type
The AnnouncementType significantly influences how an Announcement is displayed on the platform. There are 3 available announcement types, and one must be selected when creating a new announcement on Nova:
- Promotional
- General
- Site Status
In PHP:
php
/**
* @property \App\Modules\Announcement\Enums\AnnouncementType $type
*/Condition: Restrict by Country
We can show an Announcement only in selected countries.
If no country is selected, the Announcement is shown in all countries.
If a country is selected, the priority of the Announcement is elevated for members from this country.
In PHP:
php
/**
* @property \Illuminate\Support\Collection<int, \App\Modules\Geo\Models\Country> $countries
*/Condition: Restrict by Membership Plan
We can show an Announcement only to members with one of the selected MembershipPlans.
In PHP:
php
/**
* @property \Illuminate\Support\Collection<int, \App\Modules\Membership\Models\MembershipPlan> $membershipPlans
*/Condition: Visible for Guests
We can show an Announcement to non-members
In PHP:
php
/**
* @property bool $is_visible_for_guests
*/Condition: Visible for Members
We can show an Announcement to members.
In PHP:
php
/**
* @property bool $is_visible_for_members
*/Activation / Deactivation Dates
Visible after defines the date when a Announcement becomes visible to members. If not defined, visibility is immediate
Expires at defines the date when the announcement will disappear.
In PHP:
php
/**
* @property \Illuminate\Support\Carbon|null $expires_at The timestamp when this announcement expires
* @property \Illuminate\Support\Carbon|null $visible_after
*/Relationships
In PHP:
php
Announcement::belongsToMany(Country::class);
Announcement::belongsToMany(MembershipPlan::class);All Possible Announcements
| Type | Managed on Nova | Dismissible | Description |
|---|---|---|---|
| Renewal | No | No | Remind individual members and team managers about an expired membership. |
| Missing Payment Method | No | No | Remind individual members on paid membership plans whose membership is not expired yet that it is is necessary to setup a payment method. |
| Site Status | Yes | Yes | Site Status announcements are meant only for site-critical messages as maintenance or legal notices. They can not contain links. Other conditions as membership plan or country restrictions can be applied and are respected, nevertheless usually we don't want to do this due to the general importance of these announcements. |
| Referral | No | Yes | Referral announcements are displayed to guests who are eligible for benefits, such as a free trial or free months. This includes benefits from the Refer a Friend program and from our Educational Partners. |
| Promotional | Yes | Yes | Promotional announcements can contain links to promotions, discounts available via a running campaign, etc. |
| General | Yes | Yes | General announcements can be used to announce new course or Master Class launch, etc. |
Note: On crucial pages that make use of minimal layout (such as payment or sign up forms) we only display Site Status announcements and skip the rest of the announcements.
Announcement Display Logic
At first, non-dismissible announcement is displayed:
- Renewal announcement (for members on expired membership)
- OR Missing Payment Method announcement (for members on a non-expired membership but with a missing payment method)
Followed by one of the announcements from the list, displayed one by one on subsequent page visits, until all of them are dismissed:
- Site Status announcement (very rare)
- Referral announcement for applicable users
- OR Promotional announcement for applicable users
- General announcement
This logic ensures we display 0-2 announcements at once.