AllPawsInn: Difference between revisions

From CS486wiki
Jump to navigationJump to search
Content deleted Content added
No edit summary   (change visibility)
No edit summary   (change visibility)
 
(14 intermediate revisions by the same user not shown)
Line 301: Line 301:
A new section, "Take Payment" added to the page. "Take Payment" section is used to decrease the account balance of the selected customer.
A new section, "Take Payment" added to the page. "Take Payment" section is used to decrease the account balance of the selected customer.


In "Payment" page, “New Service” section is updated. “Amount Received” input is moved inside the section. “Cost” and “Subtotal” rows are added to the section. Now, user will enter the amount they received during service
In "Payment" page, “New Service” section is updated. “Amount Received” input is moved inside the section. “Cost” and “Subtotal” rows are added to the section. Now, user will enter the amount they received during service creation. “Cost” represents the total charge for the service, “Subtotal” represents the amount remaining that customer needs to pay in the future. Subtotal = Cost - AmountReceived.
creation. “Cost” represents the total charge for the service, “Subtotal” represents the amount remaining that customer needs to pay in the future. Subtotal = Cost - AmountReceived.


In “New Service” section, “Take Payment” button is changed to “Create Service”.
In “New Service” section, “Take Payment” button is changed to “Create Service”.
Line 378: Line 377:


o UnpaidAmount (float) and paid (boolean) columns are removed.
o UnpaidAmount (float) and paid (boolean) columns are removed.







= '''Week 8''' =
= '''Week 8''' =
Line 402: Line 396:


- Team members added "Yearly" and "Monthly" reports which has the data of income.
- Team members added "Yearly" and "Monthly" reports which has the data of income.

Backend Changes

• Report Functions

o A helper function printReceipt is created. This function calls printReceiptWithService or printReceiptWithoutService by checking whether the payment is done for a service or not. If it is made for a service, then the receipt has the details of that booking. printReceiptWithService or printReceiptWithoutService functions use a database function to get payment informations, then creates a pdf file.

o printReceiptWithinDates function is created. This function uses a database function to get payment informations, then creates a pdf file.

o printReportYearly & printReportMonthly function are created. A helper function printReport is created and called at the end of printReportYearly & printReportMonthly functions. This function uses a database function to get all the payment data, then calculate the income, then creates a pdf file.

• Payment Functions

o Create receipt functions are connected to the payment functions. These functions are called after a payment is received.

• Homepage Functions

o DisplayReservations function is redesigned. This function uses a database function to get all the reservations that is not checked-in and not checked-out.

o DisplayCheckedIn function is redesigned. This function uses a database function to get all the reservations that is checked-in but not checked-out.

o DisplayCheckedOut function is redesigned. This function uses a database function to get all the reservations that is checked-in and checked-out.

o CheckedIn function is updated. This function uses a database function to change the status of the service(booking). It changes the “checkedIn” field to 1.

o CheckedOut function is redesigned. This function uses a database function to change the status of the service(booking). It changes the “checkedOut” field to 1.

o ComleteBooking function is created. This function uses database functions to get customer, animal and booking data, then it updates the text fields in the “Complete Booking” page. Also, it calls the CheckoutWithPaymentServices.
o CheckoutWithPaymentServices function is updated. This function calculates the whole services cost. Also, it calls CheckOutWithPaymentMakePayment function.

o CheckOutWithPaymentMakePayment function is updated. This function uses a database function to change the status of the booking. It changes the “completed” field to 1. Also, it updates the other fields of service detail. Since the total daycare, nails, food, hair, other goods, discount, sub total and total tax is calculated when completing the booking, all these fields need to be updated inside the database. Also, since a payment made, a database function is called to create payment with services details.

o CheckedOutWithPayment function is removed.

o CheckoutWithoutPaymentServices function is removed.

o CheckedOutWithoutPayment function is removed.

• Reservation Functions

o SubmitReservation function is redesigned. This function takes date inputs from the Reservation page. It sorts the dates, then it checks if there is a gap between the reserved days. If there is, that means we must create more than one reservation. For example, if 03-27, 03-28, 04-02, 04-04 is chosen, we create two bookings. One for the days between 27-28 March, and one for 2-4 April. So, we do that now.

• Database Functions

o GetPaymentsbyService function is created.

o GetPaymentsbyID function is created.

o getSingleServicesDetails function is created.

