RentBaseDocs

RentBase — Complete Documentation for Merchants and Developers

Version: 1.0 Last updated: March 2026 Support contact: rentbasesupport@gmail.com


Table of Contents

  1. Introduction
  2. Installation & Quick Setup
  3. Plans and Subscription
  4. Global Settings
  5. Product Management
  6. Calendar Widget (Storefront)
  7. Draft Orders & Checkout
  8. Discount System
  9. Bookings
  10. Email Notifications (Pro)
  11. Digital Contracts & Documents (Pro)
  12. Availability System (Technical Deep Dive)
  13. Support Ticket Management
  14. Supported Languages
  15. FAQ & Troubleshooting

1. Introduction

What is RentBase

RentBase is a Shopify app designed to transform any online store into a rental platform. It allows merchants to rent products by the day or by hourly time slots, manage inventory availability, apply automatic discounts, and monitor bookings from a dedicated dashboard.

Who is it for

Architecture

RentBase is made up of three parts:

ComponentWhere it livesWhat it does
Admin AppShopify admin panel (embedded)Configuration, booking management, settings
Storefront WidgetStore theme (Theme App Extension)Date calendar, time selection, customer-side booking

The app is fully embedded in Shopify: it does not open external windows and integrates natively into the admin panel.


2. Installation & Quick Setup

2.1 Installation

  1. Search for RentBase in the Shopify App Store
  2. Click Install
  3. Authorize the required permissions
  4. The app opens automatically on the Quick Start page

2.2 Quick Start Checklist

The first time you open RentBase, you'll see an automatic checklist with 3 steps. The app automatically detects the status of each step.

Step 1: Enable Products

Note: Enabling a product does not change it visually in the store until the Calendar Widget is active in the theme.

Step 2: Activate the Calendar in the Theme

Open the Shopify Theme Editor and add the RentBase Calendar block to the product page. This is the widget your customers will use to select rental dates.

  1. Go to Online Store → Customize (Theme Editor)
  2. Open any product
  3. In the product section, click Add block
  4. Search for RentBase Calendar under "Apps"
  5. Position it where you prefer (recommended: below the price, above the Add to Cart button)
  6. Save the theme

Step 3: Configure Global Settings

Go back to Quick Start: all checkmarks should be green. Visit your store and open an enabled product to verify that the calendar is visible.


3. Plans and Subscription

3.1 Plan Comparison

FeatureFreePro ($49/month)
Unlimited Products
Calendar Widget
Draft Order checkout flow
Duration Discounts
Seasonal Discounts
Global Blocked Dates
Inventory/Fleet Management
Smart Asset Manager (License Plates & Serials)
Per-Product/Variant Configuration
Manual Booking (Admin)
Booking Dashboard (Agenda, Timeline, Registry)
Confirmed Bookings / Month10Unlimited
Email Notifications (confirmation, reminder, feedback)
Calendar Sync (iCal/Google/Apple/Outlook)
Customizable Digital Contract (document + signature + custom fields)
Custom Fields (pre-checkout customer form)

3.2 Booking Limit (Free Plan)

The Free plan allows 10 confirmed bookings per month. The count includes:

PENDING bookings (not yet paid) do not count towards the limit.

3.3 Upgrade to Pro

  1. Go to Settings → click Upgrade to Pro
  2. The Shopify payment screen opens
  3. Confirm the subscription
  4. Pro features activate immediately

3.4 Downgrade / Cancellation

If you cancel the Pro plan:

  1. 24-hour grace period — you can reactivate without losing anything
  2. After 24 hours, the downgrade is complete: - The iCal calendar feed is deactivated (token removed) - Email notifications are disabled globally - Existing bookings remain intact - All discounts and product configurations remain unchanged

4. Global Settings

Global settings are the default values for all products. They can be overridden at the individual product or variant level (see Section 5).

The Settings page is organized in sections:

4.1 General Settings

