{
    "id": "https://schema.org.uk/schemas/photographer/1.0",
    "version": "1.0",
    "name": "Photographer Schema",
    "description": "The Photographer Schema organises photographer identity, contact, location, opening hours, photography, and client information into a consistent format, using Schema.org vocabulary where applicable.",
    "sections": [
        {
            "name": "Identity",
            "key": "identity",
            "attributes": [
                {
                    "name": "photographer.id",
                    "label": "Identifier",
                    "description": "The permanent unique identifier already assigned to the photographer. JSON-LD states the same value as @id. The identifier is not calculated from the name, telephone, or address.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": true,
                    "schema_org": "@id"
                },
                {
                    "name": "photographer.title",
                    "label": "Title",
                    "description": "The name of the photographer.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": true,
                    "schema_org": "name"
                },
                {
                    "name": "photographer.description",
                    "label": "Description",
                    "description": "A text description of the photographer.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "description"
                }
            ]
        },
        {
            "name": "Incorporation details",
            "key": "company",
            "attributes": [
                {
                    "name": "photographer.company.name",
                    "label": "Company name",
                    "description": "The registered company name, when the business is registered at Companies House and states that name. A missing value stays unknown. This is not the trading name. JSON-LD uses legalName.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "legalName",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "photographer.company.number",
                    "label": "Company number",
                    "description": "The company number, when the business is registered at Companies House and states that number. A missing value stays unknown. This is not a VAT number. When a number is stated, JSON-LD uses a PropertyValue named companyNumber.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "additionalProperty",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "photographer.company.incorporated_on",
                    "label": "Incorporation date",
                    "description": "The incorporation date, when the business is registered at Companies House and states that date. A missing date stays unknown. JSON-LD uses foundingDate for that stated date.",
                    "data_type": "date",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "foundingDate",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "photographer.company.vat",
                    "label": "VAT number",
                    "description": "The VAT number, when the business is registered for VAT and states that number. A missing value stays unknown. This is not the company number. JSON-LD uses vatID.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "vatID",
                    "component": "https://schema.org.uk/schemas/components/company"
                }
            ]
        },
        {
            "name": "Contact",
            "key": "contact",
            "attributes": [
                {
                    "name": "photographer.contact.phone",
                    "label": "Phone",
                    "description": "The telephone number of the photographer.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "telephone",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "photographer.contact.url",
                    "label": "Url",
                    "description": "The website address of the photographer.",
                    "data_type": "url",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "url",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "photographer.contact.social",
                    "label": "Social profiles",
                    "description": "Official profiles of the business on third-party social platforms. Excludes the business's own website (see contact.url) and booking or review listings. Each entry has a platform and the absolute https address of the business's own profile. The platform is facebook, instagram, x, linkedin, tiktok, youtube, threads, pinterest, or other. A platform is listed once, except other. The address must use that platform's site. A share or post address is omitted. An entry may also record source, date, confidence, and verification status. JSON-LD uses sameAs for each accepted address.",
                    "data_type": "list",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "sameAs",
                    "component": "https://schema.org.uk/schemas/components/contact",
                    "entry": {
                        "data_type": "object",
                        "fields": [
                            {
                                "name": "platform",
                                "data_type": "text",
                                "values": [
                                    "facebook",
                                    "instagram",
                                    "x",
                                    "linkedin",
                                    "tiktok",
                                    "youtube",
                                    "threads",
                                    "pinterest",
                                    "other"
                                ]
                            },
                            {
                                "name": "url",
                                "data_type": "url"
                            },
                            {
                                "name": "source",
                                "data_type": "text"
                            },
                            {
                                "name": "date",
                                "data_type": "date"
                            },
                            {
                                "name": "confidence",
                                "data_type": "text",
                                "values": [
                                    "high",
                                    "medium",
                                    "low"
                                ]
                            },
                            {
                                "name": "verification_status",
                                "data_type": "text",
                                "values": [
                                    "stated",
                                    "verified",
                                    "unknown"
                                ]
                            }
                        ]
                    }
                },
                {
                    "name": "photographer.contact.listings",
                    "label": "Booking and review listings",
                    "description": "Profiles of the business on booking and review platforms. Excludes the business's own website (see contact.url) and official social profiles (see contact.social). Each entry has a platform and the absolute https address of the business's own profile. The platform is tripadvisor, booking_com, google_business_profile, opentable, or other. A platform is listed once, except other. The address must use that platform's site. A share or post address is omitted. An entry may also record source, date, confidence, and verification status. JSON-LD uses sameAs for each accepted address.",
                    "data_type": "list",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "sameAs",
                    "component": "https://schema.org.uk/schemas/components/contact",
                    "entry": {
                        "data_type": "object",
                        "fields": [
                            {
                                "name": "platform",
                                "data_type": "text",
                                "values": [
                                    "tripadvisor",
                                    "booking_com",
                                    "google_business_profile",
                                    "opentable",
                                    "other"
                                ]
                            },
                            {
                                "name": "url",
                                "data_type": "url"
                            },
                            {
                                "name": "source",
                                "data_type": "text"
                            },
                            {
                                "name": "date",
                                "data_type": "date"
                            },
                            {
                                "name": "confidence",
                                "data_type": "text",
                                "values": [
                                    "high",
                                    "medium",
                                    "low"
                                ]
                            },
                            {
                                "name": "verification_status",
                                "data_type": "text",
                                "values": [
                                    "stated",
                                    "verified",
                                    "unknown"
                                ]
                            }
                        ]
                    }
                },
                {
                    "name": "photographer.contact.email",
                    "label": "Email",
                    "description": "An email address for the photographer, when one is stated. Leave it empty when none is known.",
                    "data_type": "email",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "email",
                    "component": "https://schema.org.uk/schemas/components/contact"
                }
            ]
        },
        {
            "name": "Location and coordinates",
            "key": "location_and_coordinates",
            "attributes": [
                {
                    "name": "photographer.location.address",
                    "label": "Address",
                    "description": "The postal address of the photographer. The original address line stays intact.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "address"
                },
                {
                    "name": "photographer.location.latitude",
                    "label": "Latitude",
                    "description": "The WGS84 latitude of the photographer.",
                    "data_type": "number",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "latitude"
                },
                {
                    "name": "photographer.location.longitude",
                    "label": "Longitude",
                    "description": "The WGS84 longitude of the photographer. A coordinate pair is required before JSON-LD includes GeoCoordinates.",
                    "data_type": "number",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "longitude"
                },
                {
                    "name": "photographer.location.postcode",
                    "label": "Postcode",
                    "description": "The UK postcode when one postcode is present in the postal address.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "postalCode",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "photographer.location.street",
                    "label": "Street",
                    "description": "The street line when the postal address separates it from the town. A borough is not the street.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "streetAddress",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "photographer.location.locality",
                    "label": "Locality",
                    "description": "The town or city when the postal address states it as its own part. A borough is not the locality.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "addressLocality",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "photographer.location.region",
                    "label": "Region",
                    "description": "The county or region when the postal address states it as its own part. A media-market code is not a region and is left empty.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "addressRegion",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "photographer.location.country",
                    "label": "Country",
                    "description": "The country when the address states it. A two-letter country code is recorded as the country name. Leave it empty when the country is not stated.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "addressCountry",
                    "component": "https://schema.org.uk/schemas/components/address"
                }
            ]
        },
        {
            "name": "Opening hours",
            "key": "opening_hours",
            "attributes": [
                {
                    "name": "photographer.hours.opening",
                    "label": "Opening hours",
                    "description": "The regular opening hours when a weekly timetable states each open day and its opening and closing times. A current open or closed status is not opening hours. Busy periods are not opening hours. A day with no stated times is left empty.",
                    "data_type": "object",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "openingHoursSpecification"
                }
            ]
        },
        {
            "name": "Images",
            "key": "images",
            "attributes": [
                {
                    "name": "photographer.image.logo",
                    "label": "Logo",
                    "description": "The address of the photographer logo, when one is stated. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "logo"
                },
                {
                    "name": "photographer.image.main",
                    "label": "Main image",
                    "description": "The address of the main image of the photographer, when one is stated. A count of photographs is not an image. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "image",
                    "component": "https://schema.org.uk/schemas/components/image"
                }
            ]
        },
        {
            "name": "Reputation",
            "key": "review_statistics",
            "attributes": [
                {
                    "name": "photographer.review.rating",
                    "label": "Review rating",
                    "description": "A review score from one provider. It is not a qualification or an award. A scale is recorded only when that provider states it. The score stays in the native record and is not copied into the core business JSON-LD.",
                    "data_type": "number",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "ratingValue",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "photographer.review.count",
                    "label": "Review count",
                    "description": "The number of reviews accompanying a review rating from the same provider. It is not calculated from another provider.",
                    "data_type": "integer",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "reviewCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "photographer.review.rating_count",
                    "label": "Rating count",
                    "description": "The number of ratings when the provider states it separately from the number of reviews. It is not calculated from the distribution.",
                    "data_type": "integer",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "ratingCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "photographer.review.distribution",
                    "label": "Rating distribution",
                    "description": "Numbers recorded against scores 1 to 5. They are not the review count. Schema.org has no single property for the five counts, so this stays unmapped.",
                    "data_type": "object",
                    "scope": "photographer",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "photographer.review.scale",
                    "label": "Rating scale",
                    "description": "The lowest and highest points of a review scale, when the scale is stated. Schema.org records those points as separate properties, so this attribute is not given one of them.",
                    "data_type": "object",
                    "scope": "photographer",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "photographer.review.provider",
                    "label": "Review provider",
                    "description": "The organisation that published these figures. Figures from another provider are a separate observation and are not averaged together.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "photographer.review.observed_on",
                    "label": "Observation date",
                    "description": "The date on which these figures were observed, when that date is stated.",
                    "data_type": "date",
                    "scope": "photographer",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                }
            ]
        },
        {
            "name": "Price",
            "key": "price",
            "attributes": [
                {
                    "name": "photographer.price_range",
                    "label": "Price level",
                    "description": "A price indication using £, ££, or £££. Leave it empty when none is stated. This is not a fee.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "priceRange"
                }
            ]
        },
        {
            "name": "Photography",
            "key": "services",
            "attributes": [
                {
                    "name": "photographer.service.children",
                    "label": "Children and baby photography",
                    "description": "Whether the photographer photographs children and babies. Newborn photography is separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.family",
                    "label": "Family portrait photography",
                    "description": "Whether the photographer takes a family portrait. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.downloads",
                    "label": "Digital image downloads",
                    "description": "Whether the photographer provides the photographs as a digital download. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.printing",
                    "label": "Photo printing",
                    "description": "Whether the photographer prints photographs, including a canvas, wall art, a framed print, a document, or a business card. Framing as a separate service is distinct. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.events",
                    "label": "Event and team photography",
                    "description": "Whether the photographer photographs an event or a team, including a group and a launch. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.location",
                    "label": "On-location and outdoor shoots",
                    "description": "Whether the photographer photographs away from a studio, including outdoors and in a garden. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.weddings",
                    "label": "Wedding photography",
                    "description": "Whether the photographer photographs a wedding. Designing a wedding album is included. A pre-wedding shoot is separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.newborn",
                    "label": "Newborn photography",
                    "description": "Whether the photographer photographs a newborn. Teaching newborn photography is included. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.maternity",
                    "label": "Maternity photography",
                    "description": "Whether the photographer photographs a maternity session. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.pets",
                    "label": "Pet photography",
                    "description": "Whether the photographer photographs pets, including horses. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.headshots",
                    "label": "Corporate and business headshots",
                    "description": "Whether the photographer takes a headshot for a business or an actor. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.home",
                    "label": "Home photo sessions",
                    "description": "Whether the photographer photographs people at their home. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.editing",
                    "label": "Photo editing, retouching and restoration",
                    "description": "Whether the photographer edits, retouches, or restores a photograph. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.albums",
                    "label": "Photo books and albums",
                    "description": "Whether the photographer makes a photo book or an album. A wedding album designed as part of wedding photography is separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.framing",
                    "label": "Picture framing",
                    "description": "Whether the photographer frames a photograph or repairs a frame. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.passport",
                    "label": "Passport and ID photos",
                    "description": "Whether the photographer takes a passport or identity photograph, including one for a child, and whether those photographs are accepted. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.viewing",
                    "label": "Photo viewing session",
                    "description": "Whether the photographer holds a session to view the photographs, including a slideshow. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.delivery",
                    "label": "Home delivery of prints",
                    "description": "Whether the photographer delivers prints to a home. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.schools",
                    "label": "Nursery, preschool and school photography",
                    "description": "Whether the photographer photographs a nursery, a preschool, or a school. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.branding",
                    "label": "Branding photography",
                    "description": "Whether the photographer takes photographs for a brand, including a personal brand. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.product",
                    "label": "Product and food photography",
                    "description": "Whether the photographer photographs products or food. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.engagement",
                    "label": "Engagement and pre-wedding shoots",
                    "description": "Whether the photographer photographs an engagement or a shoot before a wedding. The wedding itself is separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.cake",
                    "label": "Cake smash photography",
                    "description": "Whether the photographer photographs a cake smash. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.editorial",
                    "label": "PR and editorial photography",
                    "description": "Whether the photographer takes photographs for public relations or editorial use. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.video",
                    "label": "Wedding video and videography",
                    "description": "Whether the photographer films a wedding or offers other videography. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.courses",
                    "label": "Photography courses",
                    "description": "Whether the photographer teaches a photography course. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.architecture",
                    "label": "Architectural and interior photography",
                    "description": "Whether the photographer photographs buildings or interiors. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.scanning",
                    "label": "Photo scanning and film developing",
                    "description": "Whether the photographer scans photographs or develops film, including returning the negatives. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.aerial",
                    "label": "Aerial and drone photography",
                    "description": "Whether the photographer takes aerial photographs, including with a drone. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "photographer.service.repair",
                    "label": "Camera and equipment repair",
                    "description": "Whether the photographer repairs or services a camera or a lens, including a repair sent by post. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "Service"
                }
            ]
        },
        {
            "name": "Amenities",
            "key": "amenities",
            "attributes": [
                {
                    "name": "photographer.amenity.studio",
                    "label": "Photography studio",
                    "description": "Whether the photographer has a studio. Black and white photography in that studio is included. A missing value is unknown, not absent. JSON-LD includes a LocationFeatureSpecification only when the value is stated as present.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "photographer.amenity.breastfeeding",
                    "label": "Breastfeeding friendly",
                    "description": "Whether the photographer states that the studio is breastfeeding friendly. A missing value is unknown, not absent. JSON-LD includes a LocationFeatureSpecification only when the value is stated as present.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "amenityFeature"
                }
            ]
        },
        {
            "name": "Photographer details",
            "key": "details",
            "attributes": [
                {
                    "name": "photographer.details.turnaround",
                    "label": "Typical turnaround time",
                    "description": "How long the photographer says it usually takes to deliver the photographs. The recorded value is Same day, Within a week, Within two weeks, or Longer than two weeks. A missing value is unknown. When a value is stated, JSON-LD uses a PropertyValue named turnaroundTime.",
                    "data_type": "text",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "photographer.details.ordering",
                    "label": "Online ordering or booking",
                    "description": "Whether the photographer takes an order or a booking online. A missing value stays unknown. This is not a booking record. When a value is stated, JSON-LD uses a PropertyValue named onlineOrdering.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "photographer.details.walk_in",
                    "label": "Walk-in service",
                    "description": "Whether the photographer accepts a walk-in, including a same-day sitting. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named walkInService.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "photographer.details.props",
                    "label": "Props and outfits provided",
                    "description": "Whether the photographer provides props or outfits. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named propsAndOutfits.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "photographer.details.obligation",
                    "label": "No obligation to buy prints",
                    "description": "Whether the photographer states that a customer is not obliged to buy prints. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named noObligationToBuy.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "photographer.details.packages",
                    "label": "Photography packages",
                    "description": "Whether the photographer offers a package. This is not the price level. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named photographyPackages.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "photographer.details.deposit",
                    "label": "Booking deposit required",
                    "description": "Whether the photographer requires a deposit to book. A payment plan is included. This is not the price level. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named bookingDepositRequired.",
                    "data_type": "boolean",
                    "scope": "photographer",
                    "required": false,
                    "schema_org": "additionalProperty"
                }
            ]
        }
    ],
    "components": [
        {
            "id": "https://schema.org.uk/schemas/components/address",
            "name": "Address",
            "description": "A postal address other category schemas can reuse. The original address line stays intact. Missing parts are left empty.",
            "fields": [
                "address",
                "postcode",
                "street",
                "locality",
                "region",
                "country"
            ]
        },
        {
            "id": "https://schema.org.uk/schemas/components/contact",
            "name": "Contact",
            "description": "Telephone, website, social profiles, booking and review listings, and email other category schemas can reuse. Each value is optional. A missing value stays empty.",
            "fields": [
                "phone",
                "url",
                "social",
                "listings",
                "email"
            ]
        },
        {
            "id": "https://schema.org.uk/schemas/components/company",
            "name": "Incorporation details",
            "description": "Registered company name, company number, and incorporation date when a business is registered at Companies House, and a VAT number when it is registered for VAT. Each value is included only when it is stated. A missing value stays unknown. Other category schemas reuse these fields.",
            "fields": [
                "name",
                "number",
                "incorporated_on",
                "vat"
            ]
        },
        {
            "id": "https://schema.org.uk/schemas/components/image",
            "name": "Image",
            "description": "An image, or one image in an ordered collection. Caption, attribution, and a rights note are optional. A missing note stays empty.",
            "fields": [
                "position",
                "url",
                "caption",
                "attribution",
                "rights"
            ]
        },
        {
            "id": "https://schema.org.uk/schemas/components/reputation",
            "name": "Reputation",
            "description": "Optional figures from one rating provider. A rating, a rating count, a review count, a scale, a distribution, and the date of the observation are recorded only when that provider states them. Themes are included only when a category records them. Figures from different providers are not combined. These figures are not copied into the core business JSON-LD.",
            "fields": [
                "provider",
                "rating",
                "rating_count",
                "count",
                "scale",
                "distribution",
                "observed_on",
                "themes"
            ]
        },
        {
            "id": "https://schema.org.uk/schemas/components/review-statistics",
            "name": "Review statistics",
            "alias_of": "https://schema.org.uk/schemas/components/reputation",
            "description": "Previous name of the Reputation component. New definitions use the Reputation component.",
            "fields": [
                "provider",
                "rating",
                "rating_count",
                "count",
                "scale",
                "distribution",
                "observed_on",
                "themes"
            ]
        },
        {
            "id": "https://schema.org.uk/schemas/components/offers",
            "name": "Offers",
            "optional": true,
            "description": "A contract for a later priced offer. It is not part of a core business schema. A service, a treatment, or a free or paid facility is not an offer by itself. The contract can record the item offered, the seller, the price and its currency, availability, the start and end dates, and the conditions. Live prices and bookings are not included.",
            "fields": [
                "item",
                "seller",
                "price",
                "currency",
                "availability",
                "valid_from",
                "valid_through",
                "conditions"
            ]
        }
    ]
}