o GetPaymentsbyDateRange function is created.

o SetBookingStatusbyBookingID function is updated.

o submitReservation function is updated.

o GetReservations function is created.

o GetReservationByDate function is created.

o getLastServicesDetails function is created.

o updateServicesDetails function is created.

UI Changes

- “Pay Now” & “Pay Later” buttons are removed from under “Checked In” table in the daily schedule (home) page.

- “Check-Out” button is added under “Checked In” table in the daily schedule (home) page.

- “Pay” button is added under “Checked Out” table in the daily schedule (home) page.

- A warning box with “OK” and “Cancel” buttons is added to the daily schedule page. This box pops up when the user intends to check-out a customer who has a reservation going on on oncoming days. If the user clicks “OK” that means he is sure to end the reservation earlier than it is.

- Now, the user selects a customer from the “Checked Out” table, instead of “Checked In” in order to complete booking by setting service details and payment details on the opened page.

- Daycare checkbox is added to the “Complete Booking” page. So, it is optional now when completing the booking. Also, if there is a daycare, it is multiplied by the number of days that is passed after the check-in date. It is not multiplied by the number of days booked.

- “Daycare Total” label is added to the “Complete Booking” page. It is equal to days * daycare rate.

- Tax field is set to USD amount of tax in the “Complete Booking” page.

Database Changes

- ServicesDetails Table is updated. New columns are added. These columns are

o resStartDate => datetime to show the beginning date of reservation.

o resEndDate => datetime to show the ending date of reservation.

o daysIn => integer to show the number of days that pet is stayed.

o checkedIn => Boolean to show whether the customer is checked in.

o checkedOut => Boolean to show whether the customer is checked out.

o completed => Boolean to show whether the booking is completed.





Line 414: Line 506:


- Team members will have a meeting for the updates and discuss new ideas with Prof. Jones.
- Team members will have a meeting for the updates and discuss new ideas with Prof. Jones.



= '''Week 9''' =

Date: 04/03/2022


Accomplishments

Database Changes

- ClientDetails

o New Columns are added. Columns are:

- EmergencyContact

- EmergencyPhone

- AmountSpent

- Animals

o New Columns are added. Columns are:

- Medication

- Vaccinated

- Weight

- MicrochipID

- Deceased

UI Changes

- Balance text made bold in the Payment Page.

- Amount received is set to 0.00 as default in the Payment Page.

- New column is added to the Payment History table in the Reports Page. Column shows the Payment Details whether it is a single payment or payment for a service.

Backend Changes

- Account Debt label is changed to “Remaining Balance” in the printed receipts.

- All booking table in the Payment Page is now sorted by the reservation ending date.

Other Additions

- A python function to read the customer excel data is created.

- The function successfully reads all the data and creates a meaningful python dictionary.

- Now we are able to read the data sent by the customer and save it in our own database.

- Database tables to be renewed are; ClientDetails, Animals. Tables to be cleaned are; ClientDetails, Animals, Payments, ServicesDetails. Tables to be removed are; AmountSpend, BookingObjects.



Problems


- Some rows do not contain a customer name in the excel data. They only contain animal information

- We do not know what "Opted-in to marketing" and "Daycare Credits" columns mean in the excel data. So, we don't save these two fields into our database.




To do

- Team members will have a meeting for the updates and discuss new ideas with Prof. Jones.





= '''Week 10''' =

Date: 04/11/2022


Accomplishments

• The form in the Additional Pet page were not sufficient. It didn’t have the fields as in the excel file that Nate sent us. Also, the application was missing a section to change (update) the pet information.

• “Additional Pet Page” divided into two titles “Select Pet” and “Edit/Add Pet”.

• A new form that takes pet information inputs is created. This form is added to the “Additional Pet Page” under the “Edit/Add Pet” title.

• When customer selects a pet, this form is filled with the information we have in the database. That way, user can edit the pet details and save it by clicking on the “Apply Changes” button.

• A button “Add Pet” is added to the “Additional Pet Page”. This button opens a new page.

• A new page “New Pet” to create a new pet is added. “Add Pet” opens this page. The same form is added to the “New Pet” page as well.

• Pet information is also taken when creating a new customer. The same form is also added to that page as well.

• Updating pet age function is added.

• Amounts are set to “0.00” in checkout payments.

• “Total Balance” title in the pay screen is updated to “Updated Balance”.

