thunderbird / thunderbird/appointment

Enable setting timeslots according to who is booking.

Open
#522 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
552
Forks
29
Avg merge
1d 6h
Merged PRs (30d)
23

Description

Is your feature request related to a problem? Please describe.
I spoke with an aesthetician (let's call her Laurie) regarding using Appointment, and she mentioned that she wouldn't be able to use this unless she can set the appointment time on a per-client basis. For example, Client A might take 45 minutes for an appointment, but Client B can take 30 minutes, even if it's the same service (ex: arm hair removal).

Laurie would like to be able to set the amount of time for each client. She also knows beforehand how much time a specific client takes, so she wouldn't have to edit this field, it's mostly set and forget per client.

Describe the solution you'd like
The GA calendar is for general availability, so one solution is to have more than one calendar, but even still, our calendars are locked with a specific appointment duration. So Laurie can set up an "arm hair removal" calendar, but that still wouldn't work for her, as the same service can take longer or shorter durations depending on her client. So then she'd have to create a calendar per client and book them that way. Seems tedious.

This feature request is a bit different: Allow our customers to store profiles of people they want to book with, and then send out bookings with their custom settings.

In this example, Laurie would create a client profile for Client A and set duration at 45 minutes. She would create another client profile for Client B, and set the duration for 30 minutes. Then when she wants them to book with her, she creates a bookable url that takes into consideration these client profiles.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue describes client profiles with per-client appointment durations and booking URLs, but names no files, tests, or entry points. Start by mapping the existing calendar, booking, and client models, then define the profile and duration workflow before identifying tests that establish when the feature is complete.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.