Skip to content
This repository has been archived by the owner on Feb 20, 2021. It is now read-only.

Ubiquitous language

Christopher Bennage edited this page Jan 30, 2015 · 1 revision

Ubiquitous Language

Here are the working definitions for the terms in our ubiquitous language for the Conference Managament System sample we are building. We will be adding to and modifying this list as the project proceeds...

  • Access Code. When a Registrant creates an Order for Seats at a Conference, the system generates and sends a five character Access Code by email to the Registrant. The Registrant can use her email address and Access Code on the Conference Web Site to retrieve the Order from the system at a later date. The system uses Access Codes instead of passwords to avoid the overhead for the registrant of setting up an account with the system. Many Registrants may use the system once only, so there is no need to create a permanent account.

  • Attendee. An Attendee is someone who is entitled to attend a conference. An Attendee can interact with the system to perform tasks such as manage his agenda, print his badge, and provide feedback after the conference. An Attendee could also be a person who doesn't pay to attend a conference such as a volunteer, speaker, or someone with a 100% discount. An Attendee may have multiple associated Attendee Types (speaker, student, volunteer, track chair, etc.)

  • Registrant. A Registrant is a person who interacts with the system to make Orders and to make payments for those Orders. A Registrant also creates the Registrations associated with an Order. A Registrant may also be an Attendee.

  • User. A User is a person such as an Attendee, Registrant, Speaker, Volunteer who is associated with a conference. Each User has a unique Record Locator code that the User can use to access User specific information in the system. For example, a Registrant can use a Record Locator code to access her Orders, an Attendee can use a Record Locator code to access his personalized conference agenda.

  • Registration. A Registration associates an Attendee with a Seat in a confirmed Order. An Order may have one or more Registrations associated with it.

  • Business Customer. The Business Customer represents the organization that is using the conference management system to run its Conference. A Business Customer can: create a new Subscription or use an existing Subscription to create and manage a Conference, select and modify a Conference Plan.

  • Order. When a Registrant interacts with the system, the system creates an Order to manage the Reservations, payment, and Registrations. An Order typically exists in one of four states: Created, ReservationsMade, Rejected, and Confirmed. An Order is initially in the Created state. An Order is in the ReservationsMade state when the system has reserved some of the Seats requested by the Registrant (one or more Order Items are in the Reserved state). An Order is in the Confirmed state when the Registrant has successfully paid for the Order Items in the Reserved state. Additionally, the Registrant's details must be saved by the system before any Orders created by the Registrant can be in the Confirmed state. An Order is in the Rejected state if the system cannot reserve any of the Seats requested by the Registrant (all the Order Items are in the Rejected state) or if the payment process fails. An Order contains one of more Order Items.

  • Order Item. An Order Item represents a Seat Type and a Quantity and is associated with an Order. An Order Item exists in one of three states: Created, Reserved, Rejected. An Order Item is initially in the Created state. An Order Item is in the Reserved state if the system has reserved the quantity of seats of the seat type requested by the Registrant. An Order Item is in the Rejected state if the system cannot reserve the quantity of seats of the seat type requested by the Registrant.

  • Seat. A represents a space at a conference or access to a specific session at the conference such as a cocktail party, a tutorial, or a workshop. Each conference has a quota of Seats that may be changed by the Conference Owner. Each session has a quota of Seats that may be changed by the Conference Owner.

  • Reservation. A Reservation is a temporary reservation of one or more seats. The ordering process creates Reservations. When a Registrant begins the ordering process, the system makes Reservations for the number of Seats requested by the Registrant. These Seats are then not available for other Registrants to reserve. The Reservations are held for n minutes (n is one of the properties of the conference defined by the Conference Owner) during which the Registrant can complete the ordering process by making a payment for those Seats. If the Registrant does not pay for the tickets within n minutes, the system cancels the Reservation and the Seats become available to other Registrants to reserve.

  • Reservation Expiration Datetime. The time when the Reservation expires. Used in the countdown.

  • Seats Availability. Every conference tracks Seat availability for each type of Seat. Initially, all of the Seats are available to reserve and purchase. When a Seat is reserved, the number of available Seats of that type is decremented. If the system cancels the Reservation, the number of available Seats of that type is incremented. The initial quota of each seat type is an attribute of the conference and is defined by the Conference Owner. A Conference Owner may adjust the quotas for the individual seat types.

  • Conference site. Every conference defined in the system can be accessed using a unique URL. Registrants can begin the ordering process from this site.

  • Conference Plan. A Conference Plan describes some of the key structural elements of a Conference, such as whether it will use Reviews, what the Fee Structure will be, and what the Cancellation Policy will be.

  • Wait-list. When a registrant tries to create an Order and there are not enough available Seats of the requested Seat type, the system places the request on a Wait-list. The Wait-list functions as a queue, so if more seats of the type requested by the Registrant become available, they are reserved for the the Registrant at the front of the queue, the system notifies the Registrant that Seats have become available, and the Registrant has the option to purchase the Seats before the Reservation expires.
    Note: The term Wait-list is a noun. There is also a verb, to waitlist.

  • Seat Request. The system creates a Seat Request when the system waitlists part of an Order. The system adds the Seat Request to the Wait-list.

  • Onsite Client Application. The Onsite Client Application is a kiosk application used by onsite conference staff. The staff use the application to record that attendees have arrived, to print badges for attendees, and to allow attendees to purchase seats for additional conference events. The Onsite Client Application synchronizes its data with the main conference system, however it must continue to function in the event that it looses its connection with the main conference system. In some scenarios, the functionality of the Onsite Client Application may be degraded in order to minimize the risk of overbooking a conference event while the Onsite Client Application is in the disconnected state.

  • Discount. The Business Customer can define Discounts that are applied to an order amount. A Discount is applied to an order amount when the Registrant provides a valid Promotional Code when creating the Order. A Discount defines either a percentage discount between 1% and 100% to be applied or an absolute amount in dollars. A Discount has a Quota that determines how many Seats can use the discount; the quota may be unlimited in which case it could potentially be applied to every seat at the conference. A Discount has a Scope that determines whether it applies to all seat types or to one specific seat type. A Discount can be exclusive; this means that no other discounts may be applied at the same time. A Discount can be dependent on another discount; it can only be applied when the other discount is also applied.

  • Promotional code. When a Registrant creates an Order, the Registrant can provide one or more Promotional Codes (Promo codes). If valid, these Promo codes cause a Discount to be applied to the order amount. Note that some Discounts may be incompatible with other Discounts. The system will inform the Registrant of this when it validates the Promo codes.