Outdoorsy Quote API
The quote API from Outdoorsy — 1 operation(s) for quote.
The quote API from Outdoorsy — 1 operation(s) for quote.
openapi: 3.2.0
info:
description: 'The Outdoorsy API (or simply "API") is organized around REST. It uses
predictable, resource-oriented URLs and implements standard HTTP response
codes, verbs, authentication mechanisms, and a variety of request encodings.
## Versioning
The API implements semantic versioning.'
title: Outdoorsy API Documentation Quote API
version: 0.0.1
servers:
- url: /v0
security:
- Bearer:
- '[]'
- API-Key:
- '[]'
tags:
- name: quote
paths:
/quotes/{id}/services:
get:
description: List of available services for quote
tags:
- quote
operationId: services
responses:
'200':
$ref: '#/components/responses/quoteResponse'
'400':
$ref: '#/components/responses/badRequestError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
components:
schemas:
Response:
type: object
properties:
addons:
type: array
items:
$ref: '#/components/schemas/BookingItem'
x-go-name: Addons
block_discount_code:
type: boolean
x-go-name: BlockDiscountCode
bundle_id:
type: string
x-go-name: BundleID
calculated_day_price:
type: integer
format: uint64
x-go-name: CalculatedDayPrice
can_apply_credits:
type: boolean
x-go-name: CanApplyCredits
can_generate_weather_quote:
type: boolean
x-go-name: CanGenerateWeatherQuote
dealer_minimum_days:
type: integer
format: uint64
x-go-name: DealerMinimumDays
deliverable_campgrounds:
type: array
items:
$ref: '#/components/schemas/ExternalCampground'
x-go-name: DeliverableCampgrounds
delivery:
$ref: '#/components/schemas/Delivery'
delivery_campground_id:
type: integer
format: int64
x-go-name: DeliveryCampgroundId
delivery_item:
$ref: '#/components/schemas/BookingItem'
discount_code:
type: string
x-go-name: DiscountCode
discount_code_amount:
type: integer
format: uint64
x-go-name: DiscountCodeAmount
discount_code_applied_to:
type: string
x-go-name: DiscountCodeAppliedTo
discount_code_message:
type: string
x-go-name: DiscountCodeMessage
discount_message:
$ref: '#/components/schemas/Warning'
duration:
type: integer
format: uint64
x-go-name: Duration
estimated_generator_cost:
type: integer
format: uint64
x-go-name: EstimatedGeneratorCost
estimated_mileage_cost:
type: integer
format: uint64
x-go-name: EstimatedMileageCost
fees_total:
type: integer
format: uint64
x-go-name: FeesTotal
festival_friendly:
type: boolean
x-go-name: FestivalFriendly
final_payment_amount:
type: integer
format: uint64
x-go-name: FinalPaymentAmount
final_payment_due_date:
type: string
from:
type: string
from_time:
type: integer
format: int64
x-go-name: FromTime
generator_item:
$ref: '#/components/schemas/BookingItem'
generator_total_included:
type: number
format: double
x-go-name: GeneratorTotalIncluded
id:
type: string
x-go-name: ID
instant_book:
type: boolean
x-go-name: InstantBook
insurance_bundle:
$ref: '#/components/schemas/BookingBundle'
is_request_less_than_minimum_days:
type: boolean
x-go-name: IsRequestLessThanMinimumDays
items:
type: array
items:
$ref: '#/components/schemas/BookingItem'
x-go-name: Items
locale_base_currency:
type: string
x-go-name: LocaleBaseCurrency
make:
type: string
x-go-name: Make
mileage_item:
$ref: '#/components/schemas/BookingItem'
mileage_total_included:
type: number
format: double
x-go-name: MileageTotalIncluded
model:
type: array
items:
type: string
x-go-name: Model
occupancy:
$ref: '#/components/schemas/Occupancy'
offer_affirm:
type: boolean
x-go-name: OfferAffirm
offer_paypal_pay_later:
type: boolean
x-go-name: OfferPayPalPayLater
original_day_override_price:
type: integer
format: uint64
x-go-name: OriginalDayOverridePrice
original_day_price:
type: integer
format: uint64
x-go-name: OriginalDayPrice
original_month_price:
type: integer
format: uint64
x-go-name: OriginalMonthPrice
original_service_fee:
type: integer
format: uint64
x-go-name: OriginalServiceFee
original_week_price:
type: integer
format: uint64
x-go-name: OriginalWeekPrice
outdoorsy_fee:
type: integer
format: uint64
x-go-name: RenterIntegrationsFee
owner_fee:
type: integer
format: uint64
x-go-name: OwnerFee
owner_fees:
type: array
items:
$ref: '#/components/schemas/BookingItem'
x-go-name: OwnerFees
owner_integrations_fee:
type: integer
format: uint64
x-go-name: OwnerIntegrationsFee
pet_friendly:
type: boolean
x-go-name: PetFriendly
pets:
type: integer
format: int64
x-go-name: Pets
presentment_currency:
type: string
x-go-name: PresentmentCurrency
remainder_amount:
type: integer
format: uint64
x-go-name: RemainderAmount
remainder_due_date:
type: string
rental_amount:
type: integer
format: uint64
x-go-name: RentalAmount
rental_amount_item:
$ref: '#/components/schemas/BookingItem'
rental_summary:
$ref: '#/components/schemas/RentalSummary'
renter_credits_applied:
type: integer
format: uint64
x-go-name: RenterCreditsApplied
renter_reserve_amount:
type: integer
format: uint64
x-go-name: RenterReserveAmount
requested_duration:
type: integer
format: uint64
x-go-name: RequestedDuration
reserve_amount:
type: integer
format: uint64
x-go-name: ReserveAmount
security_deposit:
type: integer
format: uint64
x-go-name: SecurityDeposit
service_fee:
type: integer
format: uint64
x-go-name: ServiceFee
services:
type: array
items:
$ref: '#/components/schemas/BookingService'
x-go-name: Services
settlement_currency:
type: string
x-go-name: SettlementCurrency
sibling_quote_group_id:
type: integer
format: int64
x-go-name: SiblingQuoteGroupID
sibling_quotes_totals:
$ref: '#/components/schemas/SiblingTotals'
siblings:
$ref: '#/components/schemas/SiblingQuotes'
smoking_allowed:
type: boolean
x-go-name: SmokingAllowed
subtotal:
type: integer
format: uint64
x-go-name: Subtotal
tailgate_friendly:
type: boolean
x-go-name: TailgateFriendly
tax:
type: integer
format: uint64
x-go-name: Tax
tax_rates:
type: array
items:
$ref: '#/components/schemas/TaxRateTotalItem'
x-go-name: TaxRates
to:
type: string
to_time:
type: integer
format: int64
x-go-name: ToTime
total:
type: integer
format: uint64
x-go-name: Total
total_after_credits:
type: integer
format: uint64
x-go-name: TotalAfterCredits
total_after_deductions:
description: 'the total amount that we will take from user card/paypal account for a given booking
deprecated use TotalAfterCredits'
type: integer
format: uint64
x-go-name: TotalAfterDeductions
towing_capacity:
type: integer
format: int64
x-go-name: TowingCapacity
towing_vehicle_make:
type: string
x-go-name: TowingVehicleMake
towing_vehicle_model:
type: string
x-go-name: TowingVehicleModel
towing_vehicle_year:
type: integer
format: int64
x-go-name: TowingVehicleYear
travelers:
type: integer
format: int64
x-go-name: Travelers
use_day_price:
type: boolean
x-go-name: UseDayPrice
use_day_pricing:
type: boolean
x-go-name: UseDayPricing
use_system_tax_rates:
type: boolean
x-go-name: UseSystemTaxRates
use_tax_inclusive_pricing:
type: boolean
x-go-name: UseTaxInclusivePricing
user_notice_events:
type: array
items:
$ref: '#/components/schemas/NoticeResponse'
x-go-name: UserNoticeEvents
waiver_summary:
$ref: '#/components/schemas/WaiverSummary'
warning:
$ref: '#/components/schemas/Warning'
year_max:
type: integer
format: int64
x-go-name: YearMax
year_min:
type: integer
format: int64
x-go-name: YearMin
x-go-package: github.com/outdoorsy/api/internal/quote
IMap:
type: object
additionalProperties: {}
x-go-package: github.com/outdoorsy/api/pkg/jsonb
TaxRateItem:
type: object
properties:
description:
type: string
x-go-name: Description
original_tax_rate_id:
type: integer
format: int64
x-go-name: TaxRateID
tax_amount:
type: integer
format: int64
x-go-name: Amount
tax_name:
type: string
x-go-name: Name
tax_rate:
type: number
format: double
x-go-name: Rate
x-go-package: github.com/outdoorsy/api/internal/tax_rates
Locale:
type: object
properties:
base_currency:
type: string
x-go-name: BaseCurrency
date_format:
type: string
x-go-name: DateFormat
distance_unit:
type: string
x-go-name: DistanceUnit
language:
type: string
x-go-name: Language
length_unit:
type: string
x-go-name: LengthUnit
liquid_unit:
type: string
x-go-name: LiquidUnit
time_format:
type: string
x-go-name: TimeFormat
timezone:
type: string
x-go-name: Timezone
weight_unit:
type: string
x-go-name: WeightUnit
x-go-package: github.com/outdoorsy/api/model
BookingTaxRate:
type: object
properties:
booking_id:
type: integer
format: int64
x-go-name: BookingID
created:
type: string
x-go-name: Created
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
deleted:
type: boolean
x-go-name: Deleted
id:
type: integer
format: int64
x-go-name: ID
object_id:
type: integer
format: int64
x-go-name: ObjectID
object_type:
type: string
x-go-name: ObjectType
payable_to:
type: string
x-go-name: PayableTo
source:
type: string
x-go-name: Source
state:
type: string
x-go-name: State
tax_amount:
type: integer
format: int64
x-go-name: Amount
tax_description:
type: string
x-go-name: Description
tax_name:
type: string
x-go-name: Name
tax_rate:
type: number
format: double
x-go-name: Rate
tax_rate_id:
type: integer
format: int64
x-go-name: TaxRateID
updated:
type: string
x-go-name: Updated
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
zip_code:
type: string
x-go-name: ZipCode
x-go-package: github.com/outdoorsy/api/internal/tax_rates
CampgroundActivityFeature:
type: object
properties:
feature:
type: string
x-go-name: Slug
name:
type: string
x-go-name: Name
x-go-package: github.com/outdoorsy/api/internal/seeker/client
Delivery:
type: object
properties:
comment:
type: string
x-go-name: Comment
estimated_distance:
type: number
format: double
x-go-name: EstimatedDistance
location:
$ref: '#/components/schemas/DeliveryLocation'
stationary:
type: boolean
x-go-name: Stationary
x-go-package: github.com/outdoorsy/api/internal/quote
DBInterfaceMap:
description: DBInterfaceMap is a map[string]interface{} with database conversion methods
type: object
additionalProperties: {}
x-go-package: github.com/outdoorsy/api/utils
Warning:
description: Warning used for quote and booking
type: object
properties:
message:
type: string
x-go-name: Message
x-go-package: github.com/outdoorsy/api/types
ProcessedCampgroundAmenity:
type: object
properties:
available:
type: boolean
x-go-name: Available
category:
type: string
x-go-name: Category
id:
type: string
x-go-name: ID
name:
type: string
x-go-name: Name
x-go-package: github.com/outdoorsy/api/internal/seeker/client
TaxRateTotalItem:
description: 'Used when calculated booking/quote
and storing calculated result on booking'
type: object
properties:
amount:
type: integer
format: int64
x-go-name: Amount
name:
type: string
x-go-name: Name
rates:
$ref: '#/components/schemas/TaxRateItems'
x-go-package: github.com/outdoorsy/api/internal/tax_rates
WaiverSummary:
type: object
properties:
description:
type: string
x-go-name: Description
owner_completed:
type: boolean
x-go-name: OwnerCompleted
owner_terms:
type: string
x-go-name: OwnerTerms
renter_completed:
type: boolean
x-go-name: RenterCompleted
renter_confirmation_description:
type: string
x-go-name: RenterConfirmationDescription
renter_confirmation_title:
type: string
x-go-name: RenterConfirmationTitle
renter_terms:
type: string
x-go-name: RenterTerms
x-go-package: github.com/outdoorsy/api/types
BookingService:
type: object
properties:
booking_id:
type: integer
format: int64
x-go-name: BookingID
bundle_id:
type:
- string
- 'null'
category:
type: string
x-go-name: Category
charge_to:
type: string
x-go-name: ChargeTo
created:
type: string
x-go-name: Created
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
daily:
type: boolean
x-go-name: Daily
dealer_flat_split:
type: integer
format: int64
x-go-name: DealerFlatSplit
dealer_percent_split:
type: number
format: double
x-go-name: DealerPercentSplit
dealer_split_type:
type: string
x-go-name: DealerSplitType
deleted_at:
$ref: '#/components/schemas/NullTime'
description:
type: string
x-go-name: Description
discount_amount:
type: integer
format: int64
x-go-name: DiscountAmount
external_reference_id:
type: string
x-go-name: ExternalReferenceID
fee_locked:
type: boolean
x-go-name: FeeLocked
id:
type: integer
format: int64
x-go-name: ID
is_taxable:
description: 'IsTaxable determines whether this service is taxable. This is defaulted
to the service''s IsTaxable field on BookingService create'
type: boolean
x-go-name: IsTaxable
last_service_log:
x-go-name: LastServiceLog
lock_on_booking_status:
type: string
x-go-name: LockOnBookingStatus
minimum_price:
type: integer
format: int64
x-go-name: MinimumPrice
missing_fields:
type: object
additionalProperties:
type: array
items:
type: string
x-go-name: MissingFields
name:
type: string
x-go-name: Name
payable_to:
type: string
x-go-name: PayableTo
percent:
type: number
format: double
x-go-name: Percent
percent_type:
type: string
x-go-name: PercentType
policy_start_date:
type: string
x-go-name: PolicyStartDate
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
premium_amount:
description: PremiumAmount is the daily rate
type: integer
format: int64
x-go-name: PremiumAmount
premium_total:
description: PremiumTotal is what we pay to the dealer
type: integer
format: int64
x-go-name: PremiumTotal
prevent_delete:
type: boolean
x-go-name: PreventDelete
price:
type: integer
format: int64
x-go-name: Price
quantity:
type: integer
format: int64
x-go-name: Quantity
required:
type: boolean
x-go-name: Required
revision:
type: integer
format: int64
x-go-name: Revision
roamly_weather_quote:
$ref: '#/components/schemas/DBInterfaceMap'
service_data:
$ref: '#/components/schemas/DBInterfaceMap'
service_id:
type: integer
format: int64
x-go-name: ServiceID
tax_amount:
type: integer
format: int64
x-go-name: TaxAmount
tax_rates:
type: array
items:
$ref: '#/components/schemas/BookingTaxRate'
x-go-name: TaxRates
total:
description: Total is the full amount of what the renter pays (total + premium total) - does not include taxes
type: integer
format: int64
x-go-name: Total
updated:
type: string
x-go-name: Updated
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
variant_price:
description: Calculated price considering pricing variant
type: integer
format: int64
x-go-name: VariantPrice
x-go-package: github.com/outdoorsy/api/internal/booking_services
CampgroundSceneryFeature:
type: object
properties:
feature:
type: string
x-go-name: Slug
name:
type: string
x-go-name: Name
x-go-package: github.com/outdoorsy/api/internal/seeker/client
NoticeResponse:
type: object
properties:
guest_acknowledgement_text:
type: string
x-go-name: GuestAcknowledgementText
guest_need_to_acknowledge:
type: boolean
x-go-name: GuestNeedToAcknowledge
guest_user_text:
type: string
x-go-name: GuestUserText
host_acknowledgement_text:
type: string
x-go-name: HostAcknowledgementText
host_help_url:
type: string
x-go-name: HostHelpUrl
host_need_to_acknowledge:
type: boolean
x-go-name: HostNeedToAcknowledge
host_user_text:
type: string
x-go-name: HostUserText
id:
type: integer
format: int64
x-go-name: ID
name:
type: string
x-go-name: Name
x-go-package: github.com/outdoorsy/api/internal/user_notice_events
DeliveryLocation:
type: object
properties:
city:
type: string
x-go-name: City
country:
type: string
x-go-name: Country
full_search_name_location:
type: string
x-go-name: FullSearchNameLocation
lat:
type: number
format: double
x-go-name: Lat
lng:
type: number
format: double
x-go-name: Lng
search_name_location:
type: string
x-go-name: SearchNameLocation
state:
type: string
x-go-name: State
street:
type: string
x-go-name: Street
street_etc:
type: string
x-go-name: StreetEtc
zip:
type: string
x-go-name: Zip
x-go-package: github.com/outdoorsy/api/types
BundleFeatureItem:
type: object
properties:
details:
type: string
x-go-name: Details
name:
type: string
x-go-name: Name
position:
type: integer
format: int64
x-go-name: Position
service_id:
type: integer
format: int64
x-go-name: ServiceID
type:
type: string
x-go-name: Type
x-go-package: github.com/outdoorsy/api/internal/booking_bundle
Category:
type: object
properties:
name:
type: string
x-go-name: Name
slug:
type: string
x-go-name: Slug
x-go-package: github.com/outdoorsy/api/internal/seeker/client
CampgroundAmenitiesCategory:
type: object
properties:
id:
type: string
x-go-name: ID
name:
type: string
x-go-name: Name
x-go-package: github.com/outdoorsy/api/internal/seeker/client
CampsiteSummary:
type: object
properties:
beds:
type: integer
format: int64
x-go-name: Beds
campground_id:
type: integer
format: int64
x-go-name: CampgroundID
campground_name:
type: string
x-go-name: CampgroundName
campground_sitemap_url:
type: string
x-go-name: CampgroundSiteMapURL
display_campsite_type:
type: string
x-go-name: DisplayCampsiteType
display_max_vehicle_length:
type: string
x-go-name: DisplayMaxVehicleLength
display_site_type:
type: string
x-go-name: DisplaySiteType
is_odn:
type: boolean
x-go-name: IsOdn
rental_id:
type: integer
format: int64
x-go-name: RentalID
site_type:
type: string
x-go-name: SiteType
sleeps:
type: integer
format: int64
x-go-name: Sleeps
type:
type: string
x-go-name: CategoryType
x-go-package: github.com/outdoorsy/api/types
StaySummary:
type: object
properties:
baths:
type: integer
format: int64
x-go-name: Baths
bedrooms:
type: integer
format: int64
x-go-name: Bedrooms
beds:
type: integer
format: int64
x-go-name: Beds
check_in_type:
type: string
x-go-name: CheckInType
display_stay_type:
type: string
x-go-name: DisplayStayType
location_description:
type: string
x-go-name: LocationDescription
max_parking_spaces:
type: integer
format: int64
x-go-name: MaxParkingSpaces
parking_onsite:
type: boolean
x-go-name: ParkingOnsite
rental_id:
type: integer
format: int64
x-go-name: RentalID
sleeps:
type: integer
format: int64
x-go-name: Sleeps
type:
type: string
x-go-name: Type
x-go-package: github.com/outdoorsy/api/types
RentalSummary:
type: object
properties:
campsite_summary:
$ref: '#/components/schemas/CampsiteSummary'
disallow_movement:
type: boolean
x-go-name: DisallowMovement
display_type:
type: string
x-go-name: DisplayType
formatted_length:
type: string
x-go-name: FormattedLength
id:
type: integer
format: int64
x-go-name: ID
interior_primary_image_url:
type: string
x-go-name: InteriorPrimaryImageURL
internal_id:
type: string
x-go-name: InternalID
location:
type: string
x-go-name: Location
name:
type: string
x-go-name: Name
primary_image_url:
type: string
x-go-name: PrimaryImageURL
rental_category:
type: string
x-go-name: RentalCategory
sleeps:
type: integer
format: int64
x-go-name: Sleeps
slug:
type: string
x-go-name: Slug
stay_summary:
$ref: '#/components/schemas/StaySummary'
style:
type: string
x-go-name: Style
type:
type: string
x-go-name: Type
x-go-package: github.com/outdoorsy/api/types
ExternalCampground:
type: object
properties:
available_for_dates:
description: Fields calculated post search
type: boolean
x-go-name: AvailableForDates
calculated_day_price:
type: integer
format: uint64
x-go-name: CalculatedDayPrice
campground_catalog:
$ref: '#/components/schemas/CampgroundCatalog'
campsite_category_ids:
type: array
items:
type: integer
format: int64
x-go-name: CampsiteCategoriesIDs
check_in_time:
description: Check in / Check out times
type: string
x-go-name: CheckInTime
check_out_time:
type: string
x-go-name: CheckOutTime
description:
type: string
x-go-name: Description
email:
description: Contact information
type: string
x-go-name: Email
id:
type: integer
format: int64
x-go-name: ID
images:
$ref: '#/components/schemas/Images'
is_odn:
description: Flags
type: boolean
x-go-name: IsODN
is_site_available:
type: boolean
x-go-name: IsSiteAvailable
locale:
$ref: '#/components/schemas/Locale'
location:
type: integer
format: int64
lowest_price:
type: integer
format: uint64
x-go-name: LowestPrice
name:
type: string
x-go-name: Name
odn_id:
type: string
x-go-name: OdnID
phone:
type: string
x-go-name: Phone
presentment_currency:
description: Currency
type: string
x-go-name: PresentmentCurrency
primary_image_url:
type: string
x-go-name: PrimaryImageURL
reviews_num:
type: integer
format: int64
x-go-name: ReviewsNum
score:
description: Ratings and reviews
type: number
format: double
x-go-name: Score
settlement_currency:
type: string
x-go-name: SettlementCurrency
site_map_image_url:
type: string
x-go-name: SiteMapImageURL
slug:
type: string
x-go-name: Slug
unavailable:
type: boolean
x-go-name: Unavailable
vacation_package_slug:
type: string
x-go-name: VacationPackageSlug
website_url:
description: Links and Images
type: string
x-go-name: WebsiteURL
x-go-package: github.com/outdoorsy/api/internal/seeker/client
BookingBundle:
type: object
properties:
base_price_per_day:
type: integer
format: int64
x-go-name: BasePricePerDay
bundle_features:
type: array
items:
$ref: '#/components/schemas/BundleFeatureTransfer'
x-go-name: Features
dealer_owned_renter:
type: boolean
x-go-name: DealerOwnedRenter
deductible:
type: integer
format: int64
x-go-name: Deductible
default_selection:
type: boolean
x-go-name: DefaultSelection
delivery:
type: boolean
x-go-name: Delivery
description:
type: string
x-go-name: Description
featured_description:
type: string
x-go-name: FeaturedDescription
featured_title:
type: string
x-go-name: FeaturedTitle
id:
type: string
x-go-name: ID
insurance_protection:
type: string
x-go-name: InsuranceProtection
is_rental_shield:
type: boolean
x-go-name: IsRentalShield
meta:
$ref: '#/components/schemas/IMap'
name:
type: string
x-go-name: Name
note:
type: string
x-go-name: Note
offer_individual_service_types:
type: array
items:
type: string
x-go-name: OfferIndividualServiceTypes
owner_id:
type: integer
format: int64
x-go-name: OwnerID
per_mile_price:
type: integer
format: int64
x-go-name: PerMilePrice
per_mile_price_fsd:
type: integer
format: int64
x-go-name: PerMilePriceFSD
percent_uptake:
type: number
format: double
x-go-name: PercentUptake
premium:
type: integer
format: int64
x-go-name: Premium
premium_base_rate:
type: integer
format: int64
x-go-name: PremiumBaseRate
price_per_day:
type: integer
format: int64
x-go-name: PricePerDay
property_damage:
type: string
x-go-name: PropertyDamage
qualifies_per_mile_pricing:
type: boolean
x-go-name: QualifiesPerMilePricing
recommended:
type: boolean
x-go-name: Recommended
subtext:
type: string
x-go-name: Subtext
supported_types:
type: array
items:
type: string
x-go-name: SupportedTypes
tier:
type: integer
format: int64
x-go-name: Tier
total_price:
# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/outdoorsy/refs/heads/main/openapi/outdoorsy-quote-api-openapi.yml