rv-rental-api

n8n node for RV Rental Management System API with AI Agent tool support

Package Information

Released: 7/29/2025
Downloads: 21 weeklyĀ /Ā 47 monthly
Latest Version: 1.8.0
Author: Your Name

Documentation

n8n-nodes-rv-rental-api

This is an n8n community node for the RV Rental Management System API. It provides easy access to reservation data and management features directly within your n8n workflows. Optimized for AI agents and intelligent automation workflows.

Features

  • Get All Reservations: Retrieve reservations with optional filtering by status, source, date range, and limit
  • Get Reservation by ID: Fetch detailed information for a specific reservation
  • Search Reservations: AI-optimized search with natural language support
  • Update Reservation Status: Change reservation status with audit trail
  • Store SignWell Agreement Link: Store SignWell rental agreement links for reservations
  • Get All Customers: Retrieve customer data with filtering options
  • Get Customer by ID: Fetch detailed customer information
  • Stripe Integration: Access Stripe customer and payment method data
  • Built-in Authentication: Secure API token authentication
  • AI-Friendly Error Handling: Enhanced error messages with context for AI agents
  • Type Safety: Full TypeScript support with proper typing

šŸ¤– AI Agent Integration

This node is specifically designed to work seamlessly with n8n's AI Agent node and other AI workflow tools. It provides:

AI-Optimized Features

  • Natural Language Search: Use the "Search Reservations" operation with queries like "John's booking next week" or "cancelled reservations this month"
  • Contextual Error Messages: AI-friendly error descriptions that help agents provide better customer service
  • Intelligent Filtering: Smart filtering options that work well with AI-generated queries
  • Business Context: Operation descriptions include business purpose and use cases

Common AI Use Cases

  1. Customer Service Chatbot: Answer booking questions, check reservation status, provide rental details
  2. Booking Assistant: Help customers find available RVs, check dates, assist with reservations
  3. Payment Support: Handle billing inquiries, payment method questions, financial assistance
  4. Document Management: Automate rental agreement signing, track document status
  5. Business Intelligence: Generate reports, analyze booking trends, provide insights

AI Workflow Examples

Check out the examples/ai-workflows.json file for complete AI workflow examples including:

  • Customer service automation
  • Booking availability assistance
  • Payment support workflows
  • Rental agreement management
  • Business intelligence reporting

Email Templates

Professional email templates are included for common workflows:

  • templates/booking-confirmation-onboarding.html - Customer onboarding and booking confirmation email template

šŸ› ļø AI Agent Tool Integration

NEW! Use the RV Rental API node as intelligent tools for AI Agents through sub-workflows:

Quick Setup

  1. Import example workflows from examples/ai-agent-tool-workflows.json
  2. Configure AI Agent with the provided tool definitions
  3. Start using natural language commands like:
    • "What reservations are pending approval?"
    • "Approve reservation 14 and send the onboarding email"
    • "Show me available dates for listing 1 next month"
    • "Decline reservation 3 and notify the customer"

Available AI Tools

  • get_pending_reservations - Get all pending reservations needing approval
  • approve_reservation - Approve reservations with automatic email notifications
  • decline_reservation - Decline reservations with customer notifications
  • search_reservations - Search by customer, dates, status, or reference
  • get_availability_calendar - Generate availability for social media posts

šŸ“– Complete AI Agent Setup Guide

Example Tool Configuration

{
  "name": "get_pending_reservations",
  "description": "Get all pending reservations that need approval",
  "url": "http://localhost:5678/webhook/ai-tools/pending-reservations",
  "method": "POST",
  "parameters": {
    "type": "object",
    "properties": {
      "limit": {
        "type": "number",
        "description": "Maximum number of reservations to return"
      }
    }
  }
}

Installation

Community Nodes (Recommended)

  1. Go to Settings > Community Nodes in your n8n instance
  2. Click Install a community node
  3. Enter n8n-nodes-rv-rental-api
  4. Click Install

Manual Installation

  1. Navigate to your n8n installation directory
  2. Run: npm install n8n-nodes-rv-rental-api
  3. Restart n8n

Self-Hosted Installation

  1. Clone this repository
  2. Run npm run build
  3. Copy the dist folder to your n8n custom nodes directory
  4. Restart n8n

Configuration

1. Generate API Token

First, generate an API token for an admin user in your RV Rental system:

# Using Laravel Artisan
php artisan api:generate-token admin@bestillrvrentals.com

# Using Laravel Sail
./vendor/bin/sail artisan api:generate-token admin@bestillrvrentals.com

2. Set Up Credentials

  1. In n8n, go to Credentials
  2. Click Create New Credential
  3. Search for "RV Rental API"
  4. Fill in:
    • Base URL: Your RV Rental system URL (e.g., https://bestillrvrentals.com)
    • API Token: The token generated in step 1

3. Test Connection

Click Test to verify your credentials work correctly.

Usage

Get All Reservations

Use this operation to retrieve reservations with optional filtering:

Available Filters:

  • Status: pending, confirmed, blocked, cancelled
  • Source: direct, rv_share, outdoorsy, manual
  • Start Date: Filter reservations starting from this date
  • End Date: Filter reservations ending before this date
  • Limit: Maximum results (1-500, default: 100)

Example Output:

{
  "id": 14,
  "reference_number": "BRV-000014",
  "listing_name": "2025 Jayco Jayflight SLX 260BH",
  "start_date": "2025-08-01",
  "end_date": "2025-08-05",
  "nights": 4,
  "status": "pending",
  "customer_email": "customer@example.com",
  "total_amount": "850.00"
}

Get Reservation by ID

Retrieve detailed information for a specific reservation:

Input:

  • Reservation ID: The numeric ID of the reservation

Example Output:

{
  "id": 14,
  "reference_number": "BRV-000014",
  "listing": {
    "name": "2025 Jayco Jayflight SLX 260BH",
    "pricing": {...},
    "add_ons": [...]
  },
  "customer_name": "John Doe",
  "selected_add_ons": [...],
  "pricing_details": {...}
}

Workflow Examples

1. Daily Pending Reservations Report

Schedule Trigger (daily) 
→ RV Rental API (Get All, Status: pending) 
→ Email (send report)

2. New Reservation Processing

Webhook Trigger 
→ RV Rental API (Get by ID) 
→ Condition (check status) 
→ Send confirmation email

3. External Platform Sync

Schedule Trigger (hourly) 
→ RV Rental API (Get All, Source: rv_share) 
→ Process reservations 
→ Update external systems

Error Handling

The node includes comprehensive error handling:

  • 401 Unauthorized: Invalid or missing API token
  • 403 Forbidden: Non-admin user attempting access
  • 404 Not Found: Reservation doesn't exist
  • 500 Server Error: API server issues

Enable Continue on Fail to handle errors gracefully in your workflows.

Development

Building

npm install
npm run build

Linting

npm run lint
npm run lintfix

Testing

npm test

Support

License

MIT License - see LICENSE file for details.

Discussion