• “Total Charge” title in the pay screen is updated to “Charge”.

• The today’s reservation in the “Payments Page” “All Bookings” table is highlighted.


• In the home page reservation display, we’ve added new columns to the tables which shows dates.

o Reserved Today -> We’ve added the day that the reservation is starting to the table.

o Checked In -> We’ve added the day that the customer checked in to the table.

o Checked Out -> We’ve added the day that the customer checked out to the table.

• Also, the user is now able to make payments for past checkouts, regardless of the current date. But still, the payment amount is not affected by the date that the user doing the operation. The amount is calculated by the date of check-in and check-out.


Problems

- No problems for this week.

To Do

-Team members will have a meeting with Prof Jones for the updates.





= '''Week 11''' =

Date: 04/18/2022

Accomplishments

- "New Client" and "New Pet" functions have been created for the new database.

- Input is received and edited via the UI.
- The insertion is saved to the database with SQL query.

- Team members back-up the database.

- Team members prepared a document about how to use the application.

-Team members added titles to the pages.

- Buttons has been colored.



Problems

- No problems for this week.

To Do

- Team members will load the application to Prof Jones system.

-Team members will have a meeting with Prof Jones for the updates.





= '''Week 12''' =

Date: 04/25/2022

Accomplishments

- Team members added function for creating folders in order to save receipts and reports.

- Printed receipts and reports will now saved in a folder named "docs" in the directory where the program is running.

- The names of reports and receipts will now saved with timestamp.

- Added titles to the reports.

- For the monthly report, the month the report belongs to and for the annual report the year that report belongs to is added as a title.

- It is now possible to print more than one receipt at a time from the "Client Payment History" table on the Reports page.

- When printing the annual report, only the payments within the selected year are calculated. Only payments made between January 1 and December 31 of the selected year.

- Team members manage to load application to the Prof. Jones system.

Problems

- No problems for this week.

To Do

- Team members will have a meeting with Prof Jones.




= '''Week 13''' =

Date: 05/02/2022

Accomplishments

- Service and admin settings tables updated

- Services are attached to the admin profiles.

- Admin page updated

- When the user selects admin profile the services which are belong to that profile are showed in the table

- New SQL queries generated for the services

- Functions has been tested.

- Bugs has been fixed.

Problems

- No problems for this week.

To Do

- Team members will have a meeting with Prof Jones.


= '''Week 14''' =

Date: 05/09/2022

Accomplishments

-Exceptions to handle 0 value on all Payment and Cost (Numeric) fields are added.

-Admin page service edit bugs are fixed.

-Several bugs on the Payment and Reports page are fixed.

-Delete service function is added to Admin page.

-The transcript for demonstration is updated.

Problems

- No problems for this week.

To Do

- Team members will have a meeting with Prof Jones.

Latest revision as of 14:25, 9 May 2022

Week 1

Date: 01/31/2022


Accomplishments

-Team members had a meeting with Prof. Jones


Problems


- No problems for this week


To do

- In Client info, "Notes" will be changed to "E-mail"

- In the payment section, Take payment does not work correctly. It sometimes adds up instead of substraction. Find the problem there.

- In the payment section, when a customer is chosen and some services are added to the list, the client is unchangeable until the payment action is completed, even we remove the service.

- On the Edit Client page, add a field to edit "Name", "Surname".

- In client info, there is no space between name & surname. Add it.

- On the reservation page, the "Remove Day" button does not work.

- On the weekly schedule page, dates are sometimes shown as "1/1/2000". Find the reason and fix it. Note: when pushed "this week", dates return to correct dates; however, the schedule is shifted right. It was monday-friday but shifted wed-sunday.

- Improve the UX in the payment section. Take payment button is broking the structure.

- Check-in button on the Daily Schedule page needs to be resized.

- It is better to clean out some tables in the database. Tables are; BookingObjects, Payments, Services Details. Also ClientDetails.AccountBalance should be set to 0.

- move DB to my machine process

Week 2

Date: 02/07/2022


Accomplishments

- In Client info, "Notes" changed to "E-mail"

- On the Edit Client page, added a field to edit "Name", "Surname"

- Improved the UX in the payment section. Take payment button is not broking the structure.

- Check-in button on the Daily Schedule page resized.

- In client info, there is space between name & surname.

- On the reservation page, the "Remove Day" button works now.

- On the weekly schedule page, dates are sometimes shown as "1/1/2000". It has been fixed.