FieldDescriptionDefault
Shop TimezoneStore timezone. Used for all date calculations.UTC
Pending DurationMinutes a pending booking stays valid before its checkout expires.15 min
Default InventoryNumber of available units per variant (for fleet management).1

Timezone: Select the actual timezone of your store. If you're in Italy, use Europe/Rome. This ensures that dates in the calendar match your local time.

4.2 Time Settings

FieldDescriptionDefault
Enable Time SelectionIf active, customers also select pickup/return time (not just the day).Disabled
Time FormatTime format: 24h (14:00) or 12h (2:00 PM).24h
Buffer HoursPreparation hours required between the end of one rental and the start of the next (0-168).0
Include Return DayIf active, the return day is counted as a rental day for pricing purposes.Disabled

Buffer Hours example: If you set 4 buffer hours and a customer returns at 6:00 PM, the next customer can pick up from 10:00 PM onwards. With daily rentals (no times), the buffer blocks the entire next day if necessary.

4.3 Rental Period

FieldDescriptionDefault
Minimum Rental DaysMinimum rental duration in days.1
Maximum Rental DaysMaximum rental duration in days.30
Advance Booking DaysMinimum days in advance to book (0 = same day).0

4.4 Availability

FieldDescriptionDefault
Available DaysDays of the week when rental is active. Deselect closure days.All days
Pickup TimesAvailable pickup times (only if Time Selection is active).09:00 – 18:00
Return TimesAvailable return times (only if Time Selection is active).09:00 – 18:00

Times can be added individually (slot list) or as a range with 30-minute steps.

4.5 Requirements

FieldDescriptionDefault
Minimum AgeMinimum age required for rental. Shows confirmation checkbox in the widget.None
Requires LicenseIf active, the customer must confirm they have a valid license.Disabled
Requires DepositIf active, shows deposit information.Disabled
Deposit AmountSecurity deposit amount.0
Deposit TypeInfo Only (informational only) or Add to Cart (adds the deposit as a separate line in the Draft Order).Info Only
Deposit ProductShopify product used as deposit. The app can create one automatically.

"Add to Cart" Deposit: When the type is "Add to Cart", the app creates a special Shopify product (tagged rentbase-deposit). When the customer books, the deposit is included as a separate line inside the Shopify Draft Order together with the rental.

When the deposit type is "Add to Cart", the widget displays a mandatory consent checkbox that the customer must accept before proceeding. This ensures compliance with Shopify policy 5.6.5 regarding transparency of additional charges.

Security Deposit Refund

When the deposit type is "Add to Cart" (line item), the merchant can refund the deposit directly from the Bookings dashboard:

  1. From the bookings table: In the "Actions" column, next to the "View Order" button, a "Refund Deposit" button (↩ icon) appears for all bookings with a deposit > 0 that hasn't been refunded yet.
  2. Confirmation: Clicking the button displays a confirmation prompt with "Confirm" and "Cancel" buttons.
  3. Processing: The refund is processed through the Shopify Admin API (suggestedRefund + refundCreate). The customer automatically receives a refund notification email.
  4. Status: Once refunded, the "Deposit Cost" column shows a green "Refunded" badge next to the amount. The refund button disappears.
  5. Order modal: In the order detail modal, refunded deposits are indicated with a green banner. For deposits not yet refunded, the same refund flow with confirmation is available.

Note: Refunds are irreversible. Once confirmed, the deposit amount is returned to the customer's original payment method.

4.6 Pickup and Return Locations

FieldDescriptionDefault
Pickup LocationAddress/directions for the pickup point.Empty
Return LocationAddress/directions for the return point. Leave empty if same as pickup.Empty

4.7 Global Blocked Dates

Dedicated section for blocking dates globally across all products. Ideal for:

Each blocked date has:

Global blocked dates are combined (union) with any blocked dates configured at the product/variant level. It is possible to exclude specific global blocked dates at the product/variant level.

