Skip to content

Delt arrangement – arrangørveiledning

⚠️ Skjermbilder: Lokalt miljø er ikke tilgjengelig for å ta skjermbilder uten å rulle ut ekstern infrastruktur. Denne veiledningen beskriver faktisk implementert atferd. Skjermbilder legges til i en oppfølging når et staging-miljø er tilgjengelig.

Et delt arrangement lar ett arrangøreid konsert distribueres av to eller flere uavhengige organisasjoner — hver selger mot den samme virkelige forestillingen på samme sted, med delt fysisk kapasitet, mens de beholder sine egne selgere, salg, kunder og detaljerte rapporter. Du oppretter arrangementet, inviterer deltakere, styrer kapasitetspolicyen, administrerer tillatelser og ser det samlede bildet.


Din rolle

Organisasjonen din er arrangørorganisasjonen. Du (og eventuelle andre brukere du utpeker) er SharedEventOwner (eiere av delt arrangement) — navngitte brukere med full myndighet over det delte arrangementet. Denne myndigheten er uavhengig av din vanlige organisasjonsadmin-rolle: kun navngitte eiere og brukere du eksplisitt delegerer rettigheter til kan handle på selve det delte arrangementet. Det må alltid finnes minst én eier.

En plattform-superadmin kan også opprette et nøytralt delt arrangement uten arrangørorganisasjon og bli den første eieren.


Opprette et delt arrangement

Naviger til Administrasjon → Delte arrangementer → Nytt delt arrangement for å starte opprettingsformularet. Du fyller inn:

  • Navn, dato og beskrivelse — den kanoniske identiteten som deles av alle deltakere.
  • Forestillinger — én eller flere fremføringer, lagret som absolutte UTC-tidspunkter med venuets tidssone (slik at sommertidsendringer aldri forskyver en forestilling). Kapasitet håndheves per forestilling, ikke for hele arrangementet samlet.
  • Billettypemaler — prismaler som brukes av alle deltakere. Priser er kanoniske på det delte arrangementet; ingen deltaker kan sette egne priser.
  • Kapasitetspolicy — velg kvotemodus (per-organisasjons-tildelinger) eller pool-modus (én felles begrenset total, først til mølla). Se Kapasitetspolicy nedenfor.
  • Samlet fysisk kapasitet — totalt antall seter per forestilling.

Arrangementet opprettes med status utkast. Du kan invitere organisasjoner og fullføre konfigurasjonen før publisering.


Invitere deltakerorganisasjoner

Du inviterer deltakerorganisasjoner via éngangs-invitasjonslenker. Generer en lenke fra detaljsiden for det delte arrangementet, del den sikkert med en admin i målorganisasjonen, og de aksepterer på vegne av én av sine egne organisasjoner. Samme organisasjon kan ikke vises mer enn én gang på listen; du kan ha to eller flere deltakere.

Plattform-superadmins kan også legge til organisasjoner ved å søke etter dem direkte etter navn. For alle andre roller er invitasjonslenker den eneste støttede invitasjonsmetoden.

Når en admin bruker lenken til å akseptere, slutter organisasjonen umiddelbart inn på listen. Du kan ikke selge mot en deltakers projeksjon før aksepten er fullført og projeksjonen er klargjort. Liststatusene du vil se er:

StatusBetydning
invitedInvitasjon sendt; venter på svar
acceptedAdmin har akseptert; projeksjon klargjøres
activeProjeksjon klar; salg er aktivt
declinedOrganisasjonen takket nei
leftOrganisasjonen valgte å forlate
removedDu (eller annen eier) fjernet dem fra listen

En deltaker med status left eller removed beholder sine bekreftede salg og historiske rapporter, men kan ikke gjøre nye salg. Før en deltaker kan forlate eller fjernes, må eventuelle eksterne kanaler de eier deaktiveres eller overdras, og eier-/tillatelsesoppføringene deres tilbakekalles (se Avlysingssatferd).

Generere en invitasjonslenke

Åpne Deltakere-panelet på detaljsiden for det delte arrangementet og velg Generer invitasjonslenke. Skjemaet inneholder:

  • E-post (valgfritt) — Skriv inn en e-postadresse for å sende lenken direkte. Velg språk (norsk eller engelsk) for e-posten.
  • Den genererte lenken vises med en Kopier-knapp. Kopier og del den med den tiltenkte organisasjonsadminen.

