Skip to content

Feature/reservation#13

Open
6xray wants to merge 6 commits into
Renondedju:devfrom
6xray:feature/reservation
Open

Feature/reservation#13
6xray wants to merge 6 commits into
Renondedju:devfrom
6xray:feature/reservation

Conversation

@6xray

@6xray 6xray commented Dec 4, 2021

Copy link
Copy Markdown
Contributor

Reservation extension

Reservation is a Google API based extension for ISARTBot that aims to help club managers monitoring room reservations. The extension also regularly sends a mail with all pending reservations for validation.

Implemented commands

  • list

    • Display all current reservations and their status

    • image

  • notify

    • Sends a mail containing all pending reservations for validation. Use it only if you can't afford to wait for the extension to automatically send the mail.

    • image

Regarding the Google Calendar

To allow the extension to properly work, reservations done on the Google Calendar have to follow some rules :

  • The title must only contains the reason of the reservation associated with the status in parenthesis (current status names are "indispo", "à confirmer", "confirmé").
  • The targeted room must be specified in the location field of the event.
  • Currently, you need to specify a starting hour. Day-long reservations are not supported yet.
  • For Emilie, if a room is known to be unavailable in advance, just set the title to "Salle occupée (indispo)" and specify the room in the location field.

To illustrate these points, here is a sample reservation made on the Google Calendar :
image

And how to create an event when a room is known to be unavailable in advance :
image

Customization

In the settings.ini, you can find different parameters for the extension :

  • [reservation]
    • mailing_delay : delay (in full days) for the automatic mail sending for validation
    • club_manager_role_id : id of the discord role assigned to club managers
    • mail_title : title of the validation mail
    • mail_template : file path to the validation mail template
    • sender_mail : mailing address of the sender
    • destination_mail : mailing address of the receiver ([email protected])
    • unavailable : string used to check if a room is unavailable (don't forget to add parenthesis)
    • pending : string used to check if a room is waiting for a reservation (don't forget to add parenthesis)
    • validated : string used to check if a room is reserved (don't forget to add parenthesis)
    • calendar_id : id of the Google Calendar used for room reservation
    • google_token : file name for the Google token that will be generated from the Google credentials
    • google_credentials : path to the Google credentials file
    • google_api_scopes : Google API scopes used by the app (you don't need to modify these values)
  • [reservation_icons]
    • unavailable : discord icon used to indicate if a reservation is rejected or if a room is unavailable
    • pending : discord icon used to indicate if a reservation is still pending
    • validated : discord icon used to indicate if a reservation is validated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant