Skip to content

Commit c2cdd0d

Browse files
committed
update documentation for version 1.1.1 fixes #3
1 parent fa87d17 commit c2cdd0d

File tree

3 files changed

+110
-10
lines changed

3 files changed

+110
-10
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,16 @@ users to define custom configurations for time slots, lead time, and finish time
55
The app also handles conflicts and availability for appointments, ensuring a smooth user experience.
66

77
Detailed documentation is in the ["docs"](https://github.com/adamspd/django-appointment/tree/main/docs) directory.
8+
Please refer to the release notes for changes and migration
9+
information [here](https://github.com/adamspd/django-appointment/tree/main/release_notes.md).
810

911
## Features
1012

1113
1. Customizable time slots, lead time, and finish time.
1214
2. Handles appointment conflicts and availability.
1315
3. Easy integration with Django admin interface for appointment management.
1416
4. User-friendly interface for viewing available time slots and scheduling appointments.
15-
5. Sends email notifications to clients when they schedule an appointment.
17+
5. Send email notifications to clients when they schedule an appointment.
1618

1719
## Quick start
1820

docs/README.md

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,48 @@
11
# Appointment Scheduler
2+
23
This application helps you to schedule appointments with your clients. It is a simple application that allows any client
34
to schedule an appointment for a service.
45

56
## Model Structure
6-
The application has 4 models:
7-
- Service
8-
- Appointment Request
9-
- Appointment
10-
- Config
7+
8+
The application has 6 models:
9+
10+
- [Service](models.md#service)
11+
- [Appointment Request](models.md#appointmentrequest)
12+
- [Appointment](models.md#appointment)
13+
- [Config](models.md#config)
14+
- [PaymentInfo](models.md#paymentinfo)
15+
- [EmailVerificationCode](models.md#emailverificationcode)
1116

1217
### Service
18+
1319
The service model is used to define the services that you offer. It has the following fields:
20+
1421
- name: The name of the service
1522
- description: A description of the service
1623
- duration: The duration of the service (Duration field)
1724
- price: The price of the service
1825
- image: An image of the service
1926

2027
### Appointment Request
21-
The appointment request model is used to define the appointment requests that your clients make. It has the following fields:
28+
29+
The appointment request model is used to define the appointment requests that your clients make. It has the following
30+
fields:
31+
2232
- date: The date of the appointment request
2333
- start_time: The start time of the appointment request
2434
- end_time: The end time of the appointment request
2535
- service: The service that the appointment request is for
2636
- id_request: The id of the appointment request
2737

28-
The appointment request is used to create the appointment. An appointment is considered having more information than
29-
that, and since we don't want to overload the appointment model, we use the appointment request to store all
38+
The appointment request is used to create the appointment. An appointment is considered having more information than
39+
that, and since we don't want to overload the appointment model, we use the appointment request to store all
3040
the information about the appointment.
3141

3242
### Appointment
43+
3344
The appointment model is used to define the last step in the appointment scheduling. It has the following fields:
45+
3446
- client: The client that made the appointment
3547
- appointment_request: The appointment request that the appointment is based on
3648
- phone: The phone number of the client
@@ -42,17 +54,42 @@ The appointment model is used to define the last step in the appointment schedul
4254
- id_request: The id of the appointment request
4355

4456
### Config
57+
4558
The config model is used to define the configuration of the application. It has the following fields:
59+
4660
- slot_duration: The duration of each slot in the calendar
4761
- lead_time: The time of the day that the calendar starts
4862
- finish_time: The time of the day that the calendar ends
63+
- appointment_buffer_time: Time between now and the first available slot for the current day (doesn't affect tomorrow).
64+
- website_name: The name of the website
65+
66+
### PaymentInfo
67+
68+
The PaymentInfo model is used to represent payment information for an appointment. It has the following fields:
69+
70+
- appointment: A foreign key reference to the Appointment model
71+
72+
The model provides several methods to access related appointment details, such as service name, price, currency, client
73+
name, and email.
74+
It also includes a method to update the payment status.
75+
76+
### EmailVerificationCode
77+
78+
The EmailVerificationCode model is used to represent an email verification code for a user when the email already exists
79+
in the database.
80+
It has the following fields:
81+
82+
- user: A foreign key reference to the user model defined in `APPOINTMENT_CLIENT_MODEL`
83+
- code: A randomly generated 6-character alphanumeric code
84+
85+
The model includes a class method to generate a new verification code for a user.
4986

5087
## Configuration
5188

5289
In your Django project's settings.py, you can override the default values for the appointment scheduler:
5390

5491
```python
55-
APPOINTMENT_CLIENT_MODEL = 'auth.User' # file.Model
92+
APPOINTMENT_CLIENT_MODEL = 'auth.User' # file.Model
5693
APPOINTMENT_BASE_TEMPLATE = 'base_templates/base.html'
5794
APPOINTMENT_WEBSITE_NAME = 'Website'
5895
APPOINTMENT_PAYMENT_URL = None
@@ -61,3 +98,4 @@ APPOINTMENT_SLOT_DURATION = 30 # minutes
6198
APPOINTMENT_LEAD_TIME = (9, 0) # (hour, minute) 24-hour format
6299
APPOINTMENT_FINISH_TIME = (16, 30) # (hour, minute) 24-hour format
63100
```
101+

release_notes.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# django-appointment
2+
3+
**v1.1.1**
4+
5+
# Release Notes for Version 1.1.1
6+
7+
## Introduction
8+
9+
Version 1.1.1 brings an important fix to the package, addressing a specific issue in slot availability. The update also
10+
includes enhanced testing to ensure the integrity of the solution. This release builds on the previous versions,
11+
focusing on reliability and responsiveness.
12+
13+
## Bug Fixes
14+
15+
### Slot Availability Fix
16+
17+
- Fixed an issue where booking the second slot did not correctly block the first slot if it was booked later. This fix
18+
ensures that both slots are handled correctly, and one does not affect the availability of the other.
19+
20+
### Testing Enhancements
21+
22+
- Added specific tests to reproduce and verify the slot availability issue, strengthening the robustness of the
23+
codebase.
24+
25+
## Previous Version Highlights (1.1.0)
26+
27+
Please refer to the release notes for version 1.1.0 for details on new models, user interface enhancements, code quality
28+
improvements, and core features introduced in that version.
29+
30+
## Getting Started
31+
32+
If you haven't already installed the package, or if you're upgrading from a previous version, follow the instructions
33+
below:
34+
35+
### Installation:
36+
37+
```bash
38+
pip install django-appointment==1.1.0
39+
```
40+
41+
### Database Migration:
42+
43+
```bash
44+
python manage.py makemigrations
45+
python manage.py migrate
46+
```
47+
48+
## Support & Feedback
49+
50+
We value your feedback and are committed to continuous improvement. For support, documentation, and further details,
51+
please refer to the provided resources.
52+
53+
## Conclusion
54+
55+
Version 1.1.1 is a targeted update focusing on fixing a specific issue and enhancing the reliability of the package. By
56+
addressing user-reported concerns and strengthening the testing framework, this release underscores our commitment to
57+
providing a robust and dependable solution.
58+
59+
For detailed documentation and instructions on how to use the package, please refer to the accompanying README files and
60+
online resources.

0 commit comments

Comments
 (0)