docs
/
Courses — Appmint

Appmint Rentals: Bookings, Availability and Returns

Watch on YouTube ↗

Video chapters
  1. 0:00 Welcome
  2. 0:20 How rentals work
  3. 0:47 1 · Rental terms and the item: explained
  4. 1:03 1 · Rental terms and the item — configuration, item, live site
  5. 2:50 2 · The customer books and pays: explained
  6. 3:03 2 · The customer books and pays — dates, agreement, Stripe test payment, email
  7. 3:59 3 · The booking in Studio: explained
  8. 4:11 3 · The booking in Studio — paid, deposit held, agreement, confirm
  9. 4:37 4 · Handover and return: explained
  10. 4:52 4 · Handover and return — check-out and check-in with condition
  11. 5:24 5 · Damage, late return and cancellation: explained
  12. 5:39 5 · Damage, late return and cancellation — deduction, late fee, refunded cancellation
  13. 6:37 6 · Giving the deposit back: explained
  14. 6:51 6 · Giving the deposit back — card refund of the deposit, complete
  15. 7:19 Wrap-up

Written guide

Overview

Configure an Appmint rental offering, then follow its availability, booking, handover and return. The item, policy, payment and condition records each prove a different part of the outcome.

01. Create shared rental policy

Why this matters

Configuration supplies defaults; an item can override them. Defaults should be deliberate before creating multiple rental items.

Follow these steps

Open Storefront → Rental → Configuration → Add Configuration. Enter Name, Title, Description and Status; leave Set as Default off until reviewed. Set Currency and Tax Rate. Configure Deposit Required, Refundable, Deposit Type and Amount. Configure late-fee rate, unit, cap, grace period/unit and additional fees. Set cancellation allowance, free-cancellation hours, fee/type, refund policy and policy text. Save and reopen.

Save a policy you can identify again

  1. Open Storefront → Rental → Configuration → Add Configuration. Give the policy a unique Name and readable Title. The illustrated record uses course-exhibition-policy / Cedar Exhibition Policy.
  2. Keep Status → Inactive and Set as Default off while preparing it. Enter the intended Currency and Tax Rate (%); the training image uses USD and0, not a recommendation for your business's tax treatment.
  3. Expand Default Deposit Settings, Default Late Fee Settings and Default Additional Fees one at a time. Decide whether the deposit is required, its amount/type and whether it is refundable. Configure only the fees you intend to apply.
  4. Review cancellation/availability rules before Save. Refresh the configuration list, search the same name, reopen and check the policy values. Saving configuration does not collect or refund a deposit.

Saved inactive rental configuration

Historical Appmint rental editor capture, not a fresh booking or payment. The saved policy is inactive and is not the default. Its deposit/late-fee sections are collapsed in this frame; no charged fee is shown.

Check the result

An inactive policy may still appear in a selector; selecting it is not proof it is operationally enabled. No deposit is collected simply by saving the policy.

02. Create an item and availability

Why this matters

Quantity, price intervals and buffered availability control different parts of a rental.

Follow these steps

Open Rental Items → Add Item. Enter Name, SKU, Slug, Quantity, Description, Images and status. Select Configuration. Set hourly/daily/weekly/monthly rates and currency as applicable. Review item deposit/late/additional-fee overrides. Set availability start/end time, timezone, min/max duration and buffer time with units. Save and reopen the item.

Attach the policy and read the item back

  1. Open Rental Items → Add Item. Enter the item Name, unique SKU, Slug and physical Quantity. Quantity is the number of items available to rent, not the number of days.
  2. Select the saved policy in Configuration (labelled Config in the schema view shown below). Keep the item inactive until the offering is ready.
  3. Enter the supported price intervals and review item-specific overrides. Review availability, timezone, minimum/maximum duration and buffer units before saving.
  4. Save, refresh the item list and reopen the same SKU. Confirm that the selected policy remains a readable named choice, rather than becoming blank or [object Object].

Rental item reopened with its named policy

Historical Appmint rental editor capture, not a fresh booking or payment. Cedar Exhibition Easel / CF-EASEL-01 has Quantity2 and Cedar Exhibition Policy selected. It is inactive; the schema editor's JSON tab is selected, but the screenshot shows rendered fields, not a raw API response.

Check the result

The configuration picker must persist the policy name, not an object. Earlier capture repaired this local selector; verify the current saved record rather than relying on historical success.

