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.
0 cases
Cases list
Desktop defaults to a compact list for faster scanning. Mobile keeps the card layout.
New case
Select a case to edit it, or start a new one here.
Quick follow-up
Optional legacy links
Use these only if you also want to connect this case to the older Contacts / Follow-ups or Venues / Opportunities sections.
Danger actions
Fee Estimate
Choose or create a Programme Offer working slot before saving.
Recommended quote Calculated€0
Minimum I should accept€0
RiskLow
Professional quote target€0
Actual agreed feeNot set
Gap—
Strategic reasonNot set
Event type
Formation
Reality
Quote frame will appear here.
Scenario details
Good target, minimum, and risk update from the inputs above. Expenses stay separate from the artistic fee.
Expenses
Travel and accommodation stay separate.
Risk flags
Manual overrides
Leave blank for computed values.
Manual override active: numbers may not follow scenario.
Reality details
Do not use this fee as a future benchmark.
Artist and production details
Calculation details
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.
Artistic fee€0
Expenses separately€0
Professional floor€0
Good target low€0
Good target high€0
Package fee€0
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.
Home / Hero
Checking…
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.
Home intro copy & presenter block
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.
Hero block preview
Eyebrow
Subtitle
CTA 1CTA 2
BiographyCalendar
Home intro CTA preview
Read biographyWatch & listen
Homepage layout
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.
Public image placements
Home heroLarge first-screen image.
Home introEditorial image beside the Home introduction.
BiographyDedicated portrait/content image on Biography.
RepertoireOptional secondary editorial accent.
Media gallerySelected studio, stage, and backstage photos.
Press / DossierUp to 3 official downloadable press photos.
ContactOptional image, disabled by default.
Biography
Checking…
Profile
Training & artistic development
Stage & concert
Repertoire & programmes
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.
Biography text preview
Intro line
Biography
Paragraph 1
Paragraph 2
Quote
Repertoire
Public image placements · Repertoire / Programs image
Optional public image. Leave disabled to keep the current Repertoire page unchanged.
Selected: 0
Calendar
Checking…
Events
Select an event or create a new one.
No event selected
Select event
Editing: no event selectedReady
Quick edit
Visibility: —
Event title & subtitle—
EN:
DE:
ES:
IT:
FR:
Extended Description (modal content)
CTA Links
CTA Labels
Address
Ticket Prices
Public Ticket Labels
Money details—
Revenue amount, status and payment status are in Quick edit above. Expand for currency, notes and actual received details.
Internal-only expense tracking. These values never appear on the public website.
Paid: 0 · Unpaid: 0 · Total: 0Create or edit links in Expenses (field: Calendar event).
Door list / Entrance mode0 reservations · 0 guests · 0 seats
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.
0 reservations · 0 guests
Future digital entrance mode:Not public. Later view must be admin-authenticated or protected by a private one-time token, scoped to this event only.
Reservations
Guest list
Visuals & More info modal—
Date
Event title
Event detail
Venue · City
For private events, venue, address, description and ticket fields are internal unless enabled in Private event public visibility.
Editorial highlights & private labelsPrivate badge
Only affects private-event badge visibility on the public calendar.
Private badge text (optional override)
If empty, the public calendar uses the default localized label.
Private detail line
Only affects the private-event detail line on the public calendar.
Private detail text (optional override)
If empty, the public calendar uses the default localized detail line.
Private event public visibility
Internal unless enabled here. These controls decide what a private event may reveal publicly.
Show public titlePublic title modeCustom public titleShow More Info buttonShow public venuePublic venue modeCustom public venue lineShow public city/locationPublic location modeCustom public locationShow public address/mapsShow public ticket/price information
Advanced · scheduling, badges & internal fields
Status and type are for your workflow; date badge lines are what visitors often see on the card.
Status
Status controls whether an event is upcoming, past, or hidden.
Type
Not shown publicly.
Sort date (YYYY-MM-DD)
Used for ordering events.
Public date badge · day
Shown on the public event card.
Public date badge · month
Shown on the public event card.
More tools
Ready
Danger actions
Ready
SEO / Schema hints
SEO and schema hints help optimize event data for search engines and structured data. These hints appear automatically based on your event fields.
Calendar list tools, filters & bulk actions
Status filter
Highlight filter
Workflow filter
Revenue
Move to #
Selected: 0Bulk status
Bulk editorial
Bulk highlight
Calendar page settings
Section title (HTML)Section intro text
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.
Internal Calendar
Month
Filter
Income / Earnings
Planning view from Calendar events only. This is not accounting: it gives a practical picture of confirmed and potential revenue for decision-making.
Event scope
Revenue status
Data completeness
Payment status
0 eventsScope: upcoming events
Missing amount0
Missing status0
Missing amount or status0
Date
Event
Venue
City
Expected
Actual
Rev. Status
Payment
Model
Notes
Action
No revenue rows yet. Add revenue fields in Calendar events to populate this view.
Finanzen / Ausgaben
Internal expense tracking. These records are never included in public website data.
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.
Past events JSON file
Saved overview
No saved data loaded yet.
Programs / Collaborations
Checking…
Workflow filter
Selected: 0Bulk editorial
Section title (HTML)Subtitle
Programs text appears publicly on cards and detail panels. Favor clear audience-facing language over internal notes.
IntroClosing note
Link label · from RepertoireLink label · from EPK
Hide Programs section and related public links
Stored with editorial data for this language (repProgramsLink, epkProgramsLink, hideProgramsSection).
Programme Basics
TitleDurationOn live site
Publishing status
Programme Image
Optional main image for this public programme card, summary, export, and preview.
Image URL
Use a public URL from Cloudinary, YouTube, SoundCloud, Google Drive or another trusted source. Direct uploads from this admin are not supported.
Alt text
Image fit
Image position
Manual object-position
Programme Content / Public Texts
Description
Description is public. Aim for 2-5 concise sentences.
Formations (one per line)Ideal for (one per line)
Program card preview
Program title
Program description
Duration
Move to #
Programme Offers
Build a clear presenter-ready programme offer: set the frame, assemble the repertoire, review the sheet, then export the PDF or copy the email text.
1. Setup
Set the programme frame
Choose the essentials first.
Programme family
Duration
Offer language
Formation
Style focus
Current frame: Gala · 30 min · English · Tenor + Piano · Open / Mixed
Programme Image
Main visual used for programme cards, public summaries, Programme Sheet PDF exports, and previews.
Header image
Custom image URL
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.
More setup options
Build method
Repertoire label
Also suggest new repertoire ideas
Use these only when you want the Opera Gala to breathe more clearly and land more strongly.
Prefer vocal pacing Allow piano interludes
Include operetta / canzone for contrast Build with gala arc
Ideal window 27–33 minAdd about 30 min to reach the target.
Find piece
Add piece
Build an editable first draft from the current frame, style focus, and internal repertoire metadata. Generate again to try another valid draft.
Suggestion filters
Availability
Vocal combination
Language
Tag
Show best matches only Browse whole library Match formation only Include non-tenor pieces0 matching pieces
3. Selected repertoire
Keep the running order clear here, then make small edits only where needed.
Tap a line to edit it, then use the actions below for quick changes.
Edit selected line
Custom line titleCustom duration (min)
Private note
Fit note: —
Quick picks
Quick picks
Fast additions for a strong first draft. Add one, then refine the running order above.
Encore options
Keep up to three optional encores here without mixing them into the main running order.
Include encore options in Programme Sheet
Dramatic arc
Dramatic arc
Assign pieces to the arc slots when you want the offer to read like a shaped recital rather than a simple list.
4. Output
4. Review, save, and sendUse the preview to check the presenter-facing version before saving or sending.
Draft only
Working draftThis programme is still only a working draft.
Save as...
Preview
This mirrors the exported Programme Sheet. On mobile, keep it closed when you only need to edit and save.
Advanced tools: saved offers, library, archive & text drafts
Use these secondary tools when you need reuse, archive upkeep, budgeting, or alternate text outputs. They stay available without crowding the main build flow.
Outside repertoire ideas
Curated outside ideas stay separate from the active offer builder. Move one into the repertoire library when you want to start developing it.
Saved programmes
Save strong reusable programme bases as Master Programmes, then spin off Venue Offers when you need a concrete version for a presenter or venue.
0 saved programmes
Search
Type
Family
Duration
Language
Formation
Status
Select a saved programme to review its details here.
Offer wording, saved version & private notes
Use this section only when you want to adjust the title, public framing, or save a named internal version.
Paper PreviewChecking…Saved offer
Programme titleOffer label (private)
Use case
Saved status
Using language default.
Mobile phone for Programme Sheet
Used in the Programme Sheet CONTACT block. Leave empty to use the Contact section mobile.
Short programme note
Using language default.
Flexible note
Using language default.
Private notesRepertoire Library
Maintain the internal repertoire library behind the offer generator. Historical performance markers and manual-review flags stay here.
Search
Type
Language
Readiness
Tag
Sort
0 items
IDTitle
ComposerWork
Type
Language
Duration (min)Approx. duration (min)
Readiness
Availability status
Performance status
Review status
Classification & offer intelligence
Category
Voice category
Primary voicePaired voices (comma separated)
Includes tenorFit tags (comma separated)
Source groupSuggestion group
Dramatic role
Energy level
Tempo profile
Impact level
Audience appeal
Mood tags (comma separated)
Gala role
Vocal load
Texture
Style bucket
Recovery value
Best duration fit
Practical tags (comma separated) Suitable as encore
Useful as interlude Supports vocal rest
Good between blocks Good before climax
Formations (one per line)Tags (comma separated)Performed in (one concert id / year-title reference per line) Hide from Programme Offer selector by default Keep as offer-only entryPublic notesInternal notesManual sort order
Concert History Archive
Structured archive of past concerts used to enrich performed repertoire without exposing raw historical records in the offer selector.
Search
0 concerts
YearSource type
TitleFormatCollaborators (one per line)Programme items (one per line)Notes
Offer Text Outputs
Use these polished text blocks for email outreach, short summaries, or a private working draft.
Private draftEmail draftShort blurb
Quick add manually
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.
TitleComposer
WorkType
LanguageDuration (min)
Voice combination / formationEntry mode
Mark as temporary / needs review Mark as outside repertoire suggestion
Quick-added pieces can still be refined later in the full Repertoire Library editor.
Programme Sheet ready for print
Use File > Print or press Cmd+P to save this Programme Sheet as PDF if Safari does not open the print dialog automatically.
Repertoire Discovery
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.
Filters
Search
Voice / profile focus
Programme fit
Language
Composer
Work
Piece type
Vocal combination
Programme role
Duration min
Duration max
Readiness intent
Editorial state
0 resultsSuggestionsCurated source layer
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.
Editorial pipeline
Use states to separate quick bookmarks from serious study candidates. Import stays explicit and review-only by default.
Top recommendations
Results
Review
Select a discovery result to review fit, cautions, source details, and import options.
Venues / Opportunities
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.
Outreach overview
SearchView
Status
Follow-up
0 opportunities
Venues
Use cards for day-to-day follow-up, or switch to the compact report when you want to review many opportunities at once.
Create the first opportunity to start tracking venues and strategic outreach.
Opportunity details
Select an opportunity to review strategic details, linked programme offers, and contact connections.
Media
Videos H2 (HTML)
Search
Visibility filter
Workflow filter
Selected: 0Bulk action
Youtube IDTitleSubTagComposerPublic section
Repertoire category
Custom thumb URLFeatured visual
Featured layout (hero size)
Highlight on Homepage
Highlight on Media
Highlight on Calendar
Homepage highlight priority (optional)
Lower number appears first in homepage highlights. Used only when Homepage context is true.
Hidden
Publishing status
Move to #
0 photos
Search
Quick filter
Load an image to detect orientation.
Image URL
Orientation
Focus / object-position
Visible
Hi-res / download URL (optional)
CaptionAlt textPhotographer
Caption and Photographer are visible in the media lightbox when filled. Alt text is for accessibility and is not shown as visible caption. Orientation and Focus are optional and help future portrait/landscape mixes crop more elegantly.
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.
Audio H2 (HTML)Audio subtitle
Search
Visibility filter
Workflow filter
Selected: 0Bulk action
Provider
Embed URLExternal URL (optional)Cover image URL (optional)TitleSubSub (EN)Sub (DE)Sub (ES)Sub (IT)Sub (FR)TagComposerPublic section (placement)
Badge category (artistic label shown on card)
Featured visual
Featured layout (hero size)
Highlight on Homepage
Highlight on Media
Highlight on Calendar
Homepage highlight priority (optional)
Lower number appears first in homepage highlights. Used only when Homepage context is true.
Hidden
Publishing status
Use provider + embed URL instead of raw HTML. This keeps the public Audio section elegant, consistent, and easier to maintain.
EPK bios for the language selected in the top bar.
Bio 50 wordsBio 150 wordsFull bio · paragraph 1Full bio · paragraph 2Full bio · paragraph 3Full bio · paragraph 4
Search
Use a public URL from Cloudinary, YouTube, SoundCloud, Google Drive or another trusted source. Direct uploads from this admin are not supported.
Photo URLHi-res download URL
Orientation
Visible
Preview fit
Preview aspect ratio
Preview position preset
Manual preview object-position
CaptionAlt textPhotographer
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.
Move to #
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.
EN statusEN PDF URL
DE statusDE PDF URL
ES statusES PDF URL
IT statusIT PDF URL
FR statusFR PDF URL
Contact / Booking
Checking…
Field purpose
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.
Page title
Public contact-page heading. Language-specific.
Subtitle
Public contact-page body copy. Language-specific.
This section is public and language-specific. Keep the wording direct and action-oriented.
Email
Public email CTA target. Also reused in Programme Sheet exports and offer emails.
Mobile phone
Not shown on the live contact page. Used as fallback contact detail in Programme Sheets unless an offer-specific phone overrides it.
Email button label
Public contact-page CTA label. Language-specific.
Website button label
Kept for compatibility and reused with the website URL in Programme Sheets and offer emails. The live contact page does not currently show this button.
Website URL
Optional. Used in Programme Sheets and offer emails. The live contact page does not currently show this link.
Public image placements · Contact / Booking image
Image enabled
Placement
Image URLAlt textAspect
Fit
Position preset
Manual object-position
Disabled by default so the contact form keeps its current prominence.
Public contact page preview
Contact title
Contact subtitle
Email buttonWebsite button
This preview mirrors the live contact-page CTA area. Website and phone are not shown there right now.
Contacts / Follow-ups
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.
0 contactsStatus filter
Type filter
Priority filter
Follow-up filter
Sort by
New contact
Linked venue
Contact name / organizationPerson nameEmailPhoneOrganizationCountryLanguage
Type
Project typeRoleSubjectStatus
Priority
Date (YYYY-MM-DD)Last contact (YYYY-MM-DD)Next follow-up (YYYY-MM-DD)Message sentFee offeredFee acceptedDeadline materials (YYYY-MM-DD)Source
Notes
Selected: 0
UI / Translations
Checking…
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.
Shared chrome effects
These controls are global for the site and are stored in the EN UI document.
Menu logo halo breathing enabled
Menu logo halo intensity
Footer feather breathing enabled
Footer feather halo intensity
Advanced · all UI strings as JSON
Publishing dashboard
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. Ready to publish here means the usual required fields look complete—it is guidance, not a guarantee.
Translation workspace
Cross-language editing for Home, Biography, Contact, UI labels, EPK bios, and Programs copy. English (EN) is always the reference column.
Consistency notes
Flags gaps vs EN, PDF parity, and text that still matches EN—editorial hints only.
System / Tools
Quick guide · Admin v2
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 draft/review/published counts and “ready” hints; 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.
Backup
Download everything this admin can edit into one JSON file on your computer. Use before risky imports.
Import
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.
Export / Maintenance
Top bar Owner backup JSON downloads the same kind of internal owner backup bundle. It is not public-safe JSON.
Editorial PDF tools
Quick access to public PDF links and EPK assets.
Before you sign off
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.
Backup downloaded (or export saved)
Site health reviewed (Dashboard)
Publishing summary refreshed
Public PDFs reviewed
Live site spot-check
Import preview
After you pick a JSON file in the top bar, a summary appears here before anything is saved.
Dashboard / Site health
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.
Checking…
Section health
Language completeness
Issues and next actions
Add multiple image URLs
Paste one URL per line. Nothing is added until you press Add URLs.