
* model changes * Endpoint to get all avaible booking rooms per summit GET /api/v1/summits/{id}/locations/bookable-rooms query string params page ( int ) current page number per_page ( int) max amount of items per page filter ( allowed fields: name, description, cost, capacity, availability_day[epoch], attribute[string|number]) order ( allowed fields id,name,capacity) expand ( allowed relations venue,floor,attribute_type) scopes %s/bookable-rooms/read %s/summits/read/all * Endpoint to get slot availability per room GET /api/v1/summits/{id}/locations/bookable-rooms/{room_id}/availability/{day} where id is summit id (integer) room_id ( integer) and day (epoch timestamp) scopes %s/bookable-rooms/read %s/summits/read/all * endpoint create reservation POST /api/v1/summits/{id}/locations/bookable-rooms/{room_id}/reservations payload 'currency' => 'required|string|currency_iso', 'amount' => 'required|integer', 'start_datetime' => 'required|date_format:U', 'end_datetime' => 'required|date_format:U|after:start_datetime', scopes %s/bookable-rooms/my-reservations/write * endpoint to get all my reservations GET /api/v1/summits/{id}/locations/bookable-rooms/all/reservations/me query string params expand [owner, room, type] scopes %s/bookable-rooms/my-reservations/read * endpoint to cancel/ask for refund a reservation DELETE /api/v1/summits/{id}/locations/bookable-rooms/all/reservations/{reservation_id} scopes %s/bookable-rooms/my-reservations/write Change-Id: I741878c6ffc833ba23fca40f09f4664b42c8edd4
43 lines
1.4 KiB
PHP
43 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace Database\Migrations\Model;
|
|
|
|
use Doctrine\Migrations\AbstractMigration;
|
|
use Doctrine\DBAL\Schema\Schema as Schema;
|
|
use LaravelDoctrine\Migrations\Schema\Table;
|
|
use LaravelDoctrine\Migrations\Schema\Builder;
|
|
|
|
class Version20190530205326 extends AbstractMigration
|
|
{
|
|
/**
|
|
* @param Schema $schema
|
|
*/
|
|
public function up(Schema $schema)
|
|
{
|
|
$builder = new Builder($schema);
|
|
if(!$schema->hasTable("SummitBookableVenueRoomAttributeType")) {
|
|
$builder->create('SummitBookableVenueRoomAttributeType', function (Table $table) {
|
|
$table->integer("ID", true, false);
|
|
$table->primary("ID");
|
|
$table->string('ClassName')->setDefault("SummitBookableVenueRoomAttributeType");
|
|
$table->index("ClassName", "ClassName");
|
|
$table->timestamp('Created');
|
|
$table->timestamp('LastEdited');
|
|
$table->string("Type", 255);
|
|
$table->index("Type", "Type");
|
|
$table->integer("SummitID", false, false)->setNotnull(false);
|
|
$table->index("SummitID", "SummitID");
|
|
$table->unique(["SummitID", "Type"], "SummitID_Type");
|
|
});
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param Schema $schema
|
|
*/
|
|
public function down(Schema $schema)
|
|
{
|
|
(new Builder($schema))->drop('BookableSummitVenueRoomAttributeType');
|
|
}
|
|
}
|