03. Pickup, delivery and restrictions

Why this matters

A rental can have different outbound and return logistics.

Follow these steps

Choose Pickup Location from a saved location or manual address. Set Return Location or Same as Pickup Location. Configure Allow Pickup, lead time, same-day cutoff and instructions. For delivery set fee type, base/per-mile rate, radius, cutoff and lead time. Configure customer dropoff or return pickup and its fees/radius. Review age, KYC, license, location and membership/customer-field restrictions. Save and inspect the rendered customer choices.

Check the result

Do not claim a location rule enforces itself without testing the relevant customer. Pickup eligibility and return pickup are independent.

04. Book, hand over and receive

Why this matters

A booking outcome requires actual dates and quantity, then a saved rental record.

Follow these steps

Open the real rental customer route, choose available dates/quantity and inspect duration, rental price, deposit, fees and agreement. Complete a controlled booking and find it under Rentals. Inspect the customer, item, times and payment references. Use the offered handover and return actions in order, recording condition and the actual completion result. Test an overlapping booking against the remaining quantity.

Operator booking prerequisites

For the staff creation path, select the actual Rental item, enter Start date and End date with end after start, and enter the customer's name plus an email or phone. Current validation checks those prerequisites before submitting. The server assigns the rental number, status, price and deposit; do not manufacture them by editing a record to look completed.

When a creation form records an already held deposit or paid amount, those entries become depositTaken/paymentTaken in the request. They are financial declarations, not harmless switches needed to save. Enter them only when a corresponding collection actually occurred. Verify the saved booking, receipt/payment reference and dates before handover. Availability overlap and return/refund behavior still require their own controlled execution.

Check the result

Earlier evidence only saved an inactive item and policy. The booking/fulfilment operations still require current live proof; do not insert a fabricated confirmation screen.

05. Late, damaged and cancelled rentals

Why this matters

A fee setting is not evidence that the fee was charged. A refundable flag does not establish an implemented gateway refund.

Follow these steps

Inspect grace and late rules on the saved booking, then use the actual offered late/damage/cancellation operation for a controlled record. Compare its calculated amount, payment record and customer result. Review Notifications, template/channel/timing and Rental Agreement separately, testing delivery and acceptance. For a mixed cart compare product shipping and rental logistics independently.

Check the result

Retained source research identified a gateway deposit-refund gap. Keep the refund limitation explicit until the actual provider path is verified. Do not equate a status change with deposit release.

06. Create the offer

Why this matters

A discount’s name identifies the record; its coupon code is what the buyer enters. An empty code can represent automatic application.

Follow these steps

Open Storefront → Discounts and create the record. Enter name and optional code, select Draft while preparing it, then the offered discount type and value. Inspect percentage cap and, for buy/get offers, Buy quantity, Get quantity and percentage off. Set priority and whether the discount can combine with others. Save and reopen.

Check the result

Do not call every percentage field a price. A 100% get-item discount affects the configured get quantity, not necessarily the entire cart.

07. Set scope and conditions

Why this matters

The condition determines who and what qualifies, while the amount determines the benefit.

Follow these steps

Choose scope: cart, products, categories, rentals, rental fees or the offered supported alternative. Select included and excluded products/categories and customer groups/customers. For rental fees choose the actual fee names. Set minimum cart value, minimum items, first-time customer, required products, maximum total uses and per-customer uses. Set the intended active dates and status.

Check the result

A first-time or group restriction needs authenticated customer evidence. Empty inclusions and explicit exclusions have different effects; review both before activation.

08. Apply, remove and compare

Why this matters

The real basket is the test of the rule.

Follow these steps

Activate the discount and open the customer cart with the intended items. Enter the code, apply it and inspect line/total changes. Remove it and confirm the original calculation returns. Repeat below a threshold, with an excluded item and with the wrong customer group. Read the actual rejection rather than predicting a generic error.

Check the result

Reload or recalculate after configuration changes. Do not alter a second rule while trying to identify the first failure.

09. Reconcile the final rental outcome

Why this matters

The connected result must be checked at both sides of this handoff. Keep the original record reference visible while moving to the destination.

Follow these steps

Use the same rental reference from the customer booking through handover and return. Compare dates, quantity, deposit, fees and agreement with the saved policy/item. At return inspect condition, actual late/damage calculation and the payment/refund reference where supported. Reopen item availability after completion and compare an overlapping booking.

Check the result