4.8 Duration Discounts

See Section 8 — Discount System for detailed configuration.

4.9 Seasonal Discounts

See Section 8 — Discount System for detailed configuration.

4.10 Calendar Integration (Pro Only)

Generates an iCal subscription link to sync all confirmed bookings with:

The link is in webcal:// format and updates automatically. It is a read-only feed.

To generate the link:

  1. In Settings, open the calendar section
  2. Click Generate Calendar Link
  3. Copy the link and paste it in your calendar app

To revoke access:


5. Product Management

5.1 Enabling Products for Rental

  1. Go to the Products page in the sidebar navigation
  2. Click Add Products
  3. Select products from the Shopify catalog
  4. Confirm

Enabled products show:

5.2 Per-Product Configuration

Click on a product to open its configuration. You can customize all values from the Global Settings section:

Any field not set at the product level inherits the global value.

5.3 Per-Variant Configuration

If a product has multiple variants (e.g., size S, M, L), each variant can have independent configuration:

5.4 Inheritance Model

RentBase uses a three-level system. For each setting, the value is resolved as follows:

┌──────────────────────────────────┐
│  VARIANT (highest priority)      │  ← If set, wins
├──────────────────────────────────┤
│  PRODUCT                         │  ← If the variant has no value
├──────────────────────────────────┤
│  GLOBAL (lowest priority)        │  ← If the product has no value either
└──────────────────────────────────┘

Practical example:

5.5 Blocked Dates — Union Model with Exclusions

Blocked dates work cumulatively (union):

This means that a date blocked at the global level blocks all products. As an exception:

Example:

5.6 Metafield Storage

Product/variant configurations are saved in Shopify metafields:

Namespace: rentbase
Key: config
Type: JSON

This means that:

5.7 Rental Assets

RentBase allows you to track individual physical assets for each product variant. Assets are useful when you need to know exactly which unit was rented to which customer.

What is a Rental Asset

A Rental Asset represents a single, identifiable physical item. For example, if you have 5 electric bicycles, each one can be an asset with its own name and serial number:

Asset NameSerial NumberStatus
E-Bike #1SN-001Available
E-Bike #2SN-002Rented
E-Bike #3SN-003Maintenance

Managing Assets

From the Products page, go to the Assets tab:

Asset Statuses

StatusMeaning
availableReady to be rented
rentedCurrently assigned to a booking
maintenanceUnder maintenance, not available for rental

Asset Assignment in Bookings

When viewing a booking in the Bookings page:

Inventory vs. Asset Count Warning

The Assets tab shows warnings when the inventory quantity doesn't match the number of assets:

Assets are stored as Shopify Metaobjects (rentbase_asset) and are linked to variants via the variant ID.


6. Calendar Widget (Storefront)

6.1 How It Works for the Customer

When a customer visits the page of a rental-enabled product:

  1. The original "Add to Cart" button of the theme is automatically hidden
  2. In its place, the RentBase Widget appears with: - Interactive calendar to select pickup date and return date - If enabled, pickup time and return time selectors - Quantity selector (for products with inventory > 1) - Price summary with any applied discounts - Requirement checkboxes (minimum age, license) if configured - Security deposit indication if configured - Pickup/return locations if configured - "Book Now" button to create the booking and open Shopify checkout

6.2 Calendar Behaviors

The calendar checks availability in real time by querying the API on each selection change.

6.3 What Happens When the Customer Clicks "Book Now"

When the customer clicks "Book Now", RentBase:

  1. creates a PENDING booking
  2. prepares checkout line items on the server
  3. creates a Shopify Draft Order (or defers draft creation if pre-checkout requirements must be completed first)
  4. redirects the customer to the Draft Order checkout/invoice URL

The main rental line inside the Draft Order includes metadata such as:

PropertyDescription
_bookingIdUnique booking identifier
_rental_days / _rental_hoursRental duration
Pickup Time / Return TimePickup and return times, if enabled
_rental_discount_percentApplied discount percentage
_rental_discount_amountTotal discount amount
_rental_original_totalOriginal total before discounts
TotalFinal rental total
_variantId / _productIdInternal variant/product references

If the deposit is configured as Add to Cart, a separate deposit line is also included in the Draft Order and linked back to the booking.

These attributes become line_item.properties on the final Shopify order and are used by RentBase for tracking, diagnostics, and checkout reconciliation.

6.4 Theme Editor Customization

In the Shopify Theme Editor you can customize the calendar block:

6.5 Non-Enabled Products

If a product does not have rental active:

6.6 Multi-Variant

If the product has multiple variants:


7. Draft Orders & Checkout

7.1 Overview

RentBase no longer relies on Cart Guardian as the main checkout protection layer. Instead, the booking flow uses server-generated Shopify Draft Orders, so pricing, duration, deposit, and discounts are assembled in a controlled way before payment.

7.2 What the Draft Order contains

A Draft Order can include:

This approach avoids depending on a standard storefront cart to compose the booking.

7.3 Immediate vs deferred draft creation

Depending on the checkout/documents configuration:

7.4 Booking-side tracking

Each booking can store:

This makes support, audits, and reconciliation between RentBase bookings, Draft Orders, and final Shopify orders much easier.


8. Discount System

8.1 Duration Discounts

Applies progressive discounts based on rental duration.

Configuration:

- Minimum days: from how many days the discount applies - Discount percentage: the percentage discount applied

Example:

Minimum DaysDiscount
710%
1420%
3030%

If the customer rents for 10 days → 10% discount. If they rent for 21 days → 20% discount (the highest applicable tier).

The discount from the highest reached tier is always applied (not cumulative between tiers).

8.2 Seasonal Discounts

Applies discounts tied to specific periods of the year.

Configuration:

In case of overlap: If two seasonal promotions overlap, the one with the highest priority is applied.

8.3 Composite Formula

When both discount types apply, the formula is composite (not additive):

Final Price = Base Price × (1 - duration_discount%) × (1 - seasonal_discount%)

Example:

8.4 Discount Inheritance


9. Bookings

9.1 Booking Lifecycle

CUSTOMER SELECTS DATES
        │
        ▼
    ┌─────────┐
    │ PENDING  │ ← Booking created, item in cart
    └────┬────┘   (expires after "Pending Duration" minutes)
         │
    [Customer completes order]
         │
         ▼
   ┌───────────┐
   │ CONFIRMED │ ← Order paid, booking confirmed
   └─────┬─────┘   (confirmation email sent if Pro)
         │
    [Rental period ended]
         │
         ▼
   ┌───────────┐
   │ COMPLETED │ ← Merchant marks as completed
   └───────────┘

    or at any time:

   ┌───────────┐
   │ CANCELLED │ ← Cancelled by merchant (soft delete)
   └───────────┘

   ┌───────────┐
   │  EXPIRED  │ ← Pending expired (auto-cleanup)
   └───────────┘

9.2 Booking Dashboard

The Bookings page offers a complete panel with:

KPI Cards (top section)

KPI with Time Filter

Agenda View

Timeline View

Registry View

- Search by customer (name or email) - Filter by status (Confirmed, Completed, Cancelled, Expired) - Filter by date (custom range) - Show expired/cancelled (toggle)

9.3 Manual Booking (Admin)

The merchant can create bookings manually from the dashboard:

  1. Click Create Booking
  2. Select product and variant
  3. Select start and end dates
  4. Enter customer name and email
  5. Option: Bypass Availability Check (ignores availability — useful for controlled overbooking or special reservations)
  6. The booking is created directly with CONFIRMED status

Useful for phone bookings, walk-ins, or special reservations.

9.4 Completion, Return, and Cancellation


10. Email Notifications (Pro)

10.1 Overview