Problems


- No problems for this week


To do

- Team members will have a meeting for the updates.

Week 3

Date: 02/14/2022


Accomplishments

- Team members prepared document for database import.

- Team members prepared document for database back-up.

- Team members made some changes for UI design such as background color.

- Team members look through the website "revelationpets" as Prof. Jones suggested.


Problems


- No problems for this week


To do

- Team members will try to import recent database to Prof. Jones system. - Team members will have a meeting for the updates.

Week 4

Date: 02/21/2022


Accomplishments

- Team members has accomplished database import to the Prof.Jones system

- Team members opened "revelationpets" account.

- Team members tested data import-export through "revelationpets".

- In the payment section, Take payment does not work correctly. It sometimes adds up instead of substraction. It has been fixed.

- The days and reservations in the weekly schedule is not correct. It has been fixed.

- In the payment section, when a customer is chosen and some services are added to the list, the client is unchangeable until the payment action is completed, even we remove the services. It has been fixed

- Saved some space from hamburger

- Added check out title above paynow & paylater

- Changed the actual window size

- Color theme: https://coolors.co/5b4c49-9e7153-e0965d-ebcdb3-eadece-455f6c-45637c-44668c

- Minimum size is set to 1240x820, and starting size is set to 1400x900

- We have a bug in customer display areas due to the address bug. Fix it.

Problems


- No problems for this week


To do

- Team members will have a meeting for the updates.


Week 5

Date: 02/28/2022


Accomplishments

- Homepage reservation bugs were fixed, - customer name sometimes does not appear on "checked out" list. fixed

- take payment section add column names and extra information - fixed

- Get rid of IDs in the selection tables, all of them. -- fixed

Problems


- No problems for this week


To do

- Team members will have a meeting for the updates.


Week 6

Date: 03/07/2022


Accomplishments

Changes on UI:

- A new page for "Reports" is created. Customer will be able to print receipts and reports from this page.

- A button is added to the hamburger menu.

- A table is added to "Reports" page. A reservation of a customer can be choosen from this table.

- 6 buttons added to the page. But there is no functionality atm. Buttons are;

- A button to get a receipt for selected booking (reservation). This one will print all payments done for that booking.

- A button to get a report for all bookings made and payments done by a selected customer.

- A button to get a report for all bookings made and payments done within selected dates.

- A button to get a report for all bookings made and payments done within selected dates by a selected customer.

- 2 date input areas added to the page.

- Payment page is updated. Services table is removed. A new table for "Unpaid Bookings" added.

- We were using services table to add multiple services at one time, however this operation was not needed.

- Now, the customer can add one service at a time.

- A checkbox is added for Daycare. Customer now can create a service without a daycare when adding a service.

- All unpaid bookings will be listed on the "Unpaid Bookings" table.

- Customer can select one booking from the table and make a payment for the booking.

- If it is fully paid, then it is removed from the list.

Note: A payment can only be made for a booking/service/reservations. All these 3 will be kept in the same table. Therefore we are able to get a receipt for a booking, then this receipt will show all the payments done for that booking.


Changes on Database:

- 5 new columns added to the "ServicesDetails" table.

- New columns are:

- paidAmount => Shows the paid amount for a specific booking.

- dateIn => Shows the date the customer created the service/booking.

- dateOut => Shows the date the customer checked out.

- paid => Boolean field to show whether the service/booking is completely paid.

- animalId => Shows the animalId of the service/booking.

- These columns were added to make the program be able to create a receipt for previous payments.

- From now on, all the bookings, reservations, and services will be saved to this data table, ServicesDetails.


Changes on Backend:

- A class is created for the "Reports" page. This class will contain all the functions required for the page.

- The button on the hamburger menu is connected to the Reports page.

- A function to display customers on the table is created.

- A function to find unpaid reservations on the database is added to PaymentFunctions class. An SQL Query function is also added to DatabaseClass.

- A function to pay for an unpaid reservation is added. If payment is fully completed, the "paid" column changes to "true". An SQL Query function is also added to DatabaseClass.


Problems


- No problems for this week


To do

- Team members will have a meeting for the updates and discuss new ideas with Prof. Jones.









Week 7

Date: 03/20/2022


Accomplishments


UI CHANGES

• Payment Page

"Unpaid Bookings" table is removed. "All Bookings" table is added instead. "All Bookings" table shows all the bookings and services that the selected customer had in the past.