Behandle lenken som en hemmelighet. Alle som har lenken kan koble en organisasjon til dette delte arrangementet. Ikke del den offentlig eller i åpne kanaler. Dersom du deler den med feil person, tilbakekall den umiddelbart og generer en ny.

Om e-postlevering: Etter at du sender inn, returnerer plattformen en generisk bekreftelse uavhengig av om e-postadressen er gyldig, tilhører en registrert bruker eller er knyttet til en organisasjonsadmin. Dette er tilsiktet — ingen svar avslører konto- eller organisasjonsinformasjon. Lenken returneres også direkte til deg, slik at du kan kopiere og videresende den manuelt dersom e-postlevering ikke når mottakeren.

Varsling i appen (valgfri bivirkning): Dersom du oppgir en e-postadresse, kan plattformen også opprette en varsling i appen i mottakerens varslingsklokke — men kun dersom e-postadressen stemmer overens med en kjent, godkjent organisasjonsadmin på plattformen. Dette oppslaget og eventuell varsling er usynlig for deg: bekreftelsessvaret er identisk uavhengig av om en match ble funnet, og om en varsling ble opprettet, levert, lest eller reagert på. Ikke tolk den generiske bekreftelsen som en leveringsbekreftelse for verken e-post eller varsling i appen. Dersom du vil forsikre deg om at mottakeren er klar over invitasjonen, del lenken direkte via en pålitelig kanal.

Lenken er gyldig i 14 dager.

Administrere og tilbakekalle lenker

Deltakere-panelet viser en liste over dine genererte lenker med status, opprettelsesdato, utløpsdato og om e-postlevering ble forsøkt:

StatusBetydning
activeLenken er gyldig og er ikke brukt ennå
usedEn admin aksepterte lenken; organisasjonen er på listen
revokedDu tilbakekalte lenken; den er permanent ubrukelig

For å tilbakekalle en aktiv lenke, velg Tilbakekall. En tilbakekalt lenke kan ikke gjenopprettes; generer en ny lenke dersom den tiltenkte adminen fortsatt må bli med.

Kvoter etter aksept: I kvotemodus tildeles ikke kvotene for en nylig akseptert organisasjon automatisk. Etter at organisasjonens status blir active, tildel en kvote for hver forestilling i kapasitetsinnstillingene.


Kapasitetspolicy

Kvotemodus

I kvotemodus tildeler du en fast per-forestillings-kvote til hver deltakerorganisasjon. Håndhevingen skjer per organisasjon per forestilling: samtidige kjøpere innenfor én organisasjon kan aldri bekrefte mer enn sin kvote. Det finnes ingen husreserve i v1 — summen av per-forestillings-kvoter må være nøyaktig lik den samlede fysiske kapasiteten. Du kan ikke lagre en kvotekonfigurasjon som ikke summerer seg til kapasiteten.

Hva kvotemodus betyr for deg som arrangør:

  • Hver deltakers gjenværende kvote er uavhengig; at én organisasjon selger ut påvirker ikke de andre.
  • Du kan rebalansere kvoter (se Redigere kapasitet og kvoter).
  • Dersom én organisasjon har usolgt kvote når arrangementet nærmer seg, kan du omfordele den.
  • Den kombinerte gjenværende kapasiteten som vises i rapportering er summen av deltakernes gjenværende kvoter (en visningsstørrelse; selve håndhevingsgrensen er per org).

Pool-modus

I pool-modus er det én felles, begrenset total per forestilling. Enhver deltakerorganisasjon kan selge den siste plassen; salg skjer etter prinsippet «først til mølla» på tvers av organisasjoner. Poolen er begrenset — det er ikke ubegrenset lagerbeholdning. Den gjenværende kapasiteten som vises i grensesnittet er den autoritative verdien som brukes for utsolgt-beslutninger.

Slik fungerer poolen:

  1. En kjøpers kasse reserverer seter (holder dem mot totalen). Holdte seter teller mot gjenværende og hindrer overselging.
  2. Når bestillingen bekreftes, konverteres holdet til et bekreftet salg.
  3. Dersom en kasse forlates, utløper holdet automatisk (varighet er konfigurerbar) og setene returneres til poolen.
  4. Gjenforsøk med samme reservasjons-ID returnerer det eksisterende holdet uten å booke ekstra seter.

