Index: app/Http/Controllers/AuthController.php
===================================================================
--- app/Http/Controllers/AuthController.php	(revision 537b1e1c00843827ceb398058d9e4c79587c771e)
+++ app/Http/Controllers/AuthController.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -3,5 +3,5 @@
 namespace App\Http\Controllers;
 
-use App\Models\Korisnik;
+use App\Models\TravelSageUser;
 use App\Models\User;
 use Illuminate\Http\Request;
@@ -25,8 +25,8 @@
         ]);
 
-        $korisnik = Korisnik::where('eposhta', $request->eposhta)->first();
+        $korisnik = TravelSageUser::where('eposhta', $request->eposhta)->first();
 
         if (!$korisnik) {
-            $korisnik = new Korisnik();
+            $korisnik = new TravelSageUser();
             $korisnik->ime = $request->ime;
             $korisnik->prezime = $request->prezime;
Index: app/Http/Controllers/PreferenceController.php
===================================================================
--- app/Http/Controllers/PreferenceController.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
+++ app/Http/Controllers/PreferenceController.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -0,0 +1,10 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+class PreferenceController extends Controller
+{
+    //
+}
Index: app/Http/Controllers/ReservationController.php
===================================================================
--- app/Http/Controllers/ReservationController.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
+++ app/Http/Controllers/ReservationController.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -0,0 +1,10 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+class ReservationController extends Controller
+{
+    //
+}
Index: app/Http/Controllers/ReviewController.php
===================================================================
--- app/Http/Controllers/ReviewController.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
+++ app/Http/Controllers/ReviewController.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -0,0 +1,10 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+class ReviewController extends Controller
+{
+    //
+}
Index: app/Http/Controllers/TagController.php
===================================================================
--- app/Http/Controllers/TagController.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
+++ app/Http/Controllers/TagController.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -0,0 +1,10 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+class TagController extends Controller
+{
+    //
+}
Index: app/Http/Controllers/WeatherConditionController.php
===================================================================
--- app/Http/Controllers/WeatherConditionController.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
+++ app/Http/Controllers/WeatherConditionController.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -0,0 +1,10 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+
+class WeatherConditionController extends Controller
+{
+    //
+}
Index: app/Models/Destination.php
===================================================================
--- app/Models/Destination.php	(revision 537b1e1c00843827ceb398058d9e4c79587c771e)
+++ app/Models/Destination.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -4,4 +4,6 @@
 
 use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsToMany;
+use Illuminate\Database\Eloquent\Relations\HasMany;
 
 class Destination extends Model
@@ -10,3 +12,40 @@
 
     protected $primaryKey = 'iddest';
+
+    public function reviews(): HasMany
+    {
+        return $this->hasMany(Review::class, 'iddest');
+    }
+
+    public function weatherConditions(): HasMany
+    {
+        return $this->hasMany(WeatherCondition::class, 'iddest');
+    }
+
+    public function activities(): HasMany
+    {
+        return $this->hasMany(TravelActivity::class, 'iddest');
+    }
+
+    public function events(): HasMany
+    {
+        return $this->hasMany(TravelEvent::class, 'iddest');
+    }
+
+    public function tags(): BelongsToMany
+    {
+        return $this->belongsToMany(Tag::class, 'destinacii_has_tagovi', 'iddest', 'idtag');
+    }
+
+    public function packages(): HasMany
+    {
+        return $this->hasMany(TravelPackage::class, 'iddest');
+    }
+
+    public function recommendedByUsers(): BelongsToMany
+    {
+        return $this->belongsToMany(User::class, 'destinacii_has_korisnici', 'iddest', 'idkorisnik')
+            ->withPivot(['rating', 'comment', 'date']);
+    }
+
 }
Index: p/Models/Korisnik.php
===================================================================
--- app/Models/Korisnik.php	(revision 537b1e1c00843827ceb398058d9e4c79587c771e)
+++ 	(revision )
@@ -1,17 +1,0 @@
-<?php
-
-namespace App\Models;
-
-use Illuminate\Database\Eloquent\Factories\HasFactory;
-use Illuminate\Database\Eloquent\Model;
-
-class Korisnik extends Model
-{
-    use HasFactory;
-
-    protected $table = 'travel_sage.korisnici';
-    public $timestamps = false;
-
-    protected $primaryKey = 'idkorisnik';
-
-}
Index: app/Models/Preference.php
===================================================================
--- app/Models/Preference.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
+++ app/Models/Preference.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -0,0 +1,18 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
+
+class Preference extends Model
+{
+    protected $table = 'travel_sage.preferenci';
+
+    protected $primaryKey = 'idprferenca';
+
+    public function user(): BelongsTo
+    {
+        return $this->belongsTo(TravelSageUser::class, 'idkorisnik');
+    }
+}
Index: app/Models/Reservation.php
===================================================================
--- app/Models/Reservation.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
+++ app/Models/Reservation.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -0,0 +1,37 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
+use Illuminate\Database\Eloquent\Relations\BelongsToMany;
+use Illuminate\Database\Eloquent\Relations\HasOne;
+
+class Reservation extends Model
+{
+    protected $table = 'travel_sage.rezervacii';
+
+    protected $primaryKey = 'idrezervacija';
+
+    public $timestamps = false;
+
+    public function user(): BelongsTo
+    {
+        return $this->belongsTo(TravelSageUser::class, 'idkorisnik');
+    }
+
+    public function weather(): BelongsTo
+    {
+        return $this->belongsTo(WeatherCondition::class, 'idmeteo');
+    }
+
+    public function activities(): BelongsToMany
+    {
+        return $this->belongsToMany(TravelActivity::class, 'aktivnosti_has_rezervacii', 'idrezervacija', 'idaktivnost');
+    }
+
+    public function review(): HasOne
+    {
+        return $this->hasOne(Review::class, 'idrezervacija');
+    }
+}
Index: app/Models/Review.php
===================================================================
--- app/Models/Review.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
+++ app/Models/Review.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -0,0 +1,29 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
+use Illuminate\Database\Eloquent\Relations\HasOne;
+
+class Review extends Model
+{
+    protected $table = 'travel_sage.recenzii';
+
+    protected $primaryKey = 'idrecenzija';
+
+    public function user(): BelongsTo
+    {
+        return $this->belongsTo(User::class, 'idkorisnik');
+    }
+
+    public function destination(): BelongsTo
+    {
+        return $this->belongsTo(Destination::class, 'iddest');
+    }
+
+    public function reservation(): HasOne
+    {
+        return $this->hasOne(Reservation::class, 'idrecenzija');
+    }
+}
Index: app/Models/Tag.php
===================================================================
--- app/Models/Tag.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
+++ app/Models/Tag.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -0,0 +1,21 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsToMany;
+
+class Tag extends Model
+{
+    protected $table = 'travel_sage.tagovi';
+
+    protected $primaryKey = 'idtag';
+
+    public $timestamps = false;
+
+    public function destinations(): BelongsToMany
+    {
+        return $this->belongsToMany(Destination::class, 'destinacii_has_tagovi', 'idtag', 'iddest');
+    }
+
+}
Index: app/Models/TravelActivity.php
===================================================================
--- app/Models/TravelActivity.php	(revision 537b1e1c00843827ceb398058d9e4c79587c771e)
+++ app/Models/TravelActivity.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -4,4 +4,6 @@
 
 use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
