Skip to content

Yesplan integration

Get A Ticket implements Yesplan's Generic Ticketing API. This document explains how the integration works and what is required to configure it.

Yesplan and Get A Ticket data model

Yesplan's core concept is the Event:

  • An event happens at a specific location, and has a schedule attached to it
  • Events can be grouped in Event Groups
  • An Event or a Group can be marked as a Production

Get A Ticket's core concept is the Show (Voorstelling)

  • A show is linked to a season and a hall (Zaal) and contains one or multiple playdates (speeldata).
  • Each playdate has its own schedule, that must occur within the show's season.

The mapping between Yesplan and Get A Ticket is done as follows:

  • An EventGroup marked as a production and contains multiple events: The EventGroup is mapped into a show. All the events that are part of a production become playdates. This is the most common way of using Yesplan and Get A Ticket:

    Kroki

  • An individual event can also be published. In this case, it is mapped into a show with one playdate. The event does not necessarily need to be marked as a production:

    Kroki

  • Be careful with setting groups as productions. Suppose you forget to do so and have a Group with two events. Pressing the Publish All Events button at the group level will create two shows, each one with a playdate:

Kroki

Behaviour and limitations

Please be aware of the following:

  • Although in Yesplan events have their own independent location, this is not the case for Get A Ticket. For this reason, a location must be provided for a production, and this location will be used for all the events within the production. Please be aware that although Yesplan will allow you to plan events in multiple locations, Get A Ticket will only see one location.
  • The publication of an event/production is a manual action (pressing the Publish All Events or the Publish Event button). Once an event is published, changes in the events and productions are automatically synchronized between Yesplan and Get A Ticket.
  • Deleting an event in Yesplan does not trigger a playdate deletion in Get A Ticket. Deleting published events is discouraged by Yesplan. However, Yesplan supports Revoking a publication (same button as Publish Events). In general, even after revoking an event, Get A Ticket will not delete the shows and its playdates. There is one exception: If all the playdates within a show have the status Optie, then Get A Ticket will automatically delete the show (since in this case it is a no-risk action).
  • Unfortunately the status of an event (like Concept, Optie) cannot be synchronized with a playdate status (like Optie, Boeking). This is a current limitation of Yesplan (their ticketing API does not push these changes). Although Yesplan has a REST API to retrieve this data, we've decided to not do it, since we cannot guarantee the data correctness if it's not pushed every time it changes.

Yesplan configuration

For a general description of how to set up a Yesplan integration, please follow this link. This section contains Get A Ticket specific information.

All the steps

Create Yesplan API user in Get A Ticket

  1. Go to the Get A Ticket website
  2. Click on the "Login" menu item in the top right corner
  3. Choose your theatre
  4. Login with your own username and password
  5. Go to "Beheer" » "Toegangsbeheer"
  6. On the right, click on the button "Nieuwe gebruiker"
  7. In the pop-up window, enter the initial password (different from final password)
  8. In the "Algemeen" tab below, enter:
    1. Naam: yesplan
    2. Email: Contact email address of the theatre
    3. Volledige naam: "Yesplan" plus theatre name
    4. Afkorting: YP
    5. Geblokkeerd: Leave unchecked
    6. Aktief: Leave checked
  9. In the "Rollen" tab, only select the role "Kaartverkoop"
  10. Click on the button "Opslaan" on the right
  11. Click on the small link in the top right corner named "logout"
  12. Log in with the new username and initial password
  13. Enter the new final password twice
  14. Click on "Opslaan"
  15. Logout from the Get A Ticket web interface again

