---
title: "Discount"
url: "https://developer.migros.ch/apis/public-products-1/versions/7b64d361-abe6-4972-aa9d-bf680b03aa09/schemas/Discount"
---

> Full API specification: https://developer.migros.ch/apis/public-products-1/versions/7b64d361-abe6-4972-aa9d-bf680b03aa09.md

# Discount

Represents the Discount information.

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Public Products
  version: 1.3.0-beta.1
servers:
  - description: URL of upstream
    url: https://api.migros.ch
components:
  schemas:
    Badge:
      allOf:
        - $ref: "#/components/schemas/BadgeSignet"
        - properties:
            description:
              type: string
            signet:
              $ref: "#/components/schemas/BadgeSignet"
          type: object
      description: A badge image and its properties.
      type: object
    DiscountConditions:
      properties:
        minimum_pieces:
          $ref: "#/components/schemas/DiscountConditionsMinimumPieces"
        minimum_purchase_price:
          example: 10
          format: float
          type: number
      type: object
    DiscountCumulusPoints:
      properties:
        relative:
          type: boolean
        value:
          example: 20
          type: integer
      required:
        - value
        - relative
      type: object
    DiscountEvent:
      description: >-
        Represents a discount event on a discount. These events are created in
        the M-Promo system, used for promotions.


        The product_ids are only available on stand alone discount events, if
        there are any specified.


        The discount_id and campaign_id are only set on stand alone discount
        events. When it is nested inside a discount, refer to the containing
        object to find the id and campaign ids.
      properties:
        advertising_material_id:
          description: The id of the advertising material. "Werbemittel".
          type: string
        advertising_material_type_id:
          description: The id of the advertising material type. "Werbemittelart".
          type: string
        campaign_ids:
          description: Campaigns of the discount that contains this event.
          items:
            type: string
          type: array
        discount_id:
          description: The id of the discount this event is part of.
          type: string
        end_date:
          description: When the event ends.
          format: date-time
          type: string
        event_id:
          description: The id of the event.
          type: string
        product_ids:
          description: List of product ids this event applies to.
          items:
            type: string
          type: array
        publication_date:
          description: >-
            When the event was published online.


            The API does not output events when the publication date is in the
            future.
          format: date-time
          type: string
        start_date:
          description: When the event starts.
          format: date-time
          type: string
      required:
        - event_id
        - advertising_material_type_id
        - advertising_material_id
        - start_date
        - end_date
        - publication_date
      type: object
    DiscountReduction:
      properties:
        amount:
          example: 32.5
          format: float
          type: number
        relative:
          type: boolean
        suffix:
          example: günstiger
          type: string
        unit:
          example: "%"
          type: string
      required:
        - amount
        - relative
      type: object
    BadgeSignet:
      description: A badge signet and its properties.
      properties:
        hex_color:
          description: The hexadecimal color code for this badge.
          type: string
        stack:
          description: Image URL with a placeholder for a Rokka {stack}.
          type: string
        vector:
          description: Vector image.
          type: string
      type: object
    DiscountConditionsMinimumPieces:
      properties:
        prefix:
          example: ab
          type: string
        value:
          example: 2
          type: integer
      required:
        - value
        - prefix
      type: object
    Discount:
      description: Represents the Discount information.
      properties:
        additional_description:
          description: Description text for a discount, e.g. "Zucht aus Dänemark"
          type: string
        additional_text:
          description: Additional information about the discount.
          example: in Selbstbedienung und Bedienung
          type: string
        advertisement_type_id:
          description: >-
            ID of how to advertise this discount.


            An example usage is to distinguish if the price or the percentage
            should be promoted more.
          type: string
        badge:
          $ref: "#/components/schemas/Badge"
        boss_number:
          description: The BoSS number.
          type: string
        campaign_ids:
          description: List of campaign ID's this discount is in. These campaign ID's are
            delivered by the M-Promo system, used for promotions.
          items:
            type: string
          type: array
        channel:
          type: string
        collective_discount:
          description: Collective discount (Sammelaktion).
          type: boolean
        conditions:
          $ref: "#/components/schemas/DiscountConditions"
        cooperative:
          description: Cooperative which created this discount. "Erfassergruppe"
          type: string
        cumulus_points:
          $ref: "#/components/schemas/DiscountCumulusPoints"
        description:
          description: May contain HTML tags.
          type: string
        disclaimer:
          type: string
        discount_amount:
          type: string
        discount_events:
          description: List of events this discount is in. These events are created in the
            M-Promo system, used for promotions.
          items:
            $ref: "#/components/schemas/DiscountEvent"
          type: array
        discount_hint:
          description: May contain HTML tags.
          type: string
        discount_regions:
          description: List of regions in which the discount is valid in.
          items:
            type: string
          type: array
        discount_role_id:
          description: Discount role id.
          type: string
        discount_role_label:
          description: Discount role label.
          type: string
        discount_type:
          description: 'Discount type: "neuheit" or "aktion".'
          enum:
            - neuheit
            - aktion
          type: string
        discount_type_id:
          description: Discount type id.
          type: string
        discount_type_label:
          description: Label for discount type id.
          type: string
        end_date:
          format: date-time
          type: string
        example_text:
          description: Information text about an example product of a discount for
            multiple products.
          example: Wildfang aus dem Nordostatlantik
          type: string
        example_unit:
          description: >-
            Information about the unit of the package of an example product of a
            discount for multiple products.


            The 'unit' (see field above) is used for discounts for one specific
            product. The 'exampleUnit' is used for discounts for multiple
            products. Only one of the two fields contains a value.
          example: 16 Stück 216 g
          type: string
        high_performer:
          description: High performing discount.
          type: boolean
        id:
          description: Pex discounts do not have an id, so this field has to be optional.
          type: string
        image:
          description: Image (Rokka stack URL template).
          type: string
        image_transparent:
          description: Image with transparent background (Rokka stack URL template).
          type: string
        instead_of:
          type: string
        location_planning_type:
          description: Location planning type. "Planungsart" on M-Promo. Usually either
            "national" or "regional" or "lokal".
          example: regional
          type: string
        logo:
          description: (Rokka stack URL template).
          type: string
        newsletter_image:
          type: string
        organisation:
          description: smvm, fm...
          type: string
        original_price:
          description: The original price.
          format: float
          type: number
        package_description:
          description: Information about the package.
          example: Im Duo-Pack
          type: string
        price:
          description: The discounted price.
          format: float
          type: number
        profit:
          type: integer
        publication_date:
          description: Publication date of the discount.
          format: date-time
          type: string
        reduction:
          $ref: "#/components/schemas/DiscountReduction"
        reduction_type_id:
          description: |-
            The reduction type id of the discount.


             - 01: Relativer Rabatt
             - 02: Absoluter Rabatt
             - 03: X für Y
             - 04: Absolute CUMULUS Punkte
             - 05: X-Fach Punkte
             - 06: Rabattpreis = CHF
             - 07: HIT
             - 08 Preisabschlag
          type: string
        reference_product_id:
          description: ID of the reference product of this discount.
          type: string
        region:
          description: The region (Migros Genossenschaft).
          type: string
        secondary_image:
          description: (Rokka stack URL template).
          type: string
        secondary_logo:
          description: (Rokka stack URL template).
          type: string
        source:
          type: string
        special_advertisement:
          description: Whether or not it's a "Zusatzauslobung".
          type: boolean
        start_date:
          format: date-time
          type: string
        tags:
          description: Tags for flagging certain discounts.
          items:
            type: string
          type: array
        unit:
          description: Information about the unit of the sold package.
          example: Mödeli, 4 x 250 g
          type: string
        visibility:
          description: Whether the discount visibility is overridden, can be 'blacklist'
            or 'whitelist'.
          type: string
      required:
        - id
      type: object
```