A new section, "Take Payment" added to the page. "Take Payment" section is used to decrease the account balance of the selected customer.

       In "Payment" page, “New Service” section is updated. “Amount Received” input is moved inside the section. “Cost” and “Subtotal” rows are added to the section. Now, user will enter the amount they received during service creation. “Cost” represents the total charge for the service, “Subtotal” represents the amount remaining that customer needs to pay in the future. Subtotal = Cost - AmountReceived. 

In “New Service” section, “Take Payment” button is changed to “Create Service”.

• Reports Page

       “Extra Information” section is removed.
       Unnecessary buttons removed.
       “Payment History” table is added.
       “Payment Date”, “Payment Type”, “Payment Amount” columns are added to the table.
       “Get Receipt for Single Payment” button is added below the “Payment History” table.
       “Get Reports” title is added.
        Month selection for monthly report is added.
        Year selection for annual report is added.
        The page has been made responsive.


BACKEND CHANGES • Payment Functions

o The payment made from "Take Payment" section is saved to the database without a Service or Booking record. Because no service or booking can be selected.

o “payForClient” function is added. This function is called when a payment is made from the “Payment” page.

o There was a problem in the “AddServicesDetail” function while saving the dates to the database. Now the dates are converted to the correct form.

o In the “AddServicesDetail” function, “payForClient” function is called after creating a service. ServiceID is sent to the function, so, the primary key of the newly created ServiceDetails is also kept in the payment table when saving the payment to the database. In this way, it will be known for which service the payment was made.

o “findUnpaidReservations” function is changed to “findAllReservations”. Now the function fetches all the reservations in the database for a customer.

o “refreshPaymentPage” function is created. The function is called whenever a payment is made, or a new service is created. It updates all customer balances and the “All Bookings” table.


• Report Functions

o “updatePaymentsList” function is created. This function fetches all the payments done by the selected customer and adds the fetched data to the “Payment History” table. It is called whenever a customer is chosen from the “Clients List” table.

• Database (SQL) Functions

o “GetPaymentsbyClient” function is created. An SQL query to fetch all payments made by one customer is written.

o “createPayment” function is created. An SQL query to create a payment is written. Also, after the payment is created, the account balance needs to be updated. Therefore, the outdated “AccountBalance” is retrieved from the “ClientDetails” table using prewritten “GetClientAccountBalance” function. Afterwards, the new balance is calculated by reducing the paid amount from the account balance. Finally, the AccountBalance is set to the newly calculated balance and updated in the database using prewritten “SetClientAccountBalance” function.

o “findUnpaidReservations” function is changed to “findAllReservations”. An SQL query to fetch all reservations belongs to specific customer and pet is written.

DATABASE CHANGES

• Payments Table

o Table is redesigned. New columns are:

PaymentId

BookingID (can be NULL)

PaymentDate

ClientID

PaymentType

AmountReceived (can be NULL)


• ServicesDetails Table

o UnpaidAmount (float) and paid (boolean) columns are removed.

Week 8

Date: 03/27/2022


Accomplishments

- Team members completed receipt functions.

- Receipt is available for a single payment.

- If the payment is made for a booking, the booking details are also printed in the receipt.

- If the payment is made only to pay the debt of the customer, only the payment details are printed on the receipt.

- Receipt is available for a certain time period for each customer.

- Team members added "Yearly" and "Monthly" reports which has the data of income.

Backend Changes

• Report Functions

o A helper function printReceipt is created. This function calls printReceiptWithService or printReceiptWithoutService by checking whether the payment is done for a service or not. If it is made for a service, then the receipt has the details of that booking. printReceiptWithService or printReceiptWithoutService functions use a database function to get payment informations, then creates a pdf file.

o printReceiptWithinDates function is created. This function uses a database function to get payment informations, then creates a pdf file.

o printReportYearly & printReportMonthly function are created. A helper function printReport is created and called at the end of printReportYearly & printReportMonthly functions. This function uses a database function to get all the payment data, then calculate the income, then creates a pdf file.

• Payment Functions

o Create receipt functions are connected to the payment functions. These functions are called after a payment is received.

• Homepage Functions

o DisplayReservations function is redesigned. This function uses a database function to get all the reservations that is not checked-in and not checked-out.