Do not release a deposit by merely changing a status. The known deposit-refund provider gap stays visible. A saved inactive policy/item is setup evidence, not a completed rental business workflow.

Limitations and checks

Customer booking, payment, handover and deposit refund need live provider/consumer validation. Do not invent unsupported action buttons to fill the gap.

Next steps

Return to the saved records and check the handoff that matters for your use of the platform. A visible result at each end makes the workflow explainable and gives you a precise place to investigate when it fails.

Appmint Rentals: availability, booking and return — supporting guide

Overview

Configure rental policies and items, then follow dates, fulfilment and return conditions without confusing a saved policy with an exercised deposit or booking.

Before you start

A configuration holds shared policy; an item is the thing available for hire; a rental booking records one customer's dates, quantity and money. Save and reopen each separately. The historical example uses course-exhibition-policy and Cedar Exhibition Easel, SKU CF-EASEL-01, quantity2, both inactive. It is setup evidence, not a completed booking or deposit refund.

01. Create shared rental policy

Why this matters

Configuration supplies defaults; an item can override them. Defaults should be deliberate before creating multiple rental items.

Follow these steps

Open Storefront → Rental → Configuration → Add Configuration. Enter Name, Title, Description and Status; leave Set as Default off until reviewed. Set Currency and Tax Rate. Configure Deposit Required, Refundable, Deposit Type and Amount. Configure late-fee rate, unit, cap, grace period/unit and additional fees. Set cancellation allowance, free-cancellation hours, fee/type, refund policy and policy text. Save and reopen.

Check the result

An inactive policy may still appear in a selector; selecting it is not proof it is operationally enabled. No deposit is collected simply by saving the policy.

Save the policy before attaching it to an item

  1. Choose Configuration → Add Configuration. Enter Name course-exhibition-policy and Title Cedar Exhibition Policy.
  2. Select Inactive and leave Set as Default off while preparing an isolated example. Review Default Pricing → Currency and Tax Rate (%) for your actual policy.
  3. Expand Default Deposit Settings. Decide Deposit Required and Refundable separately, then choose Deposit Type and Amount. Refundable is a policy flag, not proof that a gateway refund is implemented.

Rental configuration deposit controls showing required and refundable as separate switches

Historical unsaved policy controls. Deposit Required is off while Refundable is on; no money has been collected.

  1. Review late fees, cancellation and availability sections before saving. Choose Save, reload Configurations and reopen the policy by its name.

Reopened inactive Cedar Exhibition Policy with default switch off

This saved readback proves policy identity and inactive/non-default state. It does not prove any item is bookable.

02. Create an item and availability

Why this matters

Quantity, price intervals and buffered availability control different parts of a rental.

Follow these steps

Open Rental Items → Add Item. Enter Name, SKU, Slug, Quantity, Description, Images and status. Select Configuration. Set hourly/daily/weekly/monthly rates and currency as applicable. Review item deposit/late/additional-fee overrides. Set availability start/end time, timezone, min/max duration and buffer time with units. Save and reopen the item.

Check the result

The configuration picker must persist the policy name, not an object. Earlier capture repaired this local selector; verify the current saved record rather than relying on historical success.

Attach the policy and verify the saved item

  1. Open Rental Items → Add Item. Enter Cedar Exhibition Easel, SKU CF-EASEL-01, slug cedar-exhibition-easel, quantity2 and the intended status.
  2. Select Cedar Exhibition Policy in Configuration/Config. Set the applicable rates, then save.
  3. Reload Rental Items and reopen the same SKU. Confirm quantity and selected policy together. The screenshot uses the alternate schema form; beginners can stay in the normal Modern form.

Saved rental item with quantity2 and Cedar Exhibition Policy selected

Historical readback after the policy-selector repair. The item is Inactive; this does not demonstrate availability or customer booking.

  1. Review availability days, start/end times and timezone explicitly. A default shown as an example is not necessarily a saved selection. Set buffer/minimum/maximum duration with their units and test the intended start/end boundary later.

03. Pickup, delivery and restrictions

Why this matters

A rental can have different outbound and return logistics.

Follow these steps

Choose Pickup Location from a saved location or manual address. Set Return Location or Same as Pickup Location. Configure Allow Pickup, lead time, same-day cutoff and instructions. For delivery set fee type, base/per-mile rate, radius, cutoff and lead time. Configure customer dropoff or return pickup and its fees/radius. Review age, KYC, license, location and membership/customer-field restrictions. Save and inspect the rendered customer choices.