Hva pool-modus betyr for deg som arrangør:

  • Ingen per-organisasjons-tak; enhver org kan selge den siste plassen.
  • Ingen per-deltaker-grense betyr at én rask-selgende org kan ta det meste av gjenværende kapasitet; vurder om kvoter passer arrangementet ditt bedre.
  • Gjenværende som vises er pool-gjenværende (kapasitet − holdt − bekreftet).

Redigere kapasitet og kvoter

Du kan redigere total forestillingskapasitet og per-organisasjons-kvoter (kvotemodus) med kapasitetsredigeringskontrollene. Alle redigeringer bruker en fryse-og-anvend-vakt: mens en redigering anvendes, mottar nye kjøp et kort, prøvbart svar («kapasitet oppdateres, prøv igjen om litt»). Ingen bekreftet salg mistes eller dobbeltelles under en redigering.

Begrensninger:

  • Kapasitet kan ikke reduseres under bekreftet + holdt for en forestilling.
  • I kvotemodus må kvoter fortsatt summere seg til kapasiteten, og hver kvote må minst dekke den aktuelle orgens bekreftede salg etter redigeringen.
  • Å øke kapasiteten i kvotemodus krever at de ekstra setene tildeles én eller flere organisasjoner i samme redigering.

Policyoverganger

Du kan bytte mellom kvotemodus og pool-modus etter opprettingen via Administrasjon → Delte arrangementer → [arrangement] → Kapasitetspolicy → Bytt policy.

Kvote → pool:

  • Alle bekreftede salg bevares.
  • Poolen åpnes med gjenværende lik kapasitet − sum(bekreftet per org).
  • Avvises dersom bekreftede salg allerede overstiger fysisk kapasitet (løs overbestillingen først).

Pool → kvote:

  • Hver angitte kvote må dekke den aktuelle orgens bekreftede salg (kvote ≥ bekreftet).
  • Kvoter må fullt ut tildele lokalet (sum(kvoter) == kapasitet; ingen husreserve).
  • Overgangen venter til eventuelle aktive reservasjoner bekreftes eller utløper; ingen gyldige kjøp under behandling avbrytes.
  • Avvises dersom vilkårene ikke kan oppfylles.

Enhver overgang er sikret mot samtidige endringer (to overganger kan ikke begge gjennomføres), protokollføres med fra/til-policy, og avvises — aldri tvunget — når vilkårene ikke kan oppfylles.


Tillatelser

Eiere

Eiere har full myndighet over det delte arrangementet. Du kan legge til og fjerne eiere fra Tillatelser-panelet under Eiere-seksjonen. Det må alltid finnes minst én eier; å fjerne den siste eieren avvises, og du må utpeke en erstatning først.

EierEndringer protokollføres.

Rettigheter og rollemaler

Du kan delegere detaljerte rettigheter til navngitte brukere fra enhver aktiv deltakerorganisasjon. Tilgjengelige rettigheter:

RettighetHva den tillater
manageSharedDetailsRedigere delt navn, dato, beskrivelse, forestillinger
managePricingRedigere delte billettype-priser
manageCapacityRedigere kapasitet, kvoter og initiere policyoverganger
manageParticipantsInvitere, fjerne og administrere deltakere
manageExternalSalesTildele og drifte eksterne salgskanaler
viewCombinedReportsTilgang til den kombinerte tvers-org-rapporten
manageOwnersLegge til og fjerne eiere (kun eiere; ikke delegerbart til ikke-eiere)

Du kan også bruke rollemaler som utvides til et forhåndsdefinert sett av rettigheter:

MalRettigheter som gis
ownerAlle rettigheter
eventManagermanageSharedDetails, managePricing, manageCapacity, manageParticipants, manageExternalSales
reportViewerviewCombinedReports

Viktige regler:

  • Det å være admin i en deltakerorganisasjon gir ikke automatisk myndighet over delte arrangementer.
  • En tildelt bruker må tilhøre en active deltakerorganisasjon; tildelinger til brukere utenfor listen avvises.
  • Tildelinger blir inaktive når en brukers organisasjon forlater arrangementet eller fjernes; tildelingen tilbakekalles automatisk ved utgang.
  • Alle endringer i tildelinger og eierskap registreres i revisjonsloggen.

Delte eksterne salgskanaler

