# SOF26 - Update a service Call FrequencyRecommended usage: 60 per minuteMaximum usage: 60 per minute Endpoint: PUT /api/mms/services/{service_code} ## Path parameters: - `service_code` (string, required) Code of the service to update. ## Query parameters: - `shop_id` (integer) Use this parameter when your user has access to several shops. If not specified, the shop_id from your default shop will be used. ## Request fields (application/json): - `booking` (object) Service booking method. The booking type must be equal to the booking type in the Model configuration. - `booking.type` (string, required) The booking type must be equal to the booking type in the Model configuration. Enum: "NO_BOOKING", "DATETIME_REQUEST", "SCHEDULED_EVENTS" - `category` (object) Service category - `category.code` (string, required) Service category code. The category must exist in the configuration. - `custom_attribute_values` (array) Service custom attributes values - `custom_attribute_values.code` (string, required) Custom attribute code. The attribute must exist in the configuration. - `custom_attribute_values.type` (string, required) Custom attribute type Enum: "BOOLEAN", "DATE_TIME", "INTEGER", "DECIMAL", "TEXT", "LONG_TEXT", "VALUE_LIST", "LINK", "VIDEO" - `custom_attribute_values.value` (object) Custom attribute value. Value is removed if not set or set to null. - `date_availability_end` (string) Date when the service ends being available. Set value to null to remove the date. - `date_availability_start` (string) Date when the service starts being available. Set value to null to remove the date. - `description` (string) Service description. Set value to null to remove the description. - `inactive_reasons` (array) Reason why the service is inactive. If equals to [] or null, then remove all reasons that are manually removable. Enum: "MANUALLY_DISABLED" - `location` (object) Service location method. The location type must be equal to the location type in the Model configuration. - `location.type` (string, required) Location type. The location type must be equal to the location type in the Model configuration. Enum: "NO_LOCATION", "AT_CUSTOMER_LOCATION", "AT_SHOP_LOCATION" - `model` (object) Service model - `model.code` (string, required) Service model code. Must be equal to the service's model code. - `pricing` (object) Service pricing method - `pricing.options` (array) Service pricing options. - `pricing.options.code` (string, required) Pricing option identifier - `pricing.options.type` (string, required) - `pricing.type` (string) Price type. It must be equal to the price type in the Model configuration. Enum: "FIXED_PRICE", "ESTIMATED_PRICE", "FIXED_PRICE_MULTI", "ESTIMATED_PRICE_MULTI" - `quantity` (object) Service quantity method. - `quantity.max_per_order` (integer) Maximum quantity per order - `service_tax_code` (string) Service tax code - `title` (string) Service title ## Response 200 fields (application/json): - `booking` (object, required) Service booking method - `booking.type` (string) Enum: "NO_BOOKING", "DATETIME_REQUEST", "SCHEDULED_EVENTS" - `category` (object, required) Service category - `category.code` (string, required) Category code - `category.label` (string, required) Category label - `code` (string, required) Service code - `consumption` (object, required) Service consumption method: how will the service be consumed ? - `consumption.type` (string, required) Type of consumption Enum: "VOUCHER", "CONFIRMATION_BY_SHOP" - `custom_attribute_values` (array, required) Service custom attributes values - `custom_attribute_values.code` (string, required) Custom attribute code - `custom_attribute_values.label` (string, required) Custom attribute label - `custom_attribute_values.type` (string, required) Custom attribute field type Enum: "BOOLEAN", "DATE_TIME", "INTEGER", "DECIMAL", "TEXT", "LONG_TEXT", "VALUE_LIST", "LINK", "VIDEO" - `custom_attribute_values.value` (object) Custom attribute field value - `date_availability_end` (string) Date when the service ends being available - `date_availability_start` (string) Date when the service starts being available - `date_created` (string, required) Service creation date - `date_updated` (string, required) Service update date - `description` (string) Service description - `inactive_reasons` (array, required) List of reasons why the service is inactive. If the service is active, this list is empty Enum: "MANUALLY_DISABLED", "ZERO_QUANTITY", "ORDER_REFUSED", "ORDER_ACCEPTANCE_TIMEOUT", "NOT_IN_AVAILABILITY_PERIOD", "SHOP_NOT_OPEN", "SHOP_SUSPENDED", "SHOP_CURRENCY_DISABLED", "MISSING_REQUIRED_FIELDS", "VALIDATION_NEEDED", "NO_SESSION" - `location` (object, required) Service location method: where the service will be provided ? - `medias` (array) All the medias associated to a service - `medias.mime_type` (string, required) Media Mime type - `medias.url` (string, required) Media URL - `model` (object, required) Service model - `model.code` (string, required) Service model code - `model.title` (string, required) Service model title - `pricing` (object, required) Service pricing method - `pricing.max_price_per_unit` (number, required) Maximum price at which the service will be provided. It's a price per unit. - `pricing.min_price_per_unit` (number, required) Minimum price at which the service will be provided. It's a price per unit. - `pricing.options` (array) Service pricing options. The list is ordered as configured by the operator. - `pricing.options.code` (string, required) Option code - `pricing.options.label` (string, required) Option label - `pricing.type` (string, required) Price type of the service.When the price type is FIXED_PRICE, the price defined when placing an order is final. The price cannot be modified.When the price type is ESTIMATED_PRICE, the price can be negotiated between the seller and the customer. The price can be updated by editing the pricing options of the order.When the price type is FIXED_PRICE_MULTI, the price defined when placing an order is final. The price cannot be modified. The price has multiple possibilities.When the price type is ESTIMATED_PRICE_MULTI, the price can be negotiated between the seller and the customer. The price can be updated by editing the pricing options of the order. The price has multiple possibilities. Enum: "FIXED_PRICE", "ESTIMATED_PRICE", "FIXED_PRICE_MULTI", "ESTIMATED_PRICE_MULTI" - `quantity` (object, required) Service quantity method - `quantity.max_per_order` (integer) Maximum quantity per order - `service_tax_code` (string) Service tax code - `title` (string, required) Service title