Check the result

Do not claim a location rule enforces itself without testing the relevant customer. Pickup eligibility and return pickup are independent.

04. Book, hand over and receive

Why this matters

A booking outcome requires actual dates and quantity, then a saved rental record.

Follow these steps

Open the real rental customer route, choose available dates/quantity and inspect duration, rental price, deposit, fees and agreement. Complete a controlled booking and find it under Rentals. Inspect the customer, item, times and payment references. Use the offered handover and return actions in order, recording condition and the actual completion result. Test an overlapping booking against the remaining quantity.

Check the result

Earlier evidence only saved an inactive item and policy. The booking/fulfilment operations still require current live proof; do not insert a fabricated confirmation screen.

Current staff-booking validation: the source requires a selected rental item, start/end dates with end after start, a customer name, and email or phone. The create request sends SKU, quantity, customer, dates and selected fulfilment/return choices; the server establishes the booking number, price and deposit. A deposit marked held or a recorded paid amount is included as a monetary input, so do not mark either as collected merely to finish the form. This documented path still needs a fresh Appmint customer/staff booking demonstration.

05. Late, damaged and cancelled rentals

Why this matters

A fee setting is not evidence that the fee was charged. A refundable flag does not establish an implemented gateway refund.

Follow these steps

Inspect grace and late rules on the saved booking, then use the actual offered late/damage/cancellation operation for a controlled record. Compare its calculated amount, payment record and customer result. Review Notifications, template/channel/timing and Rental Agreement separately, testing delivery and acceptance. For a mixed cart compare product shipping and rental logistics independently.

Check the result

Retained source research identified a gateway deposit-refund gap. Keep the refund limitation explicit until the actual provider path is verified. Do not equate a status change with deposit release.

Detailed instructions

The following retained material documents earlier local work. Its pending checks remain pending; historical successful outcomes are not claims of a fresh execution. Use the source-authored instructions above to prepare the new recording, and preserve these references for comparison.

T09: Offer a rental instead of a permanent sale

Worked example

Now open Rental Items and Add Item. Enter Cedar Exhibition Easel, S K U C F dash EASEL dash zero one, and the slug cedar-exhibition-easel. Quantity is two. Daily Rate is ten dollars, Currency U S D and Status Inactive. Choose Cedar Exhibition Policy in Configuration; the picker resolves the saved policy name. Save Item, then reload the app and reopen the row using its eye action. Check quantity two, the ten-dollar daily rate, Inactive and the same policy. That proves the saved rental setup. It does not prove that particular dates are available, that a customer has paid a deposit or that either easel has been picked up. A rental sells a period of use, so a booking must still establish dates, quantity and availability before delivery or return can be taught as completed.

Included controls: Dashboard, Rental Items, Rentals, Configuration, item/config save, hour/day/week/month, dates/quantity, availability, tax, rental price versus deposit, pickup/delivery, return/dropoff, mixed cart.

Limitations and checks: Actual rental config/item→available dates/quantity quote→reservation/order→pickup/delivery→return/dropoff; hours/days/weeks/months differences, tax, rental-only/mixed cart and unavailable-period validation. Mask unverified exact amounts.

Check the result: Same item/period/quantity availability and rental/deposit totals persisted through real booking.

Implementation reference: rental-config-form.tsx, rental-item-form.tsx, rental-fulfillment.tsx.

New actual evidence: SF26-subscription-rental-local.webm, LEDGER.md.

T10: Handle rental policies and deposit boundaries

Worked example

Before listing the exhibition easel, create the policy it will refer to. Open Rental, Configuration and Add Configuration. Name it course-exhibition-policy and title it Cedar Exhibition Policy. Keep Set as Default off and change Status to Inactive so this exercise does not replace the shop’s default policy. Currency remains U S D. Open Notifications and check that no notifications are configured. The deposit, late-fee, cancellation, availability and agreement sections describe different rules; we have not exercised those charges or customer agreements yet. Save Configuration, then use the list’s eye action to reopen it. The persisted policy is Inactive. We can now link our practice item to this policy, while keeping an actual rental, deposit and return as separate lifecycle tests.

Included controls: Default Pricing, Deposit, Late Fee, Additional Fees, Cancellation, Availability, Notifications, Agreement, refundability, grace/cap, damage deductions, history, deposit refund limitation.