RentBase sends automatic emails to customers at key moments of the rental. Notifications are available only with the Pro plan.

10.2 Email Types

TypeWhen it is sentPurpose
Booking ConfirmationImmediately after order paymentBooking confirmation with details
Pickup Reminder~24 hours before pickupReminds the customer of the pickup date
Return Reminder~24 hours before returnReminds the customer of the return date
Post-Rental Feedback~24 hours after rental endsFeedback/review request

10.3 Configuration

From the sidebar navigation Notifications:

  1. Master Switch: enable/disable all notifications globally
  2. Sender Name: name that appears as sender (e.g., "Your Store")
  3. Reply-To Email: email for customer replies
  4. For each email type: - Enable/Disable individually - Subject of the email - HTML Body with Liquid variables

10.4 Template Variables

In templates you can use these variables with the {{ variable }} syntax:

VariableValue
{{ booking.id }}Unique booking ID
{{ booking.customer }}Customer name
{{ booking.productName }}Rented product name
{{ booking.startDate }}Rental start date
{{ booking.endDate }}Rental end date
{{ booking.duration }}Duration in days
{{ shop.name }}Store name

10.5 Cron Job for Reminders

Reminders (Pickup, Return, Feedback) are processed by an automatic cron job that:


11. Digital Contracts & Documents (Pro)

This section covers the complete contracts and documents workflow — available only on the Pro plan. It includes customizable rental agreements, digital signatures, ID document uploads, custom requirement fields, and a pre-checkout customer information form.

11.1 What's Included

FeatureDescription
Rental Agreement TemplateMulti-language contract template with placeholders for customer data, product, dates, prices, deposit, and custom fields.
Digital SignatureCustomers draw their signature directly on the signing page.
ID Document UploadRequire customers to upload a photo of their passport, driver's license, or ID card. Supports JPG, PNG, WebP, and PDF (max 10 MB).
Custom Requirement FieldsAdd unlimited custom fields (text, textarea, checkbox, select, file upload) to the contract/signing step.
Pre-Checkout Customer FormCollect customer information (name, email, phone, address) and custom fields before checkout. All data is written to the Shopify Order as metafields.
Data RetentionConfigurable retention period for uploaded documents. Files are automatically purged after the set number of days (default: 90 days). Contract data and signatures are retained.

11.2 Collection Modes

The app supports two collection modes, configurable in Settings → Checkout & Documents:

ModeHow It Works
Post-Payment (email)After payment, the customer receives an email with a secure signing link. They complete contract review, signature, document upload, and custom fields on a standalone page.
Pre-CheckoutBefore reaching checkout, the customer is guided through a two-step App Proxy flow: (1) Customer information form, (2) Requirements/contract page with signature, documents, and custom fields. The Draft Order is created only after completion.

11.3 Contract Template

The contract template supports placeholders that auto-fill with booking and customer data:

Templates are stored as multilingual JSON objects. The contract is displayed to the customer in their language (based on the store locale), with fallback to the default language or English.

11.4 Custom Fields

Custom requirement fields are defined in Settings → Checkout & Documents. Each field has:

File-type fields accept images and PDFs (max 10 MB each). All uploaded data is encrypted at rest (AES-256-GCM).

11.5 Privacy & Compliance


12. Availability System (Technical Deep Dive)

11.1 Operating Modes

RentBase supports two availability modes:

Daily Mode (enableTime = false):

Hourly Mode (enableTime = true):

11.2 Inventory / Fleet Management

Each variant has an inventory_quantity value (default: 1):

Note: Inventory can be set to 0 at the product or variant level. The global default inventory has a minimum of 1.

Fleet example:

11.3 Buffer Hours

Buffer hours create a preparation window between consecutive rentals:

Rental A ends: March 15, 4:00 PM
Buffer Hours: 4
Next available pickup: March 15, 8:00 PM

With daily rentals (no times):
Rental A ends: March 15
Buffer Hours: 24
Next available day: March 17

