Businesses can add services they provide to their Business Profile listings. This could include services provided within a store or those offered at customer locations.
Eligibility and Format
Not all businesses can add services to their Business Profile listing. To check the eligibilty, check the state of canModifyServiceList
in Metadata.
A service is represented as a ServiceItem, which supports the following two formats:
- StructuredServiceItem: Google's predefined services can be represented as a
StructuredServiceItem
, which contains aserviceTypeId
. - FreeFormServiceItem: To offer custom services, use a
FreeFormServiceItem
which contains a Label.
Listing predefined services by category name
To search for predefined services under a category by category name, use categories.list. A request for all categories that includes the name salon
in Singapore is shown in the following Request section.
Request
The CategoryView must be set to FULL
.
GET https://mybusinessbusinessinformation.googleapis.com/v1/categories?regionCode=SG&languageCode=EN&filter=displayname=salon&view=FULL
Response
The following partial response returns all supported ServiceTypes.
{ "categories": [ { "name": "gcid:hair_salon", "displayName": "Hairdresser", "serviceTypes": [ { "serviceTypeId": "job_type_id:body_waxing", "displayName": "Body Waxing" }, { "serviceTypeId": "job_type_id:hair_coloring", "displayName": "Hair coloring" }, { "serviceTypeId": "job_type_id:hair_extensions", "displayName": "Hair extensions" }, { "serviceTypeId": "job_type_id:hair_styling", "displayName": "Hair styling" }, { "serviceTypeId": "job_type_id:manicures", "displayName": "Manicures" }, { "serviceTypeId": "job_type_id:pedicures", "displayName": "Pedicures" } ] } }
List predefined services by category ID
To search for predefined services by specific category ID, use categories.batchGet. A request for details under the category ID gcid:electrician
in the United States is shown in the following Request section.
Request
The CategoryView must be set to FULL
.
GET https://mybusinessbusinessinformation.googleapis.com/v1/categories:batchGet?regionCode=US&languageCode=en&names=gcid:electrician&view=FULL
Response
The response contains all supported ServiceTypes for gcid:electrician
.
{ "categories": [ { "name": "gcid:electrician", "displayName": "Electrician", "serviceTypes": [ { "serviceTypeId": "job_type_id:construction", "displayName": "Construction" }, { "serviceTypeId": "job_type_id:electric_car_charger", "displayName": "Install electric car charger" }, { "serviceTypeId": "job_type_id:electrician_remodeling", "displayName": "Remodeling" }, { "serviceTypeId": "job_type_id:general_repairs", "displayName": "General repairs" }, { "serviceTypeId": "job_type_id:install_fan", "displayName": "Install fan" }, { "serviceTypeId": "job_type_id:install_ground_wire", "displayName": "Install ground wire" }, { "serviceTypeId": "job_type_id:install_light_fixtures", "displayName": "Install light fixtures" }, { "serviceTypeId": "job_type_id:install_outdoor_lighting", "displayName": "Install outdoor lighting" }, { "serviceTypeId": "job_type_id:install_outlets_switches", "displayName": "Install outlets or switches" }, { "serviceTypeId": "job_type_id:install_security_system", "displayName": "Install security system" }, { "serviceTypeId": "job_type_id:installation", "displayName": "Installation" }, { "serviceTypeId": "job_type_id:relocate_outlets_switches", "displayName": "Relocate outlets or switches" }, { "serviceTypeId": "job_type_id:repair_fan", "displayName": "Repair fan" }, { "serviceTypeId": "job_type_id:repair_light_fixtures", "displayName": "Repair light fixtures" }, { "serviceTypeId": "job_type_id:repair_outlets_switches", "displayName": "Repair outlets or switches" }, { "serviceTypeId": "job_type_id:repair_panel", "displayName": "Repair panel" }, { "serviceTypeId": "job_type_id:replace_upgrade_panel", "displayName": "Replace or upgrade panel" }, { "serviceTypeId": "job_type_id:restore_power", "displayName": "Restore power" } ] } ] }
List existing services in a listing
To get a current list of services, use locations.get and setreadMask=serviceItems
Request
GET https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?readMask=serviceItems
Response
Below is a sample response
{ "serviceItems": [ { "structuredServiceItem": { "serviceTypeId": "job_type_id:hair_coloring" } }, { "isOffered": true, "structuredServiceItem": { "serviceTypeId": "job_type_id:hair_styling" } }, { "isOffered": true, "freeFormServiceItem": { "categoryId": "gcid:barber_shop", "label": { "displayName": "Student Cuts" } } } ] }
Set services for a listing
To update services, use locations.patch and updateMask=serviceItems
. Updating individual services is not supported.
To set services with a StructuredServiceItem and a FreeFormServiceItem, see the following example:
PATCH https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?updateMask=serviceItems { "serviceItems":[ { "isOffered":false, "structuredServiceItem":{ "serviceTypeId":"job_type_id:hair_coloring" } }, { "isOffered":true, "structuredServiceItem":{ "serviceTypeId":"job_type_id:hair_styling" } }, { "isOffered":true, "freeFormServiceItem":{ "categoryId":"gcid:hair_salon", "label":{ "displayName":"Student Cuts" } } } ] }