Skip to content

GraphQL Queries

You can find information about the GraphQL schema in the Blueprint GraphQL UI. Click the "Docs" tab to view the schema.

Search for properties

Perform a search for properties based on the filters you provide. This example contains two queries:

  1. categoryInfo - Get information about the categories that are available for a channel.
  2. lodgingProducts - Perform a search for properties based on the filters you provide.
  3. pms_category_values is a sub-category that can be used to access the Property Management System (PMS) category values related to a given item.

You can use the categoryInfo query to get information about the categories that are available for a channel. This information is used to render user interface elements like filters, search, and detail views.

query(
  $channels: ChannelFilter!,
  $categoryFilter: CategoryFilterList,
  $availability: AvailabilityFilter,
  $beds: Range,
  $baths: Range,
  $occ_total: Range,
  $rating: Range,
  $pricing: Range,
  $itemIds: [String],
  $sortBy: [String],
  $sortDir: String
) {
  categoryInfo(channels: $channels) {
    categories {
      id
      name
      description
      values {
        id
        name
        description
        options {
          show_detail
          show_filters
          show_search
        }
      }
      options {
        show_detail
        show_filters
        show_search
        listing_display
      }
    }
  }

  lodgingProducts(
    channels: $channels,
    category_filter: $categoryFilter,
    availability: $availability,
    beds: $beds,
    baths: $baths,
    occ_total: $occ_total,
    itemIds: $itemIds,
    rating: $rating,
    pricing: $pricing,
    sortBy: $sortBy,
    sortDir: $sortDir
  ) {
    results {
      id
      beds
      baths
      name
      half_baths
      occ_total
      occ_adult
      occ_child
      nights_booked
      turn_day

      item {
        pms_category_values {
          value
          category_id
        }
        status
        id
        name
        summary
        description
        remote_id
        status
        type
        search_text
        updated_at
        created_at
        details {
          is_featured
          is_pet_friendly
          disable_online_booking
        }
        tour {
          url
          title
          image_url
        }
        reviewSummary {
          average
          count
        }
        images {
          url
          description
          title
          derivatives
        }
        location {
          latitude
          longitude
        }
        quoteList {
          price_high
          price_low
          savings_high
          savings_low
          begin
          end
          quotes {
            params
            price
            savings
            price_breakdown {
              pricePerNight
              pricePerWeek
              pricePersonPerNight
              pricePerTraveler
              savingsPerWeek
              savingsPersonPerNight
              savingsPerTraveler
              savingsPerNight
            }
          }
        }
        prices {
          begin
          end
          price
          minStay
          maxStay
          type
          currency
        }
        ribbons {
          title
          type
          attributes
        }
      }
    }
    urgency_marketing {
      total_results
      percent_remaining
      number_remaining
    }
  }
}

Quoting a specific property

query(
  $channels: ChannelFilter!,
  $availability: AvailabilityFilter!,
  $params: OrderQuoteFilter!,
  $type: Int!,
  $item_id: String!
) {
  orderQuote(
    channels: $channels,
    params: $params,
    type: $type,
    item_id: $item_id
  ) {
    error
    total
    terms
    insuranceOptions {
      base
      total
      tax
      savings
      savings_total
      savings_tax
      currency
      name
      id
      description
      provider
      source
      option
      accepted
      declined
      refundable
    }
    damageWaiverOptions {
      base
      total
      tax
      savings
      savings_total
      savings_tax
      currency
      name
      id
      description
      provider
      source
      option
      accepted
      declined
      refundable
    }
    subtotal
    savings
    tax
    currency
    source
    provider
    scheduledPayments {
      amount
      amountPaid
      currency
      name
      id
      description
      provider
      source
      due
      dueDate
    }
    charges {
      base
      total
      tax
      savings
      savings_total
      savings_tax
      currency
      name
      id
      description
      provider
      source
      option
      accepted
      declined
      refundable
    }
  }
}

Getting the static availability for a property

