PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.6
Booking for Appointments and Events Calendar – Amelia v2.4.6
2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Infrastructure / WP / InstallActions / DB / Coupon / CouponsTable.php
ameliabooking / src / Infrastructure / WP / InstallActions / DB / Coupon Last commit date
CouponsTable.php 4 months ago CouponsToEventsTable.php 4 months ago CouponsToPackagesTable.php 4 months ago CouponsToServicesTable.php 4 months ago
CouponsTable.php
51 lines
1 <?php
2
3 /**
4 * @copyright © Melograno Ventures. All rights reserved.
5 * @licence See LICENCE.md for license details.
6 */
7
8 namespace AmeliaBooking\Infrastructure\WP\InstallActions\DB\Coupon;
9
10 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
11 use AmeliaBooking\Infrastructure\WP\InstallActions\DB\AbstractDatabaseTable;
12
13 /**
14 * Class CouponsTable
15 *
16 * @package AmeliaBooking\Infrastructure\WP\InstallActions\DB\Coupon
17 */
18 class CouponsTable extends AbstractDatabaseTable
19 {
20 public const TABLE = 'coupons';
21
22 /**
23 * @return string
24 * @throws InvalidArgumentException
25 */
26 public static function buildTable()
27 {
28 $table = self::getTableName();
29
30 $charsetCollate = self::getCharsetCollate();
31
32 return "CREATE TABLE {$table} (
33 `id` int(11) NOT NULL AUTO_INCREMENT,
34 `code` VARCHAR(255) NOT NULL COLLATE utf8_bin,
35 `discount` DOUBLE NOT NULL,
36 `deduction` DOUBLE NOT NULL,
37 `limit` DOUBLE NOT NULL,
38 `customerLimit` DOUBLE NOT NULL DEFAULT 0,
39 `status` ENUM('hidden', 'visible') NOT NULL,
40 `notificationInterval` INT(11) NOT NULL DEFAULT 0,
41 `notificationRecurring` TINYINT(1) NOT NULL DEFAULT 0,
42 `expirationDate` DATETIME NULL,
43 `startDate` DATETIME NULL,
44 `allServices` TINYINT(1) NOT NULL DEFAULT 0,
45 `allEvents` TINYINT(1) NOT NULL DEFAULT 0,
46 `allPackages` TINYINT(1) NOT NULL DEFAULT 0,
47 PRIMARY KEY (`id`)
48 ) {$charsetCollate};";
49 }
50 }
51