Opera Gala
MasterLoading master programme editor…
Sign in with your Google account to access the admin panel.
Signed in as: —
Sign in to continue.
Internal owner backup. Not public-safe.
Internal-only operational tracker. Cases is the main workflow: keep the working title, direct contact and venue details, the next follow-up, the next action, fee context, and concise notes here first. Linked Contacts / Venues stay optional for reference only and never feed public content.
Use Cases for opportunities, contacts, venues and follow-ups. Use Calendar for dates. Use Income for money.
Desktop defaults to a compact list for faster scanning. Mobile keeps the card layout.
Select a case to edit it, or start a new one here.
Use these only if you also want to connect this case to the older Contacts / Follow-ups or Venues / Opportunities sections.
Quote frame will appear here.
Good target, minimum, and risk update from the inputs above. Expenses stay separate from the artistic fee.
Travel and accommodation stay separate.
Leave blank for computed values.
Manual override active: numbers may not follow scenario.
Do not use this fee as a future benchmark.
Professional floor = the lower boundary for Rolando's Berlin professional tenor context. Church/cultural low fees are strategic exceptions, not normal targets.
Good target = starts around €700–€1,200 for a local public concert and rises for private, corporate, luxury, package, custom, or travel contexts.
Package fee = what the client should pay for the full formation. Two singers / track has no pianist by default; two singers + piano includes the pianist.
Base cost logic, event-type weighting, and final quote positioning will appear here.
Client-facing budget text will appear here.
Internal logic will appear here.
Translation and review checks are editorial notes only. They are not public visibility states.
These labels power the two main buttons below the hero. Keep them short (roughly 12–24 characters). Saved field keys: cta1, cta2.
Intro CTA labels appear in the Home intro text block for this language only.
Saved to rg_ui_lang (same keys the public site uses). Visible on Home and Biography (proof line + “For presenters” bullets). Use Save Home / Hero below.
In prose mode, the three presenter text fields render as short paragraphs instead of bullet points.
Eyebrow
Subtitle
Reorder the four existing homepage sections safely. This only saves a strict allowlisted order and never creates new HTML.
This image appears only on Home intro. Image URL is language-specific; layout, fit and crop are shared across languages.
Translation and review checks are editorial notes only. They are not public visibility states.
Saved per language as bio_lang. The public page uses these values first and falls back to bundled biography-data.json only when a field is empty. Paragraphs are stored as paragraphs[] plus legacy p1/p2 for compatibility.
This image appears only on Biography page. Changes apply only to the currently selected language.
Portrait preview.
Tip: drag on the preview to set the focal point visually.
Intro line
Biography
Paragraph 1
Paragraph 2
Quote
Optional public image. Leave disabled to keep the current Repertoire page unchanged.
Visibility controls whether this repertoire item appears publicly. Older editorial states are treated as hidden here.
Select an event or create a new one.
Visibility controls whether this event is public. Private keeps the current public-safe private event presentation when published.
Visibility: —
Revenue amount, status and payment status are in Quick edit above. Expand for currency, notes and actual received details.
Payment details (actual received)
Internal-only expense tracking. These values never appear on the public website.
Admin-only entrance list for this event. Exported files include only door-list fields, so a helper can work the entrance without seeing full admin notes.
Interest registrations from the public event form for the selected event.
Active opt-ins for occasional concert updates. Admin-only.
Date
Event detail
Venue · City
Optional title and description for WhatsApp, Facebook, LinkedIn and other link previews. Leave empty to use the event title and event description.
Full image mode does not crop; focal point is not used.
Modal hero crop focus
Internal unless enabled here. These controls decide what a private event may reveal publicly.
Status and type are for your workflow; date badge lines are what visitors often see on the card.
SEO and schema hints help optimize event data for search engines and structured data. These hints appear automatically based on your event fields.
Save page heading & intro saves the calendar page title and intro text only.
Save all event changes saves titles, dates, venue, visibility, and other event fields.
Interested visitors from public event forms across all events.
Creates editable text for the currently visible recipients only. Nothing is sent automatically.
Planning view from Calendar events only. This is not accounting: it gives a practical picture of confirmed and potential revenue for decision-making.
| Date | Event | Venue | City | Expected | Rev. Status | Payment | Notes | Action |
|---|---|---|---|---|---|---|---|---|
| No revenue rows yet. Add revenue fields in Calendar events to populate this view. | ||||||||
Internal expense tracking. These records are never included in public website data.
| Date | Category | Description | Amount | Status | Linked | Note | Action |
|---|---|---|---|---|---|---|---|
| No expenses yet. | |||||||
Import a JSON array of past performances. Each import normalizes fields and overwrites the saved rg_past_perfs list.
Import replaces the current Past Events dataset.
No saved data loaded yet.
Programs text appears publicly on cards and detail panels. Favor clear audience-facing language over internal notes.
Stored with editorial data for this language (repProgramsLink, epkProgramsLink, hideProgramsSection).
Use these only when public programme mirrors need to be restored from Programs / Collaborations. Programme Offers remains internal and does not publish these cards.
Visibility controls whether this programme appears publicly. Translation/editorial checks are no longer publication states.
Optional main image for this public programme card, summary, export, and preview.
Use a public URL from Cloudinary, YouTube, SoundCloud, Google Drive or another trusted source. Direct uploads from this admin are not supported.
Examples: center center, 50% 42%, 65% 0%, center 62%.
Program title
Program description
Duration
Internal offer builder · publishing disabled. Public programme text is edited under Programs / Collaborations. Master Programme image crop fields sync to the matching public programme when saved. Tango Tenors and Pasiones del Sur must remain separate records.
Internal planning records only for now. Public programme cards are restored and published from Programs / Collaborations.
Loading master programme editor…
Loading master programme editor…
Loading master programme editor…
Loading master programme editor…
Offer-builder fields only for now. Public programme text is currently edited under Programs / Collaborations; image crop fields below sync into the matching public programme record. Internal notes never copy into public mirrors.
Internal ordered setlists by duration. These full setlists are private and are not included in the public projection.
Concise public “Repertoire may include” list shown on the website. Keep this shorter than the full 30/45/60 setlists.
These image fields are public-safe and separate from internal offer notes.
Admin-only working material. These fields are saved privately in rg_program_blueprints and blocked from public projection.
Rights and vocal caution notes stay internal. Public repertoire projection strips item-level rights flags.
Publishing is disabled. Public programme publishing currently uses Programs / Collaborations while Programme Offers remains internal/experimental.
Programme Offers cannot write public programme mirrors until the concept map is cleaned and approved.
Public fields published: id, order, published, title, subtitle, description, repertoire, durationOptions, formations, idealFor, imageUrl, imageAlt, imageFit, imagePosition, imagePositionManual, imagePositionCard, imagePositionDetail, imagePositionMobile. Internal notes, full setlists, rights flags, and email pitch are excluded.
Load saved custom offers, create a venue version from a Master Programme, or continue an existing PDF/email draft.
Choose the essentials first.
Main visual used for programme cards, public summaries, Programme Sheet PDF exports, and previews.
Use a public URL from Cloudinary, YouTube, SoundCloud, Google Drive or another trusted source. Direct uploads from this admin are not supported.
Use the default portrait for a solo offer, switch to no image for a cleaner sheet, paste a custom image URL, or embed a local image for this saved offer.
Use these only when you want the Opera Gala to breathe more clearly and land more strongly.
Build a draft quickly, then refine it below.
Build an editable first draft from the current frame, style focus, and internal repertoire metadata. Generate again to try another valid draft.
Keep the running order clear here, then make small edits only where needed.
Fit note: —
Fast additions for a strong first draft. Add one, then refine the running order above.
Keep up to three optional encores here without mixing them into the main running order.
Assign pieces to the arc slots when you want the offer to read like a shaped recital rather than a simple list.
This mirrors the exported Programme Sheet. On mobile, keep it closed when you only need to edit and save.
Repertoire suggestions, quick picks, editorial checks, library maintenance, archive upkeep, and advanced text drafts live here.
Curated outside ideas stay separate from the active offer builder. Move one into the repertoire library when you want to start developing it.
Use this section only when you want to adjust the title, public framing, or save a named internal version.
Maintain the internal repertoire library behind the offer generator. Historical performance markers and manual-review flags stay here.
Structured archive of past concerts used to enrich performed repertoire without exposing raw historical records in the offer selector.
Use these polished text blocks for email outreach, short summaries, or a private working draft.
Use this when the piece is not yet in the selector and you want to place it into the current offer immediately.
This quick entry will be added to the main programme list.
Quick-added pieces can still be refined later in the full Repertoire Library editor.
Use File > Print or press Cmd+P to save this Programme Sheet as PDF if Safari does not open the print dialog automatically.
Explore future repertoire ideas from curated external-style sources, evaluate the fit, save editorial states, and import selected items into the internal repertoire library only when you are ready. This stays separate from Programme Offers until you import something on purpose.
Use the filters as guidance, not as a strict query form. This view can show exact matches, top recommendations, or nearby suggestions from curated Opera-Arias, LiederNet, IMSLP, tango, and historical archive source layers.
Use states to separate quick bookmarks from serious study candidates. Import stays explicit and review-only by default.
Legacy reference page. New actionable venue, opportunity and follow-up work should live in Cases.
Strategic venue and opportunity tracking. Identify promising venues, prioritize outreach, and connect each opportunity to relevant programme offers. This is the strategic layer—use Contacts/Follow-ups for detailed people tracking, negotiations, and reminders.
Use cards for day-to-day follow-up, or switch to the compact report when you want to review many opportunities at once.
Visibility controls whether this video appears publicly. Older editorial states are treated as hidden here.
Load an image to detect orientation.
These fields edit only the currently selected admin language. Empty localized fields stay empty here.
Localized captions and alt texts are used on the public Photos page. Fallback order is active language → English → global fallback → empty. Photographer is shared across languages.
Tip: drag on the preview to set the focal point visually. If Orientation is empty, the admin auto-detects portrait vs landscape when the image loads.
Visibility controls whether this audio item appears publicly. Older editorial states are treated as hidden here.
Use provider + embed URL instead of raw HTML. This keeps the public Audio section elegant, consistent, and easier to maintain.
Legacy section-level metadata. Use each quote's Translation note field for public translation status.
Add translated versions of the quote and optional per-language editorial notes visible on the public press page.
Optional. Shown publicly below the production line. Identifies the artist's role in the production — not part of the review text.
Visibility controls whether this quote appears publicly. Older editorial states are treated as hidden here.
Quote text
Source
Public press PDF materials and canonical PDF publishing. Use full https:// links where possible.
Checking Firebase Auth session…
Sign in with Firebase Auth to request GitHub Action publishing.
EPK bios for the language selected in the top bar.
Translation and review checks are editorial notes only. They are not public visibility states.
Use a public URL from Cloudinary, YouTube, SoundCloud, Google Drive or another trusted source. Direct uploads from this admin are not supported.
The public Press / Dossier page shows the first 3 visible EPK photos as official press photos. If hi-res URL is empty, the preview remains visible and the download button is hidden.
Use a public URL from Cloudinary, YouTube, SoundCloud, Google Drive or another trusted source. Direct uploads from this admin are not supported.
CV PDF per language. If empty for a language, the site falls back to the default PDF under docs/ when applicable.
Use a public URL from Cloudinary, YouTube, SoundCloud, Google Drive or another trusted source. Direct uploads from this admin are not supported.
Translation and review checks are editorial notes only. They are not public visibility states.
This editor mixes public contact-page copy with contact details reused elsewhere. Keep optional fields only when they have a clear purpose.
Public contact page: title, subtitle, email, email button.
Programme Sheet / offer emails: email, mobile phone, website URL.
Not shown on the live contact page right now: mobile phone, website button label, website URL.
Structured data / schema: not driven from these admin fields today.
Disabled by default so the contact form keeps its current prominence.
Contact title
Contact subtitle
This preview mirrors the live contact-page CTA area. Website and phone are not shown there right now.
Controls the public QR card page at /card. Keep this public-safe: use info@rolandoguy.com and do not add private phone, WhatsApp, Gmail, or internal admin notes.
Saved to rg_card_en and published as public_rg_card_en.
Legacy reference page. New actionable contact and follow-up work should live in Cases.
Operational CRM layer for people, negotiations, reminders, and follow-ups. Track individual contacts, link them to venues, manage fee discussions, set follow-up dates, and log communication history. This data is internal-only and never exposed publicly.
Translation and review checks are editorial notes only. They are not public visibility states.
Menu and UI wording for the language selected above. Changes apply only to that language.
Reorder the admin sidebar buttons. Changes apply to both desktop and mobile navigation.
These controls are global for the site and are stored in the EN UI document.
Submitted recommendations. Approve to publish on the public reviews page per language.
This dashboard summarizes publish status. It does not deploy the public website.
Public mirrors are generated from source docs. If you import backup data, republish or resave affected sections.
Numbers reflect saved content. Program counts use the language in the top bar; press, media, calendar, and repertoire are shared lists. Readiness checks below are guidance only, not publication states.
Cross-language editing for Home, Biography, Contact, UI labels, EPK bios, and Programs copy. English (EN) is always the reference column.
Flags gaps vs EN, PDF parity, and text that still matches EN—editorial hints only.
How login works. Sign in using the Google button above. Firebase-backed storage connects automatically after authentication.
Data storage. All data is stored directly in Firestore. Media uses canonical rg_vid, Programs use language-specific rg_programs_* documents, and other sections use their respective Firestore documents.
Before big edits. Use Create backup now (below) or top-bar Owner backup JSON so you have a local copy before imports or risky experiments.
Site health. Dashboard / Site health runs editorial checks and links you to places that need attention—good for routine reviews.
Publishing. The Publishing section summarizes published and hidden items plus readiness checks; pair it with each section’s own save buttons.
Translations. The Translation workspace is for cross-language copy with English as reference—not a replacement for saving individual sections.
Import. Narrow Import scope in the top bar when possible; imports overwrite matching stored keys. Read the preview, confirm deliberately, and prefer a fresh backup first.
Before you leave. Open the live site (top bar), spot-check key pages, and optionally tick Before you sign off at the bottom of this System / Tools page—a short session checklist stored only in this browser until you clear it.
Download everything this admin can edit into one JSON file on your computer. Use before risky imports.
Import can overwrite matching content already saved in the admin. Choose a narrower Import scope in the top bar if you only want part of the site.
Strongly recommended: run Create backup now first, then use top bar Import JSON.
Top bar Owner backup JSON downloads the same kind of internal owner backup bundle. It is not public-safe JSON.
Quick access to public PDF links and EPK assets.
Light checklist for this browser session only—it does not change any saved content. Several items tick automatically when you use the matching action; you can also check them manually.
After you pick a JSON file in the top bar, a summary appears here before anything is saved.
A calm publishing check across sections and languages. Critical items affect live public output, Recommended items are worthwhile follow-ups, and Structural differences flag cross-language or setup gaps that do not necessarily break the site.
Public mirrors are generated from source docs. If you import backup data, republish or resave affected sections.
Paste one URL per line. Nothing is added until you press Add URLs.