+use Illuminate\Database\Eloquent\Relations\BelongsToMany;
 
 class TravelActivity extends Model
@@ -12,3 +14,18 @@
 
     public $timestamps = false;
+
+    public function destination(): BelongsTo
+    {
+        return $this->belongsTo(Destination::class, 'iddest');
+    }
+
+    public function packages(): BelongsToMany
+    {
+        return $this->belongsToMany(TravelPackage::class, 'aktivnosti_has_paketi', 'idaktivnost', 'idpaket');
+    }
+
+    public function reservations(): BelongsToMany
+    {
+        return $this->belongsToMany(Reservation::class, 'aktivnosti_has_rezervacii', 'idaktivnost', 'idrezervacija');
+    }
 }
Index: app/Models/TravelEvent.php
===================================================================
--- app/Models/TravelEvent.php	(revision 537b1e1c00843827ceb398058d9e4c79587c771e)
+++ app/Models/TravelEvent.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -4,4 +4,5 @@
 
 use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
 
 class TravelEvent extends Model
@@ -12,3 +13,8 @@
 
     public $timestamps = false;
+
+    public function destination(): BelongsTo
+    {
+        return $this->belongsTo(Destination::class, 'iddest');
+    }
 }
Index: app/Models/TravelPackage.php
===================================================================
--- app/Models/TravelPackage.php	(revision 537b1e1c00843827ceb398058d9e4c79587c771e)
+++ app/Models/TravelPackage.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -4,4 +4,6 @@
 
 use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
+use Illuminate\Database\Eloquent\Relations\BelongsToMany;
 
 class TravelPackage extends Model
@@ -12,3 +14,13 @@
 
     public $timestamps = false;
+
+    public function destination(): BelongsTo
+    {
+        return $this->belongsTo(Destination::class, 'iddest');
+    }
+
+    public function activities(): BelongsToMany
+    {
+        return $this->belongsToMany(TravelActivity::class, 'aktivnosti_has_paketi', 'idpaket', 'idaktivnost');
+    }
 }
Index: app/Models/TravelSageUser.php
===================================================================
--- app/Models/TravelSageUser.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
+++ app/Models/TravelSageUser.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -0,0 +1,39 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsToMany;
+use Illuminate\Database\Eloquent\Relations\HasMany;
+
+class TravelSageUser extends Model
+{
+    protected $table = 'travel_sage.korisnici';
+    public $timestamps = false;
+
+    protected $primaryKey = 'idkorisnik';
+
+    public function reviews(): HasMany
+    {
+        return $this->hasMany(Review::class, 'idkorisnik');
+    }
+
+    public function reservations(): HasMany
+    {
+        return $this->hasMany(Reservation::class, 'idkorisnik');
+    }
+
+    public function preferences(): HasMany
+    {
+        return $this->hasMany(Preference::class, 'idkorisnik');
+    }
+
+    public function recommendedDestinations(): BelongsToMany
+    {
+        return $this->belongsToMany(Destination::class, 'destinacii_has_korisnici', 'idkorisnik', 'iddest')
+            ->withPivot(['rating', 'comment', 'date']);
+    }
+
+
+}
Index: app/Models/WeatherCondition.php
===================================================================
--- app/Models/WeatherCondition.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
+++ app/Models/WeatherCondition.php	(revision e58da16cea223f35f5e5b728b3e14b9be619830e)
@@ -0,0 +1,24 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
+use Illuminate\Database\Eloquent\Relations\HasMany;
+
+class WeatherCondition extends Model
+{
+    protected $table = 'travel_sage.meteroloshkasostojba';
+
+    protected $primaryKey = 'idmeteo';
+
+    public function reservations(): HasMany
+    {
+        return $this->hasMany(Reservation::class, 'idvreme');
+    }
+
+    public function destination(): BelongsTo
+    {
+        return $this->belongsTo(Destination::class, 'iddest');
+    }
+}