The buffer applies only to availability calculations — the actual booking dates don't change.

11.4 Timezone Management

All dates are:

This ensures that "March 15" in the calendar always corresponds to March 15 in the store's timezone, regardless of the server or customer location.

11.5 Blocked Date Union

The system combines blocked dates from three sources:

  1. Configuration (global + product + variant) → static dates
  2. Bookings (when inventory is exhausted) → dynamic dates
  3. Exclusions → removes specific dates

The final result is the union of all these sources, minus the exclusions.


13. Support Ticket Management

The Support page is no longer just an FAQ area: it now includes an internal ticketing flow designed to send support requests with useful technical context already attached.

12.1 Opening a ticket

From Support, merchants can create a ticket by filling in:

If a Booking ID is provided, RentBase tries to resolve the matching booking for that shop before saving the ticket.

12.2 Diagnostics attached automatically

When a ticket is linked to a booking, RentBase also stores a compact diagnostic payload with:

This lets support start from verifiable data instead of manually reconstructing the issue from screenshots or email threads.

12.3 Ticket history inside Support

The same page also shows the store's recent support tickets, including:

This gives merchants a lightweight history view without relying on external email searches.

12.4 Important operating rule

Merchants should not include sensitive customer data in the ticket body, such as documents, signatures, payment details, or private attachments. Use Booking IDs or Request IDs instead so RentBase can safely recover the relevant diagnostics.


14. Supported Languages

RentBase supports 7 languages with automatic detection:

LanguageCodeAdminStorefront Widget
Englishen
Italianoit
Deutschde
Españoles
Françaisfr
Portuguêspt
中文zh

How it works:


15. FAQ & Troubleshooting

Setup

Q: I installed the app but the calendar doesn't appear on the store. A: You need to activate the RentBase Calendar block in the Theme Editor (Online Store → Customize). Go to a product, add the block from the "Apps" area, and save. Also verify that the product has been enabled for rental from the Products page.

Q: The Quick Start shows the calendar as "not active" even though I added it. A: Make sure you saved the theme after adding the block. If the block is disabled (crossed eye in the Theme Editor), the Quick Start detects it as not active.

Q: Can customers modify quantity or total and pay for fewer days? A: No. RentBase prepares the rental server-side and generates a Draft Order with duration, pricing, discounts, and deposit already defined. The rental is not recalculated from a standard Shopify cart.

Configuration

Q: If I change global settings, do already-configured products get updated? A: Global settings are the defaults. Products with specific configuration keep their own values. Only products without specific configuration use global values.

Q: Do I need to configure each product individually? A: No. Configure global settings once. Only products that need different values (different inventory, different times, etc.) require specific configuration.

Q: How do I block the store for Christmas holidays? A: Go to Settings → Global Blocked Dates. Add the period (e.g., December 24-31) and all products will be blocked for that period. If a specific product needs to remain available, add it to the exclusions in the product configuration.

Discounts

Q: Do duration and seasonal discounts stack? A: No, they compose (multiplicative formula). Duration discount 10% + seasonal discount 15% = 23.5% total (not 25%). This is fairer and industry standard.

Bookings

Q: A customer booked but didn't pay. Does the booking disappear? A: Yes. PENDING bookings expire after the duration configured in "Pending Duration" (default: 15 minutes). After expiry, the dates become available again.

Q: Can I create bookings manually for customers who call? A: Yes. From the Bookings page, click "Create Booking". You can also enable "Bypass Availability Check" to book dates that appear occupied.

Q: How do I see bookings for the month? A: Use the Timeline view on the Bookings page for a monthly calendar view, or the Registry view with date filters.

Plan and Billing

Q: How many bookings can I manage with the Free plan? A: 10 confirmed bookings per month. Pending bookings (unpaid) don't count.

Q: If I cancel the Pro plan, do I lose bookings? A: No. All existing bookings, product configurations, and other settings remain intact. You lose access to email notifications and iCal calendar.