Limitations and checks: Check rental configuration, late fees, grace periods, cancellations, availability, notifications, agreements and fulfilment history. Gateway refunds remain unverified; confirm the provider transaction before treating money as returned.

Check the result: Each policy applies actual supported amount/state; depositrefund source gap never hidden.

Implementation reference: rental-config-form.tsx, rental.service.ts.

New actual evidence: SF26-subscription-rental-local.webm, LEDGER.md.

Limitations and checks

Current UI entry and editor: . Corresponding SDK storefront schemas and the retained AppEngine references define fields and consumer boundaries. Provider calls, external delivery, payments and financial mutations were not performed for this writing task.

Next steps

You can now follow the module from its configuration to the record that proves the result. Use the relevant chapter to revisit an alternative or troubleshoot the exact failed handoff.

BusinessMade Rental — supporting guide

Overview

Configure rental policies and items, then follow dates, fulfilment and return conditions without confusing a saved policy with an exercised deposit or booking.

BusinessMade entry and scope

Open Storefront → Rental at /storefront/rental in BusinessMade. This route mounts the shared Rental module; the surrounding menus are BusinessMade’s. Use Operations → Contacts for customer details, Operations → Customers & Benefits for group eligibility, Admin → Business locations for branches, and Operations → POS / Order entry for counter sales. Keep the organization and record identity consistent across those screens.

The location selector governs the venue-specific POS, but does not establish that every shared Storefront module filters its data by that selection. Inspect the record’s own location and currency. Payments are under Storefront → Payments, while delivery rules and shipments are under Storefront → Shipping; creating this module’s record is not payment or shipping-provider configuration.

01. Create shared rental policy

Why this matters

Configuration supplies defaults; an item can override them. Defaults should be deliberate before creating multiple rental items.

Follow these steps

Open Storefront → Rental → Configuration → Add Configuration. Enter Name, Title, Description and Status; leave Set as Default off until reviewed. Set Currency and Tax Rate. Configure Deposit Required, Refundable, Deposit Type and Amount. Configure late-fee rate, unit, cap, grace period/unit and additional fees. Set cancellation allowance, free-cancellation hours, fee/type, refund policy and policy text. Save and reopen.

Save a policy you can identify again

  1. Open Storefront → Rental → Configuration → Add Configuration. Give the policy a unique Name and readable Title. The illustrated record uses course-exhibition-policy / Cedar Exhibition Policy.
  2. Keep Status → Inactive and Set as Default off while preparing it. Enter the intended Currency and Tax Rate (%); the training image uses USD and0, not a recommendation for your business's tax treatment.
  3. Expand Default Deposit Settings, Default Late Fee Settings and Default Additional Fees one at a time. Decide whether the deposit is required, its amount/type and whether it is refundable. Configure only the fees you intend to apply.
  4. Review cancellation/availability rules before Save. Refresh the configuration list, search the same name, reopen and check the policy values. Saving configuration does not collect or refund a deposit.

Saved inactive rental configuration

Historical shared rental editor captured in Appmint Studio; BusinessMade uses this component but this is not a BusinessMade live walkthrough. The saved policy is inactive and is not the default. Its deposit/late-fee sections are collapsed in this frame; no charged fee is shown.

Check the result

An inactive policy may still appear in a selector; selecting it is not proof it is operationally enabled. No deposit is collected simply by saving the policy.

02. Create an item and availability

Why this matters

Quantity, price intervals and buffered availability control different parts of a rental.

Follow these steps

Open Rental Items → Add Item. Enter Name, SKU, Slug, Quantity, Description, Images and status. Select Configuration. Set hourly/daily/weekly/monthly rates and currency as applicable. Review item deposit/late/additional-fee overrides. Set availability start/end time, timezone, min/max duration and buffer time with units. Save and reopen the item.

Attach the policy and read the item back

  1. Open Rental Items → Add Item. Enter the item Name, unique SKU, Slug and physical Quantity. Quantity is the number of items available to rent, not the number of days.
  2. Select the saved policy in Configuration (labelled Config in the schema view shown below). Keep the item inactive until the offering is ready.
  3. Enter the supported price intervals and review item-specific overrides. Review availability, timezone, minimum/maximum duration and buffer units before saving.
  4. Save, refresh the item list and reopen the same SKU. Confirm that the selected policy remains a readable named choice, rather than becoming blank or [object Object].

