BGPVR Operator guide
Operator guide

Events & Holidays

What your viewers' home screens celebrate: holidays and your own events (a picture behind the home screen), Bulgarian name days, and a personal birthday or name-day greeting on a client's own devices. It shows on Web TV, the MAG portal's main menu and the BGPVR Player app (see Watch out). Since 2.9.389 the page has a Now showing card, the Birthday greeting and Name days cards, Year at a glance, filters and the events table; each event opens in an edit window with a live preview.

On this page
  1. See what shows today, or on another date
  2. Load the ready-made holidays
  3. Add or edit an event
  4. Give an event a picture
  5. Find, switch off or delete events
  6. Events & Holidays: name days, birthday greeting and gift (2.9.389)
  7. Move events between installs
  8. Name days in the BGPVR app (1.9.6.7)
  9. Watch out

See what shows today, or on another date

The Now showing card shows today's look for your main country, the next three events ("No picture yet, so it will not show" when one has no picture) and "Preview another date…". Pick a Date and Viewers in (a country, or Another country) and press Show: three small home screens show what everyone sees, what a client with a name day sees and what a client with a birthday sees (years 1901 to 9990). The line under the page title sums it up, for example "24 events · 22 on · next: Halloween in 4 days · 1 needs a picture".

Load the ready-made holidays

Header → "Load presets" → "Load". The server ships 22 holidays for everyone, Bulgaria and the UK: New Year, Valentine's Day, Halloween, Christmas, 3 март, 24 май, Гергьовден, Баба Марта, Великден (Orthodox date), St. George's Day, Bonfire Night, Remembrance Day, Easter (Western date) and more. Holidays you already have stay as they are. On the BGPVR vendor suite they come with our pictures (/tv/img/themes/<name>.jpg), and a ready-made holiday of yours without a picture gets ours. On an operator suite they come without pictures and the window says so: add your own picture to each one, or it will not show. The result says how many were added, given a picture or left unchanged. Safe to run again.

Add or edit an event

"Add event", or Open on a row, opens the edit window: Name (for staff), Priority (higher wins), On, When, Countries, Picture, Accent, Darken and a live Preview of the TV home screen and a phone. Repeats: Every year, One time only, Easter (Orthodox) or Easter (Western). Pick the month and day from lists that offer only real days (29 Feb is allowed; a one-time event also has a year). A yearly range may cross New Year, for example 30 Dec → 2 Jan. For Easter, set From and To in days from Easter Sunday (0 = Sunday, 1 = Monday, -2 = Good Friday; -60 to 60, To not before From): the date moves every year by itself. Countries are chips, All = every viewer; add another two-letter code under Another country (UK is saved as GB). Darken runs from 0 (none) to 100 %. The save bar lists the unsaved changes and Discard asks first. A value the server refuses is explained at its field, in the console's language. A new event takes its internal key from the name.

Give an event a picture

In the edit window, under Picture: on the BGPVR vendor suite you can pick one of our preset pictures; everywhere, "Upload…" takes a PNG, JPG or WebP up to 8 MB and crops it to 16:9 (1920×1080). Keep the important part in the middle and the left half calm, because the greeting is written there. "Remove the picture" takes it off. "Use a picture address instead" takes a path on this server that starts with / or a full https:// address. An event without a picture shows nothing to viewers: the table marks it "No picture" and the Needs a picture filter finds it.

Find, switch off or delete events

Year at a glance draws every event on a 12-month strip (off = outline, no picture = hatched, with a Today marker). Filter the table with All, On now, Upcoming, Off or Needs a picture, and with the Countries list (All, All countries only, or one code). The table has Event · When · Countries · Priority · On · Actions. The On switch turns an event off at once and keeps its dates for next year, so use it instead of deleting. ⋯ on a row offers Open, Duplicate and Delete; Delete asks inside the page. A deleted ready-made holiday comes back with Load presets.

Events & Holidays: name days, birthday greeting and gift (2.9.389)

Name days card: "Bulgarian name days" switches the shipped Bulgarian calendar on or off (on by default). "Your country" says where you operate: name days follow it, not the screen language (from the portal time zone until you pick one: Europe/Sofia = Bulgaria, Europe/London = United Kingdom; "Another country" for the rest). With Bulgaria, on the day every viewer sees "Имен ден: <names> — А знаете ли, че: <fact>" (English screens: "Name day: <names> — Did you know: <fact>"; a name day, origin, history or fact with no English text shows its Bulgarian text under the English labels). With any other country no name days show. With "Personal name-day greeting" on, a client whose first name, or a short form of it, belongs to the day gets "Честит имен ден, Николай!" on their own devices. The name is the first word of the client's name on the account, in Cyrillic or Latin. "Edit name days…" opens the calendar: find a name or a day, set the picture for a client's own name day, and open a day to switch it off or change its names, short forms, note, history, name origin and Did you know facts (each fact is saved on its own; one switched-on fact shows at random). "Reset to the shipped text…" brings the approved version back, and an update never overwrites a day you edited. Birthday greeting card: on by default; "Greeting uses" First name or No name. "Edit text & look…" holds the Bulgarian and English texts ({name} = the first name; empty = "Честит рожден ден, {name}!" / "Happy birthday, {name}!"; up to 120 characters), a birthday picture (without one the day's holiday picture stays; on the BGPVR vendor suite our birthday picture shows, and our name-day picture for a client's own name day) and, when the Rewards module is on, the Birthday gift: off, Free days (30 = a free month) or a discount on the next renewal (Discount 1 to 90 %, Valid for 1 to 365 days), plus Client for at least (60 days by default) and Birthday on file at least (30 days before by default). A daily job gives the gift once a year, on the morning of the birthday, to a client who qualifies: has paid before, has been a client long enough and gave the birthday in time. While the discount waits, every plan checkout on every payment gateway charges the lower price, once, and My Account's plan cards show it: the full price struck through, the birthday price next to it and a "Birthday −20 %" tag; add-ons and extra devices stay at full price. The card shows counts only ("41 of 110 clients gave a birthday"), never whose birthday it is or a date.

