Entity Registration Views
The Entity Registrations package contains a module named Registration Views to add registration options to Views. When you create a view,
The Entity Registrations module provides the ability for users to register for any entity in Drupal. Registrations are fieldable entities and can collect any information you need from your registrants. By attaching a Registration field to any entity, you enable users to fill out a form containing customized fields to register for that entity.
Entity Registrations currently has the following features:
Registration Common Configurations
This section is intended to be a starting point for site builders and themers to help with common registration configurations that enhance the end user experience. For a detailed walkthrough, check out codekarate's videos:
Entity based registration system for Drupal.
One of the cornerstones of the Entity Registrations module is the granular permission control it provides over which roles have access to Registration Types. Each Registration Type has its own permission settings. This means that if you have Workshops for authenticated users and you have Events for both anonymous and authenticated users, you will need to set up the permissions for each Registration Type appropriately.
Hint: If you want to allow anonymous and authenticated users to be able to register for a particular Registration Type, you will need to set the permissions for that Registration Type to "checked" on "Create new registration" and "Register self" for both, anonymous and authenticated users.
This is where things get interesting. You can add any Drupal field to customize
your registrations. The fields widgets will automatically appear on the register
form and will be available from a registration detail page.
Not happy with the default tabular list of registrations? No problem,
registrations and their fields are all Views friendly. You can override the
default event registrations list, create additional ones, etc.
Rules is a great companion for Registration to send confirmation emails, event
notifications, etc.
Once you've created an node with a registration attached to it, you can also register for that event using a rule.
Perhaps you'd like to automatically register the author of a piece of content to that node. For this example, I've created a content type "Event." In order to register the author of the node to that node, a rule must first create a new piece of content with the "Registration" type pointing to the node just created. So the first step in the rules creation process is to set the event to be "After saving new content."

To make sure you're only triggering this rule for the Event content type, add a condition "Content is of type"="Event".

For your actions, you'll start by creating the new entity of type "Registration." Select the correct registration type from the list of types in the dropdown (these are pulled from the the list of registration types you created on the Registration configuration page). In the Host Entity ID fieldset, select the Node id of the item you just created. Then give the Host Entity Type the value of "node" and give the entity you just created a meaningful name. (I used "Created entity").
This is not enough to successfully register the user for the event, however. To do that, you need to collect three more pieces of information (machine name appears in parenthesis). These are the minimum fields that must be entered to create a successful registration:
Attaching a field collection field to a registration allows you to collect
granular information for multiple registrants for a single registration. Here’s
how it works.
That’s it. Now, when a registration is added, users can complete one or more
field collections for each registrant.
Registration Types: Bundles analogous to content types that are fieldable. They define which fields an individual registration needs to store. Used to create the registration form that's attached to an event.
Individual registration: An entity (analogous to a node) that contains field data, for the fields defined in the registration type. Eg ("Bob's t-shirt size", bob's meal preference)
Registration State: Analogous to signup status in Drupal 6, Bundles are used to manage registration workflow settings. Reason to use bundles is so that registration states are exportable, weight-able. There are no individual registration state entities.
All registration bundles have a property called state that references a registration state. It's optional to display that property to the user but it always exists.
The Entity Registrations package contains a module named Registration Views to add registration options to Views. When you create a view,