Rental item reopened with its named policy

Historical shared rental editor captured in Appmint Studio; BusinessMade uses this component but this is not a BusinessMade live walkthrough. Cedar Exhibition Easel / CF-EASEL-01 has Quantity2 and Cedar Exhibition Policy selected. It is inactive; the schema editor's JSON tab is selected, but the screenshot shows rendered fields, not a raw API response.

Check the result

The configuration picker must persist the policy name, not an object. Earlier capture repaired this local selector; verify the current saved record rather than relying on historical success.

03. Pickup, delivery and restrictions

Why this matters

A rental can have different outbound and return logistics.

Follow these steps

Choose Pickup Location from a saved location or manual address. Set Return Location or Same as Pickup Location. Configure Allow Pickup, lead time, same-day cutoff and instructions. For delivery set fee type, base/per-mile rate, radius, cutoff and lead time. Configure customer dropoff or return pickup and its fees/radius. Review age, KYC, license, location and membership/customer-field restrictions. Save and inspect the rendered customer choices.

Check the result

Do not claim a location rule enforces itself without testing the relevant customer. Pickup eligibility and return pickup are independent.

04. Book, hand over and receive

Why this matters

A booking outcome requires actual dates and quantity, then a saved rental record.

Follow these steps

Open the real rental customer route, choose available dates/quantity and inspect duration, rental price, deposit, fees and agreement. Complete a controlled booking and find it under Rentals. Inspect the customer, item, times and payment references. Use the offered handover and return actions in order, recording condition and the actual completion result. Test an overlapping booking against the remaining quantity.

Operator booking prerequisites

For the staff creation path, select the actual Rental item, enter Start date and End date with end after start, and enter the customer's name plus an email or phone. Current validation checks those prerequisites before submitting. The server assigns the rental number, status, price and deposit; do not manufacture them by editing a record to look completed.

When a creation form records an already held deposit or paid amount, those entries become depositTaken/paymentTaken in the request. They are financial declarations, not harmless switches needed to save. Enter them only when a corresponding collection actually occurred. Verify the saved booking, receipt/payment reference and dates before handover. Availability overlap and return/refund behavior still require their own controlled execution.

Check the result

Earlier evidence only saved an inactive item and policy. The booking/fulfilment operations still require current live proof; do not insert a fabricated confirmation screen.

05. Late, damaged and cancelled rentals

Why this matters

A fee setting is not evidence that the fee was charged. A refundable flag does not establish an implemented gateway refund.

Follow these steps

Inspect grace and late rules on the saved booking, then use the actual offered late/damage/cancellation operation for a controlled record. Compare its calculated amount, payment record and customer result. Review Notifications, template/channel/timing and Rental Agreement separately, testing delivery and acceptance. For a mixed cart compare product shipping and rental logistics independently.

Check the result

Retained source research identified a gateway deposit-refund gap. Keep the refund limitation explicit until the actual provider path is verified. Do not equate a status change with deposit release.

BusinessMade operational handoff — Assign pickup and return locations deliberately

Why this matters

Rental connects to the saved customer, product or transaction. Follow that identity through the BusinessMade operation rather than creating a second record to illustrate a result.

Follow these steps

Prepare the rental policy before its item: duration rates, deposit, late fees, grace period, availability timezone/buffer and cancellation rules. In the rental item select the actual pickup and return business locations and save. Inspect those locations under Admin → Business locations so staff can identify the correct branch. Prepare the booking for the intended customer, dates and quantity; inspect availability, quote and deposit separately. Match the pickup and return records with the same item/booking and record its condition. Reconcile any refund with the actual payment reference rather than treating a return status as refunded money.

Recovery and implementation boundary

Current evidence does not establish every rental booking, handover and deposit-refund consumer path. Keep those runtime/implementation gaps explicit; do not route rental fulfilment through POS merely because a product exists there.

Limitations and checks

Substantive pending work: Current evidence does not establish every rental booking, handover and deposit-refund consumer path. Keep those runtime/implementation gaps explicit; do not route rental fulfilment through POS merely because a product exists there. Runtime evidence for the taught handoff remains separate from authored coverage. Do not mark the course production-ready until the intended branch’s saved result, failure recovery and customer/provider outcome have been checked.

Next steps

You can return directly to the chapter for the change you need. Keep the saved record and its operational result together: the same customer, product, location and transaction should remain identifiable through each handoff.