Versión: 1.0 Última actualización: Marzo 2026 Contacto soporte: rentbasesupport@gmail.com
RentBase es una aplicación de Shopify que transforma cualquier tienda online en una plataforma de alquiler. Permite a los comerciantes alquilar productos por días u horas, gestionar la disponibilidad del inventario, aplicar descuentos automáticos y supervisar las reservas a través de un panel dedicado.
RentBase se compone de tres partes:
| Componente | Dónde reside | Qué hace |
|---|---|---|
| App Admin | Panel de administración de Shopify (embebida) | Configuración, gestión de reservas, ajustes |
| Widget Storefront | Tema de la tienda (Theme App Extension) | Calendario de fechas, selector de horas, reserva del cliente |
La app está totalmente embebida en Shopify: no abre ventanas externas y se integra de forma nativa en el panel de administración.
Al abrir RentBase por primera vez, verás una checklist automática de 3 pasos. La app detecta el estado de cada paso automáticamente.
Nota: Activar un producto no lo modifica visualmente en la tienda hasta que el widget del calendario esté activo en el tema.
Abre el Editor de Temas de Shopify y añade el bloque RentBase Calendar a la página de producto. Este es el widget que tus clientes usarán para seleccionar las fechas de alquiler.
Vuelve al Quick Start: todas las marcas deberían estar en verde. Visita tu tienda y abre un producto activado para verificar que el calendario sea visible.
| Funcionalidad | Free | Pro ($49/mes) |
|---|---|---|
| Productos ilimitados | ✅ | ✅ |
| Widget del calendario | ✅ | ✅ |
| Protección del carrito (Cart Guardian) | ✅ | ✅ |
| Descuentos por duración | ✅ | ✅ |
| Descuentos estacionales | ✅ | ✅ |
| Fechas bloqueadas globales | ✅ | ✅ |
| Gestión de inventario/flota | ✅ | ✅ |
| Smart Asset Manager (Matrículas y Números de Serie) | ✅ | ✅ |
| Configuración por producto/variante | ✅ | ✅ |
| Reserva manual (Admin) | ✅ | ✅ |
| Dashboard de reservas (Agenda, Timeline, Registro) | ✅ | ✅ |
| Reservas confirmadas / mes | 10 | Ilimitadas |
| Notificaciones por email (confirmación, recordatorio, feedback) | ❌ | ✅ |
| Sincronización de calendario (iCal/Google/Apple/Outlook) | ❌ | ✅ |
| Contrato Digital (documento + firma + campos personalizados) | ❌ | ✅ |
| Campos Personalizados (formulario pre-checkout) | ❌ | ✅ |
El plan Free permite 10 reservas confirmadas por mes. El conteo incluye:
Las reservas PENDING (aún no pagadas) no cuentan para el límite.
Si cancelas el plan Pro:
Los ajustes globales son los valores predeterminados para todos los productos. Pueden ser sobrescritos a nivel de producto o variante (ver Sección 5).
La página de configuración está dividida en secciones:
| Campo | Descripción | Predeterminado |
|---|---|---|
| Shop Timezone | Zona horaria de la tienda. Se usa para todos los cálculos de fechas. | UTC |
| Pending Duration | Minutos que una reserva permanece válida en el carrito antes de expirar. | 15 min |
| Default Inventory | Número de unidades disponibles por variante (para gestión de flotas). | 1 |
Zona horaria: Selecciona la zona horaria real de tu tienda. Si estás en España, usa
Europe/Madrid. Esto asegura que las fechas del calendario correspondan a tu hora local.
| Campo | Descripción | Predeterminado |
|---|---|---|
| Enable Time Selection | Si está activo, los clientes también seleccionan hora de recogida/devolución (no solo el día). | Desactivado |
| Time Format | Formato horario: 24h (14:00) o 12h (2:00 PM). | 24h |
| Buffer Hours | Horas de preparación entre el fin de un alquiler y el inicio del siguiente (0-168). | 0 |
| Include Return Day | Si está activo, el día de devolución cuenta como día alquilado para el cálculo del precio. | Desactivado |
Ejemplo Buffer Hours: Si configuras 4 horas de buffer y un cliente devuelve a las 18:00, el siguiente cliente puede recoger a partir de las 22:00. En alquileres por día (sin horarios), el buffer bloquea todo el día siguiente si es necesario.
| Campo | Descripción | Predeterminado |
|---|---|---|
| Minimum Rental Days | Duración mínima del alquiler en días. | 1 |
| Maximum Rental Days | Duración máxima del alquiler en días. | 30 |
| Advance Booking Days | Días mínimos de antelación para reservar (0 = mismo día). | 0 |
| Campo | Descripción | Predeterminado |
|---|---|---|
| Available Days | Días de la semana en que el alquiler está activo. Desactiva los días de cierre. | Todos los días |
| Pickup Times | Horarios de recogida disponibles (solo con selección de hora activa). | 09:00 – 18:00 |
| Return Times | Horarios de devolución disponibles (solo con selección de hora activa). | 09:00 – 18:00 |
Los horarios pueden añadirse individualmente (lista de slots) o como rango con intervalos de 30 minutos.
| Campo | Descripción | Predeterminado |
|---|---|---|
| Minimum Age | Edad mínima requerida para el alquiler. Muestra un checkbox de confirmación en el widget. | Ninguno |
| Requires License | Si está activo, el cliente debe confirmar que tiene un permiso de conducir válido. | Desactivado |
| Requires Deposit | Si está activo, se muestra información sobre el depósito. | Desactivado |
| Deposit Amount | Importe del depósito. | 0 |
| Deposit Type | Info Only (solo informativo) o Add to Cart (añade un producto de depósito al carrito). | Info Only |
| Deposit Product | Producto Shopify que se usa como depósito. La app puede crear uno automáticamente. | — |
Depósito "Add to Cart": Con este tipo, la app crea un producto Shopify especial (con tag
rentbase-deposit). Al reservar, el depósito se añade como artículo separado al carrito. El Cart Guardian impide que el cliente lo elimine independientemente del alquiler.
Cuando el tipo de depósito es "Add to Cart", el widget muestra una casilla de consentimiento obligatoria que el cliente debe aceptar antes de continuar. Esto garantiza el cumplimiento de la política de Shopify 5.6.5 sobre transparencia de cargos adicionales.
Cuando el tipo de depósito es "Add to Cart" (line item), el comerciante puede reembolsar el depósito directamente desde el panel de Bookings:
suggestedRefund + refundCreate). El cliente recibe automáticamente un email de notificación del reembolso.Nota: Los reembolsos son irreversibles. Una vez confirmado, el importe del depósito se devuelve al método de pago original del cliente.
| Campo | Descripción | Predeterminado |
|---|---|---|
| Pickup Location | Dirección/indicaciones del lugar de recogida. | Vacío |
| Return Location | Dirección/indicaciones del lugar de devolución. Dejar vacío si es el mismo que recogida. | Vacío |
Sección dedicada para bloquear fechas a nivel global para todos los productos. Ideal para:
Cada fecha bloqueada tiene:
Las fechas bloqueadas globales se combinan con las eventuales fechas configuradas a nivel de producto/variante (unión). Es posible excluir determinadas fechas bloqueadas globales a nivel de producto/variante.
Ver Sección 8 — Sistema de Descuentos para la configuración detallada.
Ver Sección 8 — Sistema de Descuentos para la configuración detallada.
Genera un enlace de suscripción iCal para sincronizar todas las reservas confirmadas con:
El enlace está en formato webcal:// y se actualiza automáticamente. Es un feed de solo lectura.
Generar enlace:
Revocar acceso:
Los productos activados muestran:
Haz clic en un producto para abrir su configuración. Puedes personalizar todos los valores de los ajustes globales:
Cada campo no configurado a nivel de producto hereda el valor global.
Si un producto tiene múltiples variantes (ej. talla S, M, L), cada variante puede configurarse de forma independiente:
RentBase utiliza un sistema de tres niveles. Para cada ajuste, el valor se resuelve así:
┌──────────────────────────────────┐
│ VARIANTE (máxima prioridad) │ ← Si está configurada, prevalece
├──────────────────────────────────┤
│ PRODUCTO │ ← Si la variante no tiene valor
├──────────────────────────────────┤
│ GLOBAL (mínima prioridad) │ ← Si tampoco el producto tiene valor
└──────────────────────────────────┘
Ejemplo práctico:
bufferHours = 4bufferHours = 2 (sobrescribe)bufferHours = 6 → usa su propio valorLas fechas bloqueadas funcionan de forma acumulativa (unión):
Una fecha bloqueada global bloquea todos los productos. Como excepción:
Ejemplo:
Las configuraciones de producto/variante se guardan en Shopify Metafields:
Namespace: rentbase
Key: config
Tipo: JSON
Esto significa:
product.metafields.rentbase.config)RentBase permite rastrear activos físicos individuales para cada variante de producto. Los assets son útiles cuando necesitas saber exactamente qué unidad fue alquilada a qué cliente.
Un Rental Asset representa un único objeto físico identificable. Por ejemplo, si tienes 5 bicicletas eléctricas, cada una puede ser un asset con su propio nombre y número de serie:
| Nombre Asset | Número de Serie | Estado |
|---|---|---|
| E-Bike #1 | SN-001 | Disponible |
| E-Bike #2 | SN-002 | Alquilada |
| E-Bike #3 | SN-003 | Mantenimiento |
Desde la página Products, ve a la pestaña Assets:
| Estado | Significado |
|---|---|
available | Listo para ser alquilado |
rented | Actualmente asignado a una reserva |
maintenance | En mantenimiento, no disponible para alquiler |
Al ver una reserva en la página Bookings:
La pestaña Assets muestra avisos cuando la cantidad de inventario no coincide con el número de assets:
Los assets se almacenan como Shopify Metaobjects (
rentbase_asset) y están vinculados a las variantes mediante el ID de variante.
Cuando un cliente visita la página de un producto habilitado para alquiler:
maxRentalDays o advanceBookingDaysavailableDaysEl calendario verifica la disponibilidad en tiempo real mediante consultas API en cada cambio de selección.
Cuando el cliente hace clic en "Book Now", se añade un artículo al carrito con los siguientes metadatos (Line Item Properties):
| Propiedad | Descripción |
|---|---|
_bookingId | Identificador único de la reserva |
_rentalDays | Número de días de alquiler |
_rentalFinalTotal | Precio final después de todos los descuentos |
_rentalStartDate | Fecha de inicio (formato ISO) |
_rentalEndDate | Fecha de fin (formato ISO) |
_rentalStartTime | Hora de recogida (si está habilitada) |
_rentalEndTime | Hora de devolución (si está habilitada) |
Estas propiedades también son visibles en el pedido de Shopify.
En el Editor de Temas de Shopify puedes personalizar el bloque del calendario:
Si un producto no tiene el alquiler activado:
Si el producto tiene múltiples variantes:
El Cart Guardian es un embed global (activo en todas las páginas) que protege la integridad de las reservas en el carrito. Sin él, el cliente podría manipular cantidades y depósitos.
| Protección | Descripción |
|---|---|
| Bloqueo de cantidad | La cantidad del artículo de alquiler equivale a los días de alquiler. El Cart Guardian oculta el selector de cantidad para evitar modificaciones. |
| Protección del depósito | Si el depósito está como artículo separado en el carrito, el cliente no puede eliminarlo individualmente. El botón "Eliminar" está oculto. |
| Eliminación inteligente | Si el cliente elimina una reserva, el depósito asociado se elimina automáticamente. |
| Compatibilidad con carritos | Funciona con carrito de página, drawer cart e implementaciones personalizadas del tema. |
El Cart Guardian reconoce propiedades del carrito en 7 idiomas (italiano, inglés, alemán, francés, español, portugués, chino) para identificar correctamente artículos de alquiler y depósito independientemente del idioma del tema.
Aplica descuentos progresivos basados en la duración del alquiler.
Configuración:
- Días mínimos: a partir de cuántos días se aplica el descuento - Porcentaje de descuento: el porcentaje aplicado
Ejemplo:
| Días mínimos | Descuento |
|---|---|
| 7 | 10% |
| 14 | 20% |
| 30 | 30% |
Si el cliente alquila 10 días → 10% de descuento. Con 21 días → 20% de descuento (el nivel más alto aplicable).
Siempre se aplica el descuento del nivel más alto alcanzado (no acumulativo entre niveles).
Aplica descuentos vinculados a períodos específicos del año.
Configuración:
En caso de superposición: Si dos promociones estacionales se superponen, se aplica la de mayor prioridad.
Cuando ambos tipos de descuento aplican, la fórmula es compuesta (no aditiva):
Precio Final = Precio Base × (1 - Descuento Duración%) × (1 - Descuento Estacional%)
Ejemplo:
EL CLIENTE SELECCIONA FECHAS
│
▼
┌─────────┐
│ PENDING │ ← Reserva creada, artículo en el carrito
└────┬────┘ (expira después de "Pending Duration" minutos)
│
[El cliente completa el pedido]
│
▼
┌───────────┐
│ CONFIRMED │ ← Pedido pagado, reserva confirmada
└─────┬─────┘ (email de confirmación enviado si es Pro)
│
[Período de alquiler terminado]
│
▼
┌───────────┐
│ COMPLETED │ ← Marcada como completada por el comerciante
└───────────┘
o en cualquier momento:
┌───────────┐
│ CANCELLED │ ← Cancelada por el comerciante (soft delete)
└───────────┘
┌───────────┐
│ EXPIRED │ ← Pending expirado (limpieza automática)
└───────────┘
La página Bookings ofrece un panel completo con:
- Buscar por cliente (nombre o email) - Filtrar por estado (Confirmed, Completed, Cancelled, Expired) - Filtrar por fecha (rango personalizado) - Mostrar expiradas/canceladas (toggle)
El comerciante puede crear reservas manualmente desde el dashboard:
Útil para reservas por teléfono, walk-ins o reservas especiales.
RentBase envía emails automáticos a los clientes en momentos clave del alquiler. Las notificaciones están disponibles solo con el plan Pro.
| Tipo | Cuándo se envía | Propósito |
|---|---|---|
| Booking Confirmation | Inmediatamente después del pago del pedido | Confirmación de la reserva con detalles |
| Pickup Reminder | ~24 horas antes de la recogida | Recuerda al cliente la fecha de recogida |
| Return Reminder | ~24 horas antes de la devolución | Recuerda al cliente la fecha de devolución |
| Post-Rental Feedback | ~24 horas después del fin del alquiler | Solicitud de feedback/valoración |
Desde la navegación lateral Notifications:
En los templates puedes usar estas variables con la sintaxis {{ variable }}:
| Variable | Valor |
|---|---|
{{ booking.id }} | ID único de la reserva |
{{ booking.customer }} | Nombre del cliente |
{{ booking.productName }} | Nombre del producto alquilado |
{{ booking.startDate }} | Fecha de inicio del alquiler |
{{ booking.endDate }} | Fecha de fin del alquiler |
{{ booking.duration }} | Duración en días |
{{ shop.name }} | Nombre de la tienda |
Los recordatorios (recogida, devolución, feedback) son procesados por un cron job automático que:
RentBase soporta dos modos de disponibilidad:
Modo Diario (enableTime = false):
reservas_activas ≥ inventarioModo Horario (enableTime = true):
Cada variante tiene un valor inventory_quantity (predeterminado: 1):
Nota: El inventario se puede establecer en 0 a nivel de producto o variante. El inventario global predeterminado tiene un mínimo de 1.
Ejemplo de flota:
inventory_quantity = 5Las horas de buffer crean una ventana de preparación entre alquileres consecutivos:
Alquiler A termina: 15 marzo, 16:00
Buffer Hours: 4
Próxima recogida disponible: 15 marzo, 20:00
En alquileres por día (sin horarios):
Alquiler A termina: 15 marzo
Buffer Hours: 24
Próximo día disponible: 17 marzo
El buffer se aplica solo a los cálculos de disponibilidad — las fechas reales de la reserva no cambian.
Todas las fechas se:
Esto asegura que "15 de marzo" en el calendario siempre corresponda al 15 de marzo en la zona horaria de la tienda, independientemente del servidor o la ubicación del cliente.
El sistema combina fechas bloqueadas de tres fuentes:
El resultado final es la unión de todas las fuentes, menos las exclusiones.
La página Support ya no es solo una zona de FAQ: ahora incluye un flujo interno de tickets para enviar solicitudes de soporte con contexto técnico útil ya adjunto.
Desde Support, el comerciante puede crear un ticket rellenando:
Si se introduce un Booking ID, RentBase intenta resolver la reserva correcta de esa tienda antes de guardar el ticket.
Cuando el ticket está vinculado a una reserva, RentBase guarda también un paquete de diagnóstico resumido con:
Esto permite al soporte empezar desde datos verificables en lugar de reconstruir el problema manualmente.
La misma página muestra también los tickets recientes de la tienda, con:
Así el comerciante puede comprobar rápidamente qué ya ha sido enviado al soporte.
No se deben incluir datos sensibles del cliente en el mensaje del ticket, como documentos, firmas, detalles de pago o archivos privados. Utiliza Booking IDs o Request IDs para que RentBase pueda recuperar los diagnósticos correctos de forma segura.
RentBase soporta 7 idiomas con detección automática:
| Idioma | Código | Admin | Widget Storefront |
|---|---|---|---|
| English | en | ✅ | ✅ |
| Italiano | it | ✅ | ✅ |
| Deutsch | de | ✅ | ✅ |
| Español | es | ✅ | ✅ |
| Français | fr | ✅ | ✅ |
| Português | pt | ✅ | ✅ |
| 中文 | zh | ✅ | ✅ |
Cómo funciona:
P: He instalado la app pero el calendario no aparece en la tienda. R: Debes activar el bloque RentBase Calendar en el Editor de Temas (Online Store → Customize). Ve a un producto, añade el bloque desde la sección "Apps" y guarda. Verifica también que el producto esté activado para alquiler desde la página Products.
P: El Quick Start muestra el calendario como "no activo" aunque lo he añadido. R: Asegúrate de haber guardado el tema después de añadir el bloque. Si el bloque está deshabilitado (ojo tachado en el Editor de Temas), el Quick Start lo detecta como no activo.
P: ¿Los clientes pueden cambiar la cantidad en el carrito y pagar menos días? R: No, si el Cart Guardian está activo. El Cart Guardian oculta los controles de cantidad para artículos de alquiler. Asegúrate de que esté habilitado en los App Embeds del tema.
P: Si cambio los ajustes globales, ¿se actualizan los productos ya configurados? R: Los ajustes globales son los valores predeterminados. Los productos con configuración específica mantienen sus propios valores. Solo los productos sin configuración específica usan los valores globales.
P: ¿Tengo que configurar cada producto individualmente? R: No. Configura los ajustes globales una vez. Solo los productos que necesiten valores diferentes (diferente inventario, diferentes horarios, etc.) requieren configuración específica.
P: ¿Cómo bloqueo la tienda para las vacaciones de Navidad? R: Ve a Settings → Fechas Bloqueadas Globales. Añade el período (ej. 24-31 diciembre) y todos los productos estarán bloqueados para ese período. Si un producto específico debe permanecer disponible, añádelo a las exclusiones en la configuración del producto.
P: ¿Los descuentos por duración y estacionales se suman? R: No, se componen (fórmula multiplicativa). Descuento duración 10% + descuento estacional 15% = 23,5% total (no 25%). Es más justo y estándar del sector.
P: Un cliente ha reservado pero no ha pagado. ¿La reserva desaparece? R: Sí. Las reservas PENDING expiran después de la duración configurada en "Pending Duration" (predeterminado: 15 minutos). Después de expirar, las fechas vuelven a estar disponibles.
P: ¿Puedo crear reservas manualmente para clientes que llaman por teléfono? R: Sí. En la página Bookings haz clic en "Create Booking". También puedes activar "Bypass Availability Check" para reservar fechas que aparecen como ocupadas.
P: ¿Cómo veo las reservas del mes? R: Usa la vista Timeline en la página Bookings para una vista de calendario mensual, o la vista Registro con filtros de fecha.
P: ¿Cuántas reservas puedo gestionar con el plan Free? R: 10 reservas confirmadas por mes. Las reservas pending (no pagadas) no cuentan.
P: Si cancelo el plan Pro, ¿pierdo las reservas? R: No. Todas las reservas existentes, configuraciones de productos y otros ajustes se mantienen. Pierdes acceso a las notificaciones por email y al calendario iCal.
P: ¿Hay una prueba gratuita? R: El plan Free es ilimitado en el tiempo. Puedes usarlo todo el tiempo que quieras con el límite de 10 reservas/mes. El plan Pro incluye 14 días de prueba gratuita. El upgrade es inmediato y cancelable en cualquier momento.
P: ¿Los metafields persisten si desinstalo la app? R: Sí. Los Shopify Metafields (rentbase.config) en los productos sobreviven a la desinstalación. Al reinstalar, las configuraciones de productos se reencontrarán. Los datos en la base de datos de la app (reservas, ajustes globales) se eliminan al desinstalar.
P: ¿La app funciona con temas personalizados? R: Sí. RentBase usa Theme App Extensions (sistema oficial de Shopify), compatible con todos los temas Online Store 2.0. El Cart Guardian detecta automáticamente diferentes layouts de carrito (página, drawer, personalizado).
P: ¿Cuál es la diferencia entre el Calendario y el Cart Guardian? R: El Calendario es un bloque que aparece en la página de producto para la selección de fechas. El Cart Guardian es un embed global (en todas las páginas) que protege el carrito impidiendo manipulaciones de cantidad y depósito.
P: ¿Cómo funciona la sincronización del calendario con Google/Apple/Outlook? R: RentBase genera una URL webcal:// que puedes pegar en tu app de calendario. El feed es de solo lectura y se actualiza automáticamente. No es una sincronización bidireccional: los cambios en el calendario externo no se reflejan en RentBase.
P: ¿Cuál es la diferencia entre cantidad de inventario y assets? R: La inventory_quantity determina cuántas unidades pueden reservarse simultáneamente (disponibilidad). Los assets son los objetos físicos individuales que rastrear por nombre y número de serie. Idealmente, el número de assets debe coincidir con la cantidad de inventario.
P: ¿Cómo desactivo temporalmente un producto sin eliminarlo? R: Establece la inventory_quantity en 0 en la configuración del producto o variante. El widget del calendario mostrará un mensaje "temporalmente no disponible" y no se podrán hacer reservas. Cuando el producto esté disponible de nuevo, pon el inventario al valor deseado.
P: ¿Qué pasa si establezco el inventario a 0? R: El widget del calendario muestra un mensaje "temporalmente no disponible". El selector de fechas se oculta y los clientes no pueden reservar el producto. Las reservas existentes no se ven afectadas.
P: ¿Cómo se almacenan los documentos y firmas subidos? R: Todos los archivos (documentos de identidad, firmas, adjuntos de requisitos) se almacenan de forma segura en tu propia base de datos — nunca en CDNs públicos. Las imágenes se comprimen automáticamente en el cliente antes de subirlas (máx. 1200px, JPEG 85%). Todos los datos sensibles se cifran en reposo con AES-256-GCM.
P: ¿Existe retención y eliminación automática de datos? R: Sí. Puedes configurar un período de retención (en días) en los ajustes de "Checkout y Documentos". Tras finalizar el alquiler y expirar el período de retención, los documentos, firmas y archivos subidos se eliminan automáticamente. El valor predeterminado es 90 días. Establece 0 para conservarlos indefinidamente (no recomendado para cumplimiento del RGPD).
P: ¿Cuál es el tamaño máximo de subida? R: El máximo es 10MB por archivo. Sin embargo, las imágenes se comprimen automáticamente antes de subirlas a unos 100-200KB, por lo que en la práctica el límite rara vez se alcanza. Solo se aceptan archivos JPEG, PNG, WebP y PDF.
P: ¿Los archivos subidos cumplen con el RGPD? R: RentBase implementa varias medidas de cumplimiento: cifrado AES-256-GCM en reposo, compresión automática para minimizar datos almacenados, eliminación automática tras el período de retención configurable, y almacenamiento en tu base de datos privada (nunca en CDNs públicos). Recomendamos establecer un período de retención adecuado a la normativa de tu país.
| Término | Significado |
|---|---|
| App Block | Componente visual de app, posicionable en el tema Shopify |
| App Embed | Componente global de app, insertado en el <body> de todas las páginas |
| Buffer Hours | Horas de preparación entre el fin de un alquiler y el inicio del siguiente |
| Cart Guardian | Componente que protege el carrito de manipulaciones |
| Floating Time | Formato fecha/hora sin indicador de zona horaria en el feed iCal |
| Inventario | Número de unidades disponibles para una variante (1 = individual, >1 = flota) |
| Line Item Properties | Metadatos adicionales adjuntos a un artículo del carrito Shopify |
| Metafield | Campo de datos personalizado en un producto/variante Shopify |
| Pending Duration | Tiempo máximo que una reserva permanece reservada en el carrito |
| Rental Asset | Objeto físico individual rastreable vinculado a una variante (almacenado como Shopify Metaobject) |
| Soft Delete | Eliminación lógica (el registro permanece en la DB con deletedAt configurado) |
| Theme App Extension | Sistema Shopify para insertar componentes de app en temas |
Documentación creada para RentBase v1.0 — Marzo 2026