Hver ekstern billettkilde (for eksempel en manuell Ticketmaster-inngangskanal eller en Billetto-automatiseringskanal) tildeles én ansvarlig deltakerorganisasjon per delt arrangement. Bruk Eksterne kanaler-panelet til å tildele, oppdatere eller deaktivere en kanal.

Slik fungerer kanaltildeling:

  • Kun en eier eller en bruker med manageExternalSales-rettigheten kan tildele eller overdra en kanal.
  • Den ansvarlige organisasjonen må være en active deltaker; du kan ikke tildele en kanal til en inaktiv organisasjon.
  • Kun den utpekte organisasjonens autoriserte brukere (pluss plattform-superadmins) kan logge eller drifte den kilden.
  • Eksterne salg fra den utpekte kanalen teller mot den organisasjonens kvote (kvotemodus) eller den felles poolen (pool-modus).
  • Dersom du overdrar en kanal til en annen organisasjon, gjelder endringen kun fremtidige salg; historisk attribusjon flyttes ikke uten en eksplisitt migrering.
  • En deltakers utgang blokkeres mens de eier en aktiv kanal; kanalen må deaktiveres eller overdras først.

Legitimasjonslagring: Kanallegitimasjon lagres kun som Azure Key Vault-hemmelighets-URI-referanser. Rå API-nøkler, OAuth-tokens og tilkoblingsstrenger lagres aldri i applikasjonsdatabasen.

⚠️ Billetto-automatiseringsruntime er utsatt til #242. Applikasjonen registrerer kanaltildelingen og Key Vault-legitimasjonsreferansen. Billetto OAuth-flyt, webhook-mottak, deltaker-/refusjonssynkronisering og leverandørens runtime-operasjoner er ikke implementert ennå. Manuelle Ticketmaster-oppføringer er fullt funksjonelle. Se Ikke implementert ennå.


Kombinert rapportering

Åpne den kombinerte rapporten fra Administrasjon → Delte arrangementer → [arrangement] → Salgsrapport. Som arrangør (eller en bruker med viewCombinedReports-rettigheten) ser du:

  • Arrangementsnivå-totaler — kapasitet, bekreftet, holdt, gjenværende, inntekter, avgifter for alle deltakere.
  • Per-deltaker-fordeling — totaler per organisasjon (aldri kundespesifikke detaljer).
  • Totaler per ekstern kanal — volum per kilde, aggregert.
  • Per-forestilling-fordeling — kapasitet, bekreftet, gjenværende per forestilling.

I kvotemodus er den rapporterte gjenværende per deltaker den gjenværende tildelingen for den organisasjonen. I pool-modus er den rapporterte felles gjenværende den autoritative pool-verdien.

Personverngrense: Den kombinerte rapporten avslører aldri en annen organisasjons kundespesifikke detaljer eller individuelle salgsdata. Du ser kun totaler og fordelinger, ikke individuelle kjøperoppføringer fra andre organisasjoner.


Revisjonslogg

Enhver styringsrelevant endring registreres i en append-only revisjonslogg, synlig under Revisjon-fanen på detaljsiden for delt arrangement. Revisjonsloggen registrerer:

  • Listeoverganger (invitasjoner, aksepter, avvisninger, utgang, fjerning)
  • Eier-tillegg og -fjerning
  • Utstedelse, endring og tilbakekalling av tildelinger
  • Kapasitetspolicy-endringer (med fra/til-policy)
  • Avlysingshendelser (startet, fullført, mislyktes)
  • Ekstern kanal-tildeling, -oppdatering, -overdragelse og -deaktivering
  • Kapasitets- og kvote-redigeringer
  • Rekonsilierings-reparasjoner

Hver post viser handlingen, aktørens organisasjon, målorganisasjonen (der relevant) og tidsstemplet. Revisjonsloggen er append-only; ingen post redigeres eller slettes noen gang.


Avlysingssatferd

Sett arrangementstatus til Avlyses fra arrangementdetaljsiden. Avlysings-sagaen utfører disse stegene:

  1. En permanent kapasitetssperring etableres — ingen nye reservasjoner kan opprettes fra dette punktet.
  2. Det delte arrangementets rotstatus endres til cancelling.
  3. Alle nåværende holdte (ikke ennå bekreftede) reservasjoner tømmes; de holdte setene frigjøres.
  4. Alle deltaker-projeksjoner låses slik at ingen nye salg kan skje.
  5. Det delte arrangementet endres til cancelled.

