diff --git a/docs/event-management.md b/docs/event-management.md new file mode 100644 index 000000000..16f14ff2c --- /dev/null +++ b/docs/event-management.md @@ -0,0 +1,98 @@ +# 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 +} +``` + +*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 +} +``` + +**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` + +## 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