Outdoorsy Vacation Packages API

The vacationPackages API from Outdoorsy — 3 operation(s) for vacationpackages.

Operations 3

GET /vacation-packages #
GET /vacation-packages/campgrounds #
GET /vacation-packages/rentals #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/outdoorsy-vacationpackages-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

outdoorsy-vacationpackages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Outdoorsy Vacation Packages API
  version: 0.0.1
  description: 'Operations tagged vacationPackages across 2 of this provider''s published API definitions: outdoorsy-search-openapi-original.json, outdoorsy-vacationpackages-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.outdoorsy.com/v0
  description: Base URL declared by the provider in apis.yml (roadmap#122).
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:
  responses:
    jsonApiRentalsSearchResponse:
      description: ''
      content:
        application/vnd.api+json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Rental'
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Rental'
    jsonApiExternalCampgroundsResponse:
      description: ''
      content:
        application/vnd.api+json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Resource'
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Resource'
    jsonApiVacationPackagesResponse:
      description: ''
      content:
        application/vnd.api+json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Resource'
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Resource'
    badRequestError:
      description: Invalid input or state means you're bad
      headers:
        Error:
          schema:
            type: string
  schemas:
    Images:
      description: Images type to handle jsonb images
      type: array
      items:
        $ref: '#/components/schemas/Image'
      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
    Breadcrumb:
      type: object
      x-go-package: github.com/outdoorsy/odc-search/internal/breadcrumb
    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
    Relationships:
      description: http://jsonapi.org/format/#document-resource-object-relationships
      type: object
      title: Relationships represents a JSON API relationships object
      additionalProperties:
        $ref: '#/components/schemas/Relationship'
      x-go-package: github.com/smotes/jsonapi
    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
    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
    AverageReviewsScores:
      type: object
      properties:
        key:
          type: string
          x-go-name: Key
        name:
          type: string
          x-go-name: Name
        percentage:
          type: number
          format: double
          x-go-name: Percentage
        score:
          type: number
          format: double
          x-go-name: Score
      x-go-package: github.com/outdoorsy/odc-search/types
    RentalCatalog:
      type: object
      properties:
        amenities_categories:
          type: array
          items:
            $ref: '#/components/schemas/AmenityCategory'
          x-go-name: AmenitiesCategories
        amenity_groups:
          type: array
          items:
            $ref: '#/components/schemas/AmenityGroup'
          x-go-name: AmenityGroups
        processed_amenities:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ProcessedAmenity'
          x-go-name: ProcessedAmenities
        towable_features:
          type: array
          items:
            $ref: '#/components/schemas/TowableFeature'
          x-go-name: TowableFeatures
      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
    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
    AverageReviews:
      type: object
      properties:
        owner:
          type: array
          items:
            $ref: '#/components/schemas/AverageReviewsScores'
          x-go-name: Owner
        rental:
          type: array
          items:
            $ref: '#/components/schemas/AverageReviewsScores'
          x-go-name: Rental
        score:
          type: number
          format: double
          x-go-name: Score
      x-go-package: github.com/outdoorsy/odc-search/types
    PriceBreakdownResponse:
      type: object
      properties:
        delivery_fee:
          type: integer
          format: int64
          x-go-name: DeliveryFee
        duration:
          type: integer
          format: int64
          x-go-name: Duration
        guest_fee:
          type: integer
          format: int64
          x-go-name: GuestFee
        insurance:
          type: integer
          format: int64
          x-go-name: Insurance
        original_total:
          type: integer
          format: int64
          x-go-name: OriginalTotal
        prep_fee:
          type: integer
          format: int64
          x-go-name: PrepFee
        rental_amount:
          type: integer
          format: int64
          x-go-name: RentalAmount
        rental_amount_per_day:
          type: integer
          format: int64
          x-go-name: RentalAmountPerDay
        rental_id:
          type: integer
          format: int64
          x-go-name: RentalID
        total:
          type: integer
          format: int64
          x-go-name: Total
        use_day_pricing:
          type: boolean
          x-go-name: UseDayPricing
      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
    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: VehicleModel
        vehicle_title:
          type: string
          x-go-name: VehicleTitle
        vehicle_width:
          type: number
          format: double
          x-go-name: VehicleWidth
        vehicle_year:
          type: integer
          format: int64
          x-go-name: VehicleYear
        weekly_discount:
          type: integer
          format: int64
          x-go-name: WeeklyDiscount
      x-go-package: github.com/outdoorsy/odc-search/types
    Review:
      description: Review type
      type: object
      properties:
        avatar_url:
          type: string
          x-go-name: AvatarURL
        cleanliness_score:
          type: number
          format: double
          x-go-name: CleanlinessScore
        communication_score:
          type: number
          format: double
          x-go-name: CommunicationScore
        created:
          type: string
          format: date-time
          x-go-name: Created
        first_name:
          type: string
          x-go-name: FirstName
        geopoint:
          $ref: '#/components/schemas/Geopoint'
        id:
          type: integer
          format: int64
          x-go-name: ID
        images:
          $ref: '#/components/schemas/JSONBStringArr'
        last_name:
          type: string
          x-go-name: LastName
        listing_score:
          type: number
          format: double
          x-go-name: ListingAccuracyScore
        mechanical_score:
          type: number
          format: double
          x-go-name: MechanicalScore
        outdoorsy_only:
          type: boolean
          x-go-name: OutdoorsyOnly
        owner_can_respond:
          type: boolean
          x-go-name: OwnerCanRespond
        owner_response:
          $ref: '#/components/schemas/OwnerReviewResponse'
        rental:
          $ref: '#/components/schemas/Rental'
        rental_id:
          type: integer
          format: int64
          x-go-name: RentalID
        rental_name:
          type: string
          x-go-name: RentalName
        score:
          type: number
          format: double
          x-go-name: Score
        slug:
          type: string
          x-go-name: RentalSlug
        text:
          type: string
          x-go-name: Text
        user_id:
          type: integer
          format: int64
          x-go-name: UserID
        user_recommend:
          type: boolean
          x-go-name: UserRecommend
        value_score:
          type: number
          format: double
          x-go-name: ValueScore
      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
    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
    OwnerReviewResponse:
      type: object
      properties:
        text:
          type: string
          x-go-name: Text
        timestamp:
          type: string
          format: date-time
          x-go-name: Timestamp
      x-go-package: github.com/outdoorsy/odc-search/types
    AmenityGroup:
      type: object
      properties:
        amenities:
          type: array
          items:
            $ref: '#/components/schemas/Amenity'
          x-go-name: Amenities
        group:
          type: string
          x-go-name: Slug
        name:
          type: string
          x-go-name: Name
      x-go-package: github.com/outdoorsy/odc-search/types
    Category:
      type: object
      properties:
        name:
          type: string
          x-go-name: Name
        slug:
          type: string
          x-go-name: Slug
      x-go-package: github.com/outdoorsy/odc-search/types
    SpecialHour:
      description: used to handle special hours for rental
      type: object
      properties:
        drop_off_unavailable:
          type: boolean
          x-go-name: DropOffUnavailable
        end_date:
          type: string
          x-go-name: EndDate
        id:
          type: integer
          format: int64
          x-go-name: ID
        pick_up_unavailable:
          type: boolean
          x-go-name: PickUpUnavailable
        repeats:
          type: boolean
          x-go-name: Repeats
        start_date:
          type: string
          x-go-name: StartDate
      x-go-package: github.com/outdoorsy/odc-search/types
    DateRanges:
      type: array
      items:
        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
    CampgroundCarouselImages:
      type: object
      properties:
        description:
          type: string
          x-go-name: Description
        group

# --- 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