From e61cfddc9c6a18422f5b2fcf9cf7ffb74770735b Mon Sep 17 00:00:00 2001
From: Markus Birth
Date: Tue, 2 Aug 2016 15:03:11 +0200
Subject: [PATCH] Added generic event definition.
---
definitions/event.json | 301 ++++++++++++++++++
templates/event_html.mustache | 35 +-
templates/partials/mdl_input.mustache | 3 +
.../partials/mdl_input_eventtype.mustache | 24 ++
4 files changed, 348 insertions(+), 15 deletions(-)
create mode 100644 definitions/event.json
create mode 100644 templates/partials/mdl_input_eventtype.mustache
diff --git a/definitions/event.json b/definitions/event.json
new file mode 100644
index 0000000..22272b3
--- /dev/null
+++ b/definitions/event.json
@@ -0,0 +1,301 @@
+{
+ "groups": {
+ "0": "Event Information",
+ "1": "Venue",
+ "2": "Date",
+ "3": "Ticket",
+ "4": "Booking Information",
+ "5": "Program Membership",
+ "6": "Booking Agency",
+ "7": "Hotlinks",
+ "8": "Metadata"
+ },
+ "fields": {
+ "action_name": {
+ "title": "Custom Action Title",
+ "type": "text",
+ "required": false,
+ "group": 7
+ },
+ "action_url": {
+ "title": "Custom Action URL",
+ "type": "url",
+ "required": false,
+ "group": 7
+ },
+ "additionalTicketText": {
+ "title": "Additional information about the ticket",
+ "type": "text",
+ "required": false,
+ "group": 3
+ },
+ "bookingAgent_name": {
+ "title": "Name",
+ "type": "text",
+ "required": false,
+ "group": 6,
+ "short": true
+ },
+ "bookingAgent_image": {
+ "title": "Image",
+ "type": "url",
+ "required": false,
+ "group": 6
+ },
+ "bookingAgent_url": {
+ "title": "URL",
+ "type": "url",
+ "required": false,
+ "group": 6
+ },
+ "bookingTime": {
+ "title": "Booking Date",
+ "type": "datetime",
+ "required": false,
+ "group": 6
+ },
+ "cancelReservationUrl": {
+ "title": "Cancel URL",
+ "type": "url",
+ "required": false,
+ "group": 7
+ },
+ "confirmReservationUrl": {
+ "title": "Confirm URL",
+ "type": "url",
+ "required": false,
+ "group": 7
+ },
+ "modifiedTime": {
+ "title": "Modified Time",
+ "type": "datetime",
+ "required": false,
+ "group": 8
+ },
+ "modifyReservationUrl": {
+ "title": "Modify URL",
+ "type": "url",
+ "required": false,
+ "group": 7
+ },
+ "numSeats": {
+ "title": "Number of seats",
+ "type": "number",
+ "required": false,
+ "group": 3,
+ "short": true
+ },
+ "price": {
+ "title": "Price",
+ "type": "decimal",
+ "required": false,
+ "group": 0,
+ "short": true
+ },
+ "priceCurrency": {
+ "title": "Currency",
+ "type": "currency",
+ "required": false,
+ "group": 0,
+ "short": true
+ },
+ "programMembership_program": {
+ "title": "Name of Program",
+ "type": "text",
+ "required": false,
+ "group": 5,
+ "short": true
+ },
+ "programMembership_memberNumber": {
+ "title": "Member No.",
+ "type": "text",
+ "required": false,
+ "group": 5,
+ "short": true
+ },
+ "reservationFor_type": {
+ "title": "Event type",
+ "type": "eventtype",
+ "required": true,
+ "group": 0,
+ "short": true
+ },
+ "reservationFor_description": {
+ "title": "Short description of event",
+ "type": "text",
+ "required": false,
+ "group": 0
+ },
+ "reservationFor_doorTime": {
+ "title": "Time of admission (door time)",
+ "type": "datetime",
+ "required": false,
+ "group": 2
+ },
+ "reservationFor_endDate": {
+ "title": "End date and time",
+ "type": "datetime",
+ "required": false,
+ "group": 2
+ },
+ "reservationFor_image": {
+ "title": "Image URL for event",
+ "type": "url",
+ "required": false,
+ "group": 0
+ },
+ "reservationFor_location_name": {
+ "title": "Name of the venue",
+ "type": "text",
+ "required": true,
+ "group": 1
+ },
+ "reservationFor_location_address_streetAddress": {
+ "title": "Street",
+ "type": "text",
+ "required": true,
+ "group": 1
+ },
+ "reservationFor_location_address_postalCode": {
+ "title": "Zip Code",
+ "type": "number",
+ "required": true,
+ "group": 1,
+ "short": true
+ },
+ "reservationFor_location_address_addressLocality": {
+ "title": "City",
+ "type": "text",
+ "required": true,
+ "group": 1
+ },
+ "reservationFor_location_address_addressRegion": {
+ "title": "Region",
+ "type": "text",
+ "required": true,
+ "group": 1,
+ "short": true
+ },
+ "reservationFor_location_address_addressCountry": {
+ "title": "Country",
+ "type": "country",
+ "required": true,
+ "group": 1
+ },
+ "reservationFor_name": {
+ "title": "Event's name",
+ "type": "text",
+ "required": true,
+ "group": 0
+ },
+ "reservationFor_performer_name": {
+ "title": "Performer's name",
+ "type": "text",
+ "required": false,
+ "group": 0
+ },
+ "reservationFor_performer_image": {
+ "title": "URL of performer's image",
+ "type": "url",
+ "required": false,
+ "group": 0
+ },
+ "reservationFor_performer_url": {
+ "title": "URL to performer",
+ "type": "url",
+ "required": false,
+ "group": 0
+ },
+ "reservationFor_startDate": {
+ "title": "Start date and time of event",
+ "type": "datetime",
+ "required": true,
+ "group": 2
+ },
+ "reservationFor_url": {
+ "title": "URL to event",
+ "type": "url",
+ "required": false,
+ "group": 0
+ },
+ "reservationNumber": {
+ "title": "Reservation #",
+ "type": "text",
+ "required": true,
+ "group": 4,
+ "short": true
+ },
+ "reservationStatus": {
+ "title": "Status",
+ "type": "status",
+ "required": true,
+ "group": 4,
+ "short": true
+ },
+ "ticketDownloadUrl": {
+ "title": "Ticket Download URL",
+ "type": "url",
+ "required": false,
+ "group": 3
+ },
+ "ticketNumber": {
+ "title": "Ticket ID",
+ "type": "text",
+ "required": false,
+ "group": 3
+ },
+ "ticketPrintUrl": {
+ "title": "URL to print ticket",
+ "type": "url",
+ "required": false,
+ "group": 3
+ },
+ "ticketToken": {
+ "title": "Ticket Barcode",
+ "type": "barcode",
+ "required": false,
+ "group": 3
+ },
+ "underName_name": {
+ "title": "Ticket holder",
+ "type": "text",
+ "required": true,
+ "group": 3,
+ "default": "USER_NAME"
+ },
+ "underName_email": {
+ "title": "Email address",
+ "type": "email",
+ "required": false,
+ "group": 3,
+ "default": "USER_EMAIL"
+ },
+ "url": {
+ "title": "Reservation URL",
+ "type": "url",
+ "required": false,
+ "group": 4
+ },
+ "venueSection": {
+ "title": "Seat: Section",
+ "type": "text",
+ "required": false,
+ "group": 3,
+ "short": true
+ },
+ "venueRow": {
+ "title": "Seat: Row",
+ "type": "text",
+ "required": false,
+ "group": 3,
+ "short": true
+ },
+ "venueSeat": {
+ "title": "Seat: Seat#",
+ "type": "text",
+ "required": false,
+ "group": 3,
+ "short": true
+ }
+ }
+}
diff --git a/templates/event_html.mustache b/templates/event_html.mustache
index b0293e8..ee5b3bd 100644
--- a/templates/event_html.mustache
+++ b/templates/event_html.mustache
@@ -3,28 +3,33 @@
{{> mdl_content_head}}
-
Fake Reservation System > Create Event
+
Fake Reservation System > Create Event Reservation
event Event Reservation
+
-
-
+ The event will be sent to {{user.email}}.
+
+
+
+
{{> mdl_content_foot}}
{{> mdl_foot}}
{{> html_foot}}
diff --git a/templates/partials/mdl_input.mustache b/templates/partials/mdl_input.mustache
index 51691c3..aa7454b 100644
--- a/templates/partials/mdl_input.mustache
+++ b/templates/partials/mdl_input.mustache
@@ -13,6 +13,9 @@
{{#fieldtype_datetime}}
{{>mdl_input_datetime}}
{{/fieldtype_datetime}}
+{{#fieldtype_eventtype}}
+ {{>mdl_input_eventtype}}
+{{/fieldtype_eventtype}}
{{#fieldtype_country}}
{{>mdl_input_country}}
{{/fieldtype_country}}
diff --git a/templates/partials/mdl_input_eventtype.mustache b/templates/partials/mdl_input_eventtype.mustache
new file mode 100644
index 0000000..e23de5e
--- /dev/null
+++ b/templates/partials/mdl_input_eventtype.mustache
@@ -0,0 +1,24 @@
+
+
+
+
+ Please select a type!
+