query ($channels: ChannelFilter!, $itemIds: [String],$sortBy:[String],$sortDir:String) {
  lodgingProducts(channels: $channels, itemIds: $itemIds,sortBy:$sortBy,sortDir:$sortDir)  {
    results {
      id
      name
      item {
        availability {
          begin
          end
          available
          quantity
          status
        }
        restrictions {
          begin
          end
          minStay
          maxStay
          turnDay
          increment
        }
        turnover {
          begin
          end
          status
        }
      }
    }
  }
}

Get the static rates for a property

query ($channels: ChannelFilter!, $itemIds: [String],$sortBy:[String],$sortDir:String) {
  lodgingProducts(channels: $channels, itemIds: $itemIds,sortBy:$sortBy,sortDir:$sortDir)  {
    results {
      id
      name
      item {
        prices {
          begin
          end
          minStay
          maxStay
          type
          price
          currency
        }
      }
    }
  }
}

Get LOS Prices for a property

query ($channels: ChannelFilter!, $itemIds: [String]) {
  lodgingProducts(channels: $channels, itemIds: $itemIds)  {
    results {
      id
      name
      item {
        losPrices {
          begin
          currency
          occupancy
          price1
          price2
          price3
          price4
          price5
          price6
          # Up to `price31`
        }
      }
    }
  }
}

Get the reviews for a property

query ($channels: ChannelFilter!, $itemIds: [String],$sortBy:[String],$sortDir:String) {
  lodgingProducts(channels: $channels, itemIds: $itemIds,sortBy:$sortBy,sortDir:$sortDir) {
    results {
      id
      name
      item {
        id
        reviews {
          id
          created_at
          updated_at
          arrival
          departure
          review_date
          rating
          headline
          comment
          response
          source
          guest_name
          guest_country
          guest_city
          guest_state
          sub_ratings
        }
        reviewSummary {
          average
          count
        }
      }
    }
  }
}

Get Raw PMS Category Data for an Engine

  1. PropertyManagementSystemCategories - Get information about the PMS data values for categories. This bypasses the need for channels or custom categories.

  2. Items can be fetched alongside the PMS categories returned. These relationships are based on the scyned category relationships in the Larry database that the PMS supplied per refresh-cycle.

  3. Items can be fetched for both the parent categories as well as the values on a given category.

query($engineProvider:String!, $engineSource:String!, $engineFeedContext:String!) {
    PropertyManagementSystemCategories(engineProvider:$engineProvider,engineFeedContext: $engineFeedContext,engineSource:$engineSource) {
            categories {
        cat_id,
        name,
        category_id,
        engine_id,
        values {
          value,
          category_id,
          engine_id,
          detail

          // Items per category value.
          items {
            remote_id
            name
          }
        }
        // Items per parent category.
        items {
          remote_id
          name
        }
      }
        }
    }

-- Example Variables --

{
  "engineSource": "3048",
  "engineProvider": "streamline",
  "engineFeedContext": "hub"
}

-- Example Response --

