diff --git a/.env.example b/.env.example
index 7b49625..c64926d 100644
--- a/.env.example
+++ b/.env.example
@@ -2,7 +2,7 @@ APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
-APP_TIMEZONE=UTC
+APP_TIMEZONE=Asia/Colombo
APP_URL=http://localhost
APP_LOCALE=en
diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php
index d174b30..06bc27e 100644
--- a/app/Http/Controllers/BookingController.php
+++ b/app/Http/Controllers/BookingController.php
@@ -32,12 +32,54 @@ public function index()
return view('profile.booking', compact('bookings')); // Pass data to the view
}
+
+ // this function show details for admin
+ public function showAllBookingData()
+ {
+ $userId = Auth::id(); // Retrieve logged-in user ID
+ $bookings = Booking::withUserAndPackage()
+ ->orderBy('created_at', 'DESC')
+ ->get();
+
+ return view('admin.bookingDetails', compact('bookings')); // Pass data to the view
+
+ }
+
+ // for Admin
+ public function showOneUserBookingDataAll($id)
+ {
+ $bookings = Booking::withUserAndPackage(['user', 'package'])
+ ->where('id', $id)
+ ->orderBy('created_at', 'DESC')
+ ->get();
+ // dd($bookings); // Dump the bookings to check data //this is used for data correckly pass to the view
+ return view('admin.adminBookingDetailsPage', compact('bookings')); // Pass data to the view
+ }
+
/**
* Display a invoice massage.
*/
public function indexInvoice()
{
- return view('profile.invoice');
+ $userId = Auth::id(); // Retrieve logged-in user ID
+ $bookings = Booking::withUserAndPackage()
+ ->where('user_id', $userId)
+ ->orderBy('created_at', 'DESC')
+ ->get();
+
+ return view('profile.invoice', compact('bookings')); // Pass data to the view
+ }
+
+ //show user invoice details
+ public function invoiceDetails($id)
+ {
+ $booking = Booking::withUserAndPackage(['user', 'package'])
+ ->where('id', $id)
+ ->orderBy('created_at', 'DESC')
+ ->first();
+
+ // dd($bookings); // Dump the bookings to check data //this is used for data correckly pass to the view
+ return view('profile.profileInvoiceDetails', compact('booking')); // Pass data to the view
}
/**
@@ -53,18 +95,13 @@ public function create()
*/
public function store(Request $request)
{
- $rules =[
-
+ $rules =[
'date' => 'required|date',
'number_of_adult' => 'required|integer',
'number_of_child' => 'required|integer',
'pick_up_location' => 'required|string',
'pick_up_location_details' => 'required|string',
- 'accommodation_type' => 'required|string',
- 'transport_method' => 'required|string',
- 'aditional_requarement' => 'nullable|string',
'total_fee' => 'required|numeric',
-
];
$validator = Validator::make($request->all(), $rules);
@@ -90,9 +127,6 @@ public function store(Request $request)
$bookings->number_of_child = $request->number_of_child;
$bookings->pick_up_location = $request->pick_up_location;
$bookings->pick_up_location_details = $request->pick_up_location_details;
- $bookings->accommodation_type = $request->accommodation_type;
- $bookings->transport_method = $request->transport_method;
- $bookings->aditional_requarement = $request->aditional_requarement;
$bookings->total_fee = $request->total_fee;
$bookings->save();
@@ -101,13 +135,81 @@ public function store(Request $request)
}
+ //user payment_receipt upload
+ public function paymentReceiptImage(Request $request, $id)
+ {
+ $rules =[
+ 'payment_receipt' => 'nullable|image|mimes:jpeg,svg,png,jpg,webp|max:10240', // Ensure image file, max 10MB
+ ];
+
+ $validator = Validator::make($request->all(), $rules);
+ //to show massages | check validate
+ if ($validator->fails()) {
+ return redirect()->route('profile.profileInvoiceDetails', ['id' => $id])->withErrors($validator)->withInput();
+ }
+
+ // Find the existing booking record
+ $booking = Booking::find($id);
+
+ $booking->payment_status = 'Success';
+ $booking->save();
+
+ //set the attribute for images
+ if ($request->hasFile('payment_receipt')) {
+ $payment_receipt = $request->file('payment_receipt');
+ $ext = $payment_receipt->getClientOriginalExtension();
+ $imageName = time() . '.' . $ext;
+ $payment_receipt->move(public_path('image/uploads/payment-recipt'), $imageName);
+ $booking->payment_receipt = $imageName;
+ $booking->save();
+ }
+
+
+ // Process the validated data, such as saving it to the database
+ return redirect()->route('profile.showInvoiceDetails', ['id' => $id])->with('success', 'Payment has been made successfully');
+
+ }
+
+ //user payment_receipt accept and conform booking for admin function
+ public function paymentReceiptImageAcccept(Request $request, $id)
+ {
+
+ // Find the existing booking record
+ $booking = Booking::find($id);
+ $booking->payment_status = 'Success';
+ $booking->reservation_status = 'Conform';
+ $booking->save();
+
+ // Process the validated data, such as saving it to the database
+ return redirect()->route('admin.showOneUserBookingDataAll', ['id' => $id])->with('success', 'Booking confirmed');
+
+ }
+
+ //user payment_receipt reject and reject booking for admin function
+ public function paymentReceiptImageReject(Request $request, $id)
+ {
+
+ // Find the existing booking record
+ $booking = Booking::find($id);
+ $booking->payment_status = 'Reject';
+ $booking->reservation_status = 'Reject';
+ $booking->save();
+
+ // Process the validated data, such as saving it to the database
+ return redirect()->route('admin.showOneUserBookingDataAll', ['id' => $id])->with('success', 'Booking Rejected');
+
+ }
+
+
+
+
+
/**
* Display the specified resource.
*/
public function show(booking $booking)
{
- // $bookings = booking::orderBy('created_at','DESC')->get();
- // return view('profile.booking', compact('bookings')); // Pass data to the view
+ //
}
/**
diff --git a/app/Http/Controllers/TravelPackageController.php b/app/Http/Controllers/TravelPackageController.php
index af894c1..334abbc 100644
--- a/app/Http/Controllers/TravelPackageController.php
+++ b/app/Http/Controllers/TravelPackageController.php
@@ -2,6 +2,8 @@
namespace App\Http\Controllers;
+use App\Models\booking;
+use App\Models\ServiceForTravelPackage;
use App\Models\travelPackage;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
@@ -36,18 +38,13 @@ public function store(Request $request)
'image_2' => 'nullable|image|mimes:jpeg,svg,png,jpg,gif,webp|max:10240', // Ensure image file, max 10MB
'image_3' => 'nullable|image|mimes:jpeg,svg,png,jpg,gif,webp|max:10240', // Ensure image file, max 10MB
'duration' => 'required|string|max:255',
- 'duration_type' => 'required|in:Days,Weeks',
'tour_type' => 'required|in:Adventure Tour,Beach Holiday Tour,Cultural Tour,Business Trip Tour, Wildlife Safaris',
- 'package_type' => 'required|in:Full package,Half package',
'price_start_from' => 'required|numeric|min:0',
'overview' => 'required|string',
'included_things' => 'required|string',
- 'Excludes_things' => 'required|string',
'tour_plane_description' => 'required|string',
'per_adult_fee' => 'required|numeric|min:0',
'per_child_fee' => 'required|numeric|min:0',
- 'service_fee' => 'required|numeric|min:0',
- 'booking_fee' => 'required|numeric|min:0',
];
$validator = Validator::make($request->all(), $rules);
@@ -63,50 +60,50 @@ public function store(Request $request)
//set the attribute
$travelPackage->package_name = $request->package_name;
$travelPackage->duration = $request->duration;
- $travelPackage->duration_type = $request->duration_type;
$travelPackage->tour_type = $request->tour_type;
- $travelPackage->package_type = $request->package_type;
$travelPackage->price_start_from = $request->price_start_from;
$travelPackage->overview = $request->overview;
$travelPackage->included_things = $request->included_things;
- $travelPackage->Excludes_things = $request->Excludes_things;
$travelPackage->tour_plane_description = $request->tour_plane_description;
$travelPackage->per_adult_fee = $request->per_adult_fee;
$travelPackage->per_child_fee = $request->per_child_fee;
- $travelPackage->service_fee = $request->service_fee;
- $travelPackage->booking_fee = $request->booking_fee;
$travelPackage->save();
//set the attribute for images
//for image 1
if ($request->hasFile('image_1')) {
+
+
$image_1 = $request->file('image_1');
$ext = $image_1->getClientOriginalExtension();
- $imageName = time() . '.' . $ext;
+ $imageName = time() . uniqid('_img1_', true) . '.' . $ext;
$image_1->move(public_path('image/uploads/travelPackage'), $imageName);
$travelPackage->image_1 = $imageName;
$travelPackage->save();
}
+ //for image 2
+ if ($request->hasFile('image_2')) {
-
- //for image 2
- if ($request->hasFile('image_2')) {
+
$image_2 = $request->file('image_2');
$ext = $image_2->getClientOriginalExtension();
- $imageName = time() . '.' . $ext;
+ $imageName = time() . uniqid('_img2_', true) . '.' . $ext;
$image_2->move(public_path('image/uploads/travelPackage'), $imageName);
$travelPackage->image_2 = $imageName;
$travelPackage->save();
}
- //for image 3
- if ($request->hasFile('image_3')) {
+ //for image 3
+ if ($request->hasFile('image_3')) {
+
+
$image_3 = $request->file('image_3');
$ext = $image_3->getClientOriginalExtension();
- $imageName = time() . '.' . $ext;
+ $imageName = time() . uniqid('_img3_', true) . '.' . $ext;
$image_3->move(public_path('image/uploads/travelPackage'), $imageName);
$travelPackage->image_3 = $imageName;
$travelPackage->save();
}
+
// Process the validated data, such as saving it to the database
return redirect()->route('admin.travelPackage.show')->with('success', 'Travel Package created successfully');
@@ -128,7 +125,7 @@ public function showForUser(travelPackage $travelPackage)
return view('user.package', compact('travelPackage')); // Pass data to the view
}
- // for user showBlog page
+ // for user travel package page
public function showTravelPackagePage($id){
$travelPackage = travelPackage::findOrFail($id);
return view('user.packagePage',[ 'travelPackage' => $travelPackage
@@ -161,18 +158,13 @@ public function update($id, Request $request)
'image_2' => 'nullable|image|mimes:jpeg,svg,png,jpg,gif,webp|max:10240', // Ensure image file, max 10MB
'image_3' => 'nullable|image|mimes:jpeg,svg,png,jpg,gif,webp|max:10240', // Ensure image file, max 10MB
'duration' => 'required|string|max:255',
- 'duration_type' => 'required|in:Days,Weeks',
'tour_type' => 'required|in:Adventure Tour,Beach Holiday Tour,Cultural Tour,Business Trip Tour, Wildlife Safaris',
- 'package_type' => 'required|in:Full package,Half package',
'price_start_from' => 'required|numeric|min:0',
'overview' => 'required|string',
'included_things' => 'required|string',
- 'Excludes_things' => 'required|string',
'tour_plane_description' => 'required|string',
'per_adult_fee' => 'required|numeric|min:0',
'per_child_fee' => 'required|numeric|min:0',
- 'service_fee' => 'required|numeric|min:0',
- 'booking_fee' => 'required|numeric|min:0',
];
$validator = Validator::make($request->all(), $rules);
@@ -186,18 +178,13 @@ public function update($id, Request $request)
//set the attribute
$travelPackage->package_name = $request->package_name;
$travelPackage->duration = $request->duration;
- $travelPackage->duration_type = $request->duration_type;
$travelPackage->tour_type = $request->tour_type;
- $travelPackage->package_type = $request->package_type;
$travelPackage->price_start_from = $request->price_start_from;
$travelPackage->overview = $request->overview;
$travelPackage->included_things = $request->included_things;
- $travelPackage->Excludes_things = $request->Excludes_things;
$travelPackage->tour_plane_description = $request->tour_plane_description;
$travelPackage->per_adult_fee = $request->per_adult_fee;
$travelPackage->per_child_fee = $request->per_child_fee;
- $travelPackage->service_fee = $request->service_fee;
- $travelPackage->booking_fee = $request->booking_fee;
$travelPackage->save();
@@ -267,6 +254,13 @@ public function update($id, Request $request)
*/
public function destroy($id)
{
+ //start booking delete ( delete relationShip)
+ $bookings = booking::where('package_id', $id)->get();
+ foreach ($bookings as $booking) {
+ $booking->delete();
+ }
+
+ //start travel package delete
$travelPackage = travelPackage::findOrFail($id);
//delete image 1
diff --git a/app/Models/booking.php b/app/Models/booking.php
index 1703075..37829c7 100644
--- a/app/Models/booking.php
+++ b/app/Models/booking.php
@@ -22,10 +22,11 @@ class booking extends Model
'number_of_child',
'pick_up_location',
'pick_up_location_details',
- 'accommodation_type',
- 'transport_method',
- 'aditional_requarement',
'total_fee',
+ 'Reservation Status',
+ 'Invoice Status',
+ 'Payment Status',
+ 'payment_receipt',
];
diff --git a/app/Models/travelPackage.php b/app/Models/travelPackage.php
index 820cab0..4071eb1 100644
--- a/app/Models/travelPackage.php
+++ b/app/Models/travelPackage.php
@@ -18,9 +18,7 @@ class travelPackage extends Model
'image_2',
'image_3',
'duration',
- 'duration_type',
'tour_type',
- 'package_type',
'price_start_from',
'overview',
'included_things',
@@ -28,8 +26,6 @@ class travelPackage extends Model
'tour_plane_description',
'per_adult_fee',
'per_child_fee',
- 'service_fee',
- 'booking_fee',
];
// Optionally, specify the attributes that should be cast to native types
@@ -37,13 +33,6 @@ class travelPackage extends Model
'price_start_from' => 'decimal:2',
'per_adult_fee' => 'decimal:2',
'per_child_fee' => 'decimal:2',
- 'service_fee' => 'decimal:2',
- 'booking_fee' => 'decimal:2',
];
- // Define the relationship with the Booking model
- // public function bookings()
- // {
- // return $this->hasMany(Booking::class, 'travel_packages_id');
- // }
}
diff --git a/config/app.php b/config/app.php
index f467267..f3c3e51 100644
--- a/config/app.php
+++ b/config/app.php
@@ -65,7 +65,7 @@
|
*/
- 'timezone' => env('APP_TIMEZONE', 'UTC'),
+ 'timezone' => env('APP_TIMEZONE', 'Asia/Colombo'),
/*
|--------------------------------------------------------------------------
diff --git a/database/migrations/2024_05_19_050444_create_travel_packages_table.php b/database/migrations/2024_05_19_050444_create_travel_packages_table.php
index 9db43fc..8275a64 100644
--- a/database/migrations/2024_05_19_050444_create_travel_packages_table.php
+++ b/database/migrations/2024_05_19_050444_create_travel_packages_table.php
@@ -18,7 +18,7 @@ public function up(): void
$table->string('image_2')->nullable();
$table->string('image_3')->nullable();
$table->string('duration');
- $table->string('duration_type');
+
$table->string('tour_type');
$table->decimal('price_start_from', 10,2);
$table->longText('overview');
@@ -27,8 +27,6 @@ public function up(): void
$table->longText('tour_plane_description');
$table->decimal('per_adult_fee', 10,2)->default(200.00);
$table->decimal('per_child_fee', 10,2)->default(100.00);
- $table->decimal('service_fee', 10,2)->default(100.00);
- $table->decimal('booking_fee', 10,2)->default(50.00);
$table->timestamps();
});
}
diff --git a/database/migrations/2024_05_21_034429_create_bookings_table.php b/database/migrations/2024_05_21_034429_create_bookings_table.php
index f917764..8887c23 100644
--- a/database/migrations/2024_05_21_034429_create_bookings_table.php
+++ b/database/migrations/2024_05_21_034429_create_bookings_table.php
@@ -17,17 +17,22 @@ public function up(): void
// $table->foreignId('user_id')->constrained();
$table->foreignId('user_id')->constrained('users', 'id');
$table->foreignId('package_id')->constrained('travel_packages', 'id');
+
$table->date('date');
$table->integer('number_of_adult');
$table->integer('number_of_child');
$table->string('pick_up_location');
$table->longText('pick_up_location_details');
- $table->longText('accommodation_type');
- $table->longText('transport_method');
- $table->longText('aditional_requarement')->nullable();
$table->decimal('total_fee', 8, 2);
$table->timestamps();
+ $table->string('reservation_status')->default('pending');
+ $table->string('invoice_status')->default('pending');
+ $table->string('payment_status')->default('pending');
+ $table->string('payment_receipt ')->nullable();
+
+
+
});
}
diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php
deleted file mode 100644
index 6427f78..0000000
--- a/database/seeders/DatabaseSeeder.php
+++ /dev/null
@@ -1,24 +0,0 @@
-call(UserTableSeeder::class); //call user seeders class
- User::factory(5)->create(); //Number for generate random data for users
-
- User::factory()->create([
- 'name' => 'Test User',
- 'email' => 'test@example.com',
- ]);
- }
-}
diff --git a/database/seeders/UserTableSeeder.php b/database/seeders/UserTableSeeder.php
deleted file mode 100644
index 09cd651..0000000
--- a/database/seeders/UserTableSeeder.php
+++ /dev/null
@@ -1,37 +0,0 @@
-insert([
- //For Admin
- [
- 'name' => 'Admin',
- 'email'=> 'dilankanishka032@gmail.com',
- 'password' => Hash::make('032'),
- 'user_country' => 'sri lanka',
- 'role' => 'admin',
- ],
-
- //For User
- [
- 'name' => 'Amal',
- 'email'=> 'dilankanishka2104@gmail.com',
- 'password' => Hash::make('12345678'),
- 'user_country' => 'japan',
- 'role' => 'user',
- ],
- ]);
- }
-}
diff --git a/public/css/admin_css/admin-blog.css b/public/css/admin_css/admin-blog.css
index 5060351..a51d018 100644
--- a/public/css/admin_css/admin-blog.css
+++ b/public/css/admin_css/admin-blog.css
@@ -1,7 +1,7 @@
.blog-post-container {
padding: 10px;
margin-bottom: 15px;
- height: 400px;
+ height: 380px;
border-radius: 10px;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
diff --git a/public/css/admin_css/admin-package.css b/public/css/admin_css/admin-package.css
index ff0cbb6..be225b9 100644
--- a/public/css/admin_css/admin-package.css
+++ b/public/css/admin_css/admin-package.css
@@ -1,7 +1,7 @@
.travelPackage-bg-container {
padding: 10px;
margin-bottom: 15px;
- height: 500px;
+ height: 480px;
width: 270px;
border-radius: 10px;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
diff --git a/public/css/admin_css/booking.css b/public/css/admin_css/booking.css
new file mode 100644
index 0000000..33f0b39
--- /dev/null
+++ b/public/css/admin_css/booking.css
@@ -0,0 +1,59 @@
+.Booking-detail-bg-first-3{
+ /* background-color: white; */
+ width: 250px;
+ padding: 10px;
+ border-radius: 6px;
+ box-shadow: 5px 5px 5px rgba(39, 32, 133, 0.2);
+}
+.Booking-detail-bg-first-3:hover{
+ font-weight: bold;
+}
+
+.Booking-detail-bg-second-2{
+ background-color: white;
+ width: 565px;
+ padding: 10px;
+ margin-bottom: 30px;
+ border-radius: 6px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
+
+}
+.Booking-detail-bg-second-2:hover{
+ font-weight: bold;
+}
+
+.three-D-bg{
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
+}
+
+/* booking details page (invoice css) */
+.invoice-bg{
+ background-color: white;
+ padding: 20px;
+ border-style: inset;
+}
+
+/* admin booking details page css */
+.all-summery-section-bg{
+ background-color: white;
+ width: 400px;
+ padding: 10px;
+ margin-left: 80px;
+ margin-top: 100px;
+ position: relative;
+ border-style: outset;
+ border-radius: 10px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
+}
+
+.payment-check-section-bg{
+ background-color: white;
+ width: 400px;
+ padding: 10px;
+ margin-left: 80px;
+ position: relative;
+ margin-top: 10px;
+ border-style:inherit;
+ border-radius: 6px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
+}
\ No newline at end of file
diff --git a/public/css/admin_css/dashboard.css b/public/css/admin_css/dashboard.css
index 9d9ac7b..8a6ea7f 100644
--- a/public/css/admin_css/dashboard.css
+++ b/public/css/admin_css/dashboard.css
@@ -1,5 +1,6 @@
#sidebarMenu{
height: 1200px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
}
.SideMenuPosition{
@@ -21,7 +22,7 @@
font-weight: bolder;
/* border-bottom: 1px outset rgba(245, 245, 245, 0.511); */
border-left: 6px outset rgba(0, 0, 0, 0.511);
- background-color: rgba(90, 103, 245, 0.095);
+ background-color: rgba(90, 103, 245, 0.319);
border-radius: 4px;
color: blue;
}
diff --git a/public/css/user_css/blog.css b/public/css/user_css/blog.css
index 2fe5505..3094a82 100644
--- a/public/css/user_css/blog.css
+++ b/public/css/user_css/blog.css
@@ -13,8 +13,9 @@
.blog-post-container {
padding: 10px;
margin-bottom: 15px;
- height: 400px;
+ height: 350px;
border-radius: 10px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
}
diff --git a/public/css/user_css/contactUs.css b/public/css/user_css/contactUs.css
index 86d687f..6943c05 100644
--- a/public/css/user_css/contactUs.css
+++ b/public/css/user_css/contactUs.css
@@ -8,6 +8,7 @@
border-color: black;
border-width: 1px;
border-style: outset;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
}
.map-position{
diff --git a/public/css/user_css/package.css b/public/css/user_css/package.css
index 6523ba8..96484a6 100644
--- a/public/css/user_css/package.css
+++ b/public/css/user_css/package.css
@@ -28,7 +28,7 @@
.bokking-form{
width: 80%;
- background-color: rgb(255, 255, 255);
+ background-color: rgb(227, 227, 227);
border-radius: 6px;
border-color: black;
border-width: 1px;
@@ -63,4 +63,13 @@
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
}
-
\ No newline at end of file
+
+ .travelPackage-bg {
+ padding: 10px;
+ margin-bottom: 15px;
+ height: 450px;
+ width: 270px;
+ border-radius: 10px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
+
+ }
\ No newline at end of file
diff --git a/public/css/user_css/profile.css b/public/css/user_css/profile.css
index 9cdf2c9..f15f6f5 100644
--- a/public/css/user_css/profile.css
+++ b/public/css/user_css/profile.css
@@ -58,8 +58,27 @@
}
.NeedHelp-css-sideMenu{
- box-shadow: 5px 5px 5px rgba(255, 255, 255, 0.566);
- background-color: white;
border-radius: 10px;
- color: black;
+ border-style: outset;
+ border-width: 1px;
+ border-color: aliceblue;
+ color: rgb(255, 255, 255);
+}
+
+/* invoice page profile */
+.profile-invoice-detail-bg{
+ margin-top: 50px;
+ background-color: white;
+ border-radius: 6px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
+ margin-bottom: 50px;
+}
+.profile-invoice{
+ border-style: inset;
+}
+.payment-bg{
+ border-style: dashed;
+ padding: 30px;
+ margin-top: 1px;
+ box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.5);
}
\ No newline at end of file
diff --git a/public/image/uploads/blog/1717415892.jpg b/public/image/uploads/blog/1717415892.jpg
new file mode 100644
index 0000000..9f45ae0
Binary files /dev/null and b/public/image/uploads/blog/1717415892.jpg differ
diff --git a/public/image/uploads/blog/1717415976.webp b/public/image/uploads/blog/1717415976.webp
new file mode 100644
index 0000000..caf8390
Binary files /dev/null and b/public/image/uploads/blog/1717415976.webp differ
diff --git a/public/image/uploads/blog/1717418262.webp b/public/image/uploads/blog/1717418262.webp
new file mode 100644
index 0000000..caf8390
Binary files /dev/null and b/public/image/uploads/blog/1717418262.webp differ
diff --git a/public/image/uploads/payment-recipt/1717377803.jpg b/public/image/uploads/payment-recipt/1717377803.jpg
new file mode 100644
index 0000000..c6fc26a
Binary files /dev/null and b/public/image/uploads/payment-recipt/1717377803.jpg differ
diff --git a/public/image/uploads/payment-recipt/1717387265.jpeg b/public/image/uploads/payment-recipt/1717387265.jpeg
new file mode 100644
index 0000000..f3567d7
Binary files /dev/null and b/public/image/uploads/payment-recipt/1717387265.jpeg differ
diff --git a/public/image/uploads/payment-recipt/1717388974.jpeg b/public/image/uploads/payment-recipt/1717388974.jpeg
new file mode 100644
index 0000000..30f4a56
Binary files /dev/null and b/public/image/uploads/payment-recipt/1717388974.jpeg differ
diff --git a/public/image/uploads/payment-recipt/1717401937.jpg b/public/image/uploads/payment-recipt/1717401937.jpg
new file mode 100644
index 0000000..0bd586c
Binary files /dev/null and b/public/image/uploads/payment-recipt/1717401937.jpg differ
diff --git a/public/image/uploads/payment-recipt/1717420170.jpg b/public/image/uploads/payment-recipt/1717420170.jpg
new file mode 100644
index 0000000..cfccf59
Binary files /dev/null and b/public/image/uploads/payment-recipt/1717420170.jpg differ
diff --git a/public/image/uploads/travelPackage/1717376593.PNG b/public/image/uploads/travelPackage/1717376593.PNG
new file mode 100644
index 0000000..6c21b90
Binary files /dev/null and b/public/image/uploads/travelPackage/1717376593.PNG differ
diff --git a/public/image/uploads/travelPackage/1717376640.PNG b/public/image/uploads/travelPackage/1717376640.PNG
new file mode 100644
index 0000000..6c21b90
Binary files /dev/null and b/public/image/uploads/travelPackage/1717376640.PNG differ
diff --git a/public/image/uploads/travelPackage/1717376729.PNG b/public/image/uploads/travelPackage/1717376729.PNG
new file mode 100644
index 0000000..6c21b90
Binary files /dev/null and b/public/image/uploads/travelPackage/1717376729.PNG differ
diff --git a/public/image/uploads/travelPackage/1717376929.PNG b/public/image/uploads/travelPackage/1717376929.PNG
new file mode 100644
index 0000000..6c21b90
Binary files /dev/null and b/public/image/uploads/travelPackage/1717376929.PNG differ
diff --git a/public/image/uploads/travelPackage/1717397825_img1_665d69417e6046.85887790.jpg b/public/image/uploads/travelPackage/1717397825_img1_665d69417e6046.85887790.jpg
new file mode 100644
index 0000000..e025d35
Binary files /dev/null and b/public/image/uploads/travelPackage/1717397825_img1_665d69417e6046.85887790.jpg differ
diff --git a/public/image/uploads/travelPackage/1717397825_img2_665d694190b5d0.09417408.webp b/public/image/uploads/travelPackage/1717397825_img2_665d694190b5d0.09417408.webp
new file mode 100644
index 0000000..8bc7dbd
Binary files /dev/null and b/public/image/uploads/travelPackage/1717397825_img2_665d694190b5d0.09417408.webp differ
diff --git a/public/image/uploads/travelPackage/1717397825_img3_665d69419eeef4.51854972.jfif b/public/image/uploads/travelPackage/1717397825_img3_665d69419eeef4.51854972.jfif
new file mode 100644
index 0000000..b78cd78
Binary files /dev/null and b/public/image/uploads/travelPackage/1717397825_img3_665d69419eeef4.51854972.jfif differ
diff --git a/public/image/uploads/travelPackage/1717409755.jpg b/public/image/uploads/travelPackage/1717409755.jpg
new file mode 100644
index 0000000..467eb9d
Binary files /dev/null and b/public/image/uploads/travelPackage/1717409755.jpg differ
diff --git a/public/image/uploads/travelPackage/1717409813_img1_665d981506fee3.75373293.jpg b/public/image/uploads/travelPackage/1717409813_img1_665d981506fee3.75373293.jpg
new file mode 100644
index 0000000..63500fc
Binary files /dev/null and b/public/image/uploads/travelPackage/1717409813_img1_665d981506fee3.75373293.jpg differ
diff --git a/public/image/uploads/travelPackage/1717409813_img2_665d98150f3482.00636788.jpg b/public/image/uploads/travelPackage/1717409813_img2_665d98150f3482.00636788.jpg
new file mode 100644
index 0000000..2c22feb
Binary files /dev/null and b/public/image/uploads/travelPackage/1717409813_img2_665d98150f3482.00636788.jpg differ
diff --git a/public/image/uploads/travelPackage/1717411388.jpg b/public/image/uploads/travelPackage/1717411388.jpg
new file mode 100644
index 0000000..998eb63
Binary files /dev/null and b/public/image/uploads/travelPackage/1717411388.jpg differ
diff --git a/public/image/uploads/travelPackage/1717411420_img1_665d9e5c843af9.81831447.jpg b/public/image/uploads/travelPackage/1717411420_img1_665d9e5c843af9.81831447.jpg
new file mode 100644
index 0000000..14a4e40
Binary files /dev/null and b/public/image/uploads/travelPackage/1717411420_img1_665d9e5c843af9.81831447.jpg differ
diff --git a/public/image/uploads/travelPackage/1717411420_img2_665d9e5c96c031.64802513.jpg b/public/image/uploads/travelPackage/1717411420_img2_665d9e5c96c031.64802513.jpg
new file mode 100644
index 0000000..b3dec25
Binary files /dev/null and b/public/image/uploads/travelPackage/1717411420_img2_665d9e5c96c031.64802513.jpg differ
diff --git a/public/image/uploads/travelPackage/1717412219_img1_665da17b224a15.90905980.jfif b/public/image/uploads/travelPackage/1717412219_img1_665da17b224a15.90905980.jfif
new file mode 100644
index 0000000..b78cd78
Binary files /dev/null and b/public/image/uploads/travelPackage/1717412219_img1_665da17b224a15.90905980.jfif differ
diff --git a/public/image/uploads/travelPackage/1717412219_img2_665da17b305dc3.49529756.jpg b/public/image/uploads/travelPackage/1717412219_img2_665da17b305dc3.49529756.jpg
new file mode 100644
index 0000000..afe0148
Binary files /dev/null and b/public/image/uploads/travelPackage/1717412219_img2_665da17b305dc3.49529756.jpg differ
diff --git a/public/image/uploads/travelPackage/1717412219_img3_665da17b333ec7.69767317.webp b/public/image/uploads/travelPackage/1717412219_img3_665da17b333ec7.69767317.webp
new file mode 100644
index 0000000..8bc7dbd
Binary files /dev/null and b/public/image/uploads/travelPackage/1717412219_img3_665da17b333ec7.69767317.webp differ
diff --git a/public/image/uploads/travelPackage/1717413094_img1_665da4e6420796.70135016.jpg b/public/image/uploads/travelPackage/1717413094_img1_665da4e6420796.70135016.jpg
new file mode 100644
index 0000000..322007b
Binary files /dev/null and b/public/image/uploads/travelPackage/1717413094_img1_665da4e6420796.70135016.jpg differ
diff --git a/public/image/uploads/travelPackage/1717413094_img2_665da4e64641a6.95954653.jpg b/public/image/uploads/travelPackage/1717413094_img2_665da4e64641a6.95954653.jpg
new file mode 100644
index 0000000..6157c1a
Binary files /dev/null and b/public/image/uploads/travelPackage/1717413094_img2_665da4e64641a6.95954653.jpg differ
diff --git a/public/image/uploads/travelPackage/1717413094_img3_665da4e64dd9b6.02609627.jpg b/public/image/uploads/travelPackage/1717413094_img3_665da4e64dd9b6.02609627.jpg
new file mode 100644
index 0000000..8d8f715
Binary files /dev/null and b/public/image/uploads/travelPackage/1717413094_img3_665da4e64dd9b6.02609627.jpg differ
diff --git a/public/image/uploads/travelPackage/1717413118_img2_665da4feecc400.14135764.jpg b/public/image/uploads/travelPackage/1717413118_img2_665da4feecc400.14135764.jpg
new file mode 100644
index 0000000..bddefac
Binary files /dev/null and b/public/image/uploads/travelPackage/1717413118_img2_665da4feecc400.14135764.jpg differ
diff --git a/public/image/uploads/travelPackage/1717414112_img1_665da8e0b7e260.49554521.jfif b/public/image/uploads/travelPackage/1717414112_img1_665da8e0b7e260.49554521.jfif
new file mode 100644
index 0000000..b78cd78
Binary files /dev/null and b/public/image/uploads/travelPackage/1717414112_img1_665da8e0b7e260.49554521.jfif differ
diff --git a/public/image/uploads/travelPackage/1717414112_img2_665da8e0c56665.79714337.jpg b/public/image/uploads/travelPackage/1717414112_img2_665da8e0c56665.79714337.jpg
new file mode 100644
index 0000000..7558e6c
Binary files /dev/null and b/public/image/uploads/travelPackage/1717414112_img2_665da8e0c56665.79714337.jpg differ
diff --git a/public/image/uploads/travelPackage/1717414112_img3_665da8e0cd7c37.79146517.jpg b/public/image/uploads/travelPackage/1717414112_img3_665da8e0cd7c37.79146517.jpg
new file mode 100644
index 0000000..7006836
Binary files /dev/null and b/public/image/uploads/travelPackage/1717414112_img3_665da8e0cd7c37.79146517.jpg differ
diff --git a/public/image/uploads/travelPackage/1717414314_img1_665da9aadae593.67022075.jpg b/public/image/uploads/travelPackage/1717414314_img1_665da9aadae593.67022075.jpg
new file mode 100644
index 0000000..9f45ae0
Binary files /dev/null and b/public/image/uploads/travelPackage/1717414314_img1_665da9aadae593.67022075.jpg differ
diff --git a/public/image/uploads/travelPackage/1717414314_img2_665da9aade0eb4.12500315.jpg b/public/image/uploads/travelPackage/1717414314_img2_665da9aade0eb4.12500315.jpg
new file mode 100644
index 0000000..d0add96
Binary files /dev/null and b/public/image/uploads/travelPackage/1717414314_img2_665da9aade0eb4.12500315.jpg differ
diff --git a/resources/views/admin/adminBookingDetailsPage.blade.php b/resources/views/admin/adminBookingDetailsPage.blade.php
new file mode 100644
index 0000000..e841147
--- /dev/null
+++ b/resources/views/admin/adminBookingDetailsPage.blade.php
@@ -0,0 +1,404 @@
+@extends('layouts/admin-layouts/main-structure')
+
+@section('admincontent')
+
+
+
+ {{-- if your are using foring key, you should loop the table and fetch data --}}
+ @foreach ($bookings as $booking)
+ {{ $booking->user->name }} 's Booking Details
+ @endforeach
+
+ {{-- To display validation errors or success messages --}}
+ @if ($errors->any())
+
+
+ @foreach ($errors->all() as $error)
+ {{ $error }}
+ @endforeach
+ try again
+
+
+ @endif
+
+ @if (session('success'))
+
+ {{ session('success') }}
+
+ @endif
+
+
+
+
+
+
+ Travel Package Information
+
+
+ Booking Information
+
+
+ Contact Information
+
+
+
+
+
+
+ {{-- summery about booking --}}
+
+ {{-- All summery Details about Booking --}}
+
+
+ Invoice
+ ->
+
+ {{-- @if ( $booking->invoice_status == "pending")
+ {{ $booking->invoice_status }}
+ @elseif ( $booking->invoice_status == "conform") --}}
+ sent
+ {{-- @elseif ( $booking->invoice_status == "reject")
+ {{ $booking->invoice_status }}
+ @endif --}}
+
+
+
+
+ Payment
+ ->
+
+ @if ( $booking->payment_status == "pending")
+ {{ $booking->payment_status }}
+ @elseif ( $booking->payment_status == "Success")
+ {{ $booking->payment_status }}
+ @elseif ( $booking->payment_status == "Reject")
+ {{ $booking->payment_status }}
+ @endif
+
+
+
+
+
+ Booking
+ ->
+
+ @if ( $booking->reservation_status == "pending")
+ {{ $booking->reservation_status }}
+ @elseif ( $booking->reservation_status == "Conform")
+ {{ $booking->reservation_status }}
+ @elseif ( $booking->reservation_status == "Reject")
+ {{ $booking->reservation_status }}
+ @endif
+
+
+
+
+
+
+ {{-- payment section --}}
+
+ Check Payment
+
+
+
+ View
+
+
+
+
+ {{-- send Email when admin reject the booking --}}
+ @if ($booking->payment_status == "Reject")
+
+
Send Email
+
+
+
+ Open
+
+
+
+ @endif
+
+
+
+
+ {{-- Invoice design --}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@endsection
\ No newline at end of file
diff --git a/resources/views/admin/bookingDetails.blade.php b/resources/views/admin/bookingDetails.blade.php
index 3a120d4..306718d 100644
--- a/resources/views/admin/bookingDetails.blade.php
+++ b/resources/views/admin/bookingDetails.blade.php
@@ -6,7 +6,112 @@
Booking Details
-
+
+ {{-- main three content --}}
+
+
+
+
+
10
+ Conformed Resavations
+
+
+
+
+
10
+ Payment (pending)
+
+
+
+
+
10
+ Rejected resavations
+
+
+
+
+
+
+
+
10
+ New Resavations To
Send Invoice
+
+
+
5
+ To Check Payment and
Conform Resavation
+
+
+
+ {{-- details Table --}}
+
+
+
+ ID
+ Tour Name
+ Travel Date
+ Duration
+ Total
+ Reservation Status
+ {{-- Invoice --}}
+ Payment Status
+
+
+
+
+
+
+ @foreach ($bookings as $booking)
+
+ #{{ $booking->id }}
+
+ {{ $booking->package->package_name }}
+
+ {{ \Carbon\Carbon::parse($booking->travel_date)->format('Y-m-d') }}
+ {{ $booking->package->duration }} {{ $booking->package->duration_type }}
+ {{ $booking->total_fee }} $
+
+ @if ( $booking->reservation_status == "pending")
+ {{ $booking->reservation_status }}
+ @elseif ( $booking->reservation_status == "Conform")
+ {{ $booking->reservation_status }}
+ @elseif ( $booking->reservation_status == "Reject")
+ {{ $booking->reservation_status }}
+ @endif
+
+
+ {{--
+ @if ( $booking->invoice_status == "pending")
+ {{ $booking->invoice_status }}
+ @elseif ( $booking->invoice_status == "Conform")
+ {{ $booking->invoice_status }}
+ @elseif ( $booking->invoice_status == "Reject")
+ {{ $booking->invoice_status }}
+ @endif
+ --}}
+
+ @if ( $booking->payment_status == "pending")
+ {{ $booking->payment_status }}
+ @elseif ( $booking->payment_status == "Success")
+ {{ $booking->payment_status }}
+ @elseif ( $booking->payment_status == "Reject")
+ {{ $booking->payment_status }}
+ @endif
+
+
+ View
+ Delete
+
+
+ @endforeach
+
+
+
+
diff --git a/resources/views/admin/editTravelPackage.blade.php b/resources/views/admin/editTravelPackage.blade.php
index ed784ed..02ef251 100644
--- a/resources/views/admin/editTravelPackage.blade.php
+++ b/resources/views/admin/editTravelPackage.blade.php
@@ -78,53 +78,28 @@
-
-
+
+
Package Name
-
-
- Package Type
-
- {{$travelPackage->package_type}}
- Full package
- Half package
-
-
-
- Tour Type
-
- {{$travelPackage->tour_type}}
- Adventure Tour
- Beach Holiday Tour
- Cultural Tour
- Business Trip Tour
- Wildlife Safaris
-
-
-
+
Tour Type
+
+ {{$travelPackage->tour_type}}
+ Adventure Tour
+ Beach Holiday Tour
+ Cultural Tour
+ Business Trip Tour
+ Wildlife Safaris
+
-
-
-
- Duration
-
-
-
- Duration Type
-
- {{$travelPackage->duration_type}}
- Days
- Weeks
-
-
-
-
+
Duration (Days)
+
+
@@ -146,35 +121,19 @@
-
-
+
-
+
Overview
-
-
+
Include Things
-
- Excludes Things
-
-
-
Enter Windows + .
to add icons
diff --git a/resources/views/admin/masage.blade.php b/resources/views/admin/masage.blade.php
index 5d41fb7..1b6217f 100644
--- a/resources/views/admin/masage.blade.php
+++ b/resources/views/admin/masage.blade.php
@@ -28,9 +28,9 @@
- No
- Massage
- Action
+ No Massage
+
+
@@ -41,11 +41,12 @@