[18.0][ADD] website_appointment_booking: public appointment booking pages#204
Open
dnplkndll wants to merge 1 commit into
Open
[18.0][ADD] website_appointment_booking: public appointment booking pages#204dnplkndll wants to merge 1 commit into
dnplkndll wants to merge 1 commit into
Conversation
d4937b0 to
54fc8a4
Compare
Contributor
Author
152b99e to
36837c8
Compare
|
Status on this PR? thanks |
0bf7ecd to
1feaec0
Compare
Calendly-like public appointment booking pages for resource_booking types. Builds on the existing resource_booking availability engine — no new models, just extends resource.booking.type with website fields and adds a public controller. Design: - Zero-AJAX: slot data is server-rendered into a data-* attribute; JS handles day/slot selection client-side. - Per-booking-type slug + website_published flag (m2m exclusion of resource_booking_type from /book/* sitemap when unpublished). - Visitor tz override via ?tz= query param; slots re-bucketed in the visitor's tz so the calendar grid shows local dates. iso identifiers normalized to UTC so they stay stable across tz views. - Out-of-hours fallback: when ?tz= differs from resource tz AND no slots fall within the visitor's 9-17 local window over the next 7 days, render a "request a custom slot" banner that creates a tagged crm.lead. - ntfy push notification on out-of-hours request (configurable). Tests cover: slug uniqueness, sitemap exclusion, tz select reset, visitor-tz bucketing, pytz alias acceptance, invalid tz fallback, display_tz on success page, malicious tz offset rejection, request banner gating, ntfy publishing, race condition on simultaneous confirms.
29415c5 to
d14da0d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
website_appointment_bookingthat provides Calendly-like public booking pages for resource booking typesresource_bookingavailability engine — no new models, just extendsresource.booking.typewith website fieldsdata-*attribute, JS handles day/slot selection client-sideFeatures
/book/<slug>with monthly calendar gridcr.savepoint()for double-booking scenariosDependencies
resource_booking(this repo)website(Odoo CE)Test plan
🤖 Generated with Claude Code