Outdoorsy Vacation Packages API
The vacationPackages API from Outdoorsy — 3 operation(s) for vacationpackages.
The vacationPackages API from Outdoorsy — 3 operation(s) for vacationpackages.
openapi: 3.2.0
info:
description: 'The Outdoorsy Search 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 Search Documentation Vacation Packages API
version: 0.0.1
security:
- Bearer:
- '[]'
tags:
- name: vacationPackages
paths:
/vacation-packages:
get:
description: Search performs search on vacation packages
tags:
- vacationPackages
operationId: searchVacationPackages
responses:
'200':
$ref: '#/components/responses/jsonApiVacationPackagesResponse'
'400':
$ref: '#/components/responses/badRequestError'
/vacation-packages/campgrounds:
get:
description: Search performs search on vacation packages campgrounds
tags:
- vacationPackages
operationId: searchVacationPackagesCampgrounds
responses:
'200':
$ref: '#/components/responses/jsonApiExternalCampgroundsResponse'
'400':
$ref: '#/components/responses/badRequestError'
/vacation-packages/rentals:
get:
description: Search performs search on vacation packages rentals
tags:
- vacationPackages
operationId: searchVacationPackagesRentals
responses:
'200':
$ref: '#/components/responses/jsonApiRentalsSearchResponse'
'400':
$ref: '#/components/responses/badRequestError'
components:
schemas:
JSONBStringArr:
description: JSONBStringArr type to handle postgres jsonb string array data type
type: array
items:
type: string
x-go-package: github.com/outdoorsy/odc-search/types
User:
description: User type
type: object
properties:
accept_percent:
type: number
format: double
x-go-name: AcceptPercent
accepted_bookings:
type: integer
format: int64
x-go-name: AcceptedBookings
avatar_url:
type: string
x-go-name: AvatarURL
average_response_time:
type: number
format: double
x-go-name: AverageResponseTime
business_description:
type: string
x-go-name: BusinessDescription
business_name:
description: business
type: string
x-go-name: BusinessName
business_phone:
type: string
x-go-name: BusinessPhone
business_website:
type: string
x-go-name: BusinessWebsite
cancel_policy:
type: string
x-go-name: CancelPolicy
cancel_policy_combo_bookings:
type: string
x-go-name: CancelPolicyComboBookings
created:
type: string
format: date-time
x-go-name: Created
dealer:
type: boolean
x-go-name: Dealer
description:
description: bio
type: string
x-go-name: Description
disable_phone:
type: boolean
x-go-name: DisablePhone
experience:
type: string
x-go-name: Experience
filtered_business_description:
type: string
x-go-name: FilteredBusinessDescription
first_name:
type: string
x-go-name: FirstName
guest:
type: boolean
x-go-name: Guest
hidden:
type: boolean
x-go-name: Hidden
id:
type: integer
format: int64
x-go-name: ID
last_name:
type: string
x-go-name: LastName
locale_base_currency:
type: string
x-go-name: LocaleBaseCurrency
locale_language:
description: locale
type: string
x-go-name: LocaleLanguage
logo_url:
type: string
x-go-name: Logo
mast_image_url:
type: string
x-go-name: MastImageURL
median_response_time:
type: number
format: double
x-go-name: MedianResponseTime
outdoorsy_display_name:
type: string
x-go-name: OutdoorsyDisplayName
owner_reviews_count:
type: integer
format: int64
x-go-name: OwnerReviewsCount
owner_score:
type: number
format: double
x-go-name: OwnerScore
phone:
description: metric influencing fields
type: string
x-go-name: Phone
pro:
type: boolean
x-go-name: Pro
response_percent:
type: number
format: double
x-go-name: ResponsePercent
reviews_count:
type: integer
format: int64
x-go-name: ReviewsCount
score:
description: score
type: number
format: double
x-go-name: Score
search_metrics_start_date:
type: string
format: date-time
x-go-name: SearchMetricsStartDate
slug:
type: string
x-go-name: Slug
social:
$ref: '#/components/schemas/JSONBArr'
time_to_first_action:
type: integer
format: int64
x-go-name: TimeToFirstAction
total_bookings:
type: integer
format: int64
x-go-name: TotalBookings
years_owned:
type: integer
format: int64
x-go-name: YearsOwned
years_rving:
type: integer
format: int64
x-go-name: YearsRVing
x-go-package: github.com/outdoorsy/odc-search/types
ListingQuestions:
type: object
properties:
answer:
type: string
x-go-name: Answer
question:
type: string
x-go-name: Question
x-go-package: github.com/outdoorsy/odc-search/types
SearchExplanation:
description: See https://www.elastic.co/guide/en/elasticsearch/reference/7.0/search-request-explain.html.
type: object
title: SearchExplanation explains how the score for a hit was computed.
properties:
description:
type: string
x-go-name: Description
details:
type: array
items:
$ref: '#/components/schemas/SearchExplanation'
x-go-name: Details
value:
type: number
format: double
x-go-name: Value
x-go-package: github.com/olivere/elastic/v7
JSONB:
description: JSONB type to handle postgres jsonb data type
type: object
additionalProperties: {}
x-go-package: github.com/outdoorsy/odc-search/types
TotalCategoryCounts:
type: object
properties:
lodging_site:
type: integer
format: uint64
x-go-name: LodgingSite
rv_site:
type: integer
format: uint64
x-go-name: RvSite
stationary_camper_site:
type: integer
format: uint64
x-go-name: StationaryCamperSite
tent_site:
type: integer
format: uint64
x-go-name: TentSite
x-go-package: github.com/outdoorsy/odc-search/types
PrepFee:
type: object
properties:
amount:
type: integer
format: int64
x-go-name: Amount
description:
type: string
x-go-name: Description
x-go-package: github.com/outdoorsy/odc-search/types
Locale:
description: Locale to hold locale units and currency details
type: object
properties:
base_currency:
type: string
x-go-name: Currency
distance_unit:
type: string
x-go-name: DistanceUnit
length_unit:
type: string
x-go-name: LengthUnit
liquid_unit:
type: string
x-go-name: LiquidUnit
weight_unit:
type: string
x-go-name: WeightUnit
x-go-package: github.com/outdoorsy/odc-search/types
ProcessedAmenity:
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
name_available:
type: string
x-go-name: NameAvailable
name_unavailable:
type: string
x-go-name: NameUnavailable
x-go-package: github.com/outdoorsy/odc-search/types
AmenityCategory:
type: object
properties:
id:
type: string
x-go-name: ID
name:
type: string
x-go-name: Name
x-go-package: github.com/outdoorsy/odc-search/types
CampgroundCarouselImages:
type: object
properties:
description:
type: string
x-go-name: Description
group_slug:
type: string
x-go-name: GroupSlug
image_id:
type: integer
format: int64
x-go-name: ImageID
position:
type: integer
format: int64
x-go-name: Position
url:
type: string
x-go-name: URL
x-go-package: github.com/outdoorsy/odc-search/types
CampgroundActivityFeature:
type: object
properties:
feature:
type: string
x-go-name: Slug
name:
type: string
x-go-name: Name
options:
$ref: '#/components/schemas/JSONB'
x-go-package: github.com/outdoorsy/odc-search/types
JSONBArr:
description: JSONBArr type to handle postgres jsonb array data type
type: array
items:
$ref: '#/components/schemas/JSONB'
x-go-package: github.com/outdoorsy/odc-search/types
Relationship:
type: object
title: Relationship represents a member of the JSON API relationships object.
properties:
data:
type: object
x-go-name: Data
links:
$ref: '#/components/schemas/Links'
meta:
type: object
additionalProperties: {}
x-go-name: Meta
x-go-package: github.com/smotes/jsonapi
CampgroundRentalCatalog:
type: object
properties:
activity_features:
type: array
items:
$ref: '#/components/schemas/CampgroundActivityFeature'
x-go-name: ActivityFeatures
amenities_categories:
type: array
items:
$ref: '#/components/schemas/CampsiteCategoryAmenityCategory'
x-go-name: ProcessedCampgroundCategoryAmenity
processed_amenities:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/ProcessedCampsiteCategoryAmenity'
x-go-name: ProcessedCampgroundCategory
scenery_features:
type: array
items:
$ref: '#/components/schemas/CampgroundSceneryFeature'
x-go-name: SceneryFeatures
x-go-package: github.com/outdoorsy/odc-search/types
ReviewScores:
type: object
properties:
bayesian_rating:
type: number
format: double
x-go-name: BayesianRating
x-go-package: github.com/outdoorsy/odc-search/types
UbiTier:
description: UbiTier to hold usage based item tier
type: object
properties:
id:
type: integer
format: int64
x-go-name: ID
maximum:
type: integer
format: int64
x-go-name: Maximum
minimum_fee:
type: integer
format: uint64
x-go-name: MinimumFee
price:
type: integer
format: int64
x-go-name: Price
usage_based_item_id:
type: integer
format: int64
x-go-name: UsageBasedItemID
x-go-package: github.com/outdoorsy/odc-search/types
DateRange:
description: DateRanges to handle Elastic date range
type: object
properties:
gte:
type: string
x-go-name: From
lte:
type: string
x-go-name: To
x-go-package: github.com/outdoorsy/odc-search/types
CampgroundSceneryFeature:
type: object
properties:
feature:
type: string
x-go-name: Slug
name:
type: string
x-go-name: Name
options:
$ref: '#/components/schemas/JSONB'
x-go-package: github.com/outdoorsy/odc-search/types
LocalizedContent:
type: object
properties:
field:
type: string
x-go-name: Field
id:
type: integer
format: int64
x-go-name: ID
locale:
type: string
x-go-name: Locale
object_type:
type: string
x-go-name: ObjectType
text:
type: string
x-go-name: Text
x-go-package: github.com/outdoorsy/odc-search/types
NearbyGuideParkContent:
type: object
properties:
id:
type: string
x-go-name: ID
images:
type: array
items: {}
x-go-name: Images
primary_image_url:
type: string
x-go-name: PrimaryImageURL
title:
type: string
x-go-name: Title
url:
type: string
x-go-name: URL
url_path:
type: string
x-go-name: URLPath
x-go-package: github.com/outdoorsy/odc-search/types
TaxRate:
type: object
properties:
id:
type: integer
format: int64
x-go-name: ID
rate:
type: number
format: double
x-go-name: Rate
x-go-package: github.com/outdoorsy/odc-search/types
DistributedRatings:
type: object
properties:
score:
type: object
properties:
r1:
type: number
format: double
x-go-name: R1
r2:
type: number
format: double
x-go-name: R2
r3:
type: number
format: double
x-go-name: R3
r4:
type: number
format: double
x-go-name: R4
r5:
type: number
format: double
x-go-name: R5
x-go-name: Score
x-go-package: github.com/outdoorsy/odc-search/types
TowableFeature:
type: object
properties:
feature:
type: string
x-go-name: Slug
name:
type: string
x-go-name: Name
options:
$ref: '#/components/schemas/JSONB'
x-go-package: github.com/outdoorsy/odc-search/types
Rental:
description: Rental type
type: object
properties:
FeaturesMap:
type: object
additionalProperties: {}
active_options:
$ref: '#/components/schemas/CustomPrices'
ai_data:
$ref: '#/components/schemas/JSONB'
allows_long_term:
type: boolean
x-go-name: AllowsLongTerm
availability_set:
type: boolean
x-go-name: AvailabilitySet
average_ratings:
$ref: '#/components/schemas/AverageRatings'
average_reviews:
$ref: '#/components/schemas/AverageReviews'
blend_logic_source:
type: string
x-go-name: BlendLogicSource
booking_leeway_days:
type: integer
format: int64
x-go-name: BookingLeewayDays
booking_prices:
description: Pricing
type: array
items:
$ref: '#/components/schemas/BookingPrice'
x-go-name: BookingPrices
bookings:
$ref: '#/components/schemas/DateRanges'
breadcrumb:
$ref: '#/components/schemas/Breadcrumb'
campground:
$ref: '#/components/schemas/ExternalCampground'
campground_catalog:
$ref: '#/components/schemas/CampgroundRentalCatalog'
campground_odn_id:
type: string
x-go-name: CampgroundOdnID
campsite_category:
$ref: '#/components/schemas/CampsiteCategory'
campsite_category_catalog:
$ref: '#/components/schemas/CampsiteCategoryRentalCatalog'
can_charge_security_deposit:
type: boolean
x-go-name: CanChargeSecurityDeposit
cancel_policy:
type: string
x-go-name: CancelPolicy
cancel_policy_combo_bookings:
type: string
x-go-name: CancelPolicyComboBookings
cancel_text:
type: string
x-go-name: CancelText
catalog:
$ref: '#/components/schemas/RentalCatalog'
check_in:
type: integer
format: int64
x-go-name: CheckIn
check_out:
type: integer
format: int64
x-go-name: CheckOut
child_rental_ids:
type: array
items:
type: integer
format: int64
x-go-name: ChildRentalIDs
child_rentals:
type: array
items:
$ref: '#/components/schemas/ChildRental'
x-go-name: ChildRentals
children_count:
type: integer
format: int64
x-go-name: ChildrenCount
coachnet_ready:
type: boolean
x-go-name: CoachnetReady
coachnet_required:
type: boolean
x-go-name: CoachnetRequired
combined_special_hours:
$ref: '#/components/schemas/SpecialHours'
created:
type: string
format: date-time
x-go-name: Created
current_location_id:
type: integer
format: int64
x-go-name: CurrentLocationID
custom_insurance_text:
type: string
x-go-name: CustomInsuranceText
dates:
$ref: '#/components/schemas/DateRanges'
dealer:
type: boolean
x-go-name: Dealer
delivery:
type: boolean
x-go-name: Delivery
delivery_radius:
type: integer
format: int64
x-go-name: DeliveryRadius
delivery_radius_miles:
type: number
format: double
x-go-name: DeliveryRadiusMiles
delivery_radius_unit:
type: string
x-go-name: DeliveryRadiusUnit
delivery_usage_item:
$ref: '#/components/schemas/UsageBasedItem'
delivery_usage_item_id:
type: integer
format: int64
x-go-name: DeliveryUsageItemID
deposit_percentage:
type: number
format: double
x-go-name: DepositPercentage
description:
type: string
x-go-name: Description
description_included:
description: Experimental fields
type: string
x-go-name: DescriptionIncluded
description_other:
type: string
x-go-name: DescriptionOther
description_recommendations:
type: string
x-go-name: DescriptionRecommendations
disallow_movement:
type: boolean
x-go-name: DisallowMovement
display_vehicle_type:
type: string
x-go-name: DisplayType
distance:
type: number
format: double
x-go-name: Distance
distributed_ratings:
$ref: '#/components/schemas/DistributedRatings'
driving_distance:
type: number
format: double
x-go-name: DrivingDistance
dropoff_unavailable:
$ref: '#/components/schemas/BlockedWeekDays'
education:
type: array
items:
$ref: '#/components/schemas/EducationalModule'
x-go-name: EducationalContent
estimated_delivery_price_per_mile:
type: integer
format: int64
x-go-name: EstimatedDeliveryPricePerMile
explanation:
$ref: '#/components/schemas/SearchExplanation'
external:
type: boolean
x-go-name: External
external_site_url:
type: string
x-go-name: ExternalSiteURL
favorite:
description: 'Using a bool pointer trick to get around indexing this computed field in elastic
If this was a regular bool, it would index the `favorite` field which we don''t need to do.
we do want to return this field when raw_json=true is used since ios and android apps don''t
use the json-api response'
type: boolean
x-go-name: Favorite
favorite_count:
type: integer
format: int64
x-go-name: FavoriteCount
features:
$ref: '#/components/schemas/JSONB'
filtered_description:
type: string
x-go-name: FilteredDescription
filtered_name:
type: string
x-go-name: FilteredName
first_published:
type: string
format: date-time
x-go-name: FirstPublished
generator_usage_item:
$ref: '#/components/schemas/UsageBasedItem'
generator_usage_item_id:
description: Usage Items
type: integer
format: int64
x-go-name: GeneratorUsageItemID
geopoint:
$ref: '#/components/schemas/Geopoint'
group_on_map:
type: boolean
x-go-name: GroupOnMap
group_reviews_num:
type: integer
format: int64
x-go-name: GroupReviewsNum
group_reviews_score:
type: number
format: double
x-go-name: GroupReviewsScore
group_score:
type: number
format: double
x-go-name: GroupScore
has_been_published:
type: boolean
x-go-name: HasBeenPublished
has_checkout_questions:
type: boolean
x-go-name: HasCheckoutQuestions
hidden:
type: boolean
x-go-name: Hidden
host_notes:
type: string
x-go-name: HostNotes
house_rules:
type: string
x-go-name: HouseRules
id:
type: integer
format: int64
x-go-name: ID
images:
$ref: '#/components/schemas/Images'
instant_book:
type: boolean
x-go-name: InstantBook
instant_book_banned:
type: boolean
x-go-name: InstantBookBanned
instant_book_leeway:
type: integer
format: int64
x-go-name: InstantBookLeeway
instant_book_type:
type: string
x-go-name: InstantBookType
insurance_coverage:
type: string
x-go-name: InsuranceCoverage
insurance_eligible:
type: boolean
x-go-name: InsuranceEligible
insurance_plan:
$ref: '#/components/schemas/InsurancePlan'
insurance_renter_adjustable:
description: Insurance
type: boolean
x-go-name: InsuranceRenterAdjustable
insurance_state:
type: string
x-go-name: InsuranceState
items:
$ref: '#/components/schemas/RentalItems'
last_published:
type: string
format: date-time
x-go-name: LastPublished
listing_questions:
type: array
items:
$ref: '#/components/schemas/ListingQuestions'
x-go-name: ListingQuestions
locale:
$ref: '#/components/schemas/Locale'
localized_content:
$ref: '#/components/schemas/LocalizedContents'
location:
$ref: '#/components/schemas/Location'
low_price_per_day:
type: integer
format: int64
x-go-name: LowPricePerDay
low_price_per_month:
type: integer
format: int64
x-go-name: LowPricePerMonth
low_price_per_week:
type: integer
format: int64
x-go-name: LowPricePerWeek
mileage_usage_item:
$ref: '#/components/schemas/UsageBasedItem'
mileage_usage_item_id:
type: integer
format: int64
x-go-name: MileageUsageItemID
min_bundle_day_price:
type: integer
format: int64
x-go-name: MinBundleDayPrice
min_bundle_day_price_with_delivery:
type: integer
format: int64
x-go-name: MinBundleDayPriceWithDelivery
minimum_days:
type: integer
format: int64
x-go-name: MinimumDays
minimum_days_pricing_rule:
type: integer
format: int64
x-go-name: MinimumDaysPricingRule
minimum_deposit:
type: integer
format: int64
x-go-name: MinimumDeposit
minimum_renter_age:
type: integer
format: int64
x-go-name: MinimumRenterAge
misc:
type: object
additionalProperties: {}
x-go-name: Misc
monthly_discount:
type: integer
format: int64
x-go-name: MonthlyDiscount
name:
type: string
x-go-name: Name
nearby_content:
type: array
items:
$ref: '#/components/schemas/NearbyContent'
x-go-name: NearbyContent
od_stays_opt_in:
type: boolean
x-go-name: ODStaysOptIn
original_url:
type: string
x-go-name: OriginalURL
owner:
$ref: '#/components/schemas/User'
owner_metric_scores:
description: Debugging
type: object
additionalProperties: {}
x-go-name: OwnerMetricScores
owner_score:
type: number
format: double
x-go-name: OwnerScore
owner_user_id:
type: integer
format: int64
x-go-name: OwnerUserID
parent_id:
description: Grouping
type: integer
format: int64
x-go-name: ParentID
pickup_unavailable:
$ref: '#/components/schemas/BlockedWeekDays'
platform_blocks:
$ref: '#/components/schemas/DateRanges'
position:
description: Score
type: integer
format: int64
x-go-name: Position
preferred_primary_image:
$ref: '#/components/schemas/Image'
prep_fee:
$ref: '#/components/schemas/PrepFee'
presentment_currency:
description: 'json keys are used for elastic serialization AND raw_json=true response.
use omitempty to keep these fields out of elastic since they are calculated'
type: string
x-go-name: PresentmentCurrency
price_estimate:
type: integer
format: int64
x-go-name: PriceEstimate
price_gap:
type: integer
format: int64
x-go-name: PriceGap
price_per_day:
type: integer
format: int64
x-go-name: PricePerDay
price_per_month:
type: integer
format: int64
x-go-name: PricePerMonth
price_per_week:
type: integer
format: int64
x-go-name: PricePerWeek
primary_image_url:
type: string
x-go-name: PrimaryImageURL
pro:
type: boolean
x-go-name: Pro
published:
description: flags
type: boolean
x-go-name: Published
ranking:
type: object
additionalProperties: {}
x-go-name: Ranking
rental_category:
type: string
x-go-name: RentalCategory
rental_price_usage_item:
$ref: '#/components/schemas/UsageBasedItem'
rental_price_usage_item_id:
type: integer
format: int64
x-go-name: RentalPriceUsageItemID
rental_score:
type: number
format: double
x-go-name: RentalScore
rental_views_last_30_days:
type: integer
format: int64
x-go-name: RentalViewsLast30Days
request_less_than_minimum_days:
type: integer
format: int64
x-go-name: RequestLessThanMinimumDays
review_scores:
$ref: '#/components/schemas/ReviewScores'
reviews_num:
type: integer
format: int64
x-go-name: ReviewsNum
same_sort_count:
type: integer
format: int64
x-go-name: SameSortCount
same_sort_types:
type: integer
format: int64
x-go-name: SameSortTypes
score:
type: number
format: double
x-go-name: Score
seatbelts:
type: integer
format: int64
x-go-name: Seatbelts
security_deposit:
type: integer
format: int64
x-go-name: SecurityDeposit
seo_content:
description: SEO Links fetched from the Content index and CMS API during rental indexing
type: object
additionalProperties:
type: array
items:
type: object
additionalProperties: {}
x-go-name: SEOContent
settlement_currency:
type: string
x-go-name: SettlementCurrency
sleeps:
type: integer
format: int64
x-go-name: Sleeps
sleeps_adults:
type: integer
format: int64
x-go-name: SleepsAdults
sleeps_kids:
type: integer
format: int64
x-go-name: SleepsKids
slug:
type: string
x-go-name: Slug
smart_photo_score:
type: number
format: double
x-go-name: SmartPhotoScore
sort_score:
type: number
format: double
x-go-name: SortScore
summary:
type: string
x-go-name: Summary
tags:
$ref: '#/components/schemas/Tags'
tax_rates:
type: array
items:
$ref: '#/components/schemas/TaxRate'
x-go-name: TaxRates
type:
type: string
x-go-name: Type
unavailable:
type: boolean
x-go-name: Unavailable
updated:
type: string
format: date-time
x-go-name: Updated
use_day_pricing:
type: boolean
x-go-name: UseDayPricing
use_tax_inclusive_pricing:
type: boolean
x-go-name: UseTaxInclusivePricing
user_slug:
type: string
x-go-name: UserSlug
vacation_package_min_nightly_rate:
type: integer
format: int64
x-go-name: VacationPackageMinNightlyRate
vacation_package_nightly_rate:
type: integer
format: int64
x-go-name: VacationPackageNightlyRate
vehicle_amps:
type: integer
format: int64
x-go-name: VehicleAmps
vehicle_box_length:
type: number
format: double
x-go-name: VehicleBoxLength
vehicle_class:
type: string
x-go-name: VehicleClass
vehicle_dry_weight:
type: integer
format: int64
x-go-name: VehicleDryWeight
vehicle_gvwr:
type: integer
format: int64
x-go-name: VehicleGVWR
vehicle_height:
type: number
format: double
x-go-name: VehicleHeight
vehicle_length:
type: number
format: double
x-go-name: VehicleLength
vehicle_length_with_hitch:
type: number
format: double
x-go-name: VehicleLengthWithHitch
vehicle_license_plate_state:
type: string
x-go-name: VehicleLicensePlateState
vehicle_make:
type: string
x-go-name: VehicleMake
vehicle_model:
type: string
x-go-name: Vehicl
# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/outdoorsy/refs/heads/main/openapi/outdoorsy-vacationpackages-api-openapi.yml