User Tools

Site Tools


todo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
todo [2024/01/11 10:01] marcotodo [2025/12/05 15:10] (current) marco
Line 3: Line 3:
 ====== HotelDruid TODO ====== ====== HotelDruid TODO ======
 <file> <file>
- +version 3.0.(version 3 completion)
-version 3.0.(version 3 completion+
--possibility to add a fixed price and a % price when importing rate prices, instead of only one of them (like extra costs) +
--possibility to import the fixed price from per person (and viceversa) when importing rate prices (insert discounts separately?+
--for email documents in HTML format possibility to have also "HTML multipart" format (new field "boundary" with default random value of 26 characters a-zA-Z0-9 (at least 12), below show "boudaries in email body" with opening -- and "closing boundary" with opening and closing --) +
--when searching reservation number search also deleted reservations (if no reservation found?) +
--possibility to delete also clients with deleted reservations in past years (deleting also these reservations) from table with all clients (at second step checkbox with "Delete also XXX clients (and their reservations) that have only deleted reservations in past years"+
--possibility to view deleted reservations from documents API +
--in documents API, when requesting reservation numbers, possibility (with modifier like &last_year_numbers=1? or add year before numbers 2022+3-5?) to view also reservations that had the requested number in previous year, before being imported (like done in top menu search) +
--fix bug: not possible to insert a reservation with multi-rooms rate with (not nearby) rooms with different max capacity (sometimes with number of people > minimum capacity x n. of rooms), also in check availability and templates (only 2nd step works) +
--in webpages, when asking number of people, calculate people of all rooms with multi-rooms rates in drop-down menus +
--when inserting a reservation with a multiple rooms rate and number of people over the capacity, use "$diff_aggiungi_letti" like done in availability webpage to add extra beds only for exceeding number of people, not to all rooms (when insering a request of this type from availability webpage there is a price difference warning) +
--add query with prepared statements to database functions and begin to transfer queries (at least the ones before login) with parameters to prepared statements (if prepared statements funcions not available, use normal query in new functions) (remove aggslashdb from parameters)+
 -percentage deposit also on "rate + discount" and "rate + discount + extra costs non calculated on deposit" instead of only rate -percentage deposit also on "rate + discount" and "rate + discount + extra costs non calculated on deposit" instead of only rate
 +-possibility to add taxes to extraordinary extra cost (defaults to same taxes as reservation rate?)
 +-new privilege to add extraordinary extra cost when modifying a reservation
 +-new privilege to add check-in/check-out reminders when inserting a reservation
 +-possibility to set taxes in cashbox payments (import taxes of extra cost from POS, set a default for each cashbox) (add document variables for [r5], defined only from cashbox?)
 +-don't apply minimum stay from daily extra costs when applicable days are outside the selected periods for the cost (for ex. minimum stay only on arrival day with a cost 1 day yes and 10000 no, first day inside/outside allowed dates) (already works for weekdays)
 +-possibility to use "X days from current date" for first date and/or last date in periods when extra costs can be inserted (don't consider the period if first date bigger than last date, use first or last database date if current date before or after available dates) (for example, minimum stay not applied in first X days from now)
 +-in single rate table show correctly minimum stay from daily extra costs applied only to some weekdays
 +-deposit date as a limit to pay it (remove confirmation if date is past)
  
  
-version 3.0.8 (version 3 completion+version 3.(actions API) 
--for documents (not email) possibility to call an external URL at check-in or check-out (even if not saved), send document text as value of (default) parameter "checkin_text" or "checkout_text" (option to choose GET or POST connection). Save page respone OK/FAIL (set a string that response must contain or not contain for OK?) and show it near checkin date, so checkin/checkout can be cancelled and done again if connection fails +-add an "actions API" section in interconnections page, where you can enable the API to receive calls to add an extraordinary extra cost to a currently checked-in (or present) reservation (example of URL with cost data, room number and passphrase) 
--possibility to choose (exclude?pages where each document can appear +-in actions API possibility to modify quantity of an existing item in stockroom or room: send room number, item code (multiple updates if multiple items with same code, error if code not found) and new quantity (show old quantity in response?
--link the titular client with guests of the reservation even if he's not a guest himself +-in actions API possibility to set check-in and check-out for a reservation in a given room or with a given number (possibility to activate "sposta_per_checkin" when needed? do all steps in one in this case?) 
--possibility to select "all rooms" or "all rooms from rate X" (or select rooms like rule 2) when inserting rule 1+-in actions API possibility to modify price of a (not imported) rate: send rate number, start and end date and new price (update imported rates) (possibility to show in messages table
 +-for documents (not email, or send email instead of URL?) possibility to call an external URL at check-in or check-out (even if not saved), send document text as value of (default) parameter "checkin_text" or "checkout_text" (option to choose GET or POST connection). Save page respone OK/FAIL (set a string that response must contain or not contain for OK?) and show it near checkin date, so checkin/checkout can be cancelled and done again if connection fails (see also Spanish "parte de viajeros" communication and Sicily istat) 
 + 
 + 
 +version 3.1.1 (rules 1 management
 +-possibility to select "all rooms" or "all rooms from rate X" (or select rooms like rule 2) when inserting rule 1 for rooms
 -possibility to select multiple rates when inserting rule 1 for rates -possibility to select multiple rates when inserting rule 1 for rates
 -in rules 1 table possibility to group lines with rules that have same dates, type (room or rate) and/or motivation, with the link to modify all the rules in a group (if selected group has different motivations then omit motivation in modification, same with dates)  -in rules 1 table possibility to group lines with rules that have same dates, type (room or rate) and/or motivation, with the link to modify all the rules in a group (if selected group has different motivations then omit motivation in modification, same with dates) 
--for availability page possibility to show available types at second step+-possibility to select "always" as the period for rule 1 
 +-possibility to set rules 1 for units closures (currently not imported) as "recurring" (imported from year to year when adding periods) or as "once in a time" 
 +-when adding periods with prices importd also import specific periods of imported rates (if set as recurring?
 + 
 + 
 +version 3.1.2 (usability) 
 +-in availability and reservation insertion pages show incompatible costs (minimum stays) that prevent insertion, with possibility (if user has privileges to modify those costs) to remove/override them 
 +-when inserting a reservation possibility to override rule 3 for minimum people if the user has privileges to modify that rule 
 +-when a reservation is moved to a fixed room and the room is occupied by fixed reservation(s), offer the possibility to assign the other reservation(s) also the room from which the original reservation is moved (only if user has privilege to change room assignment for other reservation(s)) 
 +-when a reservation is moved from month table to one of its assigned units, offer also the possibility to remove previously occupied unit from assigned units list (between options to keep current list and fixed new unit) 
 +-possibility to show different colors for rows in month table depending on rates associated to room (only rates selected in "configure and customize") (combine colors if a room has more rates). Also possibility to group rooms by colors 
 +-when adding new extra cost to webpages (insert/import/min stay..) ask for the extra cost name for each page, specifying that a space will show extra cost only in the price 
 +-in photos of rates and rooms possibility to set another photo as the first one (or move up/down) 
 +-when grouping prices in rates table show a link to "configure and customize" where dates in drop-down menus are selected (if privileges allow to modify them) 
 +-calendar to choose rooms also for lists of rooms when inserting or modifying a reservation 
 +-javasctipt in default themes to add a + and a - near numeric fields (class=inputnum), don't go below 1 
 +-when typing 3 letters or more in textboxs (show textbox also with drop-down menus?) offer to complete the word for nations, regions or cities (with xmlhttprequest?
 +-when opening payments in "modify reservation", show an X in each payment line (only if payment is positive?) to insert an opposite payment with same options (insert by default the note "cancellation of payment n.?) 
 +-customization to show more than 30 days (1 month) in the month table 
 +-in month table (also in modify reservation), when passing over a room name, show the maximum capacity of the room, comment and rates associated with rule 2 
 +-in page to modify a reservation, when there are more reservations of the same client but not all with the exact same dates, show "all with same dates" (as current reservation) next to "all" in top line with links to other reservations 
 +-when coming back from modifying an extra cost, go to the anchor of modified extra cost (or the one above) 
 + 
 + 
 +version 3.1.3 (webpages) 
 +-for availability webpage possibility to show available types at second step
 -show grouped (but not combined) costs also in webpages (possibility?) -show grouped (but not combined) costs also in webpages (possibility?)
 -in webpages possibility to use a combined cost as extra bed (if all combined costs are extra beds?) -in webpages possibility to use a combined cost as extra bed (if all combined costs are extra beds?)
Line 32: Line 58:
 -in availability webpage possibility to select a separate dates list for departure dates (also possibility to select users for dates list) -in availability webpage possibility to select a separate dates list for departure dates (also possibility to select users for dates list)
 -for availability page for periods with multiple days add the option to display the first period of dates by separate days if the period has begun (also inside hoteldruid?) -for availability page for periods with multiple days add the option to display the first period of dates by separate days if the period has begun (also inside hoteldruid?)
--possibility to use "X days from current date" for first date and/or last date in periods when extra costs can be inserted (don't consider the period if first date bigger than last date, use first or last database date if current date before or after available dates) (for example, minimum stay not applied in first X days from now) 
--possibility to make an extra cost incompatible with other extra costs (modify also the other extra cost to add/remove incompatibility) (same restrictions as rate incopatibilities) 
--possibility to add taxes to extraordinary extra cost (defaults to same taxes as reservation rate?) 
--privilege to add extraordinary extra cost when modifying a reservation 
--possibility to set taxes in cashbox payments (import taxes of extra cost from POS, set a default for each cashbox) (add document variables for [r5], defined only from cashbox?) 
- 
- 
-version 3.0.9 (version 3 completion) 
--add an "actions API" section in interconnections page, where you can enable the API to receive calls to add an extraordinary extra cost to a currently checked-in (or present) reservation (example of URL with cost data, room number and passphrase) 
--in actions API possibility to modify quantity of an existing item in stockroom or room: send room number, item code (multiple updates if multiple items with same code, error if code not found) and new quantity (show old quantity in response?) 
--in actions API possibility to set check-in and check-out for a reservation in a given room or with a given number (possibility to activate "sposta_per_checkin" when needed? do all steps in one in this case?) 
--in actions API possibility to modify price of a (not imported) rate: send rate number, start and end date and new price (update imported rates) (possibility to show in messages table) 
--document variable with comma separated list of items in unit inventory (and another with missing items) in units repetitions (and the list for current room in reservations repetition? and also occupied_unit_floor, occupied_unity_capacity, etc.?) 
--modify notes, payment method (?) and transaction date in payments history table and payment method, transaction date in cashbox table 
--possibility to choose columns of payments history table and cashbox table in "configure and customize" 
--possibility to sort payments history table and cashbox table by transaction and modification dates (besides insertion date) 
--button to add predefined phrases in email documents where cursor is placed in the text (javascript?) (phrases added to all email documents or only current document from "modify document" page) 
 -for agreements in webpages possibility to only show them (without having to be accepted) and to be already checked when needed, also possibility to save them in a comment (to store cancellation policy at moment of booking for example) -for agreements in webpages possibility to only show them (without having to be accepted) and to be already checked when needed, also possibility to save them in a comment (to store cancellation policy at moment of booking for example)
 -for availability page add a line "other requests" between price and deposit when there are extra costs checked with 0 price -for availability page add a line "other requests" between price and deposit when there are extra costs checked with 0 price
Line 55: Line 64:
 -for availability page enclose prices lines in a contaier with max-width and make it float right in default themes (add a button "modify dates" that sends back to first step?) -for availability page enclose prices lines in a contaier with max-width and make it float right in default themes (add a button "modify dates" that sends back to first step?)
 -possibility for webpages to change page to another language if the page in that language exists (store other languages filenames when page created) (only default themes? remove options with non-existing pages in html parts?) -possibility for webpages to change page to another language if the page in that language exists (store other languages filenames when page created) (only default themes? remove options with non-existing pages in html parts?)
--possibility for predefined themes in webpages to set a link to background image (centered and adapted) for the page, make form semi-transparent in this case +-possibility for predefined themes in webpages to set a background image (centered and adapted) for the page, make form semi-transparent in this case
--in month table (also in modify reservation), when passing over a room name, show the maximum capacity of the room, comment and rates associated with rule 2 +
--in page to modify a reservation, when there are more reservations of the same client but not all with the exact same dates, show "all with same dates" (as current reservation) next to "all" in top line with links to other reservations +
--deposit date as a limit to pay it (remove confirmation if date is past) +
--don't apply minimum stay from daily extra costs when applicable days are outside the selected periods for the cost (for ex. minimum stay only on arrival day with a cost 1 day yes and 10000 no, applicable on 1 day) (already works for weekdays) +
--in single rate table show correctly minimum stay from daily extra costs applied only to some weekdays +
--calendar to choose rooms also for lists of rooms when inserting or modifying a reservation +
--javasctipt in default themes to add a + and a - near numeric fields (class=inptunum), don't go below 1+
  
  
-version 3.1 (multi-hotels enhancements)+version 3.1.4 (payments) 
 +-modify notes, payment method (?) and transaction date in payments history table and payment method, transaction date in cashbox table (new privileges) 
 +-possibility to delete a single payment in reservarions history table (with privileges) (remove the amount also from "transferred in cashbox" value if present? ask?) 
 +-possibility to choose columns of payments history table and cashbox table in "configure and customize" 
 +-possibility to sort payments history table and cashbox table by transaction and modification dates (besides insertion date) 
 +-button to add predefined phrases in email documents where cursor is placed in the text (javascript?) (phrases added to all email documents or only current document from "modify document" page) 
 +-set unique ID for default documents (even across languages) and add the possibility to restore them. After upgrade offer the possibility to upgrade unmodified new ones (also all at once), or add again the document if modified 
 +-re-enable service worker removing offline mode or fixing bug with browser "back" button that shows offline page in chrome or goes to previous page (skipping eventual same page with different POSTs) in firefox (show and delete s.w. in firefox about:serviceworkers and in chrome chrome://serviceworker-internals/?devtools) (use real https to test) 
 +-manage logins with service worker in PWA (on mobile devices?) (https://web.archive.org/web/20240229050716/https://wiredelta.com/how-to-turn-a-website-into-a-pwa/ https://web.dev/articles/security-credential-management-retrieve-credentials) 
 + 
 + 
 +version 3.2 (multi-hotels enhancements)
 -privilege to view only some rooms (replaces current one based on assignment rule 2, with rule 1 still useful to select only some periods) -privilege to view only some rooms (replaces current one based on assignment rule 2, with rule 1 still useful to select only some periods)
 -possibility to select only one group (also if user doesn't belog to it?) instead of all users' groups for each privilege in user privileges -possibility to select only one group (also if user doesn't belog to it?) instead of all users' groups for each privilege in user privileges
 -with mysql/mariadb by default use aria storage engine (instead of myisam) if available when creating database (use "ALTER TABLE xxxx ENGINE=Aria" when upgrading?) (add "BEGIN" before lock tables and "COMMIT" after unlock) -with mysql/mariadb by default use aria storage engine (instead of myisam) if available when creating database (use "ALTER TABLE xxxx ENGINE=Aria" when upgrading?) (add "BEGIN" before lock tables and "COMMIT" after unlock)
--possibility to select "always" as the period for rule 1 +-alternative priority of units when there is an extra bed (order by priorita_lettoagg, priorita and use second letter in assegnazioneapp) (set a second $dati_app['posizione'] and use it only when there is an extra bed
--possibility to set rules 1 for units closures (currently not importedas "recurring" (imported from year to year when adding periodsor as "once in a time" +-in single rate table when clicking on availability select first date and last date to insert a new rule 1 (popup with motivation?) or if already grey offer to delete or modify (popup? drag grey period edge?) selected rule 1
--in single rate table when clicking on availability select first date and last date to insert a new rule 1 (popup with motivation?) or if already grey offer to delete or modify (popup?) selected rule 1+
 -possibility to change rate name in single rate table -possibility to change rate name in single rate table
 -new privilege to make newly inserted motivations for rule 1 for conditional availability available to user or all his groups or one group (check that user can't insert a motivation not allowed to him) (line below "insert rule 1" privilege) (if enabled allow user with not all rules 1 allowed to insert conditional rules 1, currently can't) -new privilege to make newly inserted motivations for rule 1 for conditional availability available to user or all his groups or one group (check that user can't insert a motivation not allowed to him) (line below "insert rule 1" privilege) (if enabled allow user with not all rules 1 allowed to insert conditional rules 1, currently can't)
Line 90: Line 102:
 -possibility to use a variable of the document as subject for email documents -possibility to use a variable of the document as subject for email documents
 -possibility to use a custom smtp server for email documents, instead of default one (send from PEC for "send fattura elettronica" Italian document) -possibility to use a custom smtp server for email documents, instead of default one (send from PEC for "send fattura elettronica" Italian document)
- +-encrypt new passwords with sha256 if available (otherwise continue using md5) (quit "with md5" from table) (CVE-2024-23091?
- +-possibility to save multiple credit cards for each client and add comment to each credit card 
-version 3.2 (revenue management) +-in email download to messages replace imap functions (removed from php 8.4...) with phpmailer when available 
--email documents can be considered as API too and send email automatically when they are called (use manda_mail() instead of displaying textarea) (add new Italian document to send "fattura elettronica" from cron job, attached filename in subject and repetition_error if file older than few days or "email_already_sent"+-when sending email from document create transaction and check for it in sending step, delete it after sending (to avoid double sending on reload) 
--add a "periodic actions API" page, where you can set some actions (calling a document though the API and eventually sending the email, update subordination, etc.) to be carried out when the page is called, for example from cron job (constant to show the times when page is called) +-connection to AI api (chatgptgemini? local with https://ollama.com?) to extract dates and number of peoplesender gender from emails downloaded in messages table (set API data in "configure and customize" and through constants in includes/costanti.php)
--rates batch update: add x ($ or %) to prices (also from other ratesdaily or weekly, based on dates and availability, with possibility to save it +
--add batch update to periodic actions API +
--possibility to delete/add an inventory item from rooms every day/week at selected hour, or everyday and only perform the action if a selected daily cost is present on that day in the reservation for each room +
--add "checked-in" reservations to be selected from documents API +
--possibility to insert the number of people to be divided casually in selected rates when adding new types while inserting a reservation +
--when a new year is created store the number of units of previous year (and their nameseach room double, so the first one can be updated when room name changed) (in years table?), so afterwards statistics (occupancy percentages) can be calculated on that number (when statistics are generated check the number of different rooms of reservations in that yearuse higher number between this one and stored one) and show old room name in reservations of that year: "new name" (ex "old name"+
--new table in statistics with daily average price of all selected rates per month +
--alternative priority of units when there is an extra bed (order by priorita_lettoagg, priorita and use second letter in assegnazioneapp) +
--view total of all reservations (price before, after, balance) when modifying a group of reservations +
--guided insertion of a new rate: name - place in rates order - seasonal periods, prices, deposit, taxes and commissions (or import) - rule 2 - rule 3 - rule 1 (also import) - extra costs - users and rule 4 (?) - webpages (or see all these steps from single rate table, redirect to it when adding a new rate)+
  
  
Line 111: Line 113:
 -possibility to save documents linked to clients, as it's done for reservations (add client number also to documents saved for reservations?) -possibility to save documents linked to clients, as it's done for reservations (add client number also to documents saved for reservations?)
 -upload a file (document photo, etc.: jpeg, jpg, gif, png, pdf, doc, docx, odt, rtf, txt,...) as document connected to a client or reservation, as it is already done from the documents table -upload a file (document photo, etc.: jpeg, jpg, gif, png, pdf, doc, docx, odt, rtf, txt,...) as document connected to a client or reservation, as it is already done from the documents table
 +-when uploading a client document connect to external OCR (tesseract via php exec?) to read documents data and offer to import them in client data
 -possibility to show all client's documents in the page to modify client and all reservation documents in the page to modify reservations -possibility to show all client's documents in the page to modify client and all reservation documents in the page to modify reservations
 -possibility to overwrite a document with one uploaded from the documents table (or reservation/client page) -possibility to overwrite a document with one uploaded from the documents table (or reservation/client page)
Line 118: Line 121:
 -show custom client fields when showing data of client when inserting or modifying a reservation -show custom client fields when showing data of client when inserting or modifying a reservation
 -possibility to use autocomplete when inserting cities, regions, contries, etc of guests (first field of drop-down menu with text to search?) -possibility to use autocomplete when inserting cities, regions, contries, etc of guests (first field of drop-down menu with text to search?)
 +-when "show guest surname if different" is selected in "all reservations table" columns, also show tooltips with client and guest name (also telephone, etc.?)
  
  
-version 3.2.2 (housekeeping+version 3.(revenue management
--in rooms table possibility to assign a room to a (housekeeping) user with days schema (all days, only some week-days or manually selected days with today selected by default) (add also default document variable or dates array and show in cleaning report+-email documents can be considered as API too and send email automatically when they are called (use manda_mail() instead of displaying textarea) (add new Italian document to send "fattura elettronica" from cron job, attached filename in subject and repetition_error if file older than few days or "email_already_sent"
--in rooms table set mantainace listeach task can be assigend to a user (add variable with the list in units repetitions in documents +-add "periodic actions API" pagewhere you can set some actions (calling document though the API and eventually sending the email, update subordination, etc.) to be carried out when the page is called, for example from a cron job (constant to show the times when page is called) 
--possibility for extra costs to be added automatically at check-in and/or check-out (instead of associated rates at insertion or modification) (like done for "sposta_per_checkin" add a step in the modification block+-rates batch update: add x ($ or %to prices (also from other ratesdaily or weekly, based on dates and availability, with possibility to save it 
--possibility to delete/add an inventory item from rooms at checkin, checkout or every day/week at a selected hour +-add batch update to periodic actions API 
--possibility to add (and remove?) existing extra costsroom inventory goods and client/guests data (scanned documents) to current reservations from the interconnections API (called with room name for currently present or checked-in reservation) +-possibility to delete/add an inventory item from rooms every day/week at a selected hour, or everyday and only perform the action if a selected daily cost is present on that day in the reservation for each room 
--for users privileges possibility to select costs by category instead of single costs +-add "checked-in" reservations to be selected from documents API 
--new privilege to show only reservations and/or rooms that are assigned as "housekeeping" to the user (similar to rooms shown only in rule 1) +-possibility to insert the number of people to be divided casually in selected rates when adding new types while inserting a reservation 
--fast insertion of "housekeepinguser (can only modify housekeeping category costs and change "cleaninventory in rooms, show user to be associated to rooms in rooms table+-when a new year is created store the number of units of previous year (and their names? each room double, so the first one can be updated when room name changed) (in years table?), so afterwards statistics (occupancy percentages) can be calculated on that number (when statistics are generated check the number of different rooms of reservations in that year, use higher number between this one and stored oneand show old room name in reservations of that year: "new name" (ex "old name") 
--add comment to default cleaning report (first condition of the report to enable itwith text on which condition must be modified to replace the reservation comment with a custom comment+-new table in statistics with daily average price of all selected rates per month 
--add past arrival date and future departure date to cleaning report (and rename it to "housekeeping report")+-view total of all reservations (price beforeafter, balancewhen modifying a group of reservations 
 +-guided insertion of a new rate: name - place in rates order - seasonal periods, prices, deposit, taxes and commissions (or import) - rule 2 - rule 3 - rule 1 (also import) - extra costs - users and rule 4 (?) - webpages (or see all these steps from single rate table, redirect to it when adding a new rate)
  
  
-version 3.2.3 (point of sale functionalities)+version 3.3.1 (point of sale functionalities)
 -possibility to delete the associated extra cost(s) when deleting an item from a stockroom inventory -possibility to delete the associated extra cost(s) when deleting an item from a stockroom inventory
 -possibility to add an inventory item directly from the stockroom inventory (text box instead of drop-down menu) -possibility to add an inventory item directly from the stockroom inventory (text box instead of drop-down menu)
Line 149: Line 154:
 -lock backup, upgrade lock and year creation lock when making login with sqlite (slower to upgrade, but other databases too?) -lock backup, upgrade lock and year creation lock when making login with sqlite (slower to upgrade, but other databases too?)
 -for mobile select alternative columns in all reservations table, showing them "always", on "wide (lanscape)" or "very wide (tablet landscape)" screens (merge arr/dep dates on small screens) -for mobile select alternative columns in all reservations table, showing them "always", on "wide (lanscape)" or "very wide (tablet landscape)" screens (merge arr/dep dates on small screens)
--for mobile select alternative lenght for names in month table+-for mobile select alternative length for names in month table
 -for mobile select initial zoom in point of sale and month table (initial-scale from 0.5 to 1.5, default 0.8) (value saved in dati/temi.php?) -for mobile select initial zoom in point of sale and month table (initial-scale from 0.5 to 1.5, default 0.8) (value saved in dati/temi.php?)
 -fast extra cost insertion for "housekeeping" (cleaning) costs (insert also inventory items in rooms needed for checkin) (?) -fast extra cost insertion for "housekeeping" (cleaning) costs (insert also inventory items in rooms needed for checkin) (?)
Line 161: Line 166:
 -possibility to add icons (max LxH) and photos (both uploaded like rooms photos) to inventoty items -possibility to add icons (max LxH) and photos (both uploaded like rooms photos) to inventoty items
 -possibility in website pages to show items in categories selected when creating the page (for example "bedding") (show icon if present) -possibility in website pages to show items in categories selected when creating the page (for example "bedding") (show icon if present)
 +
 +
 +version 3.3.2 (housekeeping)
 +-in rooms table possibility to assign a room to a (housekeeping) user with days schema (all days, only some week-days or manually selected days with today selected by default) (add also default document variable or dates array and show in cleaning report)
 +-in rooms table set a mantainace list, each task can be assigend to a user (add a variable with the list in units repetitions in documents) 
 +-possibility for extra costs to be added automatically at check-in and/or check-out (instead of associated rates at insertion or modification) (like done for "sposta_per_checkin" add a step in the modification block)
 +-possibility to delete/add an inventory item from rooms at checkin, checkout or every day/week at a selected hour
 +-possibility to add (and remove?) existing extra costs, room inventory goods and client/guests data (scanned documents) to current reservations from the interconnections API (called with room name for currently present or checked-in reservation)
 +-for users privileges possibility to select costs by category instead of single costs
 +-new privilege to show only reservations and/or rooms that are assigned as "housekeeping" to the user (similar to rooms shown only in rule 1)
 +-fast insertion of a "housekeeping" user (can only modify housekeeping category costs and change "clean" inventory in rooms, show user to be associated to rooms in rooms table)
 +-add comment to default cleaning report (first condition of the report to enable it, with text on which condition must be modified to replace the reservation comment with a custom comment)
 +-add past arrival date and future departure date to cleaning report (and rename it to "housekeeping report")
 +-possibility to make an extra cost incompatible with other extra costs (modify also the other extra cost to add/remove incompatibility) (same restrictions as rate incopatibilities)
  
  
Line 170: Line 189:
  
  
-version 3.3.x+version 3.3.x (version 3.3 completion)
 -possibility to have incompatible rooms with combined extra costs (previously check if the cost will be affected by permitted periods and incompatible rates) -possibility to have incompatible rooms with combined extra costs (previously check if the cost will be affected by permitted periods and incompatible rates)
 -when making check-in and the room has not been checked-out, if the reservation has multiple rooms then offer the possibility to try to move the reservation in a free room (move same day reservations that has not been checed-in yet?) -when making check-in and the room has not been checked-out, if the reservation has multiple rooms then offer the possibility to try to move the reservation in a free room (move same day reservations that has not been checed-in yet?)
Line 195: Line 214:
 -add a default API document with xml from OpenTravel Alliance to export reservations data -add a default API document with xml from OpenTravel Alliance to export reservations data
 -for each hoteldruid user give the possibility to delete privileges (or convert them to read-only) on previous year when a new year is created (this setting is imported between users with privileges or groups?) -for each hoteldruid user give the possibility to delete privileges (or convert them to read-only) on previous year when a new year is created (this setting is imported between users with privileges or groups?)
 +-for reservations that begin in previous year don't allow to change the final date over the dates in previous year (with specific message)
 +-for reservations that begin in previous year don't allow modifications if they begin in the year previous to previous year (with specific message)
 -cancellation policy for each rate: date of free cancellation (stored as deposit/commissions, also in reservation) (also document variable) -cancellation policy for each rate: date of free cancellation (stored as deposit/commissions, also in reservation) (also document variable)
 -possibility to order reservations table by client surname -possibility to order reservations table by client surname
 -possibility to merge 2 clients, choosing wich one will overwrite the other when there are 2 different values (all past and current reservations will be assigned to the remaining client) -possibility to merge 2 clients, choosing wich one will overwrite the other when there are 2 different values (all past and current reservations will be assigned to the remaining client)
 -privilege to disable last active year of a user (if any) when a new year is created -privilege to disable last active year of a user (if any) when a new year is created
--when a reservation is moved from month table to one of its assigned units, offer also the possibility to remove previously occupied unit from assigned units list (between options to keep current list and fixed new unit) 
--possibility to show different colors for rows in month table depending on rates associated to room (only rates selected in "configure and customize") (combine colors if a room has more rates). Also possibility to group rooms by colors 
 -for documents as API possibility to send them, besides check-in and check-out, also at reservation insertion (also interconnections and webpages), modification or cancellation (also for documents automatically created) -for documents as API possibility to send them, besides check-in and check-out, also at reservation insertion (also interconnections and webpages), modification or cancellation (also for documents automatically created)
--new variable C_FILE_JS_PERS (and C_FILE_MOB_JS_PERS?) in includes/costanti.php to load a custom javascript file in the foot.php of the theme 
 -in actions API possibility to insert a new reservation: send rate number, start and end date, client data and (optional, if authorized) total price (show if reservation inserted correctly) (show in messages table) -in actions API possibility to insert a new reservation: send rate number, start and end date, client data and (optional, if authorized) total price (show if reservation inserted correctly) (show in messages table)
 -in actions API possibility to cancel a reservation: send reservation number (show if reservation deleted correctly) (show in messages table) -in actions API possibility to cancel a reservation: send reservation number (show if reservation deleted correctly) (show in messages table)
 +-YYYY-MM-DD (ISO) date format
 +-possibility to create a TODO list for each user, each entry with an optinal and modifiable expiration date (show in red like messages when expired) and option to mark as done and completely delete it
 +-add query with prepared statements to database functions and begin to transfer queries (at least the ones before login) with parameters to prepared statements (if prepared statements funcions not available, use normal query in new functions) (remove aggslashdb from parameters)
  
  
Line 218: Line 239:
 -when adding periods popssibility to import prices based on Easter (carnival, Chinese new year, etc.) dates (also for extra costs applied in periods?) (or for extra costs possibility to apply "them X days before/after Easter" or "X weekdays before Easter) -when adding periods popssibility to import prices based on Easter (carnival, Chinese new year, etc.) dates (also for extra costs applied in periods?) (or for extra costs possibility to apply "them X days before/after Easter" or "X weekdays before Easter)
 -for rates, extra costs and extra costs categories possibility to set their name in each available language module, use these names as defaults when creating webpages -for rates, extra costs and extra costs categories possibility to set their name in each available language module, use these names as defaults when creating webpages
 +-in administrator customizations option to keep reservation numbers when creating new year (also when creating the year manually?)
  
  
Line 237: Line 259:
 -css/js for colored box where prices have been modified when modifying prices in rates table -css/js for colored box where prices have been modified when modifying prices in rates table
 -when modifying prices in rates table possibility to move between cells with arrows (set text box in cell where you move) -when modifying prices in rates table possibility to move between cells with arrows (set text box in cell where you move)
--set unique ID for default documents (even across languages) and add the possibility to restore them. After upgrade offer the possibility to upgrade unmodified new ones (also all at once) 
 -possibility to don't show past dates (months?) in availability calendar page -possibility to don't show past dates (months?) in availability calendar page
 -possibility to show availability calendar only when there is no availability in availability and booking webpages -possibility to show availability calendar only when there is no availability in availability and booking webpages
Line 252: Line 273:
 -add 3 letters nation codes to default values (at least in English for code 2 or 3?) -add 3 letters nation codes to default values (at least in English for code 2 or 3?)
 -global privilege to don't allow to insert payments without payment method (when available, default on first inserted method?) -global privilege to don't allow to insert payments without payment method (when available, default on first inserted method?)
--possibility to delete a single payment in reservarions history table (with privileges) (remove the amount also from "transferred in cashbox" value if present? ask?) 
  
  
Line 293: Line 313:
 -limit to the first 25 nations with higher value (sum of shown years) the tables with nations in statistics, group other nations in "other" -limit to the first 25 nations with higher value (sum of shown years) the tables with nations in statistics, group other nations in "other"
 -possibility to show statistics for next year -possibility to show statistics for next year
--average lenght of reservations in statistics+-average length of reservations in statistics
 -when inserting prices on daily basis, or in other series of dates, select next date in next row -when inserting prices on daily basis, or in other series of dates, select next date in next row
 -use javascript also for costs that have inventory items in point of sale (js_array[stockroom][item_name] = items_number) -use javascript also for costs that have inventory items in point of sale (js_array[stockroom][item_name] = items_number)
 -customization to automatically purge messages older than x months -customization to automatically purge messages older than x months
 -possibility to sort payments table by surname, res. number, arrival or departure date -possibility to sort payments table by surname, res. number, arrival or departure date
--when typing 3 letters or more for nations, regions or cities in textboxs, offer to complete the word with xmlhttprequest 
 -reservation comments to be shown only to some users or guests -reservation comments to be shown only to some users or guests
 -possibility to show daily prices in default invoices -possibility to show daily prices in default invoices
Line 356: Line 375:
 -add a list of default titles when database is created (Mr,Mrs,Company Name) like default nations list (and make default documents use these titles) -add a list of default titles when database is created (Mr,Mrs,Company Name) like default nations list (and make default documents use these titles)
 -possibility to insert client title when inserting a reservation and a client -possibility to insert client title when inserting a reservation and a client
--if available use phpmailer also for emails downloaded in messages page 
  
  
Line 389: Line 407:
 -show a different color when there is an unconfirmed reservation in availability calendar -show a different color when there is an unconfirmed reservation in availability calendar
 -checkbox to select all days when inserting an extra cost with asked days -checkbox to select all days when inserting an extra cost with asked days
--YYYY-MM-DD date format 
 -when inserting a new extra cost select to which users with "only selected costs" privilege the cost must be added -when inserting a new extra cost select to which users with "only selected costs" privilege the cost must be added
 -table with cancelled reservations in statistics -table with cancelled reservations in statistics
todo.txt · Last modified: 2025/12/05 15:10 by marco