16.0 pms long stay #13
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces the new "PMS Long Stay Reservations" module, which adds comprehensive support for managing long-stay bookings in the PMS system. The module enables reservations to be automatically split into weekly or monthly segments, each managed as an independent reservation but linked together for cohesive management and billing. It extends core models, introduces new configuration options, and seamlessly integrates with existing PMS pricing and service logic.
CAUTION:
This PR need some changes in PMS base: OCA/pms#364
Key features and changes include:
Long Stay Reservation Functionality:
long_stay) topms.reservationandpms.folio, enabling the creation and management of long-stay bookings. When such a reservation is created, it is automatically split into weekly or monthly segments, each represented as a separate reservation and linked via a new long stay group. Each segment also receives an automatically generated service line for billing, with the timing configurable on the property. [1] [2]Configuration and Model Extensions:
pms.propertywith new configuration fields:week_start_day(to define the start of the week for splitting) andlong_stay_billing_timing(to control when the service is invoiced for each segment).pms.room_typeandproduct_template(via imports) to support long-stay specific configuration, such as period type and dedicated products.New Data Models:
pms.reservation.long.stay.groupto group and reference all reservation segments belonging to the same long-stay booking. This model stores period type, original check-in/out, and links to all related reservations.Module Metadata and Documentation:
__manifest__.py) detailing dependencies, authorship, and data files, and a comprehensive README explaining the purpose, usage, and configuration of the module. [1] [2]Module Initialization:
__init__.pyfiles to ensure all new models and extensions are properly loaded when the module is installed. [1] [2]