summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-easys-ordermanager.spec2596
-rw-r--r--sources1
3 files changed, 2598 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..fc958da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/easys-ordermanager-2.1.3.tar.gz
diff --git a/python-easys-ordermanager.spec b/python-easys-ordermanager.spec
new file mode 100644
index 0000000..8d5b748
--- /dev/null
+++ b/python-easys-ordermanager.spec
@@ -0,0 +1,2596 @@
+%global _empty_manifest_terminate_build 0
+Name: python-easys-ordermanager
+Version: 2.1.3
+Release: 1
+Summary: API definition of RH order manager for EasyS
+License: GPL 3
+URL: https://gitlab.herocentral.de/development/easys-ordermanager
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/42/f1/b98049c02cf225018b94020b1284bacaefd999d94ac310d512e3051caac7/easys-ordermanager-2.1.3.tar.gz
+BuildArch: noarch
+
+Requires: python3-django
+Requires: python3-django-countries
+Requires: python3-django-internationalflavor
+Requires: python3-django-model-utils
+Requires: python3-django-phonenumber-field
+Requires: python3-djangorestframework
+Requires: python3-phonenumbers
+
+%description
+[![PyPI version](https://badge.fury.io/py/easys-ordermanager.svg)](https://badge.fury.io/py/easys-ordermanager)
+[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/Lektor.svg)](https://pypi.org/project/easys-ordermanager/)
+
+# EasyS order manager API
+
+## Compatibility matrix
+
+Python 3.8, 3.9 and 3.10
+
+### Django 3.2
+
+DRF 3.11 or newer
+
+### Django 4.0
+
+DRF 3.13 or newer
+
+### Django 4.1
+
+DRF 3.14 or newer
+
+
+# Changelog
+
+## 2.1.3 (2023-05-03)
+* Updates to Serializer v2 & v3, see serializer changelog
+
+## 2.1.2 (2023-04-12)
+* Updates to Serializer v3, see serializer changelog
+* Fixed missing development dependency
+
+## 2.1.1 (2023-03-21)
+* Updates to Serializer v3, see serializer changelog
+* New test to validate payloads including EXISTING_STROER_LANDINGPAGE, and only a SEO product orderline.
+
+## 2.1.0 (2023-03-16)
+* Introduction of serializer v3, see serializer changelog
+* `easys-ordermanager/easys_ordermanager/v3/serializer.Serializer` is considered WIP until integration in EasyS starts
+
+## 2.0.12 (2023-03-02)
+* Updates to Serializer v2, see serializer changelog
+
+## 2.0.11 (2023-02-17)
+* Updates to Serializer v1 & v2, see serializer changelog
+
+## 2.0.10 (2023-01-09)
+* Updates to Serializer v1 & v2, see serializer changelog
+
+## 2.0.9 (2023-01-03)
+* Updates to Serializer v2, see serializer changelog
+
+## 2.0.8 (2023-01-02)
+* Updates to Serializer v2, see serializer changelog
+
+## 2.0.7 (2022-12-01)
+* Updates to Serializer v2, see serializer changelog
+
+## 2.0.6 (2022-11-29)
+* Updates to Serializer v1 & v2, see serializer changelog
+
+## 2.0.5 (2022-11-22)
+* Add serializer changelog to manifest and include it in the released package
+
+## 2.0.4 (2022-11-22)
+* Add serializer changelog to PyPI readme
+
+## 2.0.3 (2022-11-21)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 2.0.2 (2022-11-15)
+* Add support for phonenumbers 8.13.x',
+
+## 2.0.1 (2022-09-27)
+* Add support for DRF 3.14
+* Add more test combinations
+* Remove references to GitHub as the code mirror will be removed
+
+## 2.0.0 (2022-09-16)
+* Remove support for Python 3.7 and below
+* Remove support for Django 2.x and below
+* Drop support for DRF 3.10 and below
+* Add support for Python 3.10
+* Add support for Django 4.0 and 4.1
+* Add tests for DRF 3.11, 3.12 and 3.13
+* Change CI build to parallel matrix
+* Get rid of tox for CI
+* Run the publish stage only for tags on the main branch
+
+## 1.4.53 (2022-07-13)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.52 (2022-07-08)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.51 (2022-06-14)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.50 (2022-06-14)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.49 (2022-04-29)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.48 (2022-03-30)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.47 (2022-03-24)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.46 (2022-01-25)
+* Add support for [djangorestframework 3.13 release series](https://www.django-rest-framework.org/community/release-notes/#313x-series)
+
+## 1.4.45 (2022-01-14)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.44 (2022-01-03)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.43 (2021-11-29)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.42 (2021-11-26)
+Updates to Serializer v1, see serializer changelog
+
+## 1.4.41 (2021-11-12)
+* Add support for [django-phonenumber-field release series 6](https://github.com/stefanfoulis/django-phonenumber-field/blob/main/CHANGELOG.rst#600-2021-10-20)
+
+## 1.4.40 (2021-10-08)
+Fixes flake8 errors.
+
+## 1.4.39 (2021-10-08)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.38 (2021-08-11)
+* Fix example for email Orderline.
+
+## 1.4.37 (2021-08-11)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.36 (2021-06-25)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.35 (2021-06-01)
+* Update maximum supported version of django-phonenumber-field>=3.0.1,<6.0
+
+## 1.4.34 (2021-05-28)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.33 (2021-05-25)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.32 (2021-05-07)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.31 (2021-04-15)
+* Update maximum supported version of django-phonenumber-field>=3.0.1,<5.2
+* Update test matrix, add Django 3.2
+
+## 1.4.30 (2021-03-18)
+Replace ugettext* usages with gettext* usages as Python 3 is unicode compatible anyway
+
+## 1.4.29 (2021-02-19)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.28 (2021-02-01)
+* Remove dependency to django-iban and use validation from internationalflavor
+* Allow django-countries release series 7.x
+* Update dev requirements
+
+## 1.4.27 (2021-1-27)
+Updated translations of PRODUCT_PAYMENT_CYCLE_CHOICES
+
+## 1.4.26 (2021-1-27)
+updates changelog
+
+## 1.4.25 (2021-1-27)
+Adds product payment cycle support to Serializer v1 & v2, see serializer changelog
+
+## 1.4.24 (2020-11-25)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.23 (2020-11-19)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.22 (2020-11-16)
+* Modernize Docker env, Update max supported versions and min requirements of some packages
+* Split package and test dependencies
+* Move package dependencies to setup.py
+* Restructure travis env
+
+## 1.4.21 (2020-11-13)
+Update maximum supported version of django-phonenumber-field>=3.0.1,<5.1
+
+## 1.4.20 (2020-11-06)
+Update maximum supported version of phonenumbers>=7.0.6,<8.13
+
+## 1.4.19 (2020-10-23)
+Update maximum supported version of djangorestframework>=3.7.7,<3.13
+
+## 1.4.18 (2020-10-16)
+Update maximum required version of django-countries>=4.4,<6.1.4 and django-internationalflavor>=0.3.1,<0.5
+
+## 1.4.17 (2020-10-16)
+Update package to version phonenumbers>=7.0.6,<8.12.12
+
+## 1.4.15 (2020-10-16)
+Update package to version django-model-utils>=3.1.2,<5.0 - for backwards compatibility
+
+## 1.4.14 (2020-10-16)
+Update package to version django-model-utils>=4.0.0,<5.0
+
+## 1.4.13 (2020-10-06)
+Fix serializer v2 choice fields
+
+## 1.4.12 (2020-10-05)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.11 (2020-09-23)
+Update german translations
+
+## 1.4.10 (2020-09-23)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.9 (2020-09-01)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.8 (2020-08-06)
+Changed a translation
+
+## 1.4.7 (2020-06-30)
+Fix test cases
+
+## 1.4.6 (2020-06-30)
+Updates to Serializer v1/v2, see serializer changelog
+
+## 1.4.5 (2020-06-23)
+Updates to Serializer v1/v2, see serializer changelog
+
+## 1.4.4 (2020-06-04)
+Fixed code style to pass checks
+
+## 1.4.3 (2020-06-03)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.2 (2020-05-07)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.1 (2020-04-15)
+Introduction of serializer v2
+* `easys-ordermanager/easys_ordermanager/v1/serializer.Serializer` is now frozen on the state of release 1.2.3
+* `easys-ordermanager/easys_ordermanager/v2/serializer.Serializer` is considered WIP until integration in EasyS starts and new changes will go into v3, see serializer changelog for changes between v1 and v2
+
+## 1.3.2 (2020-04-02)
+Reverted
+
+## 1.2.3 (2020-03-03)
+Make sure Django 3 is not installed until further support
+
+## 1.2.2 (2020-03-03)
+Add proper dependencies to avoid unwanted failure with possible upgrades when installed freshly.
+See setup.py for dependencies
+
+## 1.2.1 (2020-02-27)
+Add unique validation on `opening_hours` list of values of `OrderLineListingSerializer`.
+The opening hours lis should be unique for every `day_of_week` (see `OrderLineListingOpeningHoursSerializer`)
+
+
+## 1.2.0 (2019-09-17)
+This release contains backwards incompatible changes.
+
+Changes on `OrderLineDisplayBasicSerializer`
+ * Removed: `geo_targeting` field.
+ * New: `geo_targeting_zip` field which accepts one string zip code. Not mandatory
+ * New: `geo_targeting_radius` field accepting integer values between 1-80 (km). Mandatory only if `geo_targeting_zip` is given.
+ * Removed: `stock_images_allowed` field:
+ * New: `banner_image_selection` choice field accepting following values:
+ * 0 for 'From website' / 'Von der Webseite' option
+ * 1 for 'From customer' / 'Vom kunden' option
+ * 2 for 'Customer photos' / 'Regiohelden Bilder' option
+ * Change: `target_page_type` existing field which is not required anymore.
+
+Changes on `OrderLineGoogleAdsPremiumSerializer`:
+ * New: `call_tracking` boolean required field.
+
+
+## 1.1.3 (2019-09-11)
+Clean README file.
+
+
+## 1.1.2 (2019-09-11)
+Fix expected_impression_share field of OrderLineGoogleAdsBasicSerializer to accept 5 digits in order to validate value 100.00
+
+
+## 1.1.1 (2019-09-06)
+Small fix on pep8 error
+
+## 1.1.0 (2019-09-04)
+
+This release contains backwards incompatible changes
+
+
+* Split Display detail OrderLineDisplaySerializer in two different serializers and fields for basic and premium product levels:
+ * remove `detail_display` field from `OrderLine`
+ * add `detail_display_basic` field (`OrderLineDisplayBasicSerializer`) on `OrderLine`
+
+ The serializer contains following fields:
+
+ New fields:
+ * `banner_color_selection`
+ choice field with values: 1 for _Color from Logo/Website_ and 2 for _Set color_ . To be used in combination with fields `color_code_x`
+
+ Fields with changed definition
+ * `impressions_per_month`
+ choice field with accepted values: 20.000 , 40.000 and 80.000
+ * `creative_options`
+ choice field contains only values: 1 for _Customer provided_ and 3 for _Create animated_
+
+ Fields with the same definition as in the previous OrderLineDisplaySerializer
+ * `geo_targeting`
+ * `geo_targeting`
+ * `campaign_goal`
+ * `headline`
+ * `sub_headline`
+ * `bullet_points`
+ * `call_to_action`
+ * `color_code_1`
+ * `color_code_2`
+ * `color_code_3`
+ * `stock_images_allowed`
+ * `target_page_type`
+ * `target_url`
+ * `package_template`
+ * `location_frame_text`
+ * `creative_options`
+
+ * add `detail_display_premium` field (`OrderLineDisplayPremiumSerializer`) on `OrderLine`
+
+ Serializer contains following fields with the same definition as in the previous OrderLineDisplaySerializer
+ * `booking_type`
+ * `target_devices`
+ * `creatives_format`
+ * `impressions_per_day`
+ * `impressions_per_month`
+ * `age_targeting`
+ * `gender_targeting`
+ * `geo_targeting`
+ * `channel_targeting`
+ * `interest_targeting`
+ * `campaign_goal`
+ * `target_page_type`
+ * `target_url`
+ * `creative_options`
+
+
+* Split Google Ads detail OrderLineGoogleAdsSerializer in two different serializers for basic and premium product levels:
+ * remove `detail_google_ads` field from `OrderLine`
+ * add `detail_google_ads_basic` field (`OrderLineGoogleAdsBasicSerializer`) on `OrderLine`
+
+ Serializer contains following fields with the same definition as in the previous OrderLineGoogleAdsSerializer
+ * `campaign_goal`
+ * `regions`
+ * `expected_impression_share`
+ * `keywords`
+ * `keywords_with_zero_search_volume`
+ * `target_audience`
+
+ * add `detail_google_ads_premium` field (`OrderLineGoogleAdsPremiumSerializer`) on `OrderLine`
+
+ Serializer contains following fields with the same definition as in the previous OrderLineGoogleAdsSerializer
+ * `call_to_action`
+ * `campaign_goal`
+ * `regions`
+ * `expected_clicks`
+ * `expected_conversions`
+ * `existing_account_id`
+ * `include_remarketing`
+ * `keywords`
+ * `keywords_with_zero_search_volume`
+ * `target_audience`
+ * `usp`
+
+
+* All product fee fields on `OrderLineSerializer` became optional:
+ * `setup_fee`
+ * `start_fee`
+ * `budget`
+ * `fee`
+ * `one_time_budget`
+ * `commission`
+ * `deferred_payment_sum`
+
+* Add validation for commission provided for product type Google Ads level Basic: fixed value of 40
+* Add validation for combination of product type and level: check if a matching HC products subtype exists
+* Add validation for the payment fees provided: check if a matching HC payment type exists.
+
+
+## 1.0.4 (2019-08-21)
+
+* Add new fee type postponed_setup_fee
+* Add reference customer boolean to Location serializer
+
+## 1.0.3 (2019-07-03)
+
+* Don't use allow_null with BooleanField (`djangorestframework<3.9` doesn't support it)
+
+
+## 1.0.2 (2019-07-01)
+
+* Allow to use empty/null values for non-required fields
+
+
+## 1.0.1 (2019-06-27)
+
+* Add missing files to the package
+
+
+## 1.0.0 (2019-06-24)
+
+* Initial release
+
+
+# Serializer changes
+
+## 2.1.3
+
+### v2/v3
+
+#### `OrderLineInAppSerializer`
+* Added `INAPP_AUDIENCE_EMPTY` to `target_audiences` choices.
+
+## 2.1.2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+* Made `target_page_type` required.
+* Removed fields:
+ - `expected_clicks`
+ - `expected_conversions`
+ - `expected_impression_share`
+ - `expected_impressions`
+ - `keywords_with_zero_search_volume`
+ - `branch_codes`
+ - `call_to_action`
+ - `is_generic_campaign`
+ - `generic_topics`
+ - `remarketing_setup_fee`
+ - `remarketing_budget`
+
+#### `OrderLineLandingpageSerializer`
+* Added field `easys_related_orderline_id`, referencing the easys ID of a product in the same payload, required.
+
+## 2.1.1
+
+### v2/v3
+
+#### `EXISTING_STROER_LANDINGPAGE`
+
+* Change constant value from 3 to 4, to prevent clashes with `NEW_LANDINGPAGE` constant.
+
+#### `validate_website_and_landingpage_exists()`
+
+* `needs_website` is `True` **only** when `target_page_type` property corresponds to a new website. This was the behavior before the version `2.0.10` of the serializer.
+
+## 2.1.0
+
+### v3
+
+#### `PRODUCT_TYPE_CHOICES`
+
+* Added choice `PRODUCT_TYPE_DOMAIN`
+
+#### `OrderLineDomainSerializer`
+* Added serializer, the domain fields of `OrderLineWebsiteSerializer`and `OrderLineEmailSerializer` have been migrated to
+ this serializer. Contains the following fields:
+ * `desired_domain`: character field of maximum length 100, required
+ * `domain_type`: choice of `DOMAIN_TYPE_CHOICES`, required
+ * `domain_info`: character field of maximum length 100, optional
+
+#### `OrderLineWebsiteSerializer`
+* Removed domain fields (`desired_domain`, `domain_type`, `domain_info`)
+* Added field `easys_orderline_domain_id`, referencing the easys ID of a domain product in the same payload
+
+#### `OrderLineEmailSerializer`
+* Removed domain fields (`desired_domain`, `domain_type`, `domain_info`)
+* Added field `easys_orderline_domain_id`, referencing the easys ID of a domain product in the same payload.
+* Changed field `included_accounts` to accept a non-empty list of emails, required
+* Changed field `additional_accounts` to accept a possibly empty list of additional emails, required
+* Removed field `addresses`
+
+#### `OrderLineSerializer`
+* Added new field `down_payment`, optional
+* Added new field `detail_domain` accepting `OrderLineDomainSerializer` data, optional
+
+#### `Serializer`
+
+* Added validation: if any OrderLine detail contains `easys_orderline_domain_id` it must reference a domain
+ product provided in the same payload
+
+## 2.0.12
+
+### v2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+
+* Remove fields `remarketing_setup_fee` and `remarketing_budget`, since they are no longer used.
+
+## 2.0.11
+
+### v1/v2
+
+#### `OrderLineSeoSerializer`
+
+* Add translation for `EXISTING_STROER_LANDINGPAGE`
+
+## 2.0.10
+
+### v1/v2
+
+#### `OrderLineSeoSerializer`
+
+* Add `campaign_goal` field, not required.
+* Support new value (`3`) for `target_page_type` field. It corresponds to `EXISTING_STROER_LANDINGPAGE`.
+
+## 2.0.9
+
+### v2
+
+#### `OrderSerializer`
+
+* Add `salesforce_opportunity_id` field, required.
+
+## 2.0.8
+
+### v1/v2
+
+#### `OrderLineDisplayNativeSerializer`
+
+* Remove required `target_url`.
+
+## 2.0.7
+
+### v2
+
+#### `OrderLineSerializer`
+
+* Add `salesforce_opportunity_line_item_id` field, not required.
+
+## 2.0.6
+
+### v1/v2
+
+#### `OrderLineDisplayNativeSerializer`
+
+* Fix validation when `age_group_from` and `age_group_from` are `null`.
+
+## 2.0.3
+
+### v1/v2
+
+#### `DisplayNativeCreativeSerializer`
+
+* Changed `teaser` and `advertorial` to accept null instead of blank, and removed `allow_blank` from `ad_type`.
+
+## 1.4.53
+
+### v1/v2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+
+* Add `ticket_id` field, not required.
+
+## 1.4.52
+
+### v1/v2
+
+#### `OrderLineDisplayNativeSerializer`
+
+* Introduced new serializer - `OrderLineDisplayNativeSerializer`
+
+## 1.4.51
+
+### v1/v2
+
+#### `OrderLineInAppSerializer`
+
+* Set `poi_targeting_file` as not required.
+
+## 1.4.50
+
+### v1/v2
+
+#### `OrderLineInAppSerializer`
+
+* Add `poi_targeting_file` field.
+
+## 1.4.49
+
+### v1/v2
+
+#### `OrderLineSerializer`
+
+* Add `is_pre_briefing_necessary` field, default value is False.
+
+## 1.4.48
+
+### v1/v2
+
+#### `OrderLineDisplayPremiumSerializer`
+
+* Add validation for `impressions_per_month` and `impressions_one_time`, depending on `booking_type` (continuous or fixed).
+
+## 1.4.47
+
+### v1/v2
+
+#### `OrderLineDisplayPremiumSerializer`
+
+* Changed field `impressions_per_day` to `impressions_one_time`.
+
+## 1.4.45
+
+### v1/v2
+
+#### `OrderLineDisplayPremiumSerializer`
+
+* Changed field `age_targeting` choices: `DISPLAY_AGE_CHOICES`, removed legacy `[DISPLAY_AGE_14_19, DISPLAY_AGE_20_29]` and added `DISPLAY_AGE_14_29`
+
+## 1.4.44
+### v1/v2
+
+* removed `detail_google_ads_basic` from `OrderLineSerializer`
+* removed `OrderLineGoogleAdsBasicSerializer`
+
+## 1.4.43
+### v2
+
+* removed `detail_display_basic` from `OrderLineSerializer`
+* removed `OrderLineDisplayBasicSerializer`
+
+
+## 1.4.42
+
+### v1
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+
+* Add field `branch_codes`, optional.
+
+
+## 1.4.39
+
+### v1/v2
+
+#### `OrderLineDisplayPremiumSerializer`
+
+* Add new field `short_name`, optional.
+
+## 1.4.37
+
+### v1/v2
+
+#### `OrderLineEmailSerializer`
+
+* Add necessary and additional fields for domain creation on email orderline: `desired_domain`, `domain_type` and `domain_info`.
+
+
+## 1.4.36
+
+### v1/v2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+
+* Add new fields for generic campaign information: `is_generic_campaign` and `generic_topics`, optionals.
+
+## 1.4.34
+
+### v1/v2
+
+#### `OrderLineSeoSerializer`
+
+* Make `ticket_id` optional.
+
+## 1.4.33
+
+### v1/v2
+
+#### `ContactSerializer`
+
+* Add new field `opt_in_marketing`, optional.
+
+## 1.4.32
+
+### v1/v2
+
+#### `OrderLineSeoSerializer`
+
+* Make `regions` optional.
+
+## 1.4.29
+
+### v1/v2
+
+#### `OrderLineInAppSerializer`
+
+* Remove INAPP_AUDIENCE_OTHER choice
+* Make `target_audiences` optional. One of the `target_audiences` and `other_target_audiences` is required
+
+## 1.4.25
+
+### v1/v2
+
+#### `OrderLineSerializer`
+
+* Add new field: `payment_cycle`: choice of `PRODUCT_PAYMENT_CYCLE_CHOICES`, optional
+
+## 1.4.24
+
+### v1/v2
+
+#### `OrderLineListingSerializer`
+
+* Add two new fields: `tonline_costs` and `tonline_city`
+
+### `PRODUCT_TYPE_CHOICES`
+
+* Add choice `PRODUCT_TYPE_TONLINE`
+
+## 1.4.23
+
+### v1/v2
+
+#### `AccountLocationSerializer`
+
+* Add validation: required `payment_debit_account_iban` in case of `payment_type` Charge
+
+## 1.4.12
+
+### v2
+
+#### `OrderLineWebsiteSerializer`
+
+* Added proper choices for
+ * `design_preference_minimalistic_embellished`
+ * `design_preference_modern_classic`
+ * `design_preference_simple_striking`
+ * `design_preference_text_picture`
+
+## 1.4.10
+
+### v1/v2
+
+#### `OrderLineFacebookSerializer`
+* `ages` choices adjustment: `14_18` is now `13_17` and `19_24` is `18_24`
+
+## 1.4.9
+
+### v2
+
+#### `OrderLineWebsiteSerializer`
+* Restrict validator for field `desired_domain` to accept only domain names without http protocol and no IP addresses
+
+## 1.4.6
+
+### v1 / v2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+* Add optional `expected_impressions` and `expected_impression_share`
+
+### v1
+
+* Add optional `target_page_type`
+
+## 1.4.5
+
+### v1 / v2
+
+#### `AccountLocationSerializer`
+* Allow `google_places_id` to be 1000 characters max (was 30 before)
+
+## 1.4.3
+
+### v2
+
+#### `OrderLineWebsiteSerializer`
+* `additional_subpages` must be >= 0 and <= 60 now
+
+#### `OrderLineGoogleAdsBasicSerializer`
+* added optional `target_url`
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+* added optional `target_url`
+
+## 1.4.2
+
+### v2
+
+#### `AccountSerializer`
+* `branch_codes` cannot be empty any more
+
+#### `OrderLineSeoSerializer`
+* `topics` cannot be empty any more
+* `regions` cannot be empty any more
+
+#### `OrderLineGoogleAdsBasicSerializer`
+* `regions` cannot be empty any more
+
+## 1.4.1
+
+### v2
+
+#### `OrderLineLandingpageSerializer`
+added, similar to `OrderLineWebsiteSerializer` except for
+* `additional_subpages`: positive integer, required
+* `logo_creation`: choice of `LOGO_CREATION_CHOICES`, required
+
+#### `OrderLineSerializer`
+* added `detail_landingpage`: type `OrderLineLandingpageSerializer`, only required when OrderLine represents a landingpage product
+
+#### `OrderLineGoogleAdsBasicSerializer`
+* added `target_page_type`: choice of `GOOGLE_ADS_LANDING_PAGE_CHOICES`, optional
+ * see `Serializer` changes for validation
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+* added `branch_codes`: list of HeroCentral provided industry topic codes, optional
+ * HeroCentral will validate the codes against the industry tree
+* added `target_page_type`: choice of `GOOGLE_ADS_LANDING_PAGE_CHOICES`, optional
+ * see `Serializer` changes for validation
+* added `remarketing_setup_fee`: decimal, must be >=0 if `include_remarketing=true`
+* added `remarketing_budget`: decimal, must be >=0 if `include_remarketing=true`
+
+#### Validations
+* added validation: if any OrderLine detail contains `target_page_type`
+ * if set to `NEW_WEBSITE`, the serializer will require an OrderLine of type `PRODUCT_TYPE_WEBSITE` to exist
+ * if set to `NEW_LANDINGPAGE`, the serializer will require an OrderLine of type `PRODUCT_TYPE_LANDINGPAGE` to exist
+ * OrderLine details which can provide values for `target_page_type` are:
+ * OrderLineDisplayBasicSerializer
+ * OrderLineDisplayPremiumSerializer
+ * OrderLineSeoSerializer
+ * OrderLineInAppSerializer
+ * OrderLineFacebookSerializer
+
+
+%package -n python3-easys-ordermanager
+Summary: API definition of RH order manager for EasyS
+Provides: python-easys-ordermanager
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-easys-ordermanager
+[![PyPI version](https://badge.fury.io/py/easys-ordermanager.svg)](https://badge.fury.io/py/easys-ordermanager)
+[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/Lektor.svg)](https://pypi.org/project/easys-ordermanager/)
+
+# EasyS order manager API
+
+## Compatibility matrix
+
+Python 3.8, 3.9 and 3.10
+
+### Django 3.2
+
+DRF 3.11 or newer
+
+### Django 4.0
+
+DRF 3.13 or newer
+
+### Django 4.1
+
+DRF 3.14 or newer
+
+
+# Changelog
+
+## 2.1.3 (2023-05-03)
+* Updates to Serializer v2 & v3, see serializer changelog
+
+## 2.1.2 (2023-04-12)
+* Updates to Serializer v3, see serializer changelog
+* Fixed missing development dependency
+
+## 2.1.1 (2023-03-21)
+* Updates to Serializer v3, see serializer changelog
+* New test to validate payloads including EXISTING_STROER_LANDINGPAGE, and only a SEO product orderline.
+
+## 2.1.0 (2023-03-16)
+* Introduction of serializer v3, see serializer changelog
+* `easys-ordermanager/easys_ordermanager/v3/serializer.Serializer` is considered WIP until integration in EasyS starts
+
+## 2.0.12 (2023-03-02)
+* Updates to Serializer v2, see serializer changelog
+
+## 2.0.11 (2023-02-17)
+* Updates to Serializer v1 & v2, see serializer changelog
+
+## 2.0.10 (2023-01-09)
+* Updates to Serializer v1 & v2, see serializer changelog
+
+## 2.0.9 (2023-01-03)
+* Updates to Serializer v2, see serializer changelog
+
+## 2.0.8 (2023-01-02)
+* Updates to Serializer v2, see serializer changelog
+
+## 2.0.7 (2022-12-01)
+* Updates to Serializer v2, see serializer changelog
+
+## 2.0.6 (2022-11-29)
+* Updates to Serializer v1 & v2, see serializer changelog
+
+## 2.0.5 (2022-11-22)
+* Add serializer changelog to manifest and include it in the released package
+
+## 2.0.4 (2022-11-22)
+* Add serializer changelog to PyPI readme
+
+## 2.0.3 (2022-11-21)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 2.0.2 (2022-11-15)
+* Add support for phonenumbers 8.13.x',
+
+## 2.0.1 (2022-09-27)
+* Add support for DRF 3.14
+* Add more test combinations
+* Remove references to GitHub as the code mirror will be removed
+
+## 2.0.0 (2022-09-16)
+* Remove support for Python 3.7 and below
+* Remove support for Django 2.x and below
+* Drop support for DRF 3.10 and below
+* Add support for Python 3.10
+* Add support for Django 4.0 and 4.1
+* Add tests for DRF 3.11, 3.12 and 3.13
+* Change CI build to parallel matrix
+* Get rid of tox for CI
+* Run the publish stage only for tags on the main branch
+
+## 1.4.53 (2022-07-13)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.52 (2022-07-08)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.51 (2022-06-14)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.50 (2022-06-14)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.49 (2022-04-29)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.48 (2022-03-30)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.47 (2022-03-24)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.46 (2022-01-25)
+* Add support for [djangorestframework 3.13 release series](https://www.django-rest-framework.org/community/release-notes/#313x-series)
+
+## 1.4.45 (2022-01-14)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.44 (2022-01-03)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.43 (2021-11-29)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.42 (2021-11-26)
+Updates to Serializer v1, see serializer changelog
+
+## 1.4.41 (2021-11-12)
+* Add support for [django-phonenumber-field release series 6](https://github.com/stefanfoulis/django-phonenumber-field/blob/main/CHANGELOG.rst#600-2021-10-20)
+
+## 1.4.40 (2021-10-08)
+Fixes flake8 errors.
+
+## 1.4.39 (2021-10-08)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.38 (2021-08-11)
+* Fix example for email Orderline.
+
+## 1.4.37 (2021-08-11)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.36 (2021-06-25)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.35 (2021-06-01)
+* Update maximum supported version of django-phonenumber-field>=3.0.1,<6.0
+
+## 1.4.34 (2021-05-28)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.33 (2021-05-25)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.32 (2021-05-07)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.31 (2021-04-15)
+* Update maximum supported version of django-phonenumber-field>=3.0.1,<5.2
+* Update test matrix, add Django 3.2
+
+## 1.4.30 (2021-03-18)
+Replace ugettext* usages with gettext* usages as Python 3 is unicode compatible anyway
+
+## 1.4.29 (2021-02-19)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.28 (2021-02-01)
+* Remove dependency to django-iban and use validation from internationalflavor
+* Allow django-countries release series 7.x
+* Update dev requirements
+
+## 1.4.27 (2021-1-27)
+Updated translations of PRODUCT_PAYMENT_CYCLE_CHOICES
+
+## 1.4.26 (2021-1-27)
+updates changelog
+
+## 1.4.25 (2021-1-27)
+Adds product payment cycle support to Serializer v1 & v2, see serializer changelog
+
+## 1.4.24 (2020-11-25)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.23 (2020-11-19)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.22 (2020-11-16)
+* Modernize Docker env, Update max supported versions and min requirements of some packages
+* Split package and test dependencies
+* Move package dependencies to setup.py
+* Restructure travis env
+
+## 1.4.21 (2020-11-13)
+Update maximum supported version of django-phonenumber-field>=3.0.1,<5.1
+
+## 1.4.20 (2020-11-06)
+Update maximum supported version of phonenumbers>=7.0.6,<8.13
+
+## 1.4.19 (2020-10-23)
+Update maximum supported version of djangorestframework>=3.7.7,<3.13
+
+## 1.4.18 (2020-10-16)
+Update maximum required version of django-countries>=4.4,<6.1.4 and django-internationalflavor>=0.3.1,<0.5
+
+## 1.4.17 (2020-10-16)
+Update package to version phonenumbers>=7.0.6,<8.12.12
+
+## 1.4.15 (2020-10-16)
+Update package to version django-model-utils>=3.1.2,<5.0 - for backwards compatibility
+
+## 1.4.14 (2020-10-16)
+Update package to version django-model-utils>=4.0.0,<5.0
+
+## 1.4.13 (2020-10-06)
+Fix serializer v2 choice fields
+
+## 1.4.12 (2020-10-05)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.11 (2020-09-23)
+Update german translations
+
+## 1.4.10 (2020-09-23)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.9 (2020-09-01)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.8 (2020-08-06)
+Changed a translation
+
+## 1.4.7 (2020-06-30)
+Fix test cases
+
+## 1.4.6 (2020-06-30)
+Updates to Serializer v1/v2, see serializer changelog
+
+## 1.4.5 (2020-06-23)
+Updates to Serializer v1/v2, see serializer changelog
+
+## 1.4.4 (2020-06-04)
+Fixed code style to pass checks
+
+## 1.4.3 (2020-06-03)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.2 (2020-05-07)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.1 (2020-04-15)
+Introduction of serializer v2
+* `easys-ordermanager/easys_ordermanager/v1/serializer.Serializer` is now frozen on the state of release 1.2.3
+* `easys-ordermanager/easys_ordermanager/v2/serializer.Serializer` is considered WIP until integration in EasyS starts and new changes will go into v3, see serializer changelog for changes between v1 and v2
+
+## 1.3.2 (2020-04-02)
+Reverted
+
+## 1.2.3 (2020-03-03)
+Make sure Django 3 is not installed until further support
+
+## 1.2.2 (2020-03-03)
+Add proper dependencies to avoid unwanted failure with possible upgrades when installed freshly.
+See setup.py for dependencies
+
+## 1.2.1 (2020-02-27)
+Add unique validation on `opening_hours` list of values of `OrderLineListingSerializer`.
+The opening hours lis should be unique for every `day_of_week` (see `OrderLineListingOpeningHoursSerializer`)
+
+
+## 1.2.0 (2019-09-17)
+This release contains backwards incompatible changes.
+
+Changes on `OrderLineDisplayBasicSerializer`
+ * Removed: `geo_targeting` field.
+ * New: `geo_targeting_zip` field which accepts one string zip code. Not mandatory
+ * New: `geo_targeting_radius` field accepting integer values between 1-80 (km). Mandatory only if `geo_targeting_zip` is given.
+ * Removed: `stock_images_allowed` field:
+ * New: `banner_image_selection` choice field accepting following values:
+ * 0 for 'From website' / 'Von der Webseite' option
+ * 1 for 'From customer' / 'Vom kunden' option
+ * 2 for 'Customer photos' / 'Regiohelden Bilder' option
+ * Change: `target_page_type` existing field which is not required anymore.
+
+Changes on `OrderLineGoogleAdsPremiumSerializer`:
+ * New: `call_tracking` boolean required field.
+
+
+## 1.1.3 (2019-09-11)
+Clean README file.
+
+
+## 1.1.2 (2019-09-11)
+Fix expected_impression_share field of OrderLineGoogleAdsBasicSerializer to accept 5 digits in order to validate value 100.00
+
+
+## 1.1.1 (2019-09-06)
+Small fix on pep8 error
+
+## 1.1.0 (2019-09-04)
+
+This release contains backwards incompatible changes
+
+
+* Split Display detail OrderLineDisplaySerializer in two different serializers and fields for basic and premium product levels:
+ * remove `detail_display` field from `OrderLine`
+ * add `detail_display_basic` field (`OrderLineDisplayBasicSerializer`) on `OrderLine`
+
+ The serializer contains following fields:
+
+ New fields:
+ * `banner_color_selection`
+ choice field with values: 1 for _Color from Logo/Website_ and 2 for _Set color_ . To be used in combination with fields `color_code_x`
+
+ Fields with changed definition
+ * `impressions_per_month`
+ choice field with accepted values: 20.000 , 40.000 and 80.000
+ * `creative_options`
+ choice field contains only values: 1 for _Customer provided_ and 3 for _Create animated_
+
+ Fields with the same definition as in the previous OrderLineDisplaySerializer
+ * `geo_targeting`
+ * `geo_targeting`
+ * `campaign_goal`
+ * `headline`
+ * `sub_headline`
+ * `bullet_points`
+ * `call_to_action`
+ * `color_code_1`
+ * `color_code_2`
+ * `color_code_3`
+ * `stock_images_allowed`
+ * `target_page_type`
+ * `target_url`
+ * `package_template`
+ * `location_frame_text`
+ * `creative_options`
+
+ * add `detail_display_premium` field (`OrderLineDisplayPremiumSerializer`) on `OrderLine`
+
+ Serializer contains following fields with the same definition as in the previous OrderLineDisplaySerializer
+ * `booking_type`
+ * `target_devices`
+ * `creatives_format`
+ * `impressions_per_day`
+ * `impressions_per_month`
+ * `age_targeting`
+ * `gender_targeting`
+ * `geo_targeting`
+ * `channel_targeting`
+ * `interest_targeting`
+ * `campaign_goal`
+ * `target_page_type`
+ * `target_url`
+ * `creative_options`
+
+
+* Split Google Ads detail OrderLineGoogleAdsSerializer in two different serializers for basic and premium product levels:
+ * remove `detail_google_ads` field from `OrderLine`
+ * add `detail_google_ads_basic` field (`OrderLineGoogleAdsBasicSerializer`) on `OrderLine`
+
+ Serializer contains following fields with the same definition as in the previous OrderLineGoogleAdsSerializer
+ * `campaign_goal`
+ * `regions`
+ * `expected_impression_share`
+ * `keywords`
+ * `keywords_with_zero_search_volume`
+ * `target_audience`
+
+ * add `detail_google_ads_premium` field (`OrderLineGoogleAdsPremiumSerializer`) on `OrderLine`
+
+ Serializer contains following fields with the same definition as in the previous OrderLineGoogleAdsSerializer
+ * `call_to_action`
+ * `campaign_goal`
+ * `regions`
+ * `expected_clicks`
+ * `expected_conversions`
+ * `existing_account_id`
+ * `include_remarketing`
+ * `keywords`
+ * `keywords_with_zero_search_volume`
+ * `target_audience`
+ * `usp`
+
+
+* All product fee fields on `OrderLineSerializer` became optional:
+ * `setup_fee`
+ * `start_fee`
+ * `budget`
+ * `fee`
+ * `one_time_budget`
+ * `commission`
+ * `deferred_payment_sum`
+
+* Add validation for commission provided for product type Google Ads level Basic: fixed value of 40
+* Add validation for combination of product type and level: check if a matching HC products subtype exists
+* Add validation for the payment fees provided: check if a matching HC payment type exists.
+
+
+## 1.0.4 (2019-08-21)
+
+* Add new fee type postponed_setup_fee
+* Add reference customer boolean to Location serializer
+
+## 1.0.3 (2019-07-03)
+
+* Don't use allow_null with BooleanField (`djangorestframework<3.9` doesn't support it)
+
+
+## 1.0.2 (2019-07-01)
+
+* Allow to use empty/null values for non-required fields
+
+
+## 1.0.1 (2019-06-27)
+
+* Add missing files to the package
+
+
+## 1.0.0 (2019-06-24)
+
+* Initial release
+
+
+# Serializer changes
+
+## 2.1.3
+
+### v2/v3
+
+#### `OrderLineInAppSerializer`
+* Added `INAPP_AUDIENCE_EMPTY` to `target_audiences` choices.
+
+## 2.1.2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+* Made `target_page_type` required.
+* Removed fields:
+ - `expected_clicks`
+ - `expected_conversions`
+ - `expected_impression_share`
+ - `expected_impressions`
+ - `keywords_with_zero_search_volume`
+ - `branch_codes`
+ - `call_to_action`
+ - `is_generic_campaign`
+ - `generic_topics`
+ - `remarketing_setup_fee`
+ - `remarketing_budget`
+
+#### `OrderLineLandingpageSerializer`
+* Added field `easys_related_orderline_id`, referencing the easys ID of a product in the same payload, required.
+
+## 2.1.1
+
+### v2/v3
+
+#### `EXISTING_STROER_LANDINGPAGE`
+
+* Change constant value from 3 to 4, to prevent clashes with `NEW_LANDINGPAGE` constant.
+
+#### `validate_website_and_landingpage_exists()`
+
+* `needs_website` is `True` **only** when `target_page_type` property corresponds to a new website. This was the behavior before the version `2.0.10` of the serializer.
+
+## 2.1.0
+
+### v3
+
+#### `PRODUCT_TYPE_CHOICES`
+
+* Added choice `PRODUCT_TYPE_DOMAIN`
+
+#### `OrderLineDomainSerializer`
+* Added serializer, the domain fields of `OrderLineWebsiteSerializer`and `OrderLineEmailSerializer` have been migrated to
+ this serializer. Contains the following fields:
+ * `desired_domain`: character field of maximum length 100, required
+ * `domain_type`: choice of `DOMAIN_TYPE_CHOICES`, required
+ * `domain_info`: character field of maximum length 100, optional
+
+#### `OrderLineWebsiteSerializer`
+* Removed domain fields (`desired_domain`, `domain_type`, `domain_info`)
+* Added field `easys_orderline_domain_id`, referencing the easys ID of a domain product in the same payload
+
+#### `OrderLineEmailSerializer`
+* Removed domain fields (`desired_domain`, `domain_type`, `domain_info`)
+* Added field `easys_orderline_domain_id`, referencing the easys ID of a domain product in the same payload.
+* Changed field `included_accounts` to accept a non-empty list of emails, required
+* Changed field `additional_accounts` to accept a possibly empty list of additional emails, required
+* Removed field `addresses`
+
+#### `OrderLineSerializer`
+* Added new field `down_payment`, optional
+* Added new field `detail_domain` accepting `OrderLineDomainSerializer` data, optional
+
+#### `Serializer`
+
+* Added validation: if any OrderLine detail contains `easys_orderline_domain_id` it must reference a domain
+ product provided in the same payload
+
+## 2.0.12
+
+### v2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+
+* Remove fields `remarketing_setup_fee` and `remarketing_budget`, since they are no longer used.
+
+## 2.0.11
+
+### v1/v2
+
+#### `OrderLineSeoSerializer`
+
+* Add translation for `EXISTING_STROER_LANDINGPAGE`
+
+## 2.0.10
+
+### v1/v2
+
+#### `OrderLineSeoSerializer`
+
+* Add `campaign_goal` field, not required.
+* Support new value (`3`) for `target_page_type` field. It corresponds to `EXISTING_STROER_LANDINGPAGE`.
+
+## 2.0.9
+
+### v2
+
+#### `OrderSerializer`
+
+* Add `salesforce_opportunity_id` field, required.
+
+## 2.0.8
+
+### v1/v2
+
+#### `OrderLineDisplayNativeSerializer`
+
+* Remove required `target_url`.
+
+## 2.0.7
+
+### v2
+
+#### `OrderLineSerializer`
+
+* Add `salesforce_opportunity_line_item_id` field, not required.
+
+## 2.0.6
+
+### v1/v2
+
+#### `OrderLineDisplayNativeSerializer`
+
+* Fix validation when `age_group_from` and `age_group_from` are `null`.
+
+## 2.0.3
+
+### v1/v2
+
+#### `DisplayNativeCreativeSerializer`
+
+* Changed `teaser` and `advertorial` to accept null instead of blank, and removed `allow_blank` from `ad_type`.
+
+## 1.4.53
+
+### v1/v2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+
+* Add `ticket_id` field, not required.
+
+## 1.4.52
+
+### v1/v2
+
+#### `OrderLineDisplayNativeSerializer`
+
+* Introduced new serializer - `OrderLineDisplayNativeSerializer`
+
+## 1.4.51
+
+### v1/v2
+
+#### `OrderLineInAppSerializer`
+
+* Set `poi_targeting_file` as not required.
+
+## 1.4.50
+
+### v1/v2
+
+#### `OrderLineInAppSerializer`
+
+* Add `poi_targeting_file` field.
+
+## 1.4.49
+
+### v1/v2
+
+#### `OrderLineSerializer`
+
+* Add `is_pre_briefing_necessary` field, default value is False.
+
+## 1.4.48
+
+### v1/v2
+
+#### `OrderLineDisplayPremiumSerializer`
+
+* Add validation for `impressions_per_month` and `impressions_one_time`, depending on `booking_type` (continuous or fixed).
+
+## 1.4.47
+
+### v1/v2
+
+#### `OrderLineDisplayPremiumSerializer`
+
+* Changed field `impressions_per_day` to `impressions_one_time`.
+
+## 1.4.45
+
+### v1/v2
+
+#### `OrderLineDisplayPremiumSerializer`
+
+* Changed field `age_targeting` choices: `DISPLAY_AGE_CHOICES`, removed legacy `[DISPLAY_AGE_14_19, DISPLAY_AGE_20_29]` and added `DISPLAY_AGE_14_29`
+
+## 1.4.44
+### v1/v2
+
+* removed `detail_google_ads_basic` from `OrderLineSerializer`
+* removed `OrderLineGoogleAdsBasicSerializer`
+
+## 1.4.43
+### v2
+
+* removed `detail_display_basic` from `OrderLineSerializer`
+* removed `OrderLineDisplayBasicSerializer`
+
+
+## 1.4.42
+
+### v1
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+
+* Add field `branch_codes`, optional.
+
+
+## 1.4.39
+
+### v1/v2
+
+#### `OrderLineDisplayPremiumSerializer`
+
+* Add new field `short_name`, optional.
+
+## 1.4.37
+
+### v1/v2
+
+#### `OrderLineEmailSerializer`
+
+* Add necessary and additional fields for domain creation on email orderline: `desired_domain`, `domain_type` and `domain_info`.
+
+
+## 1.4.36
+
+### v1/v2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+
+* Add new fields for generic campaign information: `is_generic_campaign` and `generic_topics`, optionals.
+
+## 1.4.34
+
+### v1/v2
+
+#### `OrderLineSeoSerializer`
+
+* Make `ticket_id` optional.
+
+## 1.4.33
+
+### v1/v2
+
+#### `ContactSerializer`
+
+* Add new field `opt_in_marketing`, optional.
+
+## 1.4.32
+
+### v1/v2
+
+#### `OrderLineSeoSerializer`
+
+* Make `regions` optional.
+
+## 1.4.29
+
+### v1/v2
+
+#### `OrderLineInAppSerializer`
+
+* Remove INAPP_AUDIENCE_OTHER choice
+* Make `target_audiences` optional. One of the `target_audiences` and `other_target_audiences` is required
+
+## 1.4.25
+
+### v1/v2
+
+#### `OrderLineSerializer`
+
+* Add new field: `payment_cycle`: choice of `PRODUCT_PAYMENT_CYCLE_CHOICES`, optional
+
+## 1.4.24
+
+### v1/v2
+
+#### `OrderLineListingSerializer`
+
+* Add two new fields: `tonline_costs` and `tonline_city`
+
+### `PRODUCT_TYPE_CHOICES`
+
+* Add choice `PRODUCT_TYPE_TONLINE`
+
+## 1.4.23
+
+### v1/v2
+
+#### `AccountLocationSerializer`
+
+* Add validation: required `payment_debit_account_iban` in case of `payment_type` Charge
+
+## 1.4.12
+
+### v2
+
+#### `OrderLineWebsiteSerializer`
+
+* Added proper choices for
+ * `design_preference_minimalistic_embellished`
+ * `design_preference_modern_classic`
+ * `design_preference_simple_striking`
+ * `design_preference_text_picture`
+
+## 1.4.10
+
+### v1/v2
+
+#### `OrderLineFacebookSerializer`
+* `ages` choices adjustment: `14_18` is now `13_17` and `19_24` is `18_24`
+
+## 1.4.9
+
+### v2
+
+#### `OrderLineWebsiteSerializer`
+* Restrict validator for field `desired_domain` to accept only domain names without http protocol and no IP addresses
+
+## 1.4.6
+
+### v1 / v2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+* Add optional `expected_impressions` and `expected_impression_share`
+
+### v1
+
+* Add optional `target_page_type`
+
+## 1.4.5
+
+### v1 / v2
+
+#### `AccountLocationSerializer`
+* Allow `google_places_id` to be 1000 characters max (was 30 before)
+
+## 1.4.3
+
+### v2
+
+#### `OrderLineWebsiteSerializer`
+* `additional_subpages` must be >= 0 and <= 60 now
+
+#### `OrderLineGoogleAdsBasicSerializer`
+* added optional `target_url`
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+* added optional `target_url`
+
+## 1.4.2
+
+### v2
+
+#### `AccountSerializer`
+* `branch_codes` cannot be empty any more
+
+#### `OrderLineSeoSerializer`
+* `topics` cannot be empty any more
+* `regions` cannot be empty any more
+
+#### `OrderLineGoogleAdsBasicSerializer`
+* `regions` cannot be empty any more
+
+## 1.4.1
+
+### v2
+
+#### `OrderLineLandingpageSerializer`
+added, similar to `OrderLineWebsiteSerializer` except for
+* `additional_subpages`: positive integer, required
+* `logo_creation`: choice of `LOGO_CREATION_CHOICES`, required
+
+#### `OrderLineSerializer`
+* added `detail_landingpage`: type `OrderLineLandingpageSerializer`, only required when OrderLine represents a landingpage product
+
+#### `OrderLineGoogleAdsBasicSerializer`
+* added `target_page_type`: choice of `GOOGLE_ADS_LANDING_PAGE_CHOICES`, optional
+ * see `Serializer` changes for validation
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+* added `branch_codes`: list of HeroCentral provided industry topic codes, optional
+ * HeroCentral will validate the codes against the industry tree
+* added `target_page_type`: choice of `GOOGLE_ADS_LANDING_PAGE_CHOICES`, optional
+ * see `Serializer` changes for validation
+* added `remarketing_setup_fee`: decimal, must be >=0 if `include_remarketing=true`
+* added `remarketing_budget`: decimal, must be >=0 if `include_remarketing=true`
+
+#### Validations
+* added validation: if any OrderLine detail contains `target_page_type`
+ * if set to `NEW_WEBSITE`, the serializer will require an OrderLine of type `PRODUCT_TYPE_WEBSITE` to exist
+ * if set to `NEW_LANDINGPAGE`, the serializer will require an OrderLine of type `PRODUCT_TYPE_LANDINGPAGE` to exist
+ * OrderLine details which can provide values for `target_page_type` are:
+ * OrderLineDisplayBasicSerializer
+ * OrderLineDisplayPremiumSerializer
+ * OrderLineSeoSerializer
+ * OrderLineInAppSerializer
+ * OrderLineFacebookSerializer
+
+
+%package help
+Summary: Development documents and examples for easys-ordermanager
+Provides: python3-easys-ordermanager-doc
+%description help
+[![PyPI version](https://badge.fury.io/py/easys-ordermanager.svg)](https://badge.fury.io/py/easys-ordermanager)
+[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/Lektor.svg)](https://pypi.org/project/easys-ordermanager/)
+
+# EasyS order manager API
+
+## Compatibility matrix
+
+Python 3.8, 3.9 and 3.10
+
+### Django 3.2
+
+DRF 3.11 or newer
+
+### Django 4.0
+
+DRF 3.13 or newer
+
+### Django 4.1
+
+DRF 3.14 or newer
+
+
+# Changelog
+
+## 2.1.3 (2023-05-03)
+* Updates to Serializer v2 & v3, see serializer changelog
+
+## 2.1.2 (2023-04-12)
+* Updates to Serializer v3, see serializer changelog
+* Fixed missing development dependency
+
+## 2.1.1 (2023-03-21)
+* Updates to Serializer v3, see serializer changelog
+* New test to validate payloads including EXISTING_STROER_LANDINGPAGE, and only a SEO product orderline.
+
+## 2.1.0 (2023-03-16)
+* Introduction of serializer v3, see serializer changelog
+* `easys-ordermanager/easys_ordermanager/v3/serializer.Serializer` is considered WIP until integration in EasyS starts
+
+## 2.0.12 (2023-03-02)
+* Updates to Serializer v2, see serializer changelog
+
+## 2.0.11 (2023-02-17)
+* Updates to Serializer v1 & v2, see serializer changelog
+
+## 2.0.10 (2023-01-09)
+* Updates to Serializer v1 & v2, see serializer changelog
+
+## 2.0.9 (2023-01-03)
+* Updates to Serializer v2, see serializer changelog
+
+## 2.0.8 (2023-01-02)
+* Updates to Serializer v2, see serializer changelog
+
+## 2.0.7 (2022-12-01)
+* Updates to Serializer v2, see serializer changelog
+
+## 2.0.6 (2022-11-29)
+* Updates to Serializer v1 & v2, see serializer changelog
+
+## 2.0.5 (2022-11-22)
+* Add serializer changelog to manifest and include it in the released package
+
+## 2.0.4 (2022-11-22)
+* Add serializer changelog to PyPI readme
+
+## 2.0.3 (2022-11-21)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 2.0.2 (2022-11-15)
+* Add support for phonenumbers 8.13.x',
+
+## 2.0.1 (2022-09-27)
+* Add support for DRF 3.14
+* Add more test combinations
+* Remove references to GitHub as the code mirror will be removed
+
+## 2.0.0 (2022-09-16)
+* Remove support for Python 3.7 and below
+* Remove support for Django 2.x and below
+* Drop support for DRF 3.10 and below
+* Add support for Python 3.10
+* Add support for Django 4.0 and 4.1
+* Add tests for DRF 3.11, 3.12 and 3.13
+* Change CI build to parallel matrix
+* Get rid of tox for CI
+* Run the publish stage only for tags on the main branch
+
+## 1.4.53 (2022-07-13)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.52 (2022-07-08)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.51 (2022-06-14)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.50 (2022-06-14)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.49 (2022-04-29)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.48 (2022-03-30)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.47 (2022-03-24)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.46 (2022-01-25)
+* Add support for [djangorestframework 3.13 release series](https://www.django-rest-framework.org/community/release-notes/#313x-series)
+
+## 1.4.45 (2022-01-14)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.44 (2022-01-03)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.43 (2021-11-29)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.42 (2021-11-26)
+Updates to Serializer v1, see serializer changelog
+
+## 1.4.41 (2021-11-12)
+* Add support for [django-phonenumber-field release series 6](https://github.com/stefanfoulis/django-phonenumber-field/blob/main/CHANGELOG.rst#600-2021-10-20)
+
+## 1.4.40 (2021-10-08)
+Fixes flake8 errors.
+
+## 1.4.39 (2021-10-08)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.38 (2021-08-11)
+* Fix example for email Orderline.
+
+## 1.4.37 (2021-08-11)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.36 (2021-06-25)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.35 (2021-06-01)
+* Update maximum supported version of django-phonenumber-field>=3.0.1,<6.0
+
+## 1.4.34 (2021-05-28)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.33 (2021-05-25)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.32 (2021-05-07)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.31 (2021-04-15)
+* Update maximum supported version of django-phonenumber-field>=3.0.1,<5.2
+* Update test matrix, add Django 3.2
+
+## 1.4.30 (2021-03-18)
+Replace ugettext* usages with gettext* usages as Python 3 is unicode compatible anyway
+
+## 1.4.29 (2021-02-19)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.28 (2021-02-01)
+* Remove dependency to django-iban and use validation from internationalflavor
+* Allow django-countries release series 7.x
+* Update dev requirements
+
+## 1.4.27 (2021-1-27)
+Updated translations of PRODUCT_PAYMENT_CYCLE_CHOICES
+
+## 1.4.26 (2021-1-27)
+updates changelog
+
+## 1.4.25 (2021-1-27)
+Adds product payment cycle support to Serializer v1 & v2, see serializer changelog
+
+## 1.4.24 (2020-11-25)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.23 (2020-11-19)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.22 (2020-11-16)
+* Modernize Docker env, Update max supported versions and min requirements of some packages
+* Split package and test dependencies
+* Move package dependencies to setup.py
+* Restructure travis env
+
+## 1.4.21 (2020-11-13)
+Update maximum supported version of django-phonenumber-field>=3.0.1,<5.1
+
+## 1.4.20 (2020-11-06)
+Update maximum supported version of phonenumbers>=7.0.6,<8.13
+
+## 1.4.19 (2020-10-23)
+Update maximum supported version of djangorestframework>=3.7.7,<3.13
+
+## 1.4.18 (2020-10-16)
+Update maximum required version of django-countries>=4.4,<6.1.4 and django-internationalflavor>=0.3.1,<0.5
+
+## 1.4.17 (2020-10-16)
+Update package to version phonenumbers>=7.0.6,<8.12.12
+
+## 1.4.15 (2020-10-16)
+Update package to version django-model-utils>=3.1.2,<5.0 - for backwards compatibility
+
+## 1.4.14 (2020-10-16)
+Update package to version django-model-utils>=4.0.0,<5.0
+
+## 1.4.13 (2020-10-06)
+Fix serializer v2 choice fields
+
+## 1.4.12 (2020-10-05)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.11 (2020-09-23)
+Update german translations
+
+## 1.4.10 (2020-09-23)
+Updates to Serializer v1 & v2, see serializer changelog
+
+## 1.4.9 (2020-09-01)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.8 (2020-08-06)
+Changed a translation
+
+## 1.4.7 (2020-06-30)
+Fix test cases
+
+## 1.4.6 (2020-06-30)
+Updates to Serializer v1/v2, see serializer changelog
+
+## 1.4.5 (2020-06-23)
+Updates to Serializer v1/v2, see serializer changelog
+
+## 1.4.4 (2020-06-04)
+Fixed code style to pass checks
+
+## 1.4.3 (2020-06-03)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.2 (2020-05-07)
+Updates to Serializer v2, see serializer changelog
+
+## 1.4.1 (2020-04-15)
+Introduction of serializer v2
+* `easys-ordermanager/easys_ordermanager/v1/serializer.Serializer` is now frozen on the state of release 1.2.3
+* `easys-ordermanager/easys_ordermanager/v2/serializer.Serializer` is considered WIP until integration in EasyS starts and new changes will go into v3, see serializer changelog for changes between v1 and v2
+
+## 1.3.2 (2020-04-02)
+Reverted
+
+## 1.2.3 (2020-03-03)
+Make sure Django 3 is not installed until further support
+
+## 1.2.2 (2020-03-03)
+Add proper dependencies to avoid unwanted failure with possible upgrades when installed freshly.
+See setup.py for dependencies
+
+## 1.2.1 (2020-02-27)
+Add unique validation on `opening_hours` list of values of `OrderLineListingSerializer`.
+The opening hours lis should be unique for every `day_of_week` (see `OrderLineListingOpeningHoursSerializer`)
+
+
+## 1.2.0 (2019-09-17)
+This release contains backwards incompatible changes.
+
+Changes on `OrderLineDisplayBasicSerializer`
+ * Removed: `geo_targeting` field.
+ * New: `geo_targeting_zip` field which accepts one string zip code. Not mandatory
+ * New: `geo_targeting_radius` field accepting integer values between 1-80 (km). Mandatory only if `geo_targeting_zip` is given.
+ * Removed: `stock_images_allowed` field:
+ * New: `banner_image_selection` choice field accepting following values:
+ * 0 for 'From website' / 'Von der Webseite' option
+ * 1 for 'From customer' / 'Vom kunden' option
+ * 2 for 'Customer photos' / 'Regiohelden Bilder' option
+ * Change: `target_page_type` existing field which is not required anymore.
+
+Changes on `OrderLineGoogleAdsPremiumSerializer`:
+ * New: `call_tracking` boolean required field.
+
+
+## 1.1.3 (2019-09-11)
+Clean README file.
+
+
+## 1.1.2 (2019-09-11)
+Fix expected_impression_share field of OrderLineGoogleAdsBasicSerializer to accept 5 digits in order to validate value 100.00
+
+
+## 1.1.1 (2019-09-06)
+Small fix on pep8 error
+
+## 1.1.0 (2019-09-04)
+
+This release contains backwards incompatible changes
+
+
+* Split Display detail OrderLineDisplaySerializer in two different serializers and fields for basic and premium product levels:
+ * remove `detail_display` field from `OrderLine`
+ * add `detail_display_basic` field (`OrderLineDisplayBasicSerializer`) on `OrderLine`
+
+ The serializer contains following fields:
+
+ New fields:
+ * `banner_color_selection`
+ choice field with values: 1 for _Color from Logo/Website_ and 2 for _Set color_ . To be used in combination with fields `color_code_x`
+
+ Fields with changed definition
+ * `impressions_per_month`
+ choice field with accepted values: 20.000 , 40.000 and 80.000
+ * `creative_options`
+ choice field contains only values: 1 for _Customer provided_ and 3 for _Create animated_
+
+ Fields with the same definition as in the previous OrderLineDisplaySerializer
+ * `geo_targeting`
+ * `geo_targeting`
+ * `campaign_goal`
+ * `headline`
+ * `sub_headline`
+ * `bullet_points`
+ * `call_to_action`
+ * `color_code_1`
+ * `color_code_2`
+ * `color_code_3`
+ * `stock_images_allowed`
+ * `target_page_type`
+ * `target_url`
+ * `package_template`
+ * `location_frame_text`
+ * `creative_options`
+
+ * add `detail_display_premium` field (`OrderLineDisplayPremiumSerializer`) on `OrderLine`
+
+ Serializer contains following fields with the same definition as in the previous OrderLineDisplaySerializer
+ * `booking_type`
+ * `target_devices`
+ * `creatives_format`
+ * `impressions_per_day`
+ * `impressions_per_month`
+ * `age_targeting`
+ * `gender_targeting`
+ * `geo_targeting`
+ * `channel_targeting`
+ * `interest_targeting`
+ * `campaign_goal`
+ * `target_page_type`
+ * `target_url`
+ * `creative_options`
+
+
+* Split Google Ads detail OrderLineGoogleAdsSerializer in two different serializers for basic and premium product levels:
+ * remove `detail_google_ads` field from `OrderLine`
+ * add `detail_google_ads_basic` field (`OrderLineGoogleAdsBasicSerializer`) on `OrderLine`
+
+ Serializer contains following fields with the same definition as in the previous OrderLineGoogleAdsSerializer
+ * `campaign_goal`
+ * `regions`
+ * `expected_impression_share`
+ * `keywords`
+ * `keywords_with_zero_search_volume`
+ * `target_audience`
+
+ * add `detail_google_ads_premium` field (`OrderLineGoogleAdsPremiumSerializer`) on `OrderLine`
+
+ Serializer contains following fields with the same definition as in the previous OrderLineGoogleAdsSerializer
+ * `call_to_action`
+ * `campaign_goal`
+ * `regions`
+ * `expected_clicks`
+ * `expected_conversions`
+ * `existing_account_id`
+ * `include_remarketing`
+ * `keywords`
+ * `keywords_with_zero_search_volume`
+ * `target_audience`
+ * `usp`
+
+
+* All product fee fields on `OrderLineSerializer` became optional:
+ * `setup_fee`
+ * `start_fee`
+ * `budget`
+ * `fee`
+ * `one_time_budget`
+ * `commission`
+ * `deferred_payment_sum`
+
+* Add validation for commission provided for product type Google Ads level Basic: fixed value of 40
+* Add validation for combination of product type and level: check if a matching HC products subtype exists
+* Add validation for the payment fees provided: check if a matching HC payment type exists.
+
+
+## 1.0.4 (2019-08-21)
+
+* Add new fee type postponed_setup_fee
+* Add reference customer boolean to Location serializer
+
+## 1.0.3 (2019-07-03)
+
+* Don't use allow_null with BooleanField (`djangorestframework<3.9` doesn't support it)
+
+
+## 1.0.2 (2019-07-01)
+
+* Allow to use empty/null values for non-required fields
+
+
+## 1.0.1 (2019-06-27)
+
+* Add missing files to the package
+
+
+## 1.0.0 (2019-06-24)
+
+* Initial release
+
+
+# Serializer changes
+
+## 2.1.3
+
+### v2/v3
+
+#### `OrderLineInAppSerializer`
+* Added `INAPP_AUDIENCE_EMPTY` to `target_audiences` choices.
+
+## 2.1.2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+* Made `target_page_type` required.
+* Removed fields:
+ - `expected_clicks`
+ - `expected_conversions`
+ - `expected_impression_share`
+ - `expected_impressions`
+ - `keywords_with_zero_search_volume`
+ - `branch_codes`
+ - `call_to_action`
+ - `is_generic_campaign`
+ - `generic_topics`
+ - `remarketing_setup_fee`
+ - `remarketing_budget`
+
+#### `OrderLineLandingpageSerializer`
+* Added field `easys_related_orderline_id`, referencing the easys ID of a product in the same payload, required.
+
+## 2.1.1
+
+### v2/v3
+
+#### `EXISTING_STROER_LANDINGPAGE`
+
+* Change constant value from 3 to 4, to prevent clashes with `NEW_LANDINGPAGE` constant.
+
+#### `validate_website_and_landingpage_exists()`
+
+* `needs_website` is `True` **only** when `target_page_type` property corresponds to a new website. This was the behavior before the version `2.0.10` of the serializer.
+
+## 2.1.0
+
+### v3
+
+#### `PRODUCT_TYPE_CHOICES`
+
+* Added choice `PRODUCT_TYPE_DOMAIN`
+
+#### `OrderLineDomainSerializer`
+* Added serializer, the domain fields of `OrderLineWebsiteSerializer`and `OrderLineEmailSerializer` have been migrated to
+ this serializer. Contains the following fields:
+ * `desired_domain`: character field of maximum length 100, required
+ * `domain_type`: choice of `DOMAIN_TYPE_CHOICES`, required
+ * `domain_info`: character field of maximum length 100, optional
+
+#### `OrderLineWebsiteSerializer`
+* Removed domain fields (`desired_domain`, `domain_type`, `domain_info`)
+* Added field `easys_orderline_domain_id`, referencing the easys ID of a domain product in the same payload
+
+#### `OrderLineEmailSerializer`
+* Removed domain fields (`desired_domain`, `domain_type`, `domain_info`)
+* Added field `easys_orderline_domain_id`, referencing the easys ID of a domain product in the same payload.
+* Changed field `included_accounts` to accept a non-empty list of emails, required
+* Changed field `additional_accounts` to accept a possibly empty list of additional emails, required
+* Removed field `addresses`
+
+#### `OrderLineSerializer`
+* Added new field `down_payment`, optional
+* Added new field `detail_domain` accepting `OrderLineDomainSerializer` data, optional
+
+#### `Serializer`
+
+* Added validation: if any OrderLine detail contains `easys_orderline_domain_id` it must reference a domain
+ product provided in the same payload
+
+## 2.0.12
+
+### v2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+
+* Remove fields `remarketing_setup_fee` and `remarketing_budget`, since they are no longer used.
+
+## 2.0.11
+
+### v1/v2
+
+#### `OrderLineSeoSerializer`
+
+* Add translation for `EXISTING_STROER_LANDINGPAGE`
+
+## 2.0.10
+
+### v1/v2
+
+#### `OrderLineSeoSerializer`
+
+* Add `campaign_goal` field, not required.
+* Support new value (`3`) for `target_page_type` field. It corresponds to `EXISTING_STROER_LANDINGPAGE`.
+
+## 2.0.9
+
+### v2
+
+#### `OrderSerializer`
+
+* Add `salesforce_opportunity_id` field, required.
+
+## 2.0.8
+
+### v1/v2
+
+#### `OrderLineDisplayNativeSerializer`
+
+* Remove required `target_url`.
+
+## 2.0.7
+
+### v2
+
+#### `OrderLineSerializer`
+
+* Add `salesforce_opportunity_line_item_id` field, not required.
+
+## 2.0.6
+
+### v1/v2
+
+#### `OrderLineDisplayNativeSerializer`
+
+* Fix validation when `age_group_from` and `age_group_from` are `null`.
+
+## 2.0.3
+
+### v1/v2
+
+#### `DisplayNativeCreativeSerializer`
+
+* Changed `teaser` and `advertorial` to accept null instead of blank, and removed `allow_blank` from `ad_type`.
+
+## 1.4.53
+
+### v1/v2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+
+* Add `ticket_id` field, not required.
+
+## 1.4.52
+
+### v1/v2
+
+#### `OrderLineDisplayNativeSerializer`
+
+* Introduced new serializer - `OrderLineDisplayNativeSerializer`
+
+## 1.4.51
+
+### v1/v2
+
+#### `OrderLineInAppSerializer`
+
+* Set `poi_targeting_file` as not required.
+
+## 1.4.50
+
+### v1/v2
+
+#### `OrderLineInAppSerializer`
+
+* Add `poi_targeting_file` field.
+
+## 1.4.49
+
+### v1/v2
+
+#### `OrderLineSerializer`
+
+* Add `is_pre_briefing_necessary` field, default value is False.
+
+## 1.4.48
+
+### v1/v2
+
+#### `OrderLineDisplayPremiumSerializer`
+
+* Add validation for `impressions_per_month` and `impressions_one_time`, depending on `booking_type` (continuous or fixed).
+
+## 1.4.47
+
+### v1/v2
+
+#### `OrderLineDisplayPremiumSerializer`
+
+* Changed field `impressions_per_day` to `impressions_one_time`.
+
+## 1.4.45
+
+### v1/v2
+
+#### `OrderLineDisplayPremiumSerializer`
+
+* Changed field `age_targeting` choices: `DISPLAY_AGE_CHOICES`, removed legacy `[DISPLAY_AGE_14_19, DISPLAY_AGE_20_29]` and added `DISPLAY_AGE_14_29`
+
+## 1.4.44
+### v1/v2
+
+* removed `detail_google_ads_basic` from `OrderLineSerializer`
+* removed `OrderLineGoogleAdsBasicSerializer`
+
+## 1.4.43
+### v2
+
+* removed `detail_display_basic` from `OrderLineSerializer`
+* removed `OrderLineDisplayBasicSerializer`
+
+
+## 1.4.42
+
+### v1
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+
+* Add field `branch_codes`, optional.
+
+
+## 1.4.39
+
+### v1/v2
+
+#### `OrderLineDisplayPremiumSerializer`
+
+* Add new field `short_name`, optional.
+
+## 1.4.37
+
+### v1/v2
+
+#### `OrderLineEmailSerializer`
+
+* Add necessary and additional fields for domain creation on email orderline: `desired_domain`, `domain_type` and `domain_info`.
+
+
+## 1.4.36
+
+### v1/v2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+
+* Add new fields for generic campaign information: `is_generic_campaign` and `generic_topics`, optionals.
+
+## 1.4.34
+
+### v1/v2
+
+#### `OrderLineSeoSerializer`
+
+* Make `ticket_id` optional.
+
+## 1.4.33
+
+### v1/v2
+
+#### `ContactSerializer`
+
+* Add new field `opt_in_marketing`, optional.
+
+## 1.4.32
+
+### v1/v2
+
+#### `OrderLineSeoSerializer`
+
+* Make `regions` optional.
+
+## 1.4.29
+
+### v1/v2
+
+#### `OrderLineInAppSerializer`
+
+* Remove INAPP_AUDIENCE_OTHER choice
+* Make `target_audiences` optional. One of the `target_audiences` and `other_target_audiences` is required
+
+## 1.4.25
+
+### v1/v2
+
+#### `OrderLineSerializer`
+
+* Add new field: `payment_cycle`: choice of `PRODUCT_PAYMENT_CYCLE_CHOICES`, optional
+
+## 1.4.24
+
+### v1/v2
+
+#### `OrderLineListingSerializer`
+
+* Add two new fields: `tonline_costs` and `tonline_city`
+
+### `PRODUCT_TYPE_CHOICES`
+
+* Add choice `PRODUCT_TYPE_TONLINE`
+
+## 1.4.23
+
+### v1/v2
+
+#### `AccountLocationSerializer`
+
+* Add validation: required `payment_debit_account_iban` in case of `payment_type` Charge
+
+## 1.4.12
+
+### v2
+
+#### `OrderLineWebsiteSerializer`
+
+* Added proper choices for
+ * `design_preference_minimalistic_embellished`
+ * `design_preference_modern_classic`
+ * `design_preference_simple_striking`
+ * `design_preference_text_picture`
+
+## 1.4.10
+
+### v1/v2
+
+#### `OrderLineFacebookSerializer`
+* `ages` choices adjustment: `14_18` is now `13_17` and `19_24` is `18_24`
+
+## 1.4.9
+
+### v2
+
+#### `OrderLineWebsiteSerializer`
+* Restrict validator for field `desired_domain` to accept only domain names without http protocol and no IP addresses
+
+## 1.4.6
+
+### v1 / v2
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+* Add optional `expected_impressions` and `expected_impression_share`
+
+### v1
+
+* Add optional `target_page_type`
+
+## 1.4.5
+
+### v1 / v2
+
+#### `AccountLocationSerializer`
+* Allow `google_places_id` to be 1000 characters max (was 30 before)
+
+## 1.4.3
+
+### v2
+
+#### `OrderLineWebsiteSerializer`
+* `additional_subpages` must be >= 0 and <= 60 now
+
+#### `OrderLineGoogleAdsBasicSerializer`
+* added optional `target_url`
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+* added optional `target_url`
+
+## 1.4.2
+
+### v2
+
+#### `AccountSerializer`
+* `branch_codes` cannot be empty any more
+
+#### `OrderLineSeoSerializer`
+* `topics` cannot be empty any more
+* `regions` cannot be empty any more
+
+#### `OrderLineGoogleAdsBasicSerializer`
+* `regions` cannot be empty any more
+
+## 1.4.1
+
+### v2
+
+#### `OrderLineLandingpageSerializer`
+added, similar to `OrderLineWebsiteSerializer` except for
+* `additional_subpages`: positive integer, required
+* `logo_creation`: choice of `LOGO_CREATION_CHOICES`, required
+
+#### `OrderLineSerializer`
+* added `detail_landingpage`: type `OrderLineLandingpageSerializer`, only required when OrderLine represents a landingpage product
+
+#### `OrderLineGoogleAdsBasicSerializer`
+* added `target_page_type`: choice of `GOOGLE_ADS_LANDING_PAGE_CHOICES`, optional
+ * see `Serializer` changes for validation
+
+#### `OrderLineGoogleAdsPremiumSerializer`
+* added `branch_codes`: list of HeroCentral provided industry topic codes, optional
+ * HeroCentral will validate the codes against the industry tree
+* added `target_page_type`: choice of `GOOGLE_ADS_LANDING_PAGE_CHOICES`, optional
+ * see `Serializer` changes for validation
+* added `remarketing_setup_fee`: decimal, must be >=0 if `include_remarketing=true`
+* added `remarketing_budget`: decimal, must be >=0 if `include_remarketing=true`
+
+#### Validations
+* added validation: if any OrderLine detail contains `target_page_type`
+ * if set to `NEW_WEBSITE`, the serializer will require an OrderLine of type `PRODUCT_TYPE_WEBSITE` to exist
+ * if set to `NEW_LANDINGPAGE`, the serializer will require an OrderLine of type `PRODUCT_TYPE_LANDINGPAGE` to exist
+ * OrderLine details which can provide values for `target_page_type` are:
+ * OrderLineDisplayBasicSerializer
+ * OrderLineDisplayPremiumSerializer
+ * OrderLineSeoSerializer
+ * OrderLineInAppSerializer
+ * OrderLineFacebookSerializer
+
+
+%prep
+%autosetup -n easys-ordermanager-2.1.3
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-easys-ordermanager -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.3-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..b0fc6ab
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+6b8cd5cb0cda8f28939b5f40ea73bce3 easys-ordermanager-2.1.3.tar.gz