Um Events zu importieren wird eine Importdatei nach unseren Vorgaben (siehe unten) benötigt. Eure Importdatei könnt ihr unter Einstellungen > Import > Check hochladen und prüfen. Die Art des Imports (Event oder Kontakt) wird dabei automatisch erkannt. Nach erfolgreicher Prüfung könnt ihr den Import direkt beim co*pilot Team anfordern.

Vor dem ersten Import lohnt der Blick auf die Import-Übersicht: dort steht die empfohlene Reihenfolge der Importe und wie Dubletten erkannt werden.

Importdatei

Über eine speziell formatierte CSV Datei, können bestehende Events in co*pilot importiert werden. Die Datei muss UTF 8 kodiert sein, damit Umlaute richtig dargestellt werden.

Hier eine Beispiel Datei:

Import Beispiel CSV herunterladen

Achtung! Der Import eurer Events ist ein sehr komplexer Vorgang und kann nicht rückgängig gemacht werden. Bitte lest euch dieses Dokument sehr sorgfältig durch und achtet auf alle Angaben.

Felder

Im Folgenden werden die unterstützten Felder beschrieben. Vorab hierzu ein paar Anmerkung:

  • Zu jedem Event muss zumindest Name, Datum und Beginn angegeben werden. Diese verpflichtenden Felder sind hervorgehoben.
  • Die Reihenfolge der Spalten ist irrelevant.
  • Die Feldbezeichnungen müssen als Spaltenüberschriften gegeben sein.
  • Unbekannte Spalten werden beim Import ignoriert. Im Datencheck wird ein Hinweis mit Korrekturvorschlag angezeigt.
  • "A" | "B" bedeutet, das Feld kann die Werte “A” oder “B” annehmen.

Allgemeine Daten

FeldBeschreibungFormat
date*Datum des EventsUnterstützte Formate: DD.MM.YYYY (z.B. 01.02.2023), DD.MM.YY (z.B. 01.02.23), YYYY-MM-DD (z.B. 2023-02-01), YYYY/MM/DD (z.B. 2023/02/01) oder DD/MM/YYYY (z.B. 01/02/2023). Eine Jahreszahl ist immer erforderlich.
name*Name des EventsFreitext
subTitleUntertitel des EventsFreitext
mainViewKennzeichnung, ob es sich um eine Veranstaltung ("event") oder Vermietung ("rental") handelt"event" | "rental" (Groß-/Kleinschreibung egal)
eventTypeEvent-TypFreitext
status*Status des Events"NOTED" | "REQUESTED" | "OPTIONED1" | "OPTIONED2" | "OPTIONED3" | "CONFIRMED" | "POSTPONED" | "DONE" | "CANCELLED" | "BLOCKED" (Groß-/Kleinschreibung egal)

Zeitablauf

FeldBeschreibungFormat
scheduleProductionStartProduktionsstart (default: 6h vor scheduleStart)Uhrzeit im Format HH:mm oder HH.mm
scheduleGetInGet InUhrzeit im Format HH:mm oder HH.mm
scheduleSoundcheckSoundcheckUhrzeit im Format HH:mm oder HH.mm
scheduleDoorsEinlassUhrzeit im Format HH:mm oder HH.mm
scheduleStart*Beginn (wird bei fehlender Angabe auf 20:00 gesetzt)Uhrzeit im Format HH:mm oder HH.mm
scheduleCurfewCurfewUhrzeit im Format HH:mm oder HH.mm
scheduleProductionEndProduktionsende (default: 4h nach scheduleStart)Uhrzeit im Format HH:mm oder HH.mm

Einstellige Stunden sind erlaubt, z.B. 9:30 oder 9.30.

Event-Kontakte

Einem Event können beliebig viele Kontakte zugewiesen werden — jeweils mit einer eigenen Rolle. Die Spalten werden pro Kontakt durchnummeriert: eventContact1…, eventContact2…, eventContact3… usw.

Beachte bitte die Anmerkungen zum Importverhalten von Kontakten sowie die Regeln zur Kontaktrolle.

