Dumpster Controls · agent page

This is the agent-optimized version of https://dumpstercontrols.io/help/booking-api/lesson-3-company-profile-and-sizes-with-live-prices: the same content as the human page, without scripts, styles, animations or navigation. People should open the full page.

Canonical page
https://dumpstercontrols.io/help/booking-api/lesson-3-company-profile-and-sizes-with-live-prices
Last updated
2026-10-05
Tokens
1,541 tokens (cl100k_base), within the 2,000-token budget for a help page
Size
11 KB for this page, against 23 KB for the human page (52% smaller)
Markdown
https://dumpstercontrols.io/help/booking-api/lesson-3-company-profile-and-sizes-with-live-prices.md, or send Accept: text/markdown to the canonical URL
Cite as
Lesson 3: GET /company and GET /sizes, the data your screens start from. Dumpster Controls. https://dumpstercontrols.io/help/booking-api/lesson-3-company-profile-and-sizes-with-live-prices (accessed 2026-10-10).
More for agents
Facts sheet · llms.txt · llms-full.txt · All agent pages · Product manual

Booking API course · updated 2026-10-05

Lesson 3: GET /company and GET /sizes, the data your screens start from

Your first two calls load everything the booking screen needs to render: who the company is, whether booking is open, how the card fee is handled, and the sizes with their live prices by rental length.

Before you start

  • Lesson 2 done: a key and, for browser calls, an allowed domain
  1. ## GET /company
    ```
    curl -H "Authorization: Bearer dc_pk_live_..." -H "Origin: https://yourcompany.com" \
    https://gcwyoiihrupbfqqlcurh.supabase.co/functions/v1/booking-api/v1/company
    ```
    Response data: id, name, slug, phone, email, address { line1, city, state, zip, country }, currency (usd or cad), country, timezone, branding { logo_url, primary_color, secondary_color, website }, booking { is_online, payments_ready, has_active_sizes, card_fee_handling, non_working_days, service_area { zip, max_miles } or null, rental_agreement, hosted_page }. Use is_online and payments_ready to decide whether to show the booking at all; if either is false, show the company's phone instead.
  2. ## GET /sizes
    Response data: an array sorted by yards. Each size: id (use it in /quote and /intents), label, yards, description, image_url, price_from (starting price in dollars), included_tons, overage_per_ton, prices { d3, d7, d10, d14, d30, extra_day } (dollars; a null tier means the company did not set that length), tax { enabled, percent }, fuel_environmental_fee { enabled, amount }, is_default, is_popular. Only active sizes are returned.
  3. ## How to show prices honestly
    The price for a rental is the tier for the chosen length: up to 3 days d3, up to 7 d7, up to 10 d10, up to 14 d14, up to 30 d30, beyond 30 days d30 plus extra_day per day. When a tier is null the server falls back to price_from plus extra days beyond 7. Do not compute totals yourself for the checkout: call POST /quote (lesson 5) and show its total and processing_fee. Use prices only for the size cards ("from 325").
  4. ## Card fee handling
    booking.card_fee_handling tells you who pays the card processing fee: customer_pays (the customer pays total plus fee, shown as gross_total), company_absorbs (the customer pays total) or split_50_50. Your checkout should show processing_fee and gross_total from /quote exactly as the hosted page does, so there is never a surprise at the card step.
  5. ## Prices by material (lesson 15)
    prices{} on each size are the general tiers. When GET /company says booking.materials.enabled, the company also prices by material: GET /materials lists what goes in the dumpster, which sizes accept each material and the material price per size, which replaces the 7-day base. Material-first screens read /materials before /sizes.

What happens next

  • Cache these two responses for the page session; they change only when the company edits its settings.

Troubleshooting

GET /sizes returns an empty array.

The company has no active size. Ask the office to add sizes and prices in Inventory; booking.has_active_sizes in /company says the same.

Related guides

© 2026 Dumpster Controls. All rights reserved. Made in the USA.

Frequently asked questions

Is Dumpster Controls really free?

Yes. The software is free: dispatch, online booking, the driver app, invoicing, the Tresha AI assistant and every other feature, with no monthly fee, no trial period and no credit card to sign up. The only cost on the free plan is optional card processing when a customer pays by card through the platform: 2.99% plus $3.99 per transaction on the free plan. An optional Unlimited plan at $169 per month lowers that to 2.99% plus $0.30. Prices as published on dumpstercontrols.io/pricing on 2026-09-23.

Do you charge per driver, per truck or per order?

No. There is no per-driver, per-truck, per-user or per-order fee, and no order limit. A company with one truck and a company with twenty pay the same for the software: nothing.

Is there a contract?

No. There is no contract, no minimum term and no setup fee. You create the account yourself, and on the free plan there is nothing to cancel because nothing is billed. The optional Unlimited plan is billed month to month.

Which countries and languages are supported?

Dumpster Controls serves hauling companies in the United States and Canada. The app interface and the Tresha AI assistant are available in English, Spanish and Portuguese. The public pages, such as the blog, the help center and the landfill finder, are in English.

How do I switch from another dumpster software?

Create a free account at dumpstercontrols.io/login, with no sales call and no credit card. Then import your customers from a CSV file using the template provided in the app; past orders can also be imported from a CSV. Container sizes and pricing are set up in Settings. The landfill database, with 1,750 active US and Canadian landfills as counted on 2026-10-01, is already loaded, so disposal sites do not need to be typed in. Step-by-step guides are at dumpstercontrols.io/help.