# SM11 - List service models

Call FrequencyRecommended usage: - Asynchronous: once per day - Synchronous: at each faceting displayMaximum usage: - Asynchronous: every hour - Synchronous: at each faceting displayRead MoreMore contextPaginationThis resource supports seek pagination (see documentation)Sort fieldssort field can have the following values:title - Sort by title (asc by default)code (Default) - Sort by code (asc by default)

Endpoint: GET /api/mms/models

## Query parameters:

  - `category_code` (array)
    Category codes to include in result. (default: include all)

  - `model_code` (array)
    Model codes to include in result. (default: include all)

  - `location_type` (array)
    Location types to include in result. (default: include all)

  - `booking_type` (array)
    Booking types to include in result. (default: include all)

  - `consumption_type` (array)
    Consumption types to include in result. (default: include all)

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `data` (array, required)
    Page of data

  - `data.booking` (object, required)

  - `data.booking.type` (string, required)
    Booking type
Enum: `"NO_BOOKING"`, `"DATETIME_REQUEST"`, `"SCHEDULED_EVENTS"`

  - `data.categories` (array, required)
    Service model categories

  - `data.categories.code` (string, required)
    Category code

  - `data.categories.label` (string, required)
    Category label

  - `data.code` (string, required)
    Service model code

  - `data.consumption` (object, required)

  - `data.consumption.type` (string, required)
    Consumption type
Enum: `"VOUCHER"`, `"CONFIRMATION_BY_SHOP"`

  - `data.custom_attributes` (array, required)
    Service model custom attributes. The list is ordered as configured by the operator.

  - `data.custom_attributes.code` (string, required)
    Custom attribute code

  - `data.custom_attributes.label` (string, required)
    Custom attribute label

  - `data.custom_attributes.order_configuration` (object)

  - `data.custom_attributes.order_configuration.maximum_number_of_elements` (integer)
    Maximum number of elements. Present only for ValueLists. Absent when no limit.

  - `data.custom_attributes.order_configuration.shop_permission` (string, required)
    Determines how Shops are allowed to use the custom attribute
Enum: `"INVISIBLE"`, `"READ_ONLY"`, `"READ_WRITE"`

  - `data.custom_attributes.service_configuration` (object)

  - `data.custom_attributes.service_configuration.maximum_number_of_elements` (integer)
    Maximum number of elements. Present only for ValueLists. Absent when no limit.

  - `data.custom_attributes.service_configuration.minimum_number_of_elements` (integer, required)
    Minimum number of elements. Equals to 0 if element is optional.

  - `data.custom_attributes.type` (string, required)
    Custom attribute type
Enum: `"BOOLEAN"`, `"DATE_TIME"`, `"INTEGER"`, `"DECIMAL"`, `"TEXT"`, `"LONG_TEXT"`, `"VALUE_LIST"`, `"LINK"`, `"VIDEO"`
    Enum: "BOOLEAN", "DATE_TIME", "DECIMAL", "INTEGER", "LINK", "LONG_TEXT", "TEXT", "VALUE_LIST", "VIDEO"

  - `data.description` (string)
    Service model description

  - `data.location` (object, required)

  - `data.location.type` (string, required)
    Location type
Enum: `"NO_LOCATION"`, `"AT_CUSTOMER_LOCATION"`, `"AT_SHOP_LOCATION"`

  - `data.pricing` (object, required)

  - `data.pricing.options` (array)
    Service model pricing options. The list is ordered as configured by the operator.

  - `data.pricing.options.code` (string, required)
    Option code

  - `data.pricing.options.label` (string, required)
    Option label

  - `data.pricing.options.order_configuration` (object)

  - `data.pricing.options.order_configuration.maximum_number_of_elements` (integer)
    Maximum number of selectable elements. Present only for value lists. Absent when no limit.

  - `data.pricing.options.type` (string)
    Enum: `"BOOLEAN"`, `"DATE_TIME"`, `"INTEGER"`, `"DECIMAL"`, `"TEXT"`, `"LONG_TEXT"`, `"VALUE_LIST"`, `"LINK"`, `"VIDEO"`
    Enum: "BOOLEAN", "VALUE_LIST"

  - `data.pricing.price_per_unit_options` (array)
    Service model price per unit options. Always present if pricing is multi price.

  - `data.pricing.price_per_unit_options.code` (string, required)
    Code

  - `data.pricing.price_per_unit_options.label` (string, required)
    Label

  - `data.pricing.price_per_unit_options.order_configuration` (object)

  - `data.pricing.price_per_unit_options.order_configuration.minimum_number_of_elements` (integer, required)
    Minimum number of elements.
Enum: `"1"`

  - `data.pricing.price_per_unit_options.service_configuration` (object)

  - `data.pricing.price_per_unit_options.service_configuration.minimum_number_of_elements` (integer, required)
    Minimum number of elements.
Enum: `"1"`

  - `data.pricing.price_per_unit_options.type` (string, required)
    Enum: `"VALUE_LIST"`

  - `data.pricing.price_per_unit_options.values` (array, required)
    Values of the list

  - `data.pricing.price_per_unit_options.values.code` (string, required)
    Code

  - `data.pricing.price_per_unit_options.values.label` (string, required)
    Label

  - `data.pricing.type` (string, required)
    Pricing typeWhen 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"`

  - `data.quantity` (object, required)

  - `data.quantity.on_marketplace` (array, required)
    Quantity requirements on the marketplace

  - `data.quantity.per_order` (array, required)
    Quantity requirements per order

  - `data.title` (string, required)
    Service model title

  - `next_page_token` (string)
    Token to access the next page. Absent if the current page is the last one.

  - `previous_page_token` (string)
    Token to access the previous page. Absent if the current page is the first one.

## Response 200 examples:

  - `Example with business values` (unknown)

  - `Example with scheduled events` (unknown)

  - `Example with multi price` (unknown)

  - `Complete example with value types (application/json)` (unknown)