Configure Custom data fields in Yesplan

  1. Log in to Yesplan
  2. Hover over the person icon in the menu bar below
  3. Choose "Systeeminstellingen"
  4. Go to tab "Evenementen"
  5. Go to sub-tab "Tabbladen"
  6. Enter "Ticketing" in the input field at the bottom
  7. Click the "Voeg toe" button
  8. Click on the main tab named "Gebruikers"
  9. Choose the sub-tab named "Rechtensjablonen"
  10. Choose the template/sjabloon name you want to provide access to the Ticketing tab
  11. Click on the "Toon rechten" link in the "Wijzigen" column
  12. Under the first section named "Mogelijkheden voor sjabloon ...", column "Toelating om te bekijken", click on "Open" next to "Infovenster evenement"
  13. Check the box next to "Ticketing"
  14. Do the same for other groups that you want to grant access to the Ticketing tab
  15. Go back to the main tab "Evenementen"
  16. Go to sub-tab "Custom Data"
  17. Scroll down to the bottom
  18. Create a Custom Data group named "Get-A-Ticket" if it doesn't exist yet:
    1. Click on the link "Voeg een groep toe"
    2. Double-click on the group name "New"
    3. Change the group name to "Get-A-Ticket"
    4. Click on the OK button
  19. Enter the Get-A-Ticket group using the "Open" button to the right of the group name
  20. Configure the publication button:
    1. Click "Voeg een veld toe"
    2. Choose Type: "Publicatieknop"
    3. Set Label: "Synchroniseer"
    4. Click on "Voeg toe"
    5. Double-click on the Keyword named getaticket_synchroniseer
    6. Change it to: gat_synchroniseer
    7. Click the "OK" button
  21. Add the Break (pauze) field:
    1. Click "Voeg een veld toe"
    2. Choose Type: "Keuzelijst"
    3. Set Label: "Pauze"
    4. Leave "Waarden" empty
    5. Click on "Voeg toe"
    6. Double-click on the Keyword named getaticket_pauze
    7. Change it to: gat_pauze
    8. Click the "OK" button
  22. In the same way, add the following fields:

    Label Type Keyword
    Seizoen Keuzelijst gat_season
    Locatie Keuzelijst gat_location
    Categorie Keuzelijst gat_category
    Genre Keuzelijst gat_genre
    Impresario Keuzelijst gat_impresario
    Voorstelling ID Externe gegevens gat_show_id
    Speeldatum ID Externe gegevens gat_playdate_id
    Status Externe gegevens gat_playdate_status
    Bijzonderheden Externe gegevens gat_kassa_bijzonderheden
    Verkocht Externe gegevens gat_seat_sold
    Beschikbaar Externe gegevens gat_seat_available
    Wachtlijst Externe gegevens gat_seat_waitlist
    Break-even Externe gegevens gat_deal_breakeven
    Begroot Externe gegevens gat_deal_begroot
  23. Add another field with Label "Uitvoerenden", Type "Integratiegegevens", Subtype "Tekst (één regel)" and Keyword "gat_performers"

  24. Then under the group named Get-A-Ticket, click on the "Voeg toe" link in the column header named "Wanneer of waar tonen"
  25. Select the "Ticketing" entry under "Tabblad"

Configure Yesplan integration to synchronize with Get A Ticket

  1. In Yesplan under Systeeminstellingen, choose the Tab "Integraties"
  2. If the GAT integration doesn't exist yet:
    1. Next to the other tabs, click the blue and white plus-sign  + 
    2. Fill in the name "GaT"
    3. Click the "Voeg toe" button
  3. Under the "Instellingen" section, set:
    1. Naam: "GaT"
    2. Integratie: "Generic Ticketing"
    3. URL: https://api.getaticket.nl/api/{lowercase theatre name}/yesplan/v1
    4. Gebruikersnaam: yesplan
    5. Wachtwoord: (Use the final password set above in Get-A-Ticket)
    6. Click on the button "Bewaar"
    7. Mappings: Click on the "Bijwerken" button
    8. After a few seconds, the text "Bijgewerkt." should appear right of the "Bijwerken" button.
  4. Under the "Protocol support" section, check all three checkboxes
  5. In the "Acties" section in the "Publiceer" row, select gat_synchroniseer for the "Customdataveld"
  6. Note: if the Mapping dropdown is empty, click on the Mappings » "Bijwerken" button above to refresh the list
  7. The table in the "Relaties van de gegevens bij publicatie van evenement" section should look like the following table. Entries can be added with the "Voeg toe" button in the "Wijzigen" column.

    Waarde ticketingsysteem Yesplan waarde Mapping
    name Standaard Standaard
    location Standaard Standaard
    starttime Standaard Standaard
    endtime Standaard Standaard
    gat_pauze gat_pauze pauze
  8. The table in the "Relaties van de gegevens bij publicatie van productie" section should contain (in any order):

    Waarde ticketingsysteem Yesplan waarde Mapping
    name production_title Standaard
    gat_category gat_category categories
    gat_genre gat_genre genres
    gat_impresario gat_impresario impresarios
    gat_location gat_location halls
    gat_performers gat_performers Standaard
    gat_season gat_season seasons
  9. The table in the section named "Externe gegevens" should simply contain the list of "Externe gegevens" mentioned above, having the "Waarde ticketingsysteem" identical to the value in the "Customdataveld" drop-down list. So for example, fill in the "Waarde ticketingsysteem" with gat_show_id, then select gat_show_id from the "Customdataveld" drop-down list next to it, then click the "Voeg toe" button. This should be done for all fields above that have the Type "Externe gegevens".

  10. Congratulations, you're done setting up the integration! You can now start adding events.

Back to top