Lead create Booking

This commit is contained in:
Kevin Adametz 2022-04-14 13:22:03 +02:00
parent 3df0e93c2c
commit 34a3d2196b
18 changed files with 462 additions and 160 deletions

View file

@ -1,26 +1,29 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
/**
* App\Models\TravelProgram
*
* Class TravelProgram
*
* @property int $id
* @property float|null $profit_margin
* @property int|null $category_id
* @property string|null $program_code
* @property int|null $program_duration
* @property int|null $is_seasonal
* @property int|null $youth
* @property bool|null $is_seasonal
* @property bool|null $youth
* @property string|null $title
* @property string|null $subtitle
* @property string|null $slider_info
* @property int|null $program_type
* @property int|null $crm_draft_id_standard
* @property int|null $crm_draft_id_comfort
* @property int|null $organizer
* @property int|null $generalnote
* @property int|null $status
@ -35,8 +38,9 @@ use Illuminate\Database\Eloquent\Model;
* @property int|null $insurance_1
* @property int|null $insurance_2
* @property int|null $insurance_3
* @property int $in_slider
* @property int $show_map
* @property int|null $insurance_4
* @property bool $in_slider
* @property bool $show_map
* @property string|null $map_html
* @property string $map_image
* @property string $map_image_ext
@ -44,7 +48,7 @@ use Illuminate\Database\Eloquent\Model;
* @property int|null $travel_category
* @property int|null $travel_agenda
* @property int|null $deposit_percent
* @property int|null $netto_prices_in_euro
* @property bool|null $netto_prices_in_euro
* @property string|null $text_right
* @property float|null $default_flight_price
* @property int|null $travel_arrival_point_id
@ -52,100 +56,202 @@ use Illuminate\Database\Eloquent\Model;
* @property int|null $position
* @property float|null $discount
* @property int|null $discount_is_percent_value
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereAdvices($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereCategoryId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereClassDescription($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereCrmDraftIdComfort($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereCrmDraftIdStandard($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereDefaultFlightPrice($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereDepositPercent($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereDiscount($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereDiscountIsPercentValue($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereExcluded($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereGeneralnote($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereHtmlDescription($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereInSlider($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereIncluded($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereInsurance1($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereInsurance2($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereInsurance3($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereIsSeasonal($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereMapHtml($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereMapImage($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereMapImageExt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereMaxAgeForChildren($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereNettoPricesInEuro($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereNotes($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereOrganizer($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram wherePosition($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereProfitMargin($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereProgramCode($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereProgramDuration($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereProgramType($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereShowMap($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereSliderInfo($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereStatus($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereSubtitle($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereTextRight($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereTitle($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereTravelAgenda($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereTravelArrivalPointId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereTravelCategory($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereTravelCountry($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereUrl($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereWeekdays($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereYouth($value)
* @mixin \Eloquent
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\TravelClass[] $classes
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereUpdatedAt($value)
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\TravelProgramDraft[] $travel_program_drafts
* @property int|null $insurance_4
* @property-read \App\Models\TravelProgramCountry $travel_program_country
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereInsurance4($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram query()
* @property-read int|null $classes_count
* @property-read int|null $travel_program_drafts_count
* @property string|null $keywords
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\TravelProgram whereKeywords($value)
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
*
* @property TravelArrivalPoint|null $travel_arrival_point
* @property TravelOrganizer|null $travel_organizer
* @property TravelInsurance|null $travel_insurance
* @property TravelGeneralNote|null $travel_general_note
* @property Option $option
* @property Collection|TravelClass[] $travel_classes
* @property Collection|TravelDeparturePoint[] $travel_departure_points
* @property Collection|TravelPeriod[] $travel_periods
* @property TravelProgramCountry $travel_program_country
* @property TravelProgramDestination $travel_program_destination
* @property Collection|TravelProgramDraft[] $travel_program_drafts
* @property Collection|TravelProgramImage[] $travel_program_images
* @property TravelProgramOption $travel_program_option
* @property TravelProgramRelated $travel_program_related
*
* @package App\Models
*/
class TravelProgram extends Model
{
//use the connection to sec. Datebase sterntours
protected $connection = 'mysql_stern';
protected $connection = 'mysql_stern';
protected $table = 'travel_program';
protected $table = 'travel_program';
protected $fillable = [
'title',
'subtitle',
'program_code',
'weekdays',
'keywords',
'status',
];
protected $casts = [
'profit_margin' => 'float',
'category_id' => 'int',
'program_duration' => 'int',
'is_seasonal' => 'bool',
'youth' => 'bool',
'program_type' => 'int',
'organizer' => 'int',
'generalnote' => 'int',
'status' => 'int',
'max_age_for_children' => 'int',
'insurance_1' => 'int',
'insurance_2' => 'int',
'insurance_3' => 'int',
'insurance_4' => 'int',
'in_slider' => 'bool',
'show_map' => 'bool',
'travel_country' => 'int',
'travel_category' => 'int',
'travel_agenda' => 'int',
'travel_company' => 'int',
'deposit_percent' => 'int',
'netto_prices_in_euro' => 'bool',
'default_flight_price' => 'float',
'travel_arrival_point_id' => 'int',
'position' => 'int',
'discount' => 'float',
'discount_is_percent_value' => 'int'
];
public function classes()
protected $fillable = [
'profit_margin',
'category_id',
'program_code',
'program_duration',
'is_seasonal',
'youth',
'title',
'subtitle',
'slider_info',
'program_type',
'organizer',
'generalnote',
'status',
'included',
'class_description',
'excluded',
'advices',
'notes',
'url',
'max_age_for_children',
'html_description',
'insurance_1',
'insurance_2',
'insurance_3',
'insurance_4',
'in_slider',
'show_map',
'map_html',
'map_image',
'map_image_ext',
'travel_country',
'travel_category',
'travel_agenda',
'travel_company',
'deposit_percent',
'netto_prices_in_euro',
'text_right',
'default_flight_price',
'travel_arrival_point_id',
'weekdays',
'position',
'discount',
'discount_is_percent_value'
];
public static $programTypeTypes = [
0 => 'Eigenveranstaltung',
1 => 'Vermittlung'
];
public static $travelCategoryTypes = [
1 => 'Ägypten-Reise',
2 => 'Israel-Reise',
3 => 'Jordanien-Reise',
4 => 'Reise ohne Conversion-Code'
];
public function travel_arrival_point()
{
return $this->belongsTo(TravelArrivalPoint::class);
}
public function travel_organizer()
{
return $this->belongsTo(TravelOrganizer::class, 'organizer');
}
public function travel_insurance()
{
return $this->belongsTo(TravelInsurance::class, 'insurance_3');
}
public function travel_category()
{
return $this->belongsTo(TravelCategory::class, 'category_id');
}
public function travel_general_note()
{
return $this->belongsTo(TravelGeneralNote::class, 'generalnote');
}
public function option()
{
return $this->hasOne(Option::class, 'program_id');
}
public function classes()
{
return $this->hasMany('App\Models\TravelClass', 'program_id', 'id');
return $this->hasMany(TravelClass::class, 'program_id');
}
public function travel_program_drafts()
{
return $this->hasMany('App\Models\TravelProgramDraft', 'travel_program_id', 'id');
}
public function travel_program_country()
{
return $this->hasOne('App\Models\TravelProgramCountry', 'program_id', 'id');
}
public function travel_classes()
{
return $this->hasMany(TravelClass::class, 'program_id');
}
public function hasTravelProgramDrafts (){
public function travel_departure_points()
{
return $this->hasMany(TravelDeparturePoint::class, 'program_id');
}
public function travel_periods()
{
return $this->hasMany(TravelPeriod::class, 'program_id');
}
public function travel_program_country()
{
return $this->hasOne(TravelProgramCountry::class, 'program_id');
}
public function travel_program_destination()
{
return $this->hasOne(TravelProgramDestination::class, 'program_id');
}
public function travel_program_drafts()
{
return $this->hasMany(TravelProgramDraft::class);
}
public function travel_program_images()
{
return $this->hasMany(TravelProgramImage::class, 'program_id');
}
public function travel_program_option()
{
return $this->hasOne(TravelProgramOption::class, 'program_id');
}
public function travel_program_related()
{
return $this->hasOne(TravelProgramRelated::class, 'program_2');
}
public function hasTravelProgramDrafts (){
if($this->travel_program_drafts->count()){
return true;
}
@ -161,7 +267,7 @@ class TravelProgram extends Model
return [];
}
public function setWeekdaysFromArray($value){
public function setWeekdaysFromArray($value){
if($value){
if(is_array($value)){
if($value[0] === NULL){