Inspiration

As students, every time we think about upcoming holiday seasons, anxiety befalls us. Do we purchase train or bus tickets in advance, saving substantial money knowing there is a risk of not being able to travel due to school commitments, and knowing the provider will refund us only a paltry portion of the original ticket price? Or do we purchase tickets last minute from the train or bus provider, knowing they sell cancelled seats at premium prices?

What it does

The Moonshot Trip Exchange enables individuals travelers to resell seats which are unusuble at market prices, not at the price dictated by the provider. Providers are incentivized to implement this solution as it lifts their brand image across their core customer segments as well as lifting net sale.

We hypothesize that while providers will lose the opportunity to resell tickets which are not officially canceled but rather sold on the MTE, they will create a positive brand image which will result in customer choosing to travel by train or bus instead of car rental, resulting in increased net revenue.

How we built it

We use a logical 3-tier architecture:

  • a user interfaces with a front-end application developed on React, which resides on an ICP canister,
  • the react application manages tickets by calling functions encoded in Motoko

Challenges we ran into

  • due to the isolated hackathon environment, we were not able to resolve the issue of "ticket double spend". the successful seller of a train or bus ticket continues to have access to their original ticket and QR code, which would practically allow them to use their sold seat. we resolved this by assuming that an onboarded vendor would provide the team with an API to modify the ticket holder name within their internal database, which our canister would call on successful sale.

Accomplishments that we're proud of

  • we followed a methodology which heavily front-loaded: 1) choosing a project with a valid business problem, and ability to showcase ICP, 2) fleshing out process issues to refine the high-level solution, and finally 3) describing personas, use cases, user stories, and screen flow, to further refine the solution.

What we learned

1) Make technical choices that leverage the team's skills (e.g., known languages). Had we known Rust and Typescript/Javascript were well supported by ICP, we would not have used motoko. 2) Decide on the project and any new skills to be learned (e.g., ICP) well in advance of the project state date. 3) bring a spare laptop

What's next for Moonshot Trip Exchange

1) Complete features in the application

  • checkout page
  • credit card transaction processing
  • ticket image capture
  • internet ID validation
  • connect React/UI with functions coded in backend/motoko
  • perpetuate buffer with ticket information to chain 2) Seek out initial, sponsoring transit provider
  • utilise API which will change name on transfered ticket

Built With

Share this project:

Updates