o DisplayCheckedIn function is redesigned. This function uses a database function to get all the reservations that is checked-in but not checked-out.

o DisplayCheckedOut function is redesigned. This function uses a database function to get all the reservations that is checked-in and checked-out.

o CheckedIn function is updated. This function uses a database function to change the status of the service(booking). It changes the “checkedIn” field to 1.

o CheckedOut function is redesigned. This function uses a database function to change the status of the service(booking). It changes the “checkedOut” field to 1.

o ComleteBooking function is created. This function uses database functions to get customer, animal and booking data, then it updates the text fields in the “Complete Booking” page. Also, it calls the CheckoutWithPaymentServices. o CheckoutWithPaymentServices function is updated. This function calculates the whole services cost. Also, it calls CheckOutWithPaymentMakePayment function.

o CheckOutWithPaymentMakePayment function is updated. This function uses a database function to change the status of the booking. It changes the “completed” field to 1. Also, it updates the other fields of service detail. Since the total daycare, nails, food, hair, other goods, discount, sub total and total tax is calculated when completing the booking, all these fields need to be updated inside the database. Also, since a payment made, a database function is called to create payment with services details.

o CheckedOutWithPayment function is removed.

o CheckoutWithoutPaymentServices function is removed.

o CheckedOutWithoutPayment function is removed.

• Reservation Functions

o SubmitReservation function is redesigned. This function takes date inputs from the Reservation page. It sorts the dates, then it checks if there is a gap between the reserved days. If there is, that means we must create more than one reservation. For example, if 03-27, 03-28, 04-02, 04-04 is chosen, we create two bookings. One for the days between 27-28 March, and one for 2-4 April. So, we do that now.

• Database Functions

o GetPaymentsbyService function is created.

o GetPaymentsbyID function is created.

o getSingleServicesDetails function is created.

o GetPaymentsbyDateRange function is created.

o SetBookingStatusbyBookingID function is updated.

o submitReservation function is updated.

o GetReservations function is created.

o GetReservationByDate function is created.

o getLastServicesDetails function is created.

o updateServicesDetails function is created.

UI Changes

- “Pay Now” & “Pay Later” buttons are removed from under “Checked In” table in the daily schedule (home) page.

- “Check-Out” button is added under “Checked In” table in the daily schedule (home) page.

- “Pay” button is added under “Checked Out” table in the daily schedule (home) page.

- A warning box with “OK” and “Cancel” buttons is added to the daily schedule page. This box pops up when the user intends to check-out a customer who has a reservation going on on oncoming days. If the user clicks “OK” that means he is sure to end the reservation earlier than it is.

- Now, the user selects a customer from the “Checked Out” table, instead of “Checked In” in order to complete booking by setting service details and payment details on the opened page.

- Daycare checkbox is added to the “Complete Booking” page. So, it is optional now when completing the booking. Also, if there is a daycare, it is multiplied by the number of days that is passed after the check-in date. It is not multiplied by the number of days booked.

- “Daycare Total” label is added to the “Complete Booking” page. It is equal to days * daycare rate.

- Tax field is set to USD amount of tax in the “Complete Booking” page.

Database Changes

- ServicesDetails Table is updated. New columns are added. These columns are

o resStartDate => datetime to show the beginning date of reservation.

o resEndDate => datetime to show the ending date of reservation.

o daysIn => integer to show the number of days that pet is stayed.

o checkedIn => Boolean to show whether the customer is checked in.

o checkedOut => Boolean to show whether the customer is checked out.

o completed => Boolean to show whether the booking is completed.


Problems


- No problems for this week


To do

- Team members will have a meeting for the updates and discuss new ideas with Prof. Jones.


Week 9

Date: 04/03/2022


Accomplishments

Database Changes

- ClientDetails

o New Columns are added. Columns are:

- EmergencyContact

- EmergencyPhone

- AmountSpent

- Animals

o New Columns are added. Columns are:

- Medication

- Vaccinated

- Weight

- MicrochipID

- Deceased

UI Changes

- Balance text made bold in the Payment Page.

- Amount received is set to 0.00 as default in the Payment Page.

- New column is added to the Payment History table in the Reports Page. Column shows the Payment Details whether it is a single payment or payment for a service.

Backend Changes

- Account Debt label is changed to “Remaining Balance” in the printed receipts.

- All booking table in the Payment Page is now sorted by the reservation ending date.

Other Additions

- A python function to read the customer excel data is created.

