PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.11
Booking for Appointments and Events Calendar – Amelia v1.2.11
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 / Bookable / ServicesTable.php
ameliabooking / src / Infrastructure / WP / InstallActions / DB / Bookable Last commit date
CategoriesTable.php 2 years ago ExtrasTable.php 5 years ago PackagesCustomersServicesTable.php 3 years ago PackagesCustomersTable.php 2 years ago PackagesServicesLocationsTable.php 5 years ago PackagesServicesProvidersTable.php 5 years ago PackagesServicesTable.php 2 years ago PackagesTable.php 3 years ago ResourcesTable.php 3 years ago ResourcesToEntitiesTable.php 3 years ago ServicesTable.php 3 years ago ServicesViewsTable.php 5 years ago
ServicesTable.php
73 lines
1 <?php
2
3 namespace AmeliaBooking\Infrastructure\WP\InstallActions\DB\Bookable;
4
5 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
6 use AmeliaBooking\Domain\ValueObjects\Picture;
7 use AmeliaBooking\Domain\ValueObjects\String\Color;
8 use AmeliaBooking\Domain\ValueObjects\String\Description;
9 use AmeliaBooking\Domain\ValueObjects\String\Name;
10 use AmeliaBooking\Infrastructure\WP\InstallActions\DB\AbstractDatabaseTable;
11
12 /**
13 * Class ServiceTable
14 *
15 * @package AmeliaBooking\Infrastructure\WP\InstallActions\DB\Bookable
16 */
17 class ServicesTable extends AbstractDatabaseTable
18 {
19
20 const TABLE = 'services';
21
22 /**
23 * @return string
24 * @throws InvalidArgumentException
25 */
26 public static function buildTable()
27 {
28 $table = self::getTableName();
29
30 $name = Name::MAX_LENGTH;
31 $description = Description::MAX_LENGTH;
32 $color = Color::MAX_LENGTH;
33 $picture = Picture::MAX_LENGTH;
34
35 return "CREATE TABLE {$table} (
36 `id` int(11) NOT NULL AUTO_INCREMENT,
37 `name` varchar({$name}) NOT NULL default '',
38 `description` text({$description}) NULL,
39 `color` varchar({$color}) NOT NULL default '',
40 `price` double NOT NULL,
41 `status` ENUM('hidden', 'visible', 'disabled') NOT NULL default 'visible',
42 `categoryId` int(11) NOT NULL,
43 `minCapacity` int(11) NOT NULL,
44 `maxCapacity` int(11) NOT NULL,
45 `duration` int(11) NOT NULL,
46 `timeBefore` int(11) NULL DEFAULT 0,
47 `timeAfter` int(11) NULL DEFAULT 0,
48 `bringingAnyone` TINYINT(1) NULL DEFAULT 1,
49 `priority` ENUM('least_expensive', 'most_expensive', 'least_occupied', 'most_occupied') NOT NULL,
50 `pictureFullPath` varchar ({$picture}) NULL,
51 `pictureThumbPath` varchar ({$picture}) NULL,
52 `position` int(11) default 0,
53 `show` TINYINT(1) DEFAULT 1,
54 `aggregatedPrice` TINYINT(1) DEFAULT 1,
55 `settings` text({$description}) NULL DEFAULT NULL,
56 `recurringCycle` ENUM('disabled', 'all', 'daily', 'weekly', 'monthly') DEFAULT 'disabled',
57 `recurringSub` ENUM('disabled' ,'past', 'future', 'both') DEFAULT 'future',
58 `recurringPayment` int(3) DEFAULT 0,
59 `translations` TEXT NULL DEFAULT NULL,
60 `depositPayment` ENUM('disabled' , 'fixed', 'percentage') DEFAULT 'disabled',
61 `depositPerPerson` TINYINT(1) DEFAULT 1,
62 `deposit` double DEFAULT 0,
63 `fullPayment` TINYINT(1) DEFAULT 0,
64 `mandatoryExtra` TINYINT(1) DEFAULT 0,
65 `minSelectedExtras` int(11) NULL DEFAULT 0,
66 `customPricing` TEXT NULL DEFAULT NULL,
67 `maxExtraPeople` int(11) NULL DEFAULT NULL,
68 `limitPerCustomer` TEXT NULL DEFAULT NULL,
69 PRIMARY KEY (`id`)
70 ) DEFAULT CHARSET=utf8 COLLATE utf8_general_ci";
71 }
72 }
73