# Events management ## Usage > An event is associated to an object when the usage of this object implies: > * a limited capacity of people > * a limited time > Event management require: > * Edition of the attributes of the object on which the event is based > * Creation and settings of the event associated to the initial object ## Settings for the initial object > Important indications: > * Objects that doesn't have required attributes for event creation will not be open to event creation. > | name | fullfillment | > | -------------------- | --------- | > | capacity | **required** | > | eventDuration | **required** | > | registrationDuration | **required** | > | description | optionnal | > | eventStartDelay | optionnal | > * All the attributes filled in the object are used as values by default for event's creation; it can be overloaded for each event related to the initial object. > * If the initial object has a child or children which are events itself, settings are also required for each event child. #### Edit the object attributes: > in *Object attributes* Capture d’écran 2019-08-22 à 11 40 34 * Add a new key **capacity** of type `Number` with the maximum number of persons you want for events related to the object by default * Add a new key **eventDuration** of type `Number` with the duration in minutes you want for events related to the object by default * Add a new key **registrationDuration** of type `Number` with the duration in minutes you want to allow to people to register to the event by default * Add a new key **eventStartDelay** of type `Number`, if you want a default delay between the end of registration and the beginning of the event. This duration is expressed in minutes. * Add a new key **description** of type `String`, if you need to associate some informations to your event (description, location, access, documents to provide, etc.) #### Edit the children > in *Children* Capture d’écran 2019-08-22 à 15 43 43 * Add a new key **startAfter** of type `Number`, with the default delay you want between the beginning of the event and the beginning of the child event. This duration is expressed in minutes. ##### Example Here is an example of the `Piscine Go` settings. It presents the settings of the object attributes `Piscine Go`, the settings of one of its child which is an event and the settings of the child object attributes itself. > NB : this object settings are provided in the admin, in the curses section: 'Piscine Go' and in the exams section 'Exam 01'. **Piscine Go** *Object attributes* ```json { "capacity": 400, "eventDuration": 37440, "registrationDuration": 43200, "eventStartDelay": 240 } ``` This piscine object attributes look like this: ![piscine object attributes](https://user-images.githubusercontent.com/35296671/63526946-239dfa00-c4f8-11e9-8272-270c578f3fb8.png) *Children* > In the `Piscine Go`, children of type *exam* and *rush* have events itself. > A **startAfter** key has to be defined for each of them, in their parent object `Piscine Go`. For example, the exam-01 gets this key: ```json { "startAfter": 400 } ``` This child attributes look like this: ![piscine children attributes](https://user-images.githubusercontent.com/35296671/63525543-c86b0800-c4f5-11e9-8820-60d9ff33994f.png) **Exam 01** > The object `Exam 01`, which is a child of `Piscine Go`, has its own *Object Attributes* filled in the child object. *Object attributes* ```json { "eventDuration": 240, "registrationDuration": 2160, "eventStartDelay": 60 } ``` > NB: the **capacity** attribute is herited from the parent object `Piscine Go` here. This exam object attributes look like this: ![exam object attributes](https://user-images.githubusercontent.com/35296671/63527315-c3f41e80-c4f8-11e9-82da-d27c4c367323.png) ## Create the event ### Create a new event for your object ### Settings for you event > In the event you have created, 3 categories must be checked: > 1. General settings > 2. Registration's settings > 3. Event's settings #### General settings #### Registration #### Event