Added generic event definition.
This commit is contained in:
parent
7765d2d512
commit
e61cfddc9c
301
definitions/event.json
Normal file
301
definitions/event.json
Normal file
@ -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
|
||||
}
|
||||
}
|
||||
}
|
@ -3,28 +3,33 @@
|
||||
{{> mdl_content_head}}
|
||||
|
||||
<div class="frs-crumbs mdl-color-text--grey-500">
|
||||
<a href="./">Fake Reservation System</a> > Create Event
|
||||
<a href="./">Fake Reservation System</a> > Create Event Reservation
|
||||
</div>
|
||||
|
||||
<h3><i class="material-icons">event</i> Event Reservation</h3>
|
||||
|
||||
<form action="./send" method="post">
|
||||
<input type="hidden" name="form_type" value="{{action}}"/>
|
||||
|
||||
{{#form_data}}
|
||||
<h4>{{group_name}}</h4>
|
||||
|
||||
{{#fields}}
|
||||
{{>mdl_input}}
|
||||
{{/fields}}
|
||||
|
||||
{{/form_data}}
|
||||
|
||||
<p>
|
||||
<form action="#">
|
||||
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
|
||||
<input class="mdl-textfield__input" type="text" id="reservationFor_name">
|
||||
<label class="mdl-textfield__label" for="reservationFor_name">Name</label>
|
||||
</div>
|
||||
</form>
|
||||
<!-- Numeric Textfield with Floating Label -->
|
||||
<form action="#">
|
||||
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
|
||||
<input class="mdl-textfield__input" type="datetime-local" min="{{date_today}}" id="reservationFor_startDate">
|
||||
<label class="mdl-textfield__label" for="reservationFor_startDate">Start Date</label>
|
||||
<span class="mdl-textfield__error">Input is not a date!</span>
|
||||
</div>
|
||||
</form>
|
||||
<strong>The event will be sent to {{user.email}}.</strong>
|
||||
</p>
|
||||
|
||||
<button id="frs-button-send" type="submit" class="mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect mdl-button--colored">
|
||||
<i class="material-icons">send</i>
|
||||
</button>
|
||||
|
||||
</form>
|
||||
<script src="./js/frs.js" charset="utf-8"></script>
|
||||
{{> mdl_content_foot}}
|
||||
{{> mdl_foot}}
|
||||
{{> html_foot}}
|
||||
|
@ -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}}
|
||||
|
24
templates/partials/mdl_input_eventtype.mustache
Normal file
24
templates/partials/mdl_input_eventtype.mustache
Normal file
@ -0,0 +1,24 @@
|
||||
<div class="mdlext-selectfield mdlext-js-selectfield mdlext-selectfield--floating-label">
|
||||
<!-- https://developers.google.com/gmail/markup/reference/event-reservation -->
|
||||
<select id="{{field_id}}" name="{{field_id}}" {{#required}}required{{/required}} size="1" class="mdlext-selectfield__select" data-value="{{value}}">
|
||||
<option value=""></option>
|
||||
<option value="Event">Generic Event</option>
|
||||
<option value="BusinessEvent">Business Event</option>
|
||||
<option value="ChildrenEvent">Children Event</option>
|
||||
<option value="ComedyEvent">Comedy Event</option>
|
||||
<option value="DanceEvent">Dance Event</option>
|
||||
<option value="EducationEvent">Education Event</option>
|
||||
<option value="Festival">Festival</option>
|
||||
<option value="FoodEvent">Food Event</option>
|
||||
<option value="LiteraryEvent">Literary Event</option>
|
||||
<option value="MovieShowing">Movie Showing</option>
|
||||
<option vaule="MusicEvent">Music Event</option>
|
||||
<option value="SaleEvent">Sale Event</option>
|
||||
<option value="SocialEvent">Social Event</option>
|
||||
<option value="SportsEvent">Sports Event</option>
|
||||
<option value="TheaterEvent">Theater Event</option>
|
||||
<option value="VisualArtsEvent">Visual Arts Event</option>
|
||||
</select>
|
||||
<label for="{{field_id}}" class="mdlext-selectfield__label">{{title}}</label>
|
||||
<span class="mdlext-selectfield__error">Please select a type!</span>
|
||||
</div>
|
Reference in New Issue
Block a user