FeldBeschreibungFormat
eventContact1Role*Rolle, mit der der Kontakt am Event verknüpft wird (z.B. Agentur, Veranstalter:in, Technik). Pflicht, sobald ein Kontakt angegeben ist. Existiert die Rolle noch nicht, wird sie angelegt und für Events freigeschaltet.Freitext
eventContact1CompanyFirma / Organisation des KontaktsFreitext
eventContact1FirstNameVorname der AnsprechpersonFreitext
eventContact1LastNameNachname der AnsprechpersonFreitext; darf nicht leer sein, wenn Vorname gesetzt ist
eventContact1PhoneTelefonnummer des KontaktsTelefonnummer in beliebigem Format (Empfehlung: "+49 123 456789")
eventContact1EmailE-Mail-Adresse des KontaktsE-Mail-Adresse
eventContact1ExternalIdExterne ID des Kontakts (für Abgleich mit Drittsystemen)Freitext
eventContact2[...], eventContact3[...]Analog zu eventContact1[...] — beliebig viele weitere KontakteAnalog zu eventContact1[...]

Der Kontakt-Slot muss mindestens eine Firma oder eine Ansprechperson enthalten; die zugehörige eventContactNRole ist dann verpflichtend.

Künstler:in

Bzgl. artist1Contact[…] beachte bitte die Anmerkungen zum Importverhalten von Kontakten.

artist1Slug und artist1ProgrammSlug entscheiden, ob eine Zeile auf einen bereits vorhandenen Datensatz trifft oder einen neuen anlegt — gleicher Slug bedeutet immer derselbe Datensatz, auch über mehrere Importdateien hinweg.

Für neue Künstler:innen und Programme vergebt ihr den Slug selbst. Verwendet sprechende Kleinbuchstaben ohne Leerzeichen (mnozil-brass, mnozil-gold) und haltet sie in euren Dateien konstant.

Wollt ihr an einer Künstler:in oder einem Programm arbeiten, die es in co*pilot schon gibt, muss der Slug exakt dem gespeicherten Wert entsprechen. Bei Datensätzen, die in co*pilot von Hand angelegt wurden, ist dieser Wert eine zufällige Zeichenkette und lässt sich nicht erraten — fragt in dem Fall bei uns nach einer Liste eurer Künstler:innen und Programme samt Slug.

Fehlt artist1Slug, wird die:der Künstler:in dieser Zeile nicht importiert — und mit ihr auch Programm, Gage und Künstler-Kontakt dieser Zeile. Der Termin selbst wird importiert. Das Gleiche gilt für das Programm ohne artist1ProgrammSlug. Der Datencheck weist auf jede solche Auslassung hin, damit ihr sie vor dem Import seht. Eine automatische Ableitung aus Name und Kontaktdaten gibt es bewusst nicht: die wäre für euch nicht nachvollziehbar und würde bei abweichenden Kontaktdaten stillschweigend Dubletten anlegen.

FeldBeschreibungFormat
artist1NameNames des:r Künstler:inFreitext
artist1SlugEindeutiger Schlüssel der:s Künstler:in. Pflicht, sobald artist1Name gesetzt ist — ohne ihn wird die:der Künstler:in nicht importiert (der Termin schon).Kleinschreibung, ohne Leerzeichen, z.B. mnozil-brass
artist1ProgrammName des Programms, das bei diesem Termin gespielt wird. Existiert noch kein Programm mit dem angegebenen artist1ProgrammSlug, wird es unter diesem Namen angelegt.Freitext
artist1ProgrammSlugEindeutiger Schlüssel des Programms. Pflicht, sobald ein Programm importiert werden soll. Ist nur der Key gesetzt (ohne artist1Programm), wird ein bereits vorhandenes Programm verknüpft.Kleinschreibung, ohne Leerzeichen, z.B. mnozil-gold
artist1DescriptionBeschreibung des:r Künstler:inFreitext
artist1DealFixDeal FixumZahl, z.B. 3000
artist1DealPercentageDeal Anteil (% Künstler:in)Zahl, z.B. 70
artist1LinkWebseite des:r Künstler:inURL
artist1ContactCompanyAgenturFreitext
artist1ContactFirstNameVorname der AnsprechpersonFreitext
artist1ContactLastNameNachname der AnsprechpersonFreitext; darf nicht leer sein, wenn Vorname gesetzt ist
artist1ContactPhoneTelefonnummer des KontaktsTelefonnummer in beliebigem Format (Empfehlung: "+49 123 456789")
artist1ContactEmailE-Mail-Adresse des KontaktsE-Mail-Adresse
artist1ExternalIdExterne ID des:r Künstler:inFreitext

Venue

Beachte bitte die Anmerkungen zum Importverhalten von Venues.