{
  "data": {
    "PropertyManagementSystemCategories": {
      "categories": [
        {
          "name": "Changeover/Arrival Day",
          "category_id": 152707,
          "engine_id": 370,
          "values": [
            {
              "value": "24Hr Check-In",
              "category_id": 152707,
              "engine_id": 370,
              "detail": null,
              "items": [
                {
                  "remote_id": "586366",
                  "name": "Sweet Spot"
                },
                {
                  "remote_id": "853855",
                  "name": "Bella House"
                },
                {
                  "remote_id": "586376",
                  "name": "Wolfe Street"
                },
                {
                  "remote_id": "586378",
                  "name": "Lily Cabin"
                },
                {
                  "remote_id": "799342",
                  "name": "White Lotus"
                },
                {
                  "remote_id": "586339",
                  "name": "Modern Paradise"
                },
                {
                  "remote_id": "586127",
                  "name": "Beverly Wilton"
                },
                {
                  "remote_id": "886188",
                  "name": "The Bohemian"
                },
                {
                  "remote_id": "791932",
                  "name": "Mimosa Manor"
                },
                {
                  "remote_id": "926409",
                  "name": "Surf, Sun & Sea"
                },
                {
                  "remote_id": "586096",
                  "name": "Avenue One"
                },
                {
                  "remote_id": "586117",
                  "name": "Bahama Breeze"
                },
                {
                  "remote_id": "586122",
                  "name": "Beach Bunny"
                },
                {
                  "remote_id": "586129",
                  "name": "Casa Del Sol"
                },
                {
                  "remote_id": "586130",
                  "name": "Coconut Cottage"
                },
                {
                  "remote_id": "586322",
                  "name": "Flirty Flamingo"
                },
                {
                  "remote_id": "586326",
                  "name": "Happy Daze"
                },
                {
                  "remote_id": "586336",
                  "name": "Manatee Harbor"
                },
                {
                  "remote_id": "586338",
                  "name": "Martell House"
                },
                {
                  "remote_id": "586340",
                  "name": "Palm Terrace"
                },
                {
                  "remote_id": "586342",
                  "name": "River House"
                },
                {
                  "remote_id": "586343",
                  "name": "Tydes Inn"
                },
                {
                  "remote_id": "586350",
                  "name": "Three Palms"
                },
                {
                  "remote_id": "586360",
                  "name": "Paradise Found"
                },
                {
                  "remote_id": "586363",
                  "name": "Pineapple Paradise"
                },
                {
                  "remote_id": "586364",
                  "name": "Serendipity"
                },
                {
                  "remote_id": "586365",
                  "name": "Serenity Place"
                },
                {
                  "remote_id": "586367",
                  "name": "Bungalow"
                },
                {
                  "remote_id": "586369",
                  "name": "Floridian"
                },
                {
                  "remote_id": "770471",
                  "name": "Pelican Landing"
                },
                {
                  "remote_id": "883994",
                  "name": "Endless Summer"
                },
                {
                  "remote_id": "945570",
                  "name": "Southern Comfort"
                },
                {
                  "remote_id": "910926",
                  "name": "Blue Haven"
                },
                {
                  "remote_id": "935071",
                  "name": "Canary House"
                },
                {
                  "remote_id": "951583",
                  "name": "Sapphire"
                }
              ]
            }
          ]
        },
        {
          "name": "Cleanliness",
          "category_id": 152708,
          "engine_id": 370,
          "values": [
            {
              "value": "Enhanced Cleaning Practices",
              "category_id": 152708,
              "engine_id": 370,
              "detail": null,
              "items": [
                {
                  "remote_id": "586366",
                  "name": "Sweet Spot"
                },
                {
                  "remote_id": "853855",
                  "name": "Bella House"
                },
                {
                  "remote_id": "586376",
                  "name": "Wolfe Street"
                },
                {
                  "remote_id": "586378",
                  "name": "Lily Cabin"
                },
                {
                  "remote_id": "799342",
                  "name": "White Lotus"
                },
                {
                  "remote_id": "586339",
                  "name": "Modern Paradise"
                },
                {
                  "remote_id": "586127",
                  "name": "Beverly Wilton"
                },
                {
                  "remote_id": "886188",
                  "name": "The Bohemian"
                },
                {
                  "remote_id": "791932",
                  "name": "Mimosa Manor"
                },
                {
                  "remote_id": "926409",
                  "name": "Surf, Sun & Sea"
                },
                {
                  "remote_id": "586096",
                  "name": "Avenue One"
                },
                {
                  "remote_id": "586117",
                  "name": "Bahama Breeze"
                },
                {
                  "remote_id": "586122",
                  "name": "Beach Bunny"
                },
                {
                  "remote_id": "586129",
                  "name": "Casa Del Sol"
                },

            ...

Get Items by PMS Source, Feed Context, and Provider

  • A PMS provider is the underlying API such as:
  • "streamline",
  • "track",
  • "vrm",
  • "evrn",
  • "haxml"

  • Feed Context will relate to your platform.

  • For NGN sites, feed context is ngn
  • For IMEG sites, feed context is hub
  • For Boost, feed context is boost

  • The PMS Source, or Engine Source, is the internal source ID for the given PMS connection.

  • Example streamline source: "166ghi"

--- Example Query ---

query ($engineFilter:EngineFilter!, $sortBy: [String], $sortDir: String) {
  lodgingProductsByEngine(engines:$engineFilter, sortBy:$sortBy, sortDir:$sortDir){
    results {
      item {
        name
        engine {
          provider
          source
        }
      }
    }
  }
}

--- Example Variable Payload ---

{
  "engineFilter": {
    "sources": ["166ghi"],
    "providers": ["streamline"],
    "feed_context": "hub"
  },
  "sortBy": "name",
  "sortDir": "desc"
}

--- Example Response ---

{
  "data": {
    "lodgingProductsByEngine": {
      "results": [
        {
          "item": {
            "name": "627 El Matador",
            "engine": {
              "provider": "streamline",
              "source": "166ghi"
            }
          }
        },
        {
          "item": {
            "name": "627 El Matador",
            "engine": {
              "provider": "streamline",
              "source": "166ghi"
            }
          }
        },
        {
          "item": {
            "name": "626 El Matador",
            "engine": {
              "provider": "streamline",
              "source": "166ghi"
            }
          }
          ...
        }
      ]
    }
  }
}

Get Items by Remote PMS ID

The lodgingProductsByRemoteId allows fetching of items by their remote PMS ID. This returns specified details about an item based on the itemIds argument passed. The engineFeedContext value is required in order to target the proper data feed ("boost", "ngn", "hub", etc.)

  • source - this is the PMS Connection source (i.e "525ghi")
  • This should be used when wanting to scope units returned to specific providers and not just the remote PMS ID (as this is not inherently unique.)
  • provider - this is the PMS Connection provider (i.e. "streamline", "evrn", "haxml", "track", "vrm", etc.)
  • Similar to source, used to scope the results to the given provider.
  • Additional arguments include status which can be used to include unpublished properties. Default is to exclude unpublished properties.
  • Sort options include sortBy which can sort by an returned field on the data as well as sortDir which can be either desc or asc.

--- Example Payload ---

query {
 lodgingProductsByRemoteId (itemIds:["948324"], source:"525ghi", provider: "streamline", engineFeedContext:"ngn", status: 1, sortBy:["name"],sortDir:"desc") {
    results {
        name,
      remote_id,
      id,
      category_values {
        value {
          id
          name
          description
        } 
      },
      location {
        latitude
        longitude
        address_lines
        country
        city
        province
        postal
      },
      engine {
        source,
        provider,
      }
    }
    } 
}

--- Example Response ---

{
  "data": {
    "lodgingProductsByRemoteId": {
      "results": [
        {
          "name": "March 17 2025 Release",
          "remote_id": "948324",
          "id": "SXRlbToyMDYw",
          "category_values": [],
          "location": {
            "latitude": null,
            "longitude": null,
            "address_lines": "",
            "country": "US",
            "city": "Schenectady",
            "province": "NY",
            "postal": "12345"
          },
          "engine": {
            "source": "525ghi",
            "provider": "streamline"
          }
        }
      ]
    }
  }
}

Fetching Items by Amenities

  • categoryValueIds - the internal Larry ID for the category value.
  • ldrcCategoryIds - represents the LDResCore internal ID to filter by. For example: streamline_client_1 or ldrc_amenity
  • engineFeedContext - required to determine which context items will be pulled from. Defaults to hub.
  • status - if the units pulled in should all be active (1) or not (0).
  • source - the connection source.
  • provider - the PMS provider type.
  • sortBy - the result value to sort by (i.e. "name").
  • sortDir - the direction to sort ("desc" or "asc").

--- Example Query ---

query {
  lodgingProductsByAmenity (ldrcCategoryIds: ["streamline_client_1"], provider: "streamline", source: "525ghi", engineFeedContext: "ngn") {
    results {
      name
      engine {
        provider
        source
      }
    }
  }
}

--- Alternate Query Using categoryValueIds ---

query {
  lodgingProductsByAmenity (categoryIds: ["1371"], provider: "streamline", source: "525ghi", engineFeedContext: "ngn") {
    results {
      name
      engine {
        provider
        source
      }
    }
  }
}

--- Example Response ---

{
  "data": {
    "lodgingProductsByAmenity": {
      "results": [
        {
          "name": "Humphries' Manor",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Nordhausen's Studio Apartment",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "HostAI Test Property C",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "HostAI Test Property B",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "HostAI Test Property A",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "March 17 2025 Release",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Fuze Tea",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "?Tiger?Lion",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "BSHGoats?",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "PMS UI",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "New Operto Property C",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "New Operto Property B",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "New Operto Property A",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "KEYCO API Test Property - Miami Beachfront Villa",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Holland",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Resort Room 3 - Thumbnail API Test",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Bounce House in Backyard - Property D",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "At Sea on East Coast - Property C",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Annex Vancouver One Bedroom - Property B",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Amsterdam Canal House - Property A",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Enso Vacation Rental",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Modern Mansion",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Modern Mansion",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "bsHome",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "pms",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Ai Host Test Home",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Champions League",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "DeleteME",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "TobeDeleted",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "OanaStreamlinetestinglongcharacte",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Streamlinetestinglongcharacterss",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Real Madrid",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Nordhausen's Retreat",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Zizu",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Rocinante",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Gibbs",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Peace List Streamline",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Zidane",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Demo Home_1",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Selam Qa Unit",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Qa OanaInt",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Oana Teststremlinevdoi",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Oana Streamlinetest",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Stopping Video",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Ronaldo Listing Edit",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Selam Streamline Qa",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "New Cluster",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Gilson Streamline",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Streamline Oct 26 Unit 1",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Release 2022.7(17.08) - Smoke",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "V2022.7",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Autohost House - Test",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Serenity 2",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "New House",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Peanuts Testing",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Unit Test Qa",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "College Weekend",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Bluetent",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "PROD Streamline Testing",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "QA Streamline Testing",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "INT Streamline Testing",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Condo 8929",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Condo Suite 1430",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Penthouse 10001",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Condo 2548",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Modern Mansion",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Nirvana",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Blue Creek Cabin",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        }
      ]
    }
  }
}

Fetching Total Count of Items by Amenity

Similar to the above query, one can add the count attribute to the desired response to receive the number of items that belong to a specific amenity or list of amenity IDs.

--- Example Query ---

query {
  lodgingProductsByAmenity (categoryIds: ["267"], provider: "streamline", source: "525ghi", engineFeedContext: "ngn") {
    results {
      name
      engine {
        provider
        source
      }
    }
    count
  }
}

--- Alternate Example with LDResCore ID ---

query {
  lodgingProductsByAmenity (ldrcCategoryIds: ["streamline_client_36"], provider: "streamline", source: "525ghi", engineFeedContext: "ngn") {
    results {
      name
      engine {
        provider
        source
      }
    }
    count
  }
}

--- Example Response ---

{
  "data": {
    "lodgingProductsByAmenity": {
      "results": [
        {
          "name": "Modern Mansion",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Modern Mansion",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Modern Mansion",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        },
        {
          "name": "Blue Creek Cabin",
          "engine": {
            "provider": "streamline",
            "source": "525ghi"
          }
        }
      ],
      "count": 4
    }
  }
}

Fetching Fees by Engine

  • engines - Filter by engine (PMS connection) criteria.
  • in_rent - Filter by fee's in_rent status.
  • item_status - Filter by the associated item's status
  • distinct - Enable distinct results meaning rows will be unique for the selected fields (no duplicate rows).
  • sortBy - The result value to sort by (i.e. ["name", "category", etc]).
  • sortDir - The direction to sort ("desc" or "asc").

--- Example Query ---

query (
  $engineFilter:EngineFilter!, 
  $in_rent:Boolean, 
  $item_status:Int, 
  $sortBy:[String], 
  $sortDir:String, 
  $distinct:Boolean
) {
  feesByEngine(
    engines:$engineFilter, 
    in_rent:$in_rent, 
    item_status:$item_status, 
    sortBy:$sortBy, 
    sortDir:$sortDir, 
    distinct:$distinct
  ) {
    name,
    category,
    basis,
    type,
    amount,
    min_stay,
    max_stay
  }
}

--- Example Variable Payload ---

{
  "engineFilter": {
    "sources": [],
    "providers": [],
    "feed_context": "boost",
    "ids": [
      261
    ]
  },
  "distinct": true,
  "in_rent": false,
  "item_status": 1,
  "sortBy": ["name"],
  "sortDir": "asc"
}

--- Example Response ---

{
  "data": {
    "feesByEngine": [
      {
        "name": "Cleaning Fee",
        "category": "CLEANING",
        "basis": 128,
        "type": 1,
        "amount": 10,
        "min_stay": null,
        "max_stay": null
      },
      {
        "name": "Cleaning Fee",
        "category": "CLEANING",
        "basis": 128,
        "type": 1,
        "amount": 100,
        "min_stay": null,
        "max_stay": null
      },
      {
        "name": "No Tax Damage Waiver",
        "category": "WAIVER_DAMAGE",
        "basis": 128,
        "type": 1,
        "amount": 100,
        "min_stay": null,
        "max_stay": null
      },
      {
        "name": "No Tax Damage Waiver nobun",
        "category": "VEHICLE",
        "basis": 128,
        "type": 1,
        "amount": 100,
        "min_stay": null,
        "max_stay": null
      }
    ]
  }
}

Fetching Taxes by Engine

  • engines - Filter by engine (PMS connection) criteria.
  • item_status - Filter by the associated item's status.
  • distinct - Enable Boost-style distinct results. When enabled, taxes are unique by name, amount, and type; on_rent and on_fees are combined when duplicate taxes differ by those flags.
  • sortBy - The result value to sort by (i.e. ["name", "amount", etc]).
  • sortDir - The direction to sort ("desc" or "asc").
  • on_rent - Optional filter by whether the tax applies to rent.
  • on_fees - Optional filter by whether the tax applies to fees.

--- Example Query ---

query (
  $engineFilter: EngineFilter!,
  $item_status: Int,
  $sortBy: [String],
  $sortDir: String,
  $distinct: Boolean
) {
  taxesByEngine(
    engines: $engineFilter,
    item_status: $item_status,
    sortBy: $sortBy,
    sortDir: $sortDir,
    distinct: $distinct
  ) {
    name
    amount
    type
    on_rent
    on_fees
  }
}

--- Example Variable Payload ---

{
  "engineFilter": {
    "sources": [],
    "providers": [],
    "feed_context": "ngn",
    "ids": [
      291
    ],
    "names": []
  },
  "distinct": true,
  "item_status": 1,
  "sortBy": ["name"],
  "sortDir": "asc"
}

--- Example Response ---

{
  "data": {
    "taxesByEngine": [
      {
        "name": "County Lodging Tax",
        "amount": 4.25,
        "type": 0,
        "on_rent": true,
        "on_fees": true
      },
      {
        "name": "Flat Resort Tax",
        "amount": 25,
        "type": 1,
        "on_rent": true,
        "on_fees": false
      },
      {
        "name": "Local Occupancy Tax",
        "amount": 12.5,
        "type": 0,
        "on_rent": true,
        "on_fees": true
      }
    ]
  }
}