schema.orgjson-ldgoogle-rich-snippetsstructured-data

How to markup (using JSON-LD) a Service to show price within a LocalBusiness in Schema.org?


When I test this code in validator, I am getting WARNING for the property price and the property priceCurrency. How do I fix this? Thank you.

The property price is not recognized by the schema (e.g. schema.org) for an object of type Service.

<script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "LocalBusiness",
    "name" : "Charlotte Property Management",
    "hasOfferCatalog": {
        "@type": "OfferCatalog",
        "name": "Charlotte Property Management Plans",
        "itemListElement": [
              {
                "@type": "Offer",
                "itemOffered": {
                "@type": "Service",
                  "name": "Silver Plan",
                  "description": " Our Silver Plan is developed for early-stage investors seeking to learn the intricacies of investment property management but with an added protection layer of professional oversight by our experienced team. This plan is perfect for DIY investment enthusiasts.",
                  "price": "49",
                  "priceCurrency": "USD"
                }
              },
              {
                "@type": "Offer",
                "itemOffered": {
                  "@type": "Service",
                  "name": "Gold Plan",
                  "description": "The Gold Plan is designed for investors who value their time, treating their investment property as a business. If you are looking to delegate all aspects of property management and maintenance to our experienced team, while you focus on what matters in your life, this program is for you. Our Investment property acquisition, sale, and consulting services are included in this program.",
                  "price": "99",
                  "priceCurrency": "USD"
                }
              },
              {
                "@type": "Offer",
                "itemOffered": {
                  "@type": "Service",
                  "name": "Platinum Plan",
                  "description": "The Platinum Plan is designed for the avid investor who is actively looking to build wealth by growing their Real Estate investment portfolio. The program includes full professional management services backed by our Uninterrupted Rent and Eviction Guarantees. Our Investment property acquisition, sale, and consulting services are included in this program.",
                  "price": "249",
                  "priceCurrency": "USD"
                }
              },
              {
                "@type": "Offer",
                "itemOffered": {
                  "@type": "Service",
                  "name": "Guaranteed Income Plan",
                  "description": "On the other hand, our Guaranteed Income Plan is a non-property management plan designed to free up your schedule, avoid rental income fluctuations, and make your rental property a continuously profitable investment.",
                  "price": "Custom",
                  "priceCurrency": "USD"
                }
              }       
            ]
    }
}
</script>

Solution

  • In the markup, properties price and priceCurrency are located/belong to the Service object/type, which does not contain such properties. Those properties belong to the Offer, so they should be moved accordingly.

    So just move them one level up, outside of the Service, so that they belong to the Offer object/type:

    <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "LocalBusiness",
        "name" : "Charlotte Property Management",
        "hasOfferCatalog": {
            "@type": "OfferCatalog",
            "name": "Charlotte Property Management Plans",
            "itemListElement": [
                  {
                    "@type": "Offer",
                    "itemOffered": {
                    "@type": "Service",
                      "name": "Silver Plan",
                      "description": " Our Silver Plan is developed for early-stage investors seeking to learn the intricacies of investment property management but with an added protection layer of professional oversight by our experienced team. This plan is perfect for DIY investment enthusiasts."
                    },
                      "price": "49",
                      "priceCurrency": "USD"                
                  },
                  {
                    "@type": "Offer",
                    "itemOffered": {
                      "@type": "Service",
                      "name": "Gold Plan",
                      "description": "The Gold Plan is designed for investors who value their time, treating their investment property as a business. If you are looking to delegate all aspects of property management and maintenance to our experienced team, while you focus on what matters in your life, this program is for you. Our Investment property acquisition, sale, and consulting services are included in this program."
                    },
                      "price": "99",
                      "priceCurrency": "USD"                
                  },
                  {
                    "@type": "Offer",
                    "itemOffered": {
                      "@type": "Service",
                      "name": "Platinum Plan",
                      "description": "The Platinum Plan is designed for the avid investor who is actively looking to build wealth by growing their Real Estate investment portfolio. The program includes full professional management services backed by our Uninterrupted Rent and Eviction Guarantees. Our Investment property acquisition, sale, and consulting services are included in this program."
                    },
                      "price": "249",
                      "priceCurrency": "USD"                
                  },
                  {
                    "@type": "Offer",
                    "itemOffered": {
                      "@type": "Service",
                      "name": "Guaranteed Income Plan",
                      "description": "On the other hand, our Guaranteed Income Plan is a non-property management plan designed to free up your schedule, avoid rental income fluctuations, and make your rental property a continuously profitable investment."
                    },
                      "price": "Custom",
                      "priceCurrency": "USD"                
                  }       
                ]
        }
    }
    </script>