FeldBeschreibungFormat
venue1IsOwnKennzeichnung, ob es sich um eine eigene Spielstätte handelt"1" | "0"
venue1NameName der SpielstätteFreitext
venue1StreetAnschrift der SpielstätteFreitext
venue1ZipPLZ der SpielstätteFreitext
venue1CityOrt der SpielstätteFreitext
venue1RoomName des Raums, z.B. SaalFreitext
venue1CapacityKapazität des RaumsZahl (ungültige Werte wie Text werden als Fehler gemeldet)
venue2[...]Analog zu venue1[...]Analog zu venue1[...]

Achtung: Ist kein Raum (venue1Room) angegeben, wird auch kein Venue (venue1Name…) importiert!

Weitere Daten

Für Daten, bei denen keine sinnvolle Zuordnung zu einem der obigen Felder möglich ist, können auf folgende Arten importiert werden:

  • Strukturiert in die Event-Informationen (Benutzerdefinierte Felder)
  • Unstrukturiert ins Notizfeld

Event-Informationen

Spalten, die mit info, gefolgt von einem Großbuchstaben beginnen, werden als strukturierte Event-Informationen angelegt. Die Daten lassen sich so z.B. in Exportkonfigurationen oder via API-Zugriff flexibler wiederverwenden und auswerten.

Achtung es sind nur Buchstaben und Leerzeichen erlaubt.

Notizen

Die Spalte memo wird in die Notizen importiert.

Spalten, die mit memo gefolgt von einem Großbuchstaben beginnen, werden an die Notizen angehängt, wobei der Teil nach memo als Überschrift verwendet wird.

Beispiel

Aus dieser Importdatei:

...memomemoGEMAmemoCateringinfoDropbox LinkinfoTravel Party...
...Allgemeine NotizenEtwas zur GEMAEtwas zum Cateringhttps://www.dropbox.com/12348 PAX...

Entstehen folgende Event-Informationen:

BenutzerfeldWert
Dropbox Linkhttps://www.dropbox.com/1234
Travel Party8 PAX

Und folgende Notizen:

  Allgemeine Notizen

GEMA
Etwas zur GEMA

Catering
Etwas zum Catering
  

Anmerkungen

Kontakte

  • Firma gesetzt, Ansprechperson nicht gesetzt => Firma wird angelegt, E-Mail und Telefon werden bei Firma hinterlegt
  • Firma nicht gesetzt, Ansprechperson gesetzt => Ansprechperson wird angelegt, E-Mail und Telefon werden bei Ansprechperson hinterlegt
  • Firma gesetzt, Ansprechperson gesetzt => Firma wird angelegt, Ansprechperson wird als Mitararbeiter:in der Firma angelegt, E-Mail und Telefon werden bei Ansprechperson hinterlegt

Kontaktrolle

Die Rolle eines Event-Kontakts wird über eventContactNRole angegeben und ist verpflichtend, sobald ein Kontakt (Firma oder Ansprechperson) angegeben ist. Fehlt sie, wird das Event als Fehlerzeile abgewiesen und nicht importiert.

  • Nur Firma → die Firma wird mit der angegebenen eventContactNRole verknüpft.
  • Firma und Ansprechperson → die Firma erhält die angegebene Rolle, die Ansprechperson wird als “Ansprechpartner:in” verknüpft.
  • Nur Ansprechperson (ohne Firma) → die Person wird mit der angegebenen Rolle verknüpft.

Existiert die angegebene Rolle noch nicht, wird sie automatisch angelegt und für Events freigeschaltet. Eine bereits vorhandene Rolle wird — falls nötig — für Events freigeschaltet.

artist1ContactCompany wird weiterhin automatisch verknüpft: bei Veranstaltungen mit “Agentur”, bei Vermietungen mit “Veranstalter:in”; zugehörige Personen mit “Ansprechpartner:in”.

Vermeidung von Dubletten

Venues

Aus den Spalten

  • venue1Name
  • venue1Zip
  • venue1City

wird ein eindeutiger Name erzeugt, so dass gleiche Venues nur einmal angelegt werden.

Ist ein venueRoom, aber kein venueName angegeben, wird der venueRoom ebenso für den venueNamen verwendet.

Rooms

Aus den Spalten

  • venue1Room
  • venue1Name
  • venue1Zip
  • venue1City

wird ein eindeutiger Name erzeugt, so dass gleiche Räume nur einmal angelegt werden.

Artist

Maßgeblich ist allein artist1Slug. Zeilen mit demselben Key verweisen auf dieselbe Künstler:in — innerhalb einer Datei und über alle künftigen Importe hinweg. Existiert unter dem Key noch niemand, wird die:der Künstler:in neu angelegt.

