<?php
/**
 * @author Aitoc Team
 * @copyright Copyright (c) 2020 Aitoc (https://www.aitoc.com)
 * @package Aitoc_PreOrders
 */

/**
 * Copyright © 2018 Aitoc. All rights reserved.
 * Developed by Alex Yakimovich
 */

namespace Aitoc\PreOrders\Api\Data;

/**
 * Interface PreOrderSubscribersInterface
 */
interface PreOrderSubscribersInterface
{

    /**
     * Constants for keys of data array. Identical to the name of the getter in snake case
     */
    const ENTITY_ID = 'entity_id';
    const PRODUCT_ID = 'product_id';
    const CUSTOMER_NAME = 'customer_name';
    const CUSTOMER_EMAIL = 'customer_email';
    const CREATED_AT = 'created_at';
    const SENDING_STATUS = 'sending_status';
    const MESSAGE = 'message';

    /**
     * @return int|null
     */
    public function getEntityId();

    /**
     * @param int $id
     *
     * @return $this
     */
    public function setEntityId($id);

    /**
     * @return int
     */
    public function getProductId();

    /**
     * @param int $id
     *
     * @return $this
     */
    public function setProductId($id);

    /**
     * @return string
     */
    public function getCustomerName();

    /**
     * @param string $customerName
     *
     * @return $this
     */
    public function setCustomerName($customerName);

    /**
     * @return string
     */
    public function getCustomerEmail();

    /**
     * @param string $customerEmail
     *
     * @return $this
     */
    public function setCustomerEmail($customerEmail);

    /**
     * @return string
     */
    public function getCreatedAt();

    /**
     * @param string $createdAt
     *
     * @return $this
     */
    public function setCreatedAt($createdAt);

    /**
     * @return int
     */
    public function getSendingStatus();

    /**
     * @param int $sendingStatus
     *
     * @return $this
     */
    public function setSendingStatus($sendingStatus);

    /**
     * @return string
     */
    public function getMessage();

    /**
     * @param string $message
     *
     * @return $this
     */
    public function setMessage($message);
}
