{"id":2005,"date":"2025-01-13T18:07:21","date_gmt":"2025-01-13T18:07:21","guid":{"rendered":"https:\/\/www.devopsconsulting.in\/blog\/?p=2005"},"modified":"2025-01-13T18:07:24","modified_gmt":"2025-01-13T18:07:24","slug":"unified-booking-workflow","status":"publish","type":"post","link":"https:\/\/www.devopsconsulting.in\/blog\/unified-booking-workflow\/","title":{"rendered":"Unified Booking Workflow"},"content":{"rendered":"\n<p>Here\u2019s the <strong>combined workflow<\/strong> integrating the <strong>Booking State Transitions with Auto-Cancellation<\/strong> and the <strong>Payment Screenshot Submission and Vendor Confirmation<\/strong> process. This unified flow ensures seamless booking, payment handling, and state transitions with notifications for renters and vendors.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Unified Booking Workflow<\/strong><\/h3>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Booking States<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>State<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>Pending<\/strong><\/td><td>Booking created but awaiting Partner confirmation.<\/td><\/tr><tr><td><strong>Auto-Cancelled<\/strong><\/td><td>Booking automatically cancelled due to Partner\u2019s inaction within 1 hour.<\/td><\/tr><tr><td><strong>Confirmed<\/strong><\/td><td>Partner has confirmed the booking but awaiting payment verification.<\/td><\/tr><tr><td><strong>Awaiting Payment<\/strong><\/td><td>Renter has uploaded payment screenshot but awaiting Vendor confirmation.<\/td><\/tr><tr><td><strong>Paid<\/strong><\/td><td>Vendor has verified payment and confirmed it as paid.<\/td><\/tr><tr><td><strong>Vehicle Ready<\/strong><\/td><td>Partner has prepared the vehicle for pick-up\/delivery.<\/td><\/tr><tr><td><strong>In Progress<\/strong><\/td><td>Vehicle has been handed over to the Renter.<\/td><\/tr><tr><td><strong>Completed<\/strong><\/td><td>Booking successfully completed, and the vehicle is returned.<\/td><\/tr><tr><td><strong>Cancelled<\/strong><\/td><td>Booking cancelled manually by Renter or Partner.<\/td><\/tr><tr><td><strong>Refunded<\/strong><\/td><td>Booking refunded after cancellation (if applicable).<\/td><\/tr><tr><td><strong>Issue Reported<\/strong><\/td><td>An issue (damage, delay, etc.) has been flagged for resolution.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Workflow Steps<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 1: Booking Creation<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>State<\/strong>: <code>Pending<\/code><\/li>\n\n\n\n<li><strong>Trigger<\/strong>: Renter creates a booking.<\/li>\n\n\n\n<li><strong>Time Constraint<\/strong>: If Partner does not confirm within 1 hour, the booking transitions to <code>Auto-Cancelled<\/code>.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 2: Partner Confirmation<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>State<\/strong>: <code>Confirmed<\/code><\/li>\n\n\n\n<li><strong>Trigger<\/strong>: Partner confirms the booking.<\/li>\n\n\n\n<li><strong>Time Constraint<\/strong>: If Renter does not pay or upload a payment screenshot within 1 hour, the booking transitions to <code>Auto-Cancelled<\/code>.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 3: Payment Proof Submission<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>State<\/strong>: <code>Awaiting Payment<\/code><\/li>\n\n\n\n<li><strong>Trigger<\/strong>: Renter uploads payment screenshot.<\/li>\n\n\n\n<li><strong>Action<\/strong>: Booking transitions to <code>Awaiting Payment<\/code>, and the Vendor is notified.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 4: Payment Verification by Vendor<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>State<\/strong>: <code>Paid<\/code><\/li>\n\n\n\n<li><strong>Trigger<\/strong>: Vendor confirms payment screenshot.<\/li>\n\n\n\n<li><strong>Next State<\/strong>:\n<ul class=\"wp-block-list\">\n<li><strong>Approved<\/strong>: Booking transitions to <code>Paid<\/code>.<\/li>\n\n\n\n<li><strong>Rejected<\/strong>: Booking transitions to <code>Cancelled<\/code>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 5: Vehicle Preparation<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>State<\/strong>: <code>Vehicle Ready<\/code><\/li>\n\n\n\n<li><strong>Trigger<\/strong>: Vendor prepares the vehicle for delivery\/pick-up.<\/li>\n\n\n\n<li><strong>Next State<\/strong>: Booking progresses to <code>Vehicle Ready<\/code>.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 6: Vehicle Handover<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>State<\/strong>: <code>In Progress<\/code><\/li>\n\n\n\n<li><strong>Trigger<\/strong>: Renter picks up the vehicle.<\/li>\n\n\n\n<li><strong>Action<\/strong>: Booking transitions to <code>In Progress<\/code>.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Step 7: Booking Completion<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>State<\/strong>: <code>Completed<\/code><\/li>\n\n\n\n<li><strong>Trigger<\/strong>: Renter returns the vehicle.<\/li>\n\n\n\n<li><strong>Action<\/strong>: Booking transitions to <code>Completed<\/code>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Auto-Cancellation Logic<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><strong>Current State<\/strong><\/th><th><strong>Trigger\/Action<\/strong><\/th><th><strong>Next State<\/strong><\/th><th><strong>Time Constraint<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>Pending<\/strong><\/td><td>System checks timeout<\/td><td>Auto-Cancelled<\/td><td>Exceeds 1 hour<\/td><td>Booking is auto-cancelled if not confirmed.<\/td><\/tr><tr><td><strong>Confirmed<\/strong><\/td><td>System checks timeout<\/td><td>Auto-Cancelled<\/td><td>Exceeds 1 hour<\/td><td>Booking is auto-cancelled if payment isn\u2019t made or proof isn\u2019t uploaded.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Notifications<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Renter Notifications<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>UI, Email, SMS, WhatsApp<\/strong>:\n<ul class=\"wp-block-list\">\n<li><strong>Pending \u2192 Auto-Cancelled<\/strong>: \u201cYour booking was cancelled because the Partner did not confirm within 1 hour.\u201d<\/li>\n\n\n\n<li><strong>Confirmed \u2192 Auto-Cancelled<\/strong>: \u201cYour booking was cancelled because payment was not completed on time.\u201d<\/li>\n\n\n\n<li><strong>Awaiting Payment \u2192 Paid<\/strong>: \u201cYour payment has been confirmed. The booking is now active.\u201d<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Vendor Notifications<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>UI, Email, SMS, WhatsApp<\/strong>:\n<ul class=\"wp-block-list\">\n<li><strong>Payment Proof Submitted<\/strong>: \u201cA payment proof has been uploaded for your confirmation.\u201d<\/li>\n\n\n\n<li><strong>Pending \u2192 Auto-Cancelled<\/strong>: \u201cThe booking request was cancelled as you did not confirm within 1 hour.\u201d<\/li>\n\n\n\n<li><strong>Payment Verified<\/strong>: \u201cYou have successfully confirmed the payment.\u201d<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Database Structure<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Additions to the <code>bookings<\/code> Table:<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>Schema::table('bookings', function (Blueprint $table) {\n    $table-&gt;enum('status', &#91;'Pending', 'Auto-Cancelled', 'Confirmed', 'Awaiting Payment', 'Paid', 'Vehicle Ready', 'In Progress', 'Completed', 'Cancelled', 'Refunded', 'Issue Reported'])-&gt;default('Pending');\n    $table-&gt;timestamp('auto_cancel_at')-&gt;nullable();\n});\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Create <code>payment_screenshots<\/code> Table:<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>Schema::create('payment_screenshots', function (Blueprint $table) {\n    $table-&gt;id();\n    $table-&gt;unsignedBigInteger('booking_id');\n    $table-&gt;unsignedBigInteger('user_id');\n    $table-&gt;string('screenshot_path');\n    $table-&gt;timestamps();\n});\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Backend Implementation<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Payment Proof Submission<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>public function storePaymentProof(Request $request)\n{\n    $request-&gt;validate(&#91;\n        'booking_id' =&gt; 'required|exists:bookings,id',\n        'screenshot' =&gt; 'required|image|max:2048',\n    ]);\n\n    $screenshotPath = $request-&gt;file('screenshot')-&gt;store('payment_screenshots', 'public');\n\n    PaymentScreenshot::create(&#91;\n        'booking_id' =&gt; $request-&gt;booking_id,\n        'user_id' =&gt; Auth::id(),\n        'screenshot_path' =&gt; $screenshotPath,\n    ]);\n\n    $booking = Booking::find($request-&gt;booking_id);\n    $booking-&gt;update(&#91;'status' =&gt; 'Awaiting Payment']);\n\n    $booking-&gt;vendor-&gt;notify(new PaymentScreenshotSubmittedNotification($booking));\n\n    return redirect()-&gt;back()-&gt;with('success', 'Payment proof submitted successfully.');\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Auto-Cancellation Job<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>namespace App\\Jobs;\n\nuse App\\Models\\Booking;\n\nclass AutoCancelBookings extends Job\n{\n    public function handle()\n    {\n        $now = now();\n        $bookings = Booking::whereIn('status', &#91;'Pending', 'Confirmed'])\n            -&gt;where('auto_cancel_at', '&lt;=', $now)\n            -&gt;get();\n\n        foreach ($bookings as $booking) {\n            if ($booking-&gt;status === 'Pending') {\n                $booking-&gt;update(&#91;'status' =&gt; 'Auto-Cancelled']);\n                $booking-&gt;renter-&gt;notify(new BookingAutoCancelledNotification($booking));\n                $booking-&gt;vendor-&gt;notify(new BookingAutoCancelledNotification($booking));\n            } elseif ($booking-&gt;status === 'Confirmed' &amp;&amp; $booking-&gt;payment_status !== 'Paid') {\n                $booking-&gt;update(&#91;'status' =&gt; 'Auto-Cancelled']);\n                $booking-&gt;renter-&gt;notify(new BookingAutoCancelledNotification($booking));\n                $booking-&gt;vendor-&gt;notify(new BookingAutoCancelledNotification($booking));\n            }\n        }\n    }\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Vendor Payment Verification<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>public function verifyPayment(Request $request, Booking $booking)\n{\n    $request-&gt;validate(&#91;'action' =&gt; 'required|in:approve,reject']);\n\n    if ($request-&gt;action === 'approve') {\n        $booking-&gt;update(&#91;'status' =&gt; 'Paid']);\n        $booking-&gt;renter-&gt;notify(new PaymentApprovedNotification($booking));\n    } elseif ($request-&gt;action === 'reject') {\n        $booking-&gt;update(&#91;'status' =&gt; 'Cancelled']);\n        $booking-&gt;renter-&gt;notify(new PaymentRejectedNotification($booking));\n    }\n\n    return redirect()-&gt;back()-&gt;with('success', 'Payment verification processed.');\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Frontend Implementation<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Renter Payment Proof Submission<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;form method=\"POST\" action=\"{{ route('payment.screenshot.store') }}\" enctype=\"multipart\/form-data\"&gt;\n    @csrf\n    &lt;input type=\"hidden\" name=\"booking_id\" value=\"{{ $booking-&gt;id }}\"&gt;\n    &lt;input type=\"file\" name=\"screenshot\" required&gt;\n    &lt;button type=\"submit\"&gt;Submit Payment Proof&lt;\/button&gt;\n&lt;\/form&gt;\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Vendor Payment Review<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;table&gt;\n    &lt;thead&gt;\n        &lt;tr&gt;\n            &lt;th&gt;Booking ID&lt;\/th&gt;\n            &lt;th&gt;Screenshot&lt;\/th&gt;\n            &lt;th&gt;Action&lt;\/th&gt;\n        &lt;\/tr&gt;\n    &lt;\/thead&gt;\n    &lt;tbody&gt;\n        @foreach($bookings as $booking)\n            &lt;tr&gt;\n                &lt;td&gt;{{ $booking-&gt;id }}&lt;\/td&gt;\n                &lt;td&gt;&lt;a href=\"{{ asset('storage\/' . $booking-&gt;paymentScreenshot-&gt;screenshot_path) }}\" target=\"_blank\"&gt;View Screenshot&lt;\/a&gt;&lt;\/td&gt;\n                &lt;td&gt;\n                    &lt;form method=\"POST\" action=\"{{ route('payment.verify', $booking-&gt;id) }}\"&gt;\n                        @csrf\n                        @method('PUT')\n                        &lt;button name=\"action\" value=\"approve\"&gt;Approve&lt;\/button&gt;\n                        &lt;button name=\"action\" value=\"reject\"&gt;Reject&lt;\/button&gt;\n                    &lt;\/form&gt;\n                &lt;\/td&gt;\n            &lt;\/tr&gt;\n        @endforeach\n    &lt;\/tbody&gt;\n&lt;\/table&gt;\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>This workflow provides a robust system for managing bookings, handling payments, and ensuring automated and manual transitions. Notifications across UI, email, SMS, and WhatsApp keep all parties informed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here\u2019s the combined workflow integrating the Booking State Transitions with Auto-Cancellation and the Payment Screenshot Submission and Vendor Confirmation process. This unified flow ensures seamless booking, payment&#8230; <\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2005","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Unified Booking Workflow - DevOps Consulting<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.devopsconsulting.in\/blog\/unified-booking-workflow\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Unified Booking Workflow - DevOps Consulting\" \/>\n<meta property=\"og:description\" content=\"Here\u2019s the combined workflow integrating the Booking State Transitions with Auto-Cancellation and the Payment Screenshot Submission and Vendor Confirmation process. This unified flow ensures seamless booking, payment...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.devopsconsulting.in\/blog\/unified-booking-workflow\/\" \/>\n<meta property=\"og:site_name\" content=\"DevOps Consulting\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-13T18:07:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-13T18:07:24+00:00\" \/>\n<meta name=\"author\" content=\"Abhishek Singh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Abhishek Singh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-booking-workflow\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-booking-workflow\\\/\"},\"author\":{\"name\":\"Abhishek Singh\",\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/#\\\/schema\\\/person\\\/fc397ba8be42f9fdd53450edfc73006f\"},\"headline\":\"Unified Booking Workflow\",\"datePublished\":\"2025-01-13T18:07:21+00:00\",\"dateModified\":\"2025-01-13T18:07:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-booking-workflow\\\/\"},\"wordCount\":474,\"commentCount\":0,\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-booking-workflow\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-booking-workflow\\\/\",\"url\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-booking-workflow\\\/\",\"name\":\"Unified Booking Workflow - DevOps Consulting\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/#website\"},\"datePublished\":\"2025-01-13T18:07:21+00:00\",\"dateModified\":\"2025-01-13T18:07:24+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/#\\\/schema\\\/person\\\/fc397ba8be42f9fdd53450edfc73006f\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/unified-booking-workflow\\\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/\",\"name\":\"DevOps Consulting\",\"description\":\"DevOps Consulting | SRE Consulting | DevSecOps Consulting | MLOps Consulting\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/#\\\/schema\\\/person\\\/fc397ba8be42f9fdd53450edfc73006f\",\"name\":\"Abhishek Singh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g\",\"caption\":\"Abhishek Singh\"},\"description\":\"I\u2019m Abhishek, a DevOps, SRE, DevSecOps, and Cloud expert with a passion for sharing knowledge and real-world experiences. I\u2019ve had the opportunity to work with Cotocus and continue to contribute to multiple platforms where I share insights across different domains: \u2022 DevOps School \u2013 Tech blogs and tutorials \u2022 Holiday Landmark \u2013 Travel stories and guides \u2022 Stocks Mantra \u2013 Stock market strategies and tips \u2022 My Medic Plus \u2013 Health and fitness guidance \u2022 TrueReviewNow \u2013 Honest product reviews \u2022 Wizbrand \u2013 SEO and digital tools for businesses I\u2019m also exploring the fascinating world of Quantum Computing.\",\"url\":\"https:\\\/\\\/www.devopsconsulting.in\\\/blog\\\/author\\\/abhishek\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Unified Booking Workflow - DevOps Consulting","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.devopsconsulting.in\/blog\/unified-booking-workflow\/","og_locale":"en_US","og_type":"article","og_title":"Unified Booking Workflow - DevOps Consulting","og_description":"Here\u2019s the combined workflow integrating the Booking State Transitions with Auto-Cancellation and the Payment Screenshot Submission and Vendor Confirmation process. This unified flow ensures seamless booking, payment...","og_url":"https:\/\/www.devopsconsulting.in\/blog\/unified-booking-workflow\/","og_site_name":"DevOps Consulting","article_published_time":"2025-01-13T18:07:21+00:00","article_modified_time":"2025-01-13T18:07:24+00:00","author":"Abhishek Singh","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Abhishek Singh","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.devopsconsulting.in\/blog\/unified-booking-workflow\/#article","isPartOf":{"@id":"https:\/\/www.devopsconsulting.in\/blog\/unified-booking-workflow\/"},"author":{"name":"Abhishek Singh","@id":"https:\/\/www.devopsconsulting.in\/blog\/#\/schema\/person\/fc397ba8be42f9fdd53450edfc73006f"},"headline":"Unified Booking Workflow","datePublished":"2025-01-13T18:07:21+00:00","dateModified":"2025-01-13T18:07:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.devopsconsulting.in\/blog\/unified-booking-workflow\/"},"wordCount":474,"commentCount":0,"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.devopsconsulting.in\/blog\/unified-booking-workflow\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.devopsconsulting.in\/blog\/unified-booking-workflow\/","url":"https:\/\/www.devopsconsulting.in\/blog\/unified-booking-workflow\/","name":"Unified Booking Workflow - DevOps Consulting","isPartOf":{"@id":"https:\/\/www.devopsconsulting.in\/blog\/#website"},"datePublished":"2025-01-13T18:07:21+00:00","dateModified":"2025-01-13T18:07:24+00:00","author":{"@id":"https:\/\/www.devopsconsulting.in\/blog\/#\/schema\/person\/fc397ba8be42f9fdd53450edfc73006f"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.devopsconsulting.in\/blog\/unified-booking-workflow\/"]}]},{"@type":"WebSite","@id":"https:\/\/www.devopsconsulting.in\/blog\/#website","url":"https:\/\/www.devopsconsulting.in\/blog\/","name":"DevOps Consulting","description":"DevOps Consulting | SRE Consulting | DevSecOps Consulting | MLOps Consulting","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.devopsconsulting.in\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.devopsconsulting.in\/blog\/#\/schema\/person\/fc397ba8be42f9fdd53450edfc73006f","name":"Abhishek Singh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g","caption":"Abhishek Singh"},"description":"I\u2019m Abhishek, a DevOps, SRE, DevSecOps, and Cloud expert with a passion for sharing knowledge and real-world experiences. I\u2019ve had the opportunity to work with Cotocus and continue to contribute to multiple platforms where I share insights across different domains: \u2022 DevOps School \u2013 Tech blogs and tutorials \u2022 Holiday Landmark \u2013 Travel stories and guides \u2022 Stocks Mantra \u2013 Stock market strategies and tips \u2022 My Medic Plus \u2013 Health and fitness guidance \u2022 TrueReviewNow \u2013 Honest product reviews \u2022 Wizbrand \u2013 SEO and digital tools for businesses I\u2019m also exploring the fascinating world of Quantum Computing.","url":"https:\/\/www.devopsconsulting.in\/blog\/author\/abhishek\/"}]}},"_links":{"self":[{"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/posts\/2005","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/comments?post=2005"}],"version-history":[{"count":2,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/posts\/2005\/revisions"}],"predecessor-version":[{"id":2010,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/posts\/2005\/revisions\/2010"}],"wp:attachment":[{"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/media?parent=2005"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/categories?post=2005"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/tags?post=2005"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}