Bestehende Künstler:innen werden wiederverwendet, aber nicht verändert. Wollt ihr an einem vorhandenen Datensatz etwas ergänzen, nutzt denselben Key in der Importdatei.

Programme

Maßgeblich ist artist1ProgrammSlug. Mehrere Termine mit demselben Key verweisen auf ein Programm, während dieselbe Künstler:in problemlos mehrere verschiedene Programme haben kann — jede Zeile bestimmt über den Key, welches Programm bei diesem Termin gespielt wird.

Ein Programm, das bereits existiert, wird wiederverwendet und nicht verändert; der in der Datei angegebene Name wird dann ignoriert. Deshalb genügt es, ab dem zweiten Mal nur noch artist1ProgrammSlug zu füllen und artist1Programm leer zu lassen.

Zeigt artist1ProgrammSlug auf ein Programm, das es nicht gibt, und ist gleichzeitig artist1Programm leer, kann nichts angelegt werden — die Zeile erscheint dann in den Fehlerzeilen. Das Gleiche gilt, wenn der Slug bereits zu einer anderen Künstler:in gehört. Beides meldet schon der Datencheck.

Kontakte

Firmen

artist1ContactCompany und eventContactNCompany werden beim Import auf Vorhandensein geprüft.

Personen

aus den Spalten

  • artist1ContactLastName
  • artist1ContactEmail
  • artist1ContactPhone

bzw.

  • eventContactNLastName
  • eventContactNEmail
  • eventContactNPhone

wird ein eindeutiger Name erzeugt, sodass gleiche Kontakte nur einmal angelegt werden.

Hinweis: Kontakte ohne E-Mail-Adresse können beim Import nicht zuverlässig auf Duplikate geprüft werden. Im Datencheck wird darauf hingewiesen.

Validierung

Für den Import müssen folgende Punkte zutreffen:

  1. Die Pflichtfelder date, status und scheduleStart (bzw. Default 20:00) müssen gesetzt sein.
  2. Datumsangaben müssen in einem der unterstützten Formate vorliegen (siehe oben). Eine Jahreszahl ist immer erforderlich.
  3. Uhrzeiten müssen im Format HH:mm oder HH.mm vorliegen.
  4. Der Status muss einem der erlaubten Werte entsprechen (Groß-/Kleinschreibung egal).
  5. Zahlenwerte (Kapazität, Gage, Prozent) müssen gültige Zahlen sein.
  6. Zu jedem angegebenen Event-Kontakt muss eine eventContactNRole gesetzt sein (siehe Kontaktrolle).
  7. Unbekannte Spalten werden ignoriert. Im Datencheck wird ein Hinweis mit Korrekturvorschlag angezeigt. Siehe hierzu auch Event-Informationen und Notizen.

Erneuter Import / Aktualisierung

Wird eine Import-Datei erneut importiert, gelten folgende Regeln:

EntitätDuplikaterkennungAktualisierungVerhalten bei erneutem Import
EventsNeinNeinEvents werden immer neu angelegt — ein erneuter Import erzeugt doppelte Events!
SpielorteJa (Name + Stadt + PLZ)NeinBestehender Spielort wird wiederverwendet. Adressänderungen werden nicht übernommen.
RäumeJa (Raumname + Spielort)NeinBestehender Raum wird wiederverwendet.
Künstler:innenJa (artist1Slug)NeinBestehende:r Künstler:in wird wiederverwendet. Deals und Beschreibung werden nicht aktualisiert. Ohne artist1Slug wird nichts importiert.
ProgrammeJa (artist1ProgrammSlug)NeinBestehendes Programm wird wiederverwendet und mit dem Termin verknüpft. Der Programmname wird nicht aktualisiert. Ohne artist1ProgrammSlug wird nichts importiert.
Kontakte (Personen)Ja (Vorname + Nachname + E-Mail)TeilweiseNur fehlende Kommunikationswege (Telefon, E-Mail) werden ergänzt. Name, Adresse etc. werden nicht aktualisiert.
Kontakte (Firmen)Ja (Firmenname)TeilweiseNur fehlende Kommunikationswege werden ergänzt. Adresse, Abteilung etc. werden nicht aktualisiert.

Wichtig: Da Events keine Duplikaterkennung haben, sollte ein Import nicht mehrfach mit den gleichen Daten durchgeführt werden. Nutzt den Datencheck, um eure Daten vor dem Import zu prüfen.