Skip to content

Quotes API

Create quotes with pricing directly from your website or partner systems.

What Is the Quotes API?

While work requests capture customer enquiries, the Quotes API goes further by creating actual quotes with line items and pricing. This is useful for:

  • Instant quote calculators - "Get a quote in 30 seconds"
  • Partner integrations - Referral partners sending pre-priced leads
  • Automated pricing - Calculating quotes based on property size or service type

How It's Different from Work Requests

FeatureWork RequestsQuotes API
PurposeCapture customer enquiriesCreate priced quotes
PricingNone - manual follow-upAutomatic - includes pricing
Line ItemsNoYes - multiple items
ResultRequest for manual quotingReady-to-send quote
Use CaseContact formsQuote calculators, partners

Before You Start

You'll need:

  1. An API key from YardPilot
  2. A developer to implement the integration
  3. Clear pricing for your services

What's Required

Customer Information

FieldRequiredDescription
NameYesCustomer's full name
EmailYesCustomer's email address
PhoneNoCustomer's phone number

Address (Required)

FieldRequiredDescription
Street Line 1YesStreet address
Street Line 2NoUnit number, etc.
CityYesSuburb/city
StateYes3-letter code (QLD, NSW, etc.)
PostcodeYes4-digit Australian postcode

Line Items (At Least One)

Each item needs:

FieldRequiredDescriptionExample
NameYesService name"Lawn Mowing"
DescriptionNoWhat's included"Fortnightly mowing service"
QuantityYesHow many units4
Unit PriceYesPrice per unit in cents5000 ($50.00)
UnitNoUnit of measure"visit", "hour", "sqm"
Tax RateNoGST percentage (default 10%)10.00

Price Format

Prices must be in cents, not dollars. For $50.00, send 5000.

How Pricing Works

YardPilot automatically calculates:

  1. Line Item Subtotal = Quantity × Unit Price
  2. Line Item Tax = Subtotal × Tax Rate (default 10% GST)
  3. Line Item Total = Subtotal + Tax
  4. Quote Total = Sum of all line item totals

Example Calculation

Lawn Mowing: 4 visits × $50.00 = $200.00
  + GST (10%): $20.00
  = $220.00

Edge Trimming: 4 visits × $15.00 = $60.00
  + GST (10%): $6.00
  = $66.00

Quote Total: $286.00 (including $26.00 GST)

What Happens When a Quote Is Created

  1. Contact Created - If the email is new, a contact is added to your CRM as a "Lead"
  2. Property Created - The address becomes a property record
  3. Quote Created - A draft quote is created with all line items
  4. Ready to Send - Review and send the quote to the customer

Draft Status

Quotes created via API start in "Draft" status. This lets you review them before sending to customers.

Use Case: Instant Quote Calculator

Build a simple quote calculator on your website:

1. Customer Selects Services

[ ] Lawn Mowing - $50/visit
[x] Edge Trimming - $15/visit
[x] Garden Bed Weeding - $30/visit

How often? [Fortnightly ▼]

Property Size: [Medium (up to 500sqm) ▼]

2. Customer Enters Details

Name: _____________
Email: ____________
Address: __________

3. Your Website Creates the Quote

Your website sends the selections to YardPilot with appropriate pricing. The customer sees their quote total, and a draft quote appears in your dashboard.

4. You Review and Send

Check the quote looks correct, then click Send to email it to the customer.

Technical Details

Endpoint

POST https://app.yardpilot.io/api/v1/integration/quotes

Headers

Content-Type: application/json
X-Company-Key: your_api_key_here

Example Request

json
{
  "customer_name": "Sarah Johnson",
  "customer_email": "sarah@example.com",
  "customer_phone": "0412 345 678",
  "street_line_1": "42 Oxford Street",
  "city": "Bulimba",
  "state": "QLD",
  "postcode": "4171",
  "line_items": [
    {
      "name": "Lawn Mowing",
      "description": "Fortnightly mowing service",
      "quantity": 4,
      "unit_price": 5000,
      "unit": "visit",
      "tax_rate": 10.0
    },
    {
      "name": "Edge Trimming",
      "description": "Included with mowing visits",
      "quantity": 4,
      "unit_price": 1500,
      "unit": "visit",
      "tax_rate": 10.0
    }
  ]
}

Success Response

json
{
  "message": "Quote created successfully",
  "quote_id": "01JCQR8X9PQZW3Y5K7N4M6B2T8",
  "quote": {
    "number": "Q-001",
    "status": "draft",
    "subtotal": 26000,
    "tax_total": 2600,
    "total": 28600
  }
}

Developer Documentation

For complete technical details including error handling and code examples in JavaScript, PHP, and Python, see our Integration API Developer Guide.

Common Units

Use consistent units across your quotes:

UnitBest For
eachOne-off items or products
visitPer-visit services
hourTime-based work
sqmArea-based pricing
monthMonthly recurring services
weekWeekly recurring services

Tips for Success

1. Keep Pricing Simple

Customers prefer clear, simple pricing. Instead of:

  • Mowing: $0.08/sqm × 500sqm = $40

Use:

  • Lawn Mowing (Medium Property): $50/visit

2. Include Descriptions

Help customers understand what they're paying for:

json
{
  "name": "Garden Maintenance",
  "description": "Weeding, pruning, and mulching for garden beds up to 20sqm"
}

3. Consider Tax-Exempt Items

For items without GST:

json
{
  "name": "Consultation",
  "quantity": 1,
  "unit_price": 0,
  "tax_rate": 0.0
}

4. Test Thoroughly

Use test keys to verify your integration before going live.

How test keys work for quotes:

When you submit quotes using a test key (ypk_test_...):

  1. Quotes are validated exactly like live quotes
  2. Quotes, contacts, and properties are created with a TEST badge
  3. Test data is hidden by default from all lists
  4. No notifications are sent to your team
  5. All test records are automatically deleted after 24 hours

Testing workflow:

  1. Generate a test API key in Settings → API Keys
  2. Configure your quote calculator to use the test key
  3. Try various service combinations
  4. Check Quotes (with "Show test data" enabled) to verify data
  5. Verify totals calculate correctly
  6. Switch to your live API key when ready

Don't Forget to Switch Keys

If you accidentally leave a test key in production, quotes will be marked as test data and automatically deleted after 24 hours. Always verify you're using a live key (ypk_live_...) before launching.

Troubleshooting

Quote Not Creating

  1. Check required fields - All address fields are required
  2. Check line items - At least one line item is required
  3. Check price format - Prices must be in cents (integers)

Wrong Totals

  1. Price in cents - $50 should be 5000, not 50
  2. Tax rate format - Use 10.00 for 10%, not 0.10

Duplicate Quotes

If the same customer + line items are submitted within 5 minutes, YardPilot returns the existing quote instead of creating a duplicate.

Next Steps

Field Service Management for Australian Businesses