Move events between installs

⋯ in the header → "Export (JSON)" downloads bgpvr-events-holidays.json (with the Easter rule fields, without ids); "Import (JSON)…" adds each entry with the same checks as the edit window. Dates in the file are MM-DD for a yearly event and YYYY-MM-DD for a one-time event. An entry whose key is already in use, or whose date the server refuses, is skipped and counted ("Imported 5; 2 could not be added…").

Name days in the BGPVR app (1.9.6.7)

From app 1.9.6.7 the BGPVR Player shows the same occasions on Home: on a TV a line under "Watch" (whose name day it is, or the holiday) and, on the viewer's own name day or birthday, a short greeting at the top right once a day; on a phone a card above the live channel with all the names and the fact, which the viewer can hide for the day. Kids profiles get the line only. Nothing to set up: it follows this page.

Watch out

  • Where it shows: Web TV — the picture behind Home, with the greeting and the small lines on the left. MAG boxes (the Stalker portal) — behind the main menu, asked once per portal session (a change shows after the box reloads the portal) and darkened at least 0.5 so the menu stays readable; the greeting sits on the left, never over the logo. The BGPVR Player app shows the picture only: up to 1.8.3 on the Dashboard home layout in landscape, from 1.8.4 also on the default Modern home, not on Classic. Greetings and name days reach the app in a later app release.
  • Personal greetings (birthday, own name day) show only on the client's own devices: Web TV signed in to their account and a MAG box on their account. Everyone else gets the public look. Nothing new is stored about the client. Removing the birthday in My Account stops the birthday greeting at once; the year, if given, is used only for the under-18 check.
  • One picture and one greeting of at most two lines. Picture: the birthday picture first, then the picture for a client's own name day, then the holiday's; without an own picture the holiday picture stays and only the greeting is added. Birthday and name day on the same day: "Happy birthday, Nikolay, and happy name day!". The holiday name, or the name-day line, stays as a small line. Among holidays your own event wins over a country preset, and a country preset over a global one; inside each group the higher Priority wins, then the event created first. Presets use 10 for global and 20 for country events, and an event whose key matches a preset counts as a preset.
  • An event without a picture shows nothing and never hides another event that has one. Name days need no picture: their line shows on Web TV and MAG with or without one.
  • Our holiday pictures, and our birthday and name-day pictures, ship only on the BGPVR vendor suite. On an operator suite the ready-made holidays come without pictures: upload your own ("Add your own picture"). Events loaded before 2.9.389 keep the picture they have.
  • White-label licence: our holiday pictures show your logo in place of ours when Settings → Look & brand → White-label branding → "Logo image address" is a PNG, JPG or WebP file on this server. A dark logo gets a light plate behind it. A logo more than 4 times wider than it is tall is replaced by the "Icon (square) image address", or shrunk to fit when there is no icon. The branding card warns about both. A logo at a full https:// address is not used, and the picture keeps our logo.
  • Country: the app, Web TV and the MAG portal send BG when their language is Bulgarian and GB otherwise. Web TV takes the language picked with EN / БГ on its login screen (remembered in that browser) or in its Settings; with nothing picked, the browser's language decides. Only a caller that sends no country is placed by its IP address (the built-in offline GeoIP; X-Forwarded-For is believed only from your own reverse proxy). An event for any other country fires only for such callers — use All for everyone. This country picks the holidays only: name days and the personal name-day greeting follow "Your country" on the Name days card, so an operator in Bulgaria shows them to every viewer, whatever the screen language, and an operator elsewhere shows none.
  • Dates follow the operator's day in the portal_timezone setting (Europe/Sofia by default) — not the server's UTC clock and not each viewer's own time zone. On a Sofia-time server a UK viewer sees an event start and end at 22:00 UK time. Easter dates (Orthodox and Western) are worked out for every year.
  • The app (1.8.3 and earlier) puts the server address in front of the picture path, so a full https://… address breaks there although it works in Web TV; app 1.8.4 and the MAG portal take both. Uploaded pictures are paths on this server (/theme_img/…) and work everywhere. The nightly housekeeping removes an upload that nothing on this server names any more (an event, a setting, a message), once it has been unused for longer than the database backups are kept (14 days by default) plus a day, so a restored backup still finds its pictures; nothing else in that folder is touched. A path without the leading / is refused.
  • Accent is not used by Web TV, the MAG portal or the app yet; it colours the preview and the year strip here. It must be #RRGGBB: app 1.8.3 drops the whole look on a colour it cannot read, so the server never passes on a stored non-hex one.
  • The console's own Light/Dark setting (Settings) is read from /api/public/console-theme and survives a reload; /api/public/theme is only this seasonal look.