"""Distribution scheduled update failed 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 DistributionScheduledUpdateFailedNotification(Schema): """Schema for distribution scheduled update failed notification. Properties: recipients (list) product (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) update = fields.Nested(ProductUpdate, required=True)