listing
Informational and booking page for listings
Listing Page Overview
This is an informational page for a Listing. Users can use this page to view listing details or Reviews, book a trip for this property, or message the Listing owner. Both the AirDate/TimePicker Booking Start and AirDate/TimePicker Booking End inputs are given a list of dates - Blocked dates - which represent the dates that a user cannot select in the inputs. This list of dates is comprised of the Dates (list) field for all of that listing’s Blocked Dates.
Key Workflows
Button Confirm My Booking is clicked
After a user is shown a visual confirmation of the booking details, they officially create the booking through this workflow
Creates a
BookinginstancePopulates the
PriceandFeethrough calculations run in several “hidden” groups (please see the Database section above for calculation details)The
StartandEnddates are adjusted to be the very beginning of the selected days
The
temp_bookingstate onPopup Confirm Bookingis used to delete this booking if the payment failsA Stripe payment is attempted, using an API connector call
If the payment succeeds, we populate the booking with the
Charge IDandTotal amount charged (Stripe)[this is in US cents], which are both returned from Stripe, and trigger thepayment_successworkflowIf the payment fails - if an error is thrown during the attempt - the
payment_failureworkflow is triggered
Button Flag Listing is clicked
Allows the user to flag (i.e., report) a listing with an optional reasons
Creates a
Flagviewable to app admins
Button Send Message is clicked
Sends a message from the currently logged in user to the listing’s owner. This creates a
Messageand aThreadif no thread already exists between the two usersEmails sent to the message recipient includes a link that directly accesses the relevant thread on the dashboard
Button Change CC is clicked
Allows the user to update their credit card information before creating a booking
Uses Bubble’s built-in “Collect the user’s cc information” action
payment_failure [Custom workflow]
Triggered only if an error occurs during the payment attempt from the
Confirm My BookingworkflowDeletes the previously created
Booking
payment_success [Custom workflow]
Triggered from a successful payment attempt from the
Confirm My BookingworkflowCreates a new
Threadbetween theBooked Userand theListing Ownerif one does not already existCreates a new
Blocked Datefor the booking, which represents the time range of the booking and allows the app to prevent duplicate bookings on these daysCreates a new
Transaction, pulling in data from theBookinginstanceSchedules an API workflow for after the booking
End dateto send an email, which reminds the user to leave a review for the listing (this API workflow ID is saved so that it can be cancelled if the booking is cancelled at a later time)Sends a confirmation email to both the
Booked UserandListing Ownerand shows a confirmation pop-up to the user
Button Confirm My Booking has an error running a workflow
Triggered when an error occurs during the “Charge a user using saved CC” action from the Button
Confirm My Booking is clickedworkflowIt is expected that an error will occur if the user’s payment method is invalid or if there is something disrupting the connection between Stripe and the Bubble app
Signifies an unsuccessful payment and triggers the
payment_failurecustom workflow
Key Elements
Group Invalid Dates
This group is visible when any of a set of conditions that represent an invalid booking
Startand/orEnddate evaluate to trueWhen this group is visible (if the user-selected start and end values are not valid), then the
Bookbutton is disabledGroup Invalid Datesis visible under these conditions:Either the start or end value is empty
The start value is greater than the end value
The start value is the same as the end value
The range (start value < - range -> end value) overlaps with the range of any of the
Blocked Datesfor that listing
RepeatingGroup Reviews
Displays every
Reviewcreated for that page’s listing
Last updated
Was this helpful?