"""Distribution scheduled update processed notification schema.""" from marshmallow import Schema, fields class Product(Schema): """Schema for product.""" name = fields.String(required=True) _id = fields.Integer(data_key='id', required=True) upc = fields.String(required=True) class DeliveryStore(Schema): """Schema for delivery store.""" _id = fields.Integer(data_key='id', required=True) name = fields.String(required=True) class ProductUpdate(Schema): """Schema for product update.""" sale_start_date = fields.Date() class DistributionScheduledUpdateNotification(Schema): """Schema for distribution scheduled update processed notification. Properties: recipients (list) product (dict) delivery_stores (list) processed_at (str) update (dict) """ recipients = fields.List(fields.String, required=True) product = fields.Nested(Product, required=True) delivery_stores = fields.List(fields.Nested(DeliveryStore, required=True), required=True) processed_at = fields.String(required=True) update = fields.Nested(ProductUpdate, required=True)