Hva avlysing gjør og ikke gjør:

  • ✅ Stopper alle nye reservasjoner og salg umiddelbart.
  • ✅ Tømmer alle aktive hold (returnerer holdte seter; det er likevel ingen seter igjen å selge).
  • ✅ Låser alle deltaker-projeksjoner slik at ingen ytterligere salg kan plasseres.
  • ✅ Bevarer alle bekreftede salg, tilhørende inntektsregistreringer og hele revisjonshistorikken.
  • ❌ Refunderer ikke kunder. Applikasjonen har ingen kundebetalingsrefusjon-arbeidsflyt i v1. Bekreftede salg er endelige; kapasitets-regnskapspostene for et bekreftet salg reverseres ikke.

Dersom avlysings-sagaen avbrytes (for eksempel av en prosessnedstart), gjenopptas den automatisk av vedlikeholdstimeren fra siste sikre kontrollpunkt.

Ingen-refusjon-semantikk: Billettkjøp er endelige i v1. Det finnes ingen kundebetalingsrefusjon-forespørsel eller -arbeidsflyt. Kapasitet frigjøres kun via to eksepsjonelle stier: hel-arrangements-avlysing (som tømmer holdte seter, men ikke refunderer bekreftede salg) og autorisert administrativ korreksjon av en feilaktig registrering. Ingen av disse stiene er en kundeparablangrefusjon; applikasjonen støtter ikke den arbeidsflyten. Den bredere ekstern-leverandør-integrasjonen er utformet for å hente leverandørens avlysings- og refusjonsstatus når #242 implementerer det.


Feil- og gjenforsøkstilstander

Kapasitet endres (prøvbar 503): Under en kapasitetsredigering eller policyovergang mottar nye kjøp et kort, prøvbart svar («kapasitet oppdateres, prøv igjen om litt»). Dette er ikke et mislykket kjøp; kjøperen bør prøve igjen og vil lykkes når vakten er frigjort.

Utsolgt: Når gjenværende kapasitet når null (pool-modus) eller en organisasjons kvote er oppbrukt (kvotemodus), avvises videre kjøp for det aktuelle området som utsolgt. I pool-modus går samlet gjenværende aldri under null. I kvotemodus påvirkes ikke andre organisasjoners kvoter.

Kapasitetskonflikt ved sperring: Dersom en avlysing pågår og et kjøp ankommer nøyaktig samtidig, avvises kjøpet med et ikke-prøvbart konflikt-svar. Dette er forventet oppførsel under avlysing.

Vedlikeholdsrekonstruksjon: Vedlikeholdstimeren overvåker gjenstående avlysinger og utløpte kapasitetsholds. Dersom en saga ble avbrutt midtveis, gjenopptas den idempotent. Ingen manuell innblanding er nødvendig ved standard feil.

Ekstern kanal-overbestilling: Dersom en ekstern import (for eksempel en forsinket manuell Ticketmaster-oppføring) overstiger gjenværende kapasitet, aksepteres og registreres den; den resulterende overbestillingen flagges i kapasitetsvisningen og vises som negativ gjenværende. Et varsel sendes til den utpekte organisasjonen og SharedEventOwner. Dette speiler hvordan frittstående arrangementer allerede håndterer ekstern overselging.


Ikke implementert ennå

Følgende elementer er ikke implementert ennå og faller utenfor gjeldende delt-arrangement-modul. De vil bli håndtert i fremtidig arbeid.

ElementUtsatt til
Billetto OAuth-legitimasjonsløser og token-oppdatering#242
Billetto webhook-mottak og deltaker-synkronisering#242
Billetto-drevet refusjons- og avlysingsstatus-mottak#242
Leverandørens runtime (deltakerlister, avlysings-/refusjonshendelser)#242
Kundebetalingsrefusjons-arbeidsflyt for bekreftede salgIkke planlagt for v1
Masseimport/CSV-import av eksterne salgIkke planlagt for v1
Retroaktiv overføring av eksisterende frittstående arrangement til delt arrangementIkke planlagt for v1
Generelle tvers-org-varsler om salgsmilestener til andre organisasjoners admins (ikke relatert til varsler om invitasjoner, som er implementert)Etter v1
Full samtidige belastningstest på Azure (T050)Blokkert: isolert Azure Cosmos-godkjenning

Relaterte sider

Built with VitePress