Q: Is there a free trial? A: The Free plan is unlimited in time. You can use it as long as you want with the 10 bookings/month limit. The Pro plan includes a 14-day free trial. Upgrade is immediate and you can cancel at any time.

Technical

Q: Do metafields remain if I uninstall the app? A: Yes. Shopify metafields (rentbase.config) on products survive uninstallation. If you reinstall the app, product configurations will be found again. Data in the app's database (bookings, global settings) is removed upon uninstallation.

Q: Does the app work with custom themes? A: Yes. RentBase uses Theme App Extensions and App Proxy pages, so it works with Online Store 2.0 themes without depending on a standard storefront cart to build checkout.

Q: What's the difference between the calendar and the Draft Order flow? A: The Calendar is the storefront block that collects dates, times, and quantity. The Draft Order flow is the server-side step that turns that selection into a pending booking and a Shopify checkout ready for payment.

Q: How does calendar sync with Google/Apple/Outlook work? A: RentBase generates a webcal:// URL that you can paste in your calendar app. The feed is read-only and updates automatically. It is not a two-way sync: changes made in the external calendar are not reflected in RentBase.

Assets & Inventory

Q: What's the difference between inventory quantity and assets? A: The inventory_quantity determines how many units can be booked simultaneously (availability). Assets are the individual physical items you track by name and serial number. Ideally, the number of assets should match the inventory quantity.

Q: How do I temporarily disable a product without removing it? A: Set the inventory_quantity to 0 in the product or variant configuration. The calendar widget will show a "temporarily unavailable" message and no bookings can be made. When the product is available again, set the inventory back to the desired value.

Q: What happens if I set inventory to 0? A: The calendar widget displays a "temporarily unavailable" message. The date selector is hidden and customers cannot book the product. Existing bookings are not affected.

File Security & Privacy (Pro)

Q: How are uploaded documents and signatures stored? A: All files (ID documents, signatures, requirement attachments) are stored securely in your own database — never on public CDNs. Images are automatically compressed client-side before upload (max 1200px, JPEG 85% quality). All sensitive data is encrypted at rest using AES-256-GCM.

Q: Is there automatic data retention and deletion? A: Yes. You can configure a data retention period (in days) in the Checkout & Documents settings. After a rental ends and the retention period expires, documents, signatures, and uploaded files are automatically purged. The default is 90 days. Set to 0 to keep data indefinitely (not recommended for GDPR compliance).

Q: What is the maximum file upload size? A: The maximum upload size is 10MB per file. However, images are automatically compressed before upload to around 100-200KB, so in practice the limit is rarely reached. Only JPEG, PNG, WebP, and PDF files are accepted.

Q: Are uploaded files GDPR compliant? A: RentBase implements several compliance measures: AES-256-GCM encryption at rest, automatic compression to minimize stored data, automatic deletion after the configurable retention period, and storage in your private database (never on public CDNs). We recommend setting a retention period appropriate to your country's regulations.


Glossary

TermMeaning
App BlockVisual app component positionable in the Shopify theme
App EmbedGlobal app component injected into the <body> of all pages
Buffer HoursPreparation hours between the end of one rental and the start of the next
Draft OrderShopify order draft generated by RentBase before payment
Floating TimeDate/time format without timezone indicator in the iCal feed
InventoryNumber of available units for a variant (1 = single, >1 = fleet)
Line Item PropertiesAdditional metadata attached to the final Shopify order lines
MetafieldCustom data field on a Shopify product/variant
Pending DurationMaximum time a pending booking remains valid before checkout expiry
Rental AssetIndividual trackable physical item linked to a variant (stored as Shopify Metaobject)
Soft DeleteLogical deletion (the record stays in the DB with deletedAt set)
Theme App ExtensionShopify system for injecting app components into themes

Documentation generated for RentBase v1.0 — March 2026