- The function successfully reads all the data and creates a meaningful python dictionary.

- Now we are able to read the data sent by the customer and save it in our own database.

- Database tables to be renewed are; ClientDetails, Animals. Tables to be cleaned are; ClientDetails, Animals, Payments, ServicesDetails. Tables to be removed are; AmountSpend, BookingObjects.


Problems


- Some rows do not contain a customer name in the excel data. They only contain animal information

- We do not know what "Opted-in to marketing" and "Daycare Credits" columns mean in the excel data. So, we don't save these two fields into our database.



To do

- Team members will have a meeting for the updates and discuss new ideas with Prof. Jones.



Week 10

Date: 04/11/2022


Accomplishments

• The form in the Additional Pet page were not sufficient. It didn’t have the fields as in the excel file that Nate sent us. Also, the application was missing a section to change (update) the pet information.

• “Additional Pet Page” divided into two titles “Select Pet” and “Edit/Add Pet”.

• A new form that takes pet information inputs is created. This form is added to the “Additional Pet Page” under the “Edit/Add Pet” title.

• When customer selects a pet, this form is filled with the information we have in the database. That way, user can edit the pet details and save it by clicking on the “Apply Changes” button.

• A button “Add Pet” is added to the “Additional Pet Page”. This button opens a new page.

• A new page “New Pet” to create a new pet is added. “Add Pet” opens this page. The same form is added to the “New Pet” page as well.

• Pet information is also taken when creating a new customer. The same form is also added to that page as well.

• Updating pet age function is added.

• Amounts are set to “0.00” in checkout payments.

• “Total Balance” title in the pay screen is updated to “Updated Balance”.

• “Total Charge” title in the pay screen is updated to “Charge”.

• The today’s reservation in the “Payments Page” “All Bookings” table is highlighted.


• In the home page reservation display, we’ve added new columns to the tables which shows dates.

o Reserved Today -> We’ve added the day that the reservation is starting to the table.

o Checked In -> We’ve added the day that the customer checked in to the table.

o Checked Out -> We’ve added the day that the customer checked out to the table.

• Also, the user is now able to make payments for past checkouts, regardless of the current date. But still, the payment amount is not affected by the date that the user doing the operation. The amount is calculated by the date of check-in and check-out.


Problems

- No problems for this week.

To Do

-Team members will have a meeting with Prof Jones for the updates.



Week 11

Date: 04/18/2022

Accomplishments

- "New Client" and "New Pet" functions have been created for the new database.

- Input is received and edited via the UI.

- The insertion is saved to the database with SQL query.

- Team members back-up the database.

- Team members prepared a document about how to use the application.

-Team members added titles to the pages.

- Buttons has been colored.


Problems

- No problems for this week.

To Do

- Team members will load the application to Prof Jones system.

-Team members will have a meeting with Prof Jones for the updates.



Week 12

Date: 04/25/2022

Accomplishments

- Team members added function for creating folders in order to save receipts and reports.

- Printed receipts and reports will now saved in a folder named "docs" in the directory where the program is running.

- The names of reports and receipts will now saved with timestamp.

- Added titles to the reports.

- For the monthly report, the month the report belongs to and for the annual report the year that report belongs to is added as a title.

- It is now possible to print more than one receipt at a time from the "Client Payment History" table on the Reports page.

- When printing the annual report, only the payments within the selected year are calculated. Only payments made between January 1 and December 31 of the selected year.

- Team members manage to load application to the Prof. Jones system.

Problems

- No problems for this week.

To Do

- Team members will have a meeting with Prof Jones.



Week 13

Date: 05/02/2022

Accomplishments

- Service and admin settings tables updated

- Services are attached to the admin profiles.

- Admin page updated

- When the user selects admin profile the services which are belong to that profile are showed in the table

- New SQL queries generated for the services

- Functions has been tested.

- Bugs has been fixed.

Problems

- No problems for this week.

To Do

- Team members will have a meeting with Prof Jones.


Week 14

Date: 05/09/2022

Accomplishments

-Exceptions to handle 0 value on all Payment and Cost (Numeric) fields are added.

-Admin page service edit bugs are fixed.

-Several bugs on the Payment and Reports page are fixed.

-Delete service function is added to Admin page.

-The transcript for demonstration is updated.

Problems

- No problems for this week.

To Do

- Team members will have a meeting with Prof Jones.