{"id":1072361,"date":"2016-02-13T05:31:46","date_gmt":"2016-02-13T13:31:46","guid":{"rendered":"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/"},"modified":"2016-03-01T08:35:03","modified_gmt":"2016-03-01T16:35:03","slug":"ticketing-solution-for-recurring-online-courses","status":"closed","type":"topic","link":"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/","title":{"rendered":"Ticketing Solution for Recurring Online Courses"},"content":{"rendered":"<p>Background<\/p>\n<p>We run team-based courses online for 2-10 teams at a time, with 3-5 users per team.<\/p>\n<p>Each user accesses their course (\u201ctakes a seat at the virtual table\u201d) by clicking on a unique URL link, which we create on a backend app written in Ruby on Rails.<\/p>\n<p>We currently email these links manually, but we\u2019re looking for a plugin that will let us distribute them automatically through our frontend WordPress website.<\/p>\n<p>We\u2019ve come across several ticketing or event plugins, but I\u2019m not able to work out how well they could cooperate with our Ruby app on the backend. Our developer could build an API on the backend Ruby app, but the author of the plugin would need to write a PHP program on the WP site to connect the API to the Ruby app.<\/p>\n<p>Each of our courses is self-paced so that users can step in and out of the course throughout an access period of 30 days. Within this access period, the actual duration of the courses varies; completing a course can take anywhere between 1 and 20 hours.<\/p>\n<p>To create each user\u2019s link, admin follows these 6 steps:<\/p>\n<p>1) Select the course, e.g., Negotiation Basics<\/p>\n<p>2) Create a team, e.g., Team 1<\/p>\n<p>3) Create users, e.g., User A, User B, User C and so on.<\/p>\n<p>4) Set the start date and time<\/p>\n<p>5) Copy and paste each URL link from a CSV sheet, and email each one to the respective user (e.g., Team 1-User A, Team 1-User B and so on).<\/p>\n<p>6) Push the Start button, which gives all users access to the course for 30 days<\/p>\n<p>The Mission<\/p>\n<p>Whatever solution we come up with, it needs to allocate tickets in a way that each team has 3-5 users. As a non-technical person, the best idea I can imagine would be something like the following:<\/p>\n<p>We set a \u201824-hour window\u2019 for buying tickets that starts every day 00:00 and finishes at 23:59. Within that window, the user buys a seat and gets a receipt with a message like \u201cWe will send your access link within 24 hours.\u201d As soon as the window closes at 23:59, the frontend tells the backend \u201cI need X teams with Y users, and 1 team with Z users\u201d. <\/p>\n<p>It should arrive at the above request by following these rules: \u201cTeams should have 5 users whenever possible. When 5 isn\u2019t possible, they should have 4. When 4 isn\u2019t possible, they should have 3. When 3 isn\u2019t possible, they should have 2. If only 1 user buys a ticket, he\/she should get a message like Your team consists of 1 user.\u201d<\/p>\n<p>Upon receiving this request, the backend should provide the access links for the specified number of teams and users. Currently, I just do this manually. Worst case, I could look at the orders purchased on the frontend, and manually create the links and email them to the users \u2013 but I really want to automate this if at all possible! Many thanks in advance.<\/p>\n","protected":false},"template":"","class_list":["post-1072361","topic","type-topic","status-closed","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ticketing Solution for Recurring Online Courses -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ticketing Solution for Recurring Online Courses -\" \/>\n<meta property=\"og:description\" content=\"Background We run team-based courses online for 2-10 teams at a time, with 3-5 users per team. Each user accesses their course (\u201ctakes a seat at the virtual table\u201d) by clicking on a unique URL link, which we create on a backend app written in Ruby on Rails. We currently email these links manually, but [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/\" \/>\n<meta property=\"article:modified_time\" content=\"2016-03-01T16:35:03+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/\",\"url\":\"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/\",\"name\":\"Ticketing Solution for Recurring Online Courses -\",\"isPartOf\":{\"@id\":\"https:\/\/theeventscalendar.com\/support\/#website\"},\"datePublished\":\"2016-02-13T13:31:46+00:00\",\"dateModified\":\"2016-03-01T16:35:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/theeventscalendar.com\/support\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Topics\",\"item\":\"https:\/\/theeventscalendar.com\/support\/topics\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Welcome!\",\"item\":\"https:\/\/theeventscalendar.com\/support\/forums\/forum\/_welcome\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Pre-Sales Questions\",\"item\":\"https:\/\/theeventscalendar.com\/support\/forums\/forum\/_welcome\/pre-sales-questions\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Ticketing Solution for Recurring Online Courses\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/theeventscalendar.com\/support\/#website\",\"url\":\"https:\/\/theeventscalendar.com\/support\/\",\"name\":\"\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/theeventscalendar.com\/support\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ticketing Solution for Recurring Online Courses -","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/","og_locale":"en_US","og_type":"article","og_title":"Ticketing Solution for Recurring Online Courses -","og_description":"Background We run team-based courses online for 2-10 teams at a time, with 3-5 users per team. Each user accesses their course (\u201ctakes a seat at the virtual table\u201d) by clicking on a unique URL link, which we create on a backend app written in Ruby on Rails. We currently email these links manually, but [&hellip;]","og_url":"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/","article_modified_time":"2016-03-01T16:35:03+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/","url":"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/","name":"Ticketing Solution for Recurring Online Courses -","isPartOf":{"@id":"https:\/\/theeventscalendar.com\/support\/#website"},"datePublished":"2016-02-13T13:31:46+00:00","dateModified":"2016-03-01T16:35:03+00:00","breadcrumb":{"@id":"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/theeventscalendar.com\/support\/forums\/topic\/ticketing-solution-for-recurring-online-courses\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/theeventscalendar.com\/support\/"},{"@type":"ListItem","position":2,"name":"Topics","item":"https:\/\/theeventscalendar.com\/support\/topics\/"},{"@type":"ListItem","position":3,"name":"Welcome!","item":"https:\/\/theeventscalendar.com\/support\/forums\/forum\/_welcome\/"},{"@type":"ListItem","position":4,"name":"Pre-Sales Questions","item":"https:\/\/theeventscalendar.com\/support\/forums\/forum\/_welcome\/pre-sales-questions\/"},{"@type":"ListItem","position":5,"name":"Ticketing Solution for Recurring Online Courses"}]},{"@type":"WebSite","@id":"https:\/\/theeventscalendar.com\/support\/#website","url":"https:\/\/theeventscalendar.com\/support\/","name":"","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/theeventscalendar.com\/support\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/theeventscalendar.com\/support\/wp-json\/wp\/v2\/topic\/1072361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/theeventscalendar.com\/support\/wp-json\/wp\/v2\/topic"}],"about":[{"href":"https:\/\/theeventscalendar.com\/support\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":1,"href":"https:\/\/theeventscalendar.com\/support\/wp-json\/wp\/v2\/topic\/1072361\/revisions"}],"predecessor-version":[{"id":1073224,"href":"https:\/\/theeventscalendar.com\/support\/wp-json\/wp\/v2\/topic\/1072361\/revisions\/1073224"}],"wp:attachment":[{"href":"https:\/\/theeventscalendar.com\/support\/wp-json\/wp\